0001654954-24-003750.txt : 20240327 0001654954-24-003750.hdr.sgml : 20240327 20240327162947 ACCESSION NUMBER: 0001654954-24-003750 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 82 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240327 DATE AS OF CHANGE: 20240327 FILER: COMPANY DATA: COMPANY CONFORMED NAME: DATA I/O CORP CENTRAL INDEX KEY: 0000351998 STANDARD INDUSTRIAL CLASSIFICATION: INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS [3825] ORGANIZATION NAME: 08 Industrial Applications and Services IRS NUMBER: 910864123 STATE OF INCORPORATION: WA FISCAL YEAR END: 1211 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-10394 FILM NUMBER: 24791221 BUSINESS ADDRESS: STREET 1: 6645 185TH AVE NE, SUITE 100 CITY: REDMOND STATE: WA ZIP: 98052 BUSINESS PHONE: 4258676922 MAIL ADDRESS: STREET 1: 6645 185TH AVE NE, SUITE 100 CITY: REDMOND STATE: WA ZIP: 98052 10-K 1 daio_10k.htm FORM 10-K daio_10k.htm

 

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

 

FORM 10-K

(Mark One)

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

 

 

 

For the fiscal year ended December 31, 2023

or

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

 

 

 

For the transition period from _____________ to _____________

  

Commission file number: 0-10394

DATA I/O CORPORATION

(Exact name of registrant as specified in its charter)

 

Washington

 

91-0864123

(State or other jurisdiction of incorporation)

 

(I.R.S. Employer Identification No.)

 

6645 185th Ave NE, Suite 100, Redmond, Washington, 98052

(425) 881-6444

(Address, including zip code, of registrant’s principle executive offices and telephone number, including area code)

 

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

 

DAIO

 

NASDAQ

 

Securities registered pursuant to Section 12(g) of the Act

None

 

Indicate by check mark whether the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes ☐ No

 

Indicate by check mark whether the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes ☐ No

 

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, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer”, “accelerated filer”, “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 

Accelerated filer

Large accelerated filer

Smaller reporting company

Non-accelerated filer

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 has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. 

 

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. ☐

 

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to §240.10D-1(b) ☐

 

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

 

Aggregate market value of voting and non-voting common equity held by non-affiliates on the registrant as of June 30, 2023: $35,598,991

 

Shares of Common Stock, no par value, outstanding as of March 18, 2024: 9,023,200

 

DOCUMENTS INCORPORATED BY REFERENCE

 

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to §240.10D-1(b) ☐

 

 

 

DATA I/O CORPORATION

 

FORM 10-K

For the Fiscal Year Ended December 31, 2023

 

INDEX

 

 

Part I

 

 

 

 

 

 

 

Item 1.

Business

3

 

 

 

 

 

Item 1A.

Risk Factors

11

 

 

 

 

 

Item 1B.

Unresolved Staff Comments

19

 

 

 

 

 

Item 1C.

Cybersecurity

19

 

 

 

 

 

Item 2.

Properties

20

 

 

 

 

 

Item 3.

Legal Proceedings

20

 

 

 

 

 

Item 4.

Mine Safety Disclosures

20

 

 

 

 

Part II

 

 

 

 

 

 

 

Item 5.

Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

21

 

 

 

 

 

Item 6.

Selected Financial Data

21

 

 

 

 

 

Item 7.

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

21

 

 

 

 

 

Item 7A.

Quantitative and Qualitative Disclosures About Market Risk

27

 

 

 

 

 

Item 8.

Financial Statements and Supplementary Data

27

 

 

 

 

 

Item 9.

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

49

 

 

 

 

 

Item 9A.

Controls and Procedures

49

 

 

 

 

 

Item 9B.

Other Information

49

 

 

 

 

 

Item 9C.

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

49

 

 

 

 

Part III

 

 

 

 

 

 

 

Item 10.

Directors, Executive Officers and Corporate Governance

50

 

 

 

 

 

Item 11.

Executive Compensation

50

 

 

 

 

 

Item 12.

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

50

 

 

 

 

 

Item 13.

Certain Relationships and Related Transactions and Director Independence

51

 

 

 

 

 

Item 14.

Principal Accounting Fees and Services

51

 

 

 

 

Part IV

 

 

 

 

 

 

 

Item 15.

Exhibits, Financial Statement Schedules

52

 

 

 

 

 

Item 16.

Form 10-K Summary

56

 

 

 

 

Signatures

57

 

 
2

Table of Contents

 

PART I

 

Item 1.  Business

 

This Annual Report on Form 10-K and the documents incorporated herein by reference contain forward-looking statements based on current expectations, estimates and projections about Data I/O Corporation’s industry, management’s beliefs and certain assumptions made by management.  See “Management’s Discussion and Analysis of Financial Condition and Results of Operations – Forward Looking Statements.”

 

General

 

Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) is a global market leader for advanced programming, security deployment, security provisioning and associated Intellectual Property (“IP”) protection and management solutions used in electronics manufacturing with flash memory, microcontrollers, and flash memory-based intelligent devices as well as secure element devices, authentication devices and secure microcontrollers.  We collectively refer to IP protection, security provisioning of devices, provisioning of security into devices, and related services such as cloud onboarding and device and provisioning documentation management as “security deployment”.  Data I/O® designs, manufactures and sells programming and security deployment systems and services for electronic device manufacturers, specifically targeting high-growth areas such as high-volume users of flash memory and flash memory-based microcontrollers.  Most electronic products today incorporate a number of programmable semiconductor devices that contain data, operating instructions and security credentials essential for the proper operation of the product and more and more products require security deployment.

 

Our mission is to bring the world’s electronic devices to life.  Programmable devices are used in products such as automobile electronics, smartphones, HDTV, smart meters, gaming systems and a broad category called Internet of Things (“IoT”).  IoT is a broad term that addresses the interconnectivity of devices and other electronic or smart products.  Our solutions, some of which include security deployment and process control capabilities, enable us to address the demanding requirements of the electronic device market, where applications security and IP protection are essential to our customer’s success.  Our largest customers are heavy users of programmable semiconductor devices and include original equipment manufacturers (“OEMs”) and tier 1 suppliers in automotive electronics, industrial electronics, consumer electronics and IoT markets as well as their programming center partners and electronic manufacturing service (“EMS”) contract manufacturers.

 

Data I/O was incorporated in the State of Washington in 1969 and its business was founded in 1972.  Our website address is www.dataio.com.

 

COVID-19

 

In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere.

 

Other Major Impacts on 2023

 

In 2022, the war in Ukraine started, while having little direct impact on us from Russia or Ukraine, did affect our supply chains, European economic uncertainty and energy concerns.  Inflation impacted everyone. We believe we were able to adequately address inflation with pricing adjustments such that our margins were mostly maintained. The strengthening of the dollar in 2022 created headwinds for revenues, as typically over 90% of our business is international.  Interest rate hikes by central banks were a concern, especially for cyclical industries with resulting worries about capital spending and planning for recessionary impacts. Certain labor markets were tight during the year causing recruiting challenges. The impact of semiconductor chip shortages, that began mid-2021 and continued well into 2022, are not completely resolved yet in 2023.

 

For 2023, many of the issues described have caused supply chain disruptions and lead-time unreliability, which we have managed carefully by maintaining and increasing key inventory levels. We believe there is less risk exposure on these issues and we are now reducing inventory levels.  The economic challenges resulting from the war in Ukraine and inflation have likely caused Germany to enter into a recession in 2023.  We believe that this, and challenges related to the expected shift from Internal Combustion Engines (ICE) to Electric Vehicles (EV), have impacted short-term demand in Germany. In the United States, we believe uncertainty related to automotive labor strikes softened demand and pushed out expected end-of-the-quarter orders. We experienced stronger orders the second half of 2023 from our automotive electronics customers and the labor strikes have been resolved.

 

 
3

Table of Contents

 

Industry Background

 

We enable companies to improve productivity, increase supply-chain security and reduce costs by providing device data programming and security deployment solutions that allow our customers to take IP (large design and data files) and protect and program it into memory, microcontroller, security and logic devices quickly and cost-effectively.  We also provide services related to hardware support, system installation and repair, and device programming.  Companies that design and manufacture products utilizing programmable electronic devices, ranging from automobiles to cell phones, purchase programming solutions from us.  Trends of increasing device densities, shrinking device packages, increased demands for security, and customers increasing their software content file sizes, combined with the increasing numbers of intelligent devices such as automotive electronics and IoT applications, are driving demand for our solutions.

 

Traditionally, our programming market opportunity focused on the number of semiconductor devices to be programmed, but because of the rapid increase in the density of devices, and increasing demands for supply-chain security, the focus has shifted in many cases, from the number and type of devices, to the number and type of bits per device to be programmed or securely provisioned.  With expected growth in IoT applications, the business opportunity for this market differs depending on quality, security and automation.

 

Some of our automated programming systems integrate data programming, automated handling functions and/or security deployment into a single product solution. Quality and security-conscious customers, particularly those in high-volume manufacturing and programming, drive this portion of our business.

 

Products

 

To accommodate the expanding variety and quantities of programmable devices being manufactured today, we offer multiple solutions for the numerous types of device mix and volume usage by our customers in the various market segments and applications.  We work closely with leading manufacturers of programmable devices to develop our products to meet the requirements of a particular device.  Our newer products are positioned and recognized as some of the most advanced programming and security deployment solutions.

 

Our programming solutions include a broad range of products, systems, modules and accessories, grouped into two general categories: automated programming systems and manual programming systems.  Our PSV family of automated programming systems delivers a broad range of programming capacity and capability to the marketplace.  Our PSV2800 Automated Programming System focuses on dedicated high-volume manufacturing in a lower cost platform.  Our PSV7000 Automated Programming System continues to be well adopted in the marketplace, in particular for automotive electronics customers and as a base for security deployment upgrades.  Our PSV5000 Automated Programming System combines mid-range capacity and flexibility with competitive pricing and also supports security deployment.  Our PSV3500 Automated Programming System is a lower cost platform for basic programming needs.  Our PSV family of handlers has won multiple industry awards for technical excellence and innovation and has a large global installed base. 

 

Our automated systems have list selling prices ranging from $62,000 to $690,000 and our manual systems have list selling prices ranging from $12,000 to $48,000.  Our security deployment system, SentriX®, is offered as a software license added to existing programming systems or on a pay per part use basis along with related fees.

 

Data I/O programming technology is integrated with the PSV family to create highly-flexible systems that deliver outstanding performance with low total cost of ownership. The Lumen®X programming engine is our highest performance programming engine, designed to support eMMC and UFS programming of large NAND FLASH, as well as microcontrollers, serial FLASH and other devices.  Increasing memory densities and the need for faster data interfaces are resulting in an expected transition to the use of UFS devices.  LumenX is available on our PSV7000 and PSV5000 and as a standalone manual programmer.  FlashCORE™, and our universal job setup tool, Tasklink™ for Windows®, are available in each family of our automated programming systems and in FlashPAK™, our manual programming system.  The SentriX security system adds security capability to our data programming system.  SentriX allows customers of any size and demand-profile to securely add keys, certificates, and other security information to specialized regions of authentication integrated circuits ("ICs”), secure elements and secure microcontrollers.  We provide device support and service on all of our products.  Device support is a critical aspect of our business and consists of writing software algorithms for devices and developing socket adapters to hold and connect to the device for programming. 

 

Our products have both an upfront solution sale and recurring revenue element.  Adapters are a consumable item and software and maintenance are typically recurring under subscription contracts.  Our SentriX system revenue typically comes from per part use fees, set-up or minimum quarterly fees, consumables, non-recurring engineering fees, service fees and the sale of equipment related to SentriX.

 

 
4

Table of Contents

 

Sales Percentage of Total Sales Breakdown by Type

 

 

Sales Type

 

2023

 

 

2022

 

 

Drivers

 

Equipment Sales

 

 

58%

 

 

57%

 

Capacity, Process improvement, Technology

 

Adapter Sales

 

 

29%

 

 

30%

 

Capacity utilization, New customer products

 

Software and Maintenance Sales

 

 

13%

 

 

13%

 

Installed base, Added capabilities

 

Total

 

 

100%

 

 

100%

 

 

 

 

The table below presents our main products and the key features that benefit our customers:

 

Products

Key Features

Customer Benefits

PSV Systems: Off-line (Automated)

· Fast program and verify speeds

· Up to 112 programming sites

· Up to 3000 devices per hour throughput

·UFS Support

· Supports LumenX and FlashCORE III programmers

· Supports multiple media types

· Supports quality options – fiber laser marking, 2D inspection, 3D coplanarity

· ConneX Service Software enables connected factory integration and automation

 

· Managed and secure programming

· High throughput for high-density flash memory programming

· Flexible I/O options (tray, tape, tube), marking/labeling and vision for coplanarity inspection

· Scalable solutions for low to high-volume manufacturing

· Access to system data for connected factory machine learning and AI applications

 

SentriX Security Deployment System

· Unique ability to securely provision keys and certificates one device at a time

· Broad set of secure devices supported with wide range of silicon partners

· Software license model allows easy upgrades from deployed data programming systems

· Pay per use model

 

· Create secure IoT devices across a global network

· Maintain IP control over their product’s lifecycle

· Secure supply chain and flexible key management architecture

 

LumenX Programmer

(Non-automated)

 

· Extensible architecture for fast program, verify and download speeds

· Supports UFS memory, microcontrollers, serial flash, secure elements and other device types

· Large file size support

· Secure job creation

· Eight sockets with tool-less changeover with single-socket adapters

 

· Managed and secure programming

· Fast setup and job changeover

· Highest yield and low total cost of programming

· High performance

 

FlashPAK III programmer:

(Non-automated)

· Scalability

· Network control via Ethernet

· Stand-alone operation or PC compatible

·Parallel programming

· Four sockets

· Universal device support

 

· Validate designs before moving down the firmware supply chain

· Unmatched ease of use in manual production systems

 

 

 
5

Table of Contents

 

Customers/Markets

 

We sell our solutions to customers worldwide, many of whom are world-class manufacturers of electronic devices used in a broad range of industries, as described in the following table: 

 

 

OEMs

EMS

Programming Centers

Automotive Electronics

IoT, Industrial, Consumer Electronics, including Wireless

Contract Manufacturers

 

Notable end customers

Borg Warner, Bosch, Alps Alpine, Visteon, Kostal, JVCKenwood, Harman, Hitachi, Denso Ten, Continental, Aptiv Panasonic, Magna, Marelli, Tesla, Desay, BYD

LG, TCL, Siemens, Danfoss, Philips, Schneider, Endress+Hauser, Insta, Sony, UTEC, Nokia

Pegatron, Flex, Jabil, Wistron, Sanmina SCI, Foxconn, Salcomp, Calcomp, Plexus

Arrow, Avnet, BTV, CPS, Semitron, NOA Leading

Business drivers

Infotainment, Advanced Driver Assist (ADAS), electrification, connectivity, and security

Higher functionality driven by increasing electronic content.  Shift from analog to connected intelligent devices, security

Production contract wins

Value-added services, logistics, security

Programming equipment drivers

Growing electronic content, global support, resilient supply chains, new product rollouts, growing file sizes, quality control, traceability, and security

Growing electronic content and need for IP protection. Process improvement and simplification as well as new product rollouts, memory and new technology, security

New contracts from OEMs, programming solutions specified by OEMs

Capacity utilization of their installed base of equipment, small parts handling, security

Buying criteria

Quality, throughput, reliability, configuration control, traceability, global support, IP protection, security

Quality, reliability, configuration control, traceability, global support, IP protection, security

Lowest equipment procurement cost, throughput, global support

Flexibility, lowest lifecycle cost per programmed part, low changeover time; use of multiple vendors provides negotiating leverage, device support availability

Security Deployment

 

 

 

End-customer focus

End-customer focus

End-customer and partner focus

Partner focus of our SentriX

deployments

 

Our solutions address the data programming and security deployment needs of programmable semiconductor devices.  Semiconductor devices are a large, growing market, in terms of units, bits programmed and need for security.  We believe that our sales are driven by many of the same forces that propel the semiconductor industry as well as the automotive electronics industry.  We sell to the manufacturers who are consumers of certain semiconductors.  When their business grows, they buy more semiconductors which, in turn, requires additional programming equipment to maintain production speeds or program new device technologies.

 

Our device programming solutions currently target two high volume, growing markets: automotive electronics and IoT systems, including industrial and consumer devices.

 

 
6

Table of Contents

 

Growth drivers for automotive electronics

·

Consumers desire advanced car features requiring higher levels of sophistication, including autonomous cars, infotainment options (audio, radio, dashboard displays, navigation), ADAS, wireless connectivity and electrification

·

Proliferation of programmable microcontrollers to support the next-generation electronic car systems

·

Increasing use of high-density flash to provide memory for advanced applications

·

Increasing complexity to support autonomous vehicles

·

Increasing need for security solutions for a secure supply chain and lifecycle firmware integrity

·

Growing software size

 

Growth drivers for IoT, including industrial, consumer electronics and wireless

·

Securely controlling groups of connected devices through a secure supply chain and lifecycle firmware integrity management

·

Adding intelligence and processing into devices

·

Connecting previously unconnected devices to networks and the internet (such as smart home, including intelligent thermostats and lighting)

·

Emergence of new devices and applications (such as health and wellness wearable devices and applications)

 

Diversification of accounts receivable and net sales

 

During 2023, we sold products to approximately 200 customers throughout the world.

 

The following represented greater than 10% of net sales for the applicable year:

 

Percentage of Net Sales

 

2023

 

 

2022

 

 

2021

 

 

 

 

 

 

 

 

 

 

 

Number of customers

 

 

2

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Approximate percentage of net sales

 

 

24%

 

 

23%

 

 

14%

 

 

 

 

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

13%

 

 

23%

 

 

14%

Percentage of each

 

 

11%

 

 

n/a

 

 

 

n/a

 

 

The following represented greater than 10% of our consolidated accounts receivable for the applicable year:

 

Percentage of Consolidated Accounts Receivable

 

2023

 

 

2022

 

 

2021

 

 

 

 

 

 

 

 

 

 

 

Number of customers

 

 

3

 

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Approximate percentage of consolidated accounts receivable balance

 

 

47%

 

 

39%

 

 

36%

 

 

 

 

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

18%

 

 

15%

 

 

13%

Percentage of each

 

 

16%

 

 

13%

 

 

12%

Percentage of each

 

 

13%

 

 

11%

 

 

11%

 

Geographic Markets and Distribution

 

We market and sell our products through a combination of direct sales, indirect sales representatives and distributors, as well as services through programming centers.  We continually evaluate our sales channels against our evolving markets and customers and realign them as necessary to ensure that we reach our existing and potential customers in the most effective and efficient manner possible.

 

U.S. Sales

 

We market our products throughout the U.S. using a variety of sales channels, including our own field sales management personnel, independent sales representatives and direct sales.  Our U.S. independent sales representatives obtain orders on an agency basis, with shipments made directly to the customer by us.  Net sales in the U.S. for 2023, 2022 and 2021 were (in millions) $2.8, $1.8 and $2.6, respectively.  Some of our customers’ orders delivered internationally are heavily influenced by U.S. sales-based efforts.

 

 
7

Table of Contents

 

International Sales

 

International sales represented approximately 90%, 93% and 90% of net sales in 2023, 2022 and 2021, respectively.  We make foreign sales through our wholly-owned subsidiaries in Germany and China, as well as through independent distributors and sales representatives operating in 46 countries.  Our independent foreign distributors purchase our products for resale and we generally recognize the sale at the time of shipment to the distributor.  As with U.S. sales representatives, sales made by international sales representatives are on an agency basis, with sales made directly to the customer by us. 

 

Net international sales for 2023, 2022 and 2021 were (in millions) $25.3, $22.4 and $23.2, respectively.  We determine international sales by the international geographic destination into which the products are sold and delivered and include not only sales by foreign subsidiaries but also export sales from the U.S. to our foreign distributors and to our representatives’ customers.  International sales do not include transfers between Data I/O and our foreign subsidiaries.  Export sales are subject to U.S. Department of Commerce regulations.  We have not, however, experienced difficulties to date as a result of these requirements.  Our products typically do not require export licenses.  We have not made sales to Iran or any Iranian governmental entities or any other blacklisted companies or countries.

 

Fluctuating exchange rates and other factors beyond our control, such as the coronavirus, international monetary stability, tariff and trade policies and U.S. and foreign tax and economic policies, may affect the level and profitability of international sales.  We cannot predict the effect of such factors on our business, but we try to consider and respond to changes in these factors, particularly as the majority of our costs are U.S. based while the vast majority of our sales are international.

 

Competition

 

The competition in the programming systems market is fragmented with several companies selling directly competitive solutions.  Our direct competition competes primarily based on price.  Typically, their equipment meets a “good enough” standard, but with reduced quality, traceability, upgradability, security and other software features.  Many of these competitors compete on a regional basis. Although competition in the security deployment market is developing, we expect competition in the market to increase as security deployment becomes more important.  There are alternative security deployment solutions such as software-based security, rather than the hardware-based security of our SentriX equipment.

 

In addition, we compete with multiple substitute forms of device programming including “home grown” solutions.  Programming after device placement may be done with In Circuit Test (“ICT”), In System Programming (“ISP”), and End of Line Downloading (“EOL”).  Some automotive products may also be programmed over the air (“OTA”).  IoT devices may also be programmed with ICT, ISP, EOL or OTA.  In addition, new security devices may be required to be programmed using device-specific programmers developed by the semiconductor manufacturer. 

 

While we are not aware of any published industry market information covering the programming systems or security deployment market, according to our internal analysis of competitors’ revenues, we believe we continue to be the largest supplier in the programming systems market.

 

Manufacturing, Raw Materials and Backlog

 

We strive to manufacture and provide the best solutions for advanced programming.  We primarily assemble and test our products at our principal facilities in Redmond, Washington and Shanghai, China.  Both of these locations are ISO 9001:2015 certified.  We outsource our circuit board manufacturing and fabrication.  As a resilient supply chain strategy, we manufacture various products in both of our production facilities. This strategy allows opportunity to mitigate some of the risks of having only one location, as well as enabling tariff and tax optimization strategies. We use a combination of standard components and fabricated parts manufactured to our specifications.  Most components used are available from a number of different suppliers and subcontractors but certain items, such as some handler and programmer and security deployment subassemblies, custom integrated circuits, hybrid circuits and connectors, are purchased from single sources.  We believe that additional sources can be developed for most present single-source components without significant difficulties.  Single-source components may not always continue to be readily available or may be subject to part shortage delays.  If we cannot develop alternative sources for these components, or if we experience deterioration in relationships with these suppliers, there may be price increases, minimum order quantities, end of life purchase requirements, costs associated with integrating alternatively sourced parts, and delays or reductions in product introductions or shipments, which may materially adversely affect our operating results.

 

In accordance with industry practices, generally all orders are subject to cancellation prior to shipment without penalty, except for contracts calling for custom configuration.  To date, such cancellations have not had a material effect on our sales volume.  To meet customers’ delivery requirements, we manufacture certain products based upon a combination of backlog and anticipated orders.  Most orders are scheduled for delivery within 1 to 90 days after receipt of the order.  Our backlog of pending orders was approximately (in millions) $2.8, $4.8 and $2.9 as of December 31, 2023, 2022 and 2021, respectively.  The size of backlog at any particular date is not necessarily a meaningful indicator of the trend of our business.

 

 
8

Table of Contents

 

Research and Development

 

We believe that continued investment in research and development is critical to our future success.  We continue to develop new technologies and products and enhance existing products.  Future growth is, to a large extent, dependent upon the timely development and introduction of new products, as well as the development of technology and algorithms to support the latest programmable devices.  Where possible, we may pursue partnerships and other strategic relationships to add new products, capabilities and services, particularly in security deployment.  We are currently focusing our research and development efforts on strategic growth markets, including automotive electronics, IoT and security deployment. We are continuing to develop technology for security deployment to program new categories of semiconductors, including Secure Elements, TPMs, Authentication Chips, and Secure Microcontrollers. We plan to deliver new programming technology, automated handling systems, factory automation communications software, and enhancements for security deployment in the manufacturing environment.  We also continue to focus on increasing our capacity and responsiveness for new device support requests from customers and programmable integrated circuit manufacturers by revising and enhancing our internal processes and tools.  Our research and development efforts have resulted in the release of significant new products and product enhancements over the past several years.

 

During 2023, 2022 and 2021, we made expenditures for research and development of (in millions) $6.5, $6.1 and $6.6, respectively, representing 23%, 25% and 26% of net sales, respectively.  Research and development costs are generally expensed as incurred.

 

Patents, Copyrights, Trademarks and Licenses

 

We rely on a combination of patents, copyrights, trade secrets and trademarks to protect our IP, as well as product development and marketing skill to establish and protect our market position.  We continue to apply for and add new patents to our patent portfolio as we develop strategic new technologies. We believe patent protection enforcement may be increasingly important in our security provisioning business and we have approximately 25 U.S. and international awarded patents related to the SentriX platform and security provisioning architecture, processes, and methods.

 

We attempt to protect our rights in proprietary systems (architecture, implementations, software), including the SentriX Security Deployment System.  We attempt to protect our software, including Lumen®X software, FlashCORE software, TaskLink software, ConneX smart programming software and other software products, by retaining the title to and copyright of the software and documentation, by including appropriate contractual restrictions on use and disclosure in our licenses, and by requiring our employees to execute non-disclosure agreements.  Our software products are not typically sold or licensed separately from sales of programming systems.  However, when we license software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.

 

Because of the rapidly changing technology in the semiconductor, electronic equipment and software industries, portions of our products might infringe upon existing patents or copyrights, and we may be required to obtain licenses or discontinue the use of the infringing technology.  We believe that any exposure we may have regarding possible infringement claims is a reasonable business risk similar to that assumed by other companies in the electronic equipment and software industries.  However, any claim of infringement, with or without merit, could be costly and a diversion of management’s attention, and an adverse determination could adversely affect our reputation, potentially preclude us from offering certain products, and subject us to substantial liability.  As of December 31, 2023, we were not subject to any pending actions regarding infringement claims.

 

Employees - Human Capital

 

As of December 31, 2023, we had a total of 100 employees, of which 46 were located outside the U.S. and 9 of which were part time.  We also utilize independent contractors for specialty work, primarily in research and development, and utilize temporary workers to adjust capacity to fluctuating demand and for special projects.  Many of our employees are highly skilled, trained and experienced in specialized areas and our continued success will depend in part upon our ability to attract and retain employees who can be in great demand within the industry.  None of our employees are represented by a collective bargaining unit and we believe relations with our employees are favorable.  In foreign countries we have employment agreements or, in China, the Shanghai Foreign Services Co., Ltd. (“FSCO”) labor agreement. Because of the creation of specialized knowledge and skills in our business, there are extra short-term challenges to hiring and training replacements. Our hiring and retention strategies and efforts include emphasis on the advantages of working in a technology oriented, smaller, international, public company, and the culture of our organization. We utilize competitive pay practices, incentive compensation, equity awards, and benefits such as health care, life and disability insurance; paid time off; education and volunteer time. The tight labor markets that we experienced in 2022 returned to more normal in 2023.

 

Environmental, Social and Governance (“ESG”)

 

Data I/O is committed to the responsibilities associated with modern age ESG.  The Company’s key pillars for ESG support a framework for sustainable growth and include Leadership & Governance, Environment, Innovation, Human Capital, Social Capital, and Financial Excellence.  Initiatives within these areas apply to the company’s daily global operations as well as within its supply chains. 

 

We believe we are the only supplier in our industry with a published conflict mineral policy and public company governance. Our facilities are subject to numerous laws and regulations concerning the discharge of materials or otherwise relating to the environment. In addition to this commitment, the company has a track record of meeting its ESG regulatory obligations, being a solid corporate citizen, delivering superior value to its customers and partners, and demonstrating corporate stewardship including returning capital to shareholders through past share buybacks.  

 

As the largest and only publicly traded company in its sector, according to our internal analysis, Data I/O has led its industry in disclosing significant operational and financial information.  The Company's Board currently includes Data I/O's CEO and four Independent Directors.  It is diverse in gender, education, professional experience and differences in viewpoints and skills.  Through its continuous improvement practices and our operations’ focus on assembly and test with no fabrication, the company consumes relatively little energy, has minimal or no emissions or pollutants to air and wastewater, and complies with workplace labor, safety and business practices on three continents. Additionally, the Company started to purchase only sustainable (green) electric power  (in our China & U.S. facilities in 2023; German facility in prior years) and started to purchase offsets for its carbon emissions from natural gas use in the U.S. facility. For our vehicles, we have been replacing turned in cars with hybrid or electric vehicles.  None of these actions have had a material financial impact. Recent developments to climate regulations and guidelines have increased customer demands for climate disclosures on their timelines as opposed to regulations applicability to the Company.

 

Data I/O is also committed to giving back to our local communities through volunteer and internship programs.  The Company provides employees time-off to volunteer and also coordinates group projects.  In addition, the Company provides internships to local high school and college students through STEM and technical colleges. 

 

Compliance with environmental laws has not had, nor is it currently expected to have, a material effect on our capital expenditures, financial position, results of operations or competitive position. Potential regulations regarding climate change measurements and disclosures could require significant effort and costs.

 

 
9

Table of Contents

 

Executive Officers of the Registrant

 

Set forth below is certain information concerning the executive officers of Data I/O as of March 18, 2024:

 

Name

 

Age

 

Position

 

 

 

 

 

Anthony Ambrose

 

62

 

President and Chief Executive Officer

 

 

 

 

 

Gerald Y. Ng

 

62

 

Vice President, Chief Financial Officer, Secretary and Treasurer

 

 

 

 

 

Rajeev Gulati

 

60

 

Chief Technology Officer, Vice President of Engineering

 

 

 

 

 

Michael Tidwell

 

55

 

Vice President of Marketing and Corporate Business Development

 

Anthony Ambrose joined Data I/O on October 25, 2012, and is our President and Chief Executive Officer (“CEO”), and a member of the Board of Directors.  Prior to Data I/O, Mr. Ambrose was Owner and Principal of Cedar Mill Partners, LLC, a strategy consulting firm since 2011.  From 2007 to 2011, he was Vice President and General Manager at RadiSys Corporation, a leading provider of embedded wireless infrastructure solutions, where he led all product divisions and worldwide engineering.  Until 2007, he was general manager and held several other progressively responsible positions at Intel Corporation, where he led development and marketing of standards-based telecommunications platforms, and grew the industry standard server business to over $1B in revenues.  He is Chair of the EvergreenHealth Foundation Board of Trustees.  He previously served as a board member of SideChannel, Inc. (OTCQB: SDCH) until February 2024 having been retained after their 2022 merger with Cipherloc Corporation (OTCQB: CLOK) where he joined the board in 2019 and had also been lead independent director since 2019. Mr. Ambrose has a Bachelor of Science in Engineering from Princeton University.  He has completed the Stanford Graduate School of Business Director Symposium and earned the Carnegie Mellon University Certificate in Cybersecurity Oversight.

 

 
10

Table of Contents

 

Gerald Y. Ng joined Data I/O in July 2023 as Data I/O's Vice President of Finance and, effective August 16, 2023, became Data I/O's Vice President and Chief Financial Officer. Gerry brings a wealth of experience in finance and treasury functions, business development, financial planning & forecasting, monthly reporting and business compliance. He was previously CFO for Kymeta Corporation, a broadband satellite and cellular networks communication company, and prior to that, held CFO titles at FUJIFILM SonoSite, Inc. and Fluke Networks.  Gerry holds a Masters of Business Administration from Northwestern University – Kellogg School of Management and a Bachelor of Arts Finance and Accounting from the University of Washington.

 

Rajeev Gulati joined Data I/O in July 2013 and is our Chief Technology Officer and Vice President of Engineering.  Prior to Data I/O, Rajeev served as Director of Software Engineering for AMD responsible for tools, compiler strategy and execution from 2006 to 2013.  He has an extensive background in software, systems and applying technology to develop new markets.  Previously, he served as Director of Strategy and Planning at Freescale from 2004 to 2006; as Director of Embedded Products at Metrowerks (acquired by Motorola) from 2000 to 2004 and Director of Compilers, Libraries & Performance Tools from 1997 to 2000; and engineering and programmer positions at Apple Computer, IBM and Pacific-Sierra Research.  Rajeev holds a Master of Science in Electrical & Computer Engineering from the University of Texas, Austin and a BE in Electrical Engineering from Delhi College of Engineering, New Delhi.

 

Michael Tidwell joined Data I/O in May 2019 and is our Vice President of Marketing and Corporate Business Development.  Prior to Data I/O, he was Vice President of Marketing & Business Development at Tignis, an AI and machine learning startup. From 2012 to 2018 Michael was head of Marketing and Business Development at Sansa Security, a leading software security IP provider that was sold to ARM Holdings. Prior to Sansa, Michael was Vice President of Business and Market Development at BSQUARE Corporation. Michael has a Master of Science in Electrical Engineering from the University of Washington and a Bachelor of Electrical Engineering (Summa Cum Laude) from Georgia Institute of Technology.

 

Item 1A.  Risk Factors

 

Cautionary Factors That May Affect Future Results

 

Our disclosure and analysis in this Annual Report contains some forward-looking statements.  Forward-looking statements include our current expectations or forecasts of future events.  The reader can identify these statements by the fact that they do not relate strictly to historical or current facts.  In particular, these include statements relating to future action, supply chain expectations, semiconductor chip availability, Russia-Ukraine war impacts, prospective products, expected market growth, new technologies and trends, industry partnerships, foreign operations, economic expectations, future performance or results of current and anticipated products, sales efforts, expenses, outcome of contingencies, impact of regulatory requirements, tariffs and financial results.

 

Any or all of the forward-looking statements in this Annual Report or in any other public statement made may turn out to be wrong.  They can be affected by inaccurate assumptions we might make, or known or unknown risks and uncertainties can affect these forward-looking statements.  Many factors -- for example, product competition and product development -- will be important in determining future results.  Moreover, neither Data I/O nor anyone else assumes responsibility for the accuracy and completeness of these forward-looking statements.  Actual future results may materially vary.

 

We undertake no obligation to publicly update any forward-looking statements after the date of this Annual Report, whether as a result of new information, future events or otherwise.  The reader should not unduly rely on our forward-looking statements.  The reader is advised, however, to consult any future disclosures we make on related subjects in our 10-Q, 8-K and 10-K reports to the SEC and press releases.  Also, note that we provide the following cautionary discussion of risks, uncertainties and possible inaccurate assumptions relevant to our business.  These are factors that we think could cause our actual results to differ materially from expected and historical results.  Other factors besides those listed here could also adversely affect us.  This discussion is permitted by the Private Securities Litigation Reform Act of 1995.

 

 
11

Table of Contents

 

RISK FACTORS:

 

TARIFFS AND TRADE ISSUES

 

Changes in tariffs and trade issues may adversely affect our business, including revenues and/or gross margins.

 

We produce products in the United States and China.  Currently, certain of our products are subject to tariffs imposed by one country on goods manufactured in the other country.  This has materially impacted our gross margins negatively.  There is uncertainty regarding the tariffs expected to be imposed, and any increase in tariff rates and subjecting additional items to tariffs, could impact our costs, revenues and the competitiveness of our products due to our manufacturing locations.  Trade and tariff issues are creating business uncertainty and may spread to and impact other jurisdictions.

 

Additionally, ongoing trade tensions between the United States and China are impacting our ability to seamlessly design, build, market and sell our products. These tensions may increase suddenly at any time due to government policies or actions. Some customers have moved production away from China, further from our facilities and engineers. We endeavor to have multi-sourced manufacturing, but this is not currently practical for all products in all locations.

 

War based restrictions, embargos, and supply chain disruptions have and are occurring as a result of the Russian invasion of Ukraine, which could have economic and other indirect impacts to our business.  We do not have any operations in Russia or Ukraine, nor do we rely on any software or hardware components sourced from these two countries. The Israel - Hamas war could have similar issues, although we have not experienced any material impacts.

 

NEW PRODUCTS OR SERVICES

 

We are pursuing new product or service initiatives, and business models that may develop more slowly and/or to a lesser extent than expected.

 

In order to lead in new and potentially lucrative market opportunities, for example in security deployment of programmable devices, circuit boards and electronic systems, we are making significant investments in people, technology and business development while the market is developing and uncertain.  Due to the length of time to market from design to production in security provisioning, if these markets develop more slowly than planned, or if our security deployment solutions are not widely accepted, then we may not achieve our expected return on investment in new technologies, which may significantly affect the results of our existing business.

 

In the security deployment area, we have introduced a pay per use business model and service fees that may not be accepted by our customers who are accustomed to paying for capital equipment upfront, rather than paying per use charges.

 

Failure to adapt to technology trends in our industry may impact our competitiveness and financial results.

 

Product and service technology in our industry evolves rapidly, making timely product innovation essential to success in the marketplace.  Introducing products and services with improved technologies or features may render our existing products obsolete and unmarketable.  Technological advances and trends that may negatively impact our business include: 

 

·

new device package types, densities, chip interfaces and technologies requiring hardware and software changes in order to be programmed by our products, particularly certain segments of the high-density flash memory markets where after placement programming is recommended by certain semiconductor manufacturers;

 

 

·

reduction in semiconductor process geometries for certain 3 Dimensional (3D), Multi Level Cell (MLC) and Triple Level Cell (TLC) NAND and eMMC FLASH memories impact the product data retention through Surface Mount Technology (SMT) reflow or X-ray inspection. Improper SMT process control can negatively impact the end customer’s ability to successfully program devices. This can cause them to change their programing methods away from pre-programming to post placement programming techniques, including ISP, ICT. Data I/O has, and continues to work with several semiconductor manufacturers to develop best practices to minimize the impact of reflow and potential concerns about X-ray induced data loss so that preprogramming remains a supported alternative;

 

 

·

changes in Flash technology speeds will eventually require us to change the architecture of our programming engines;

 

 

·

electronics equipment manufacturing practices, such as widespread use of in-circuit programming or downloading;

 

 

·

adoption of proprietary security and programming protocols and additional security capabilities and requirements;

 

 
12

Table of Contents

 

·

customer software platform preferences different from those on which our products operate;

 

 

·

customer adoption of newer unsupported semiconductor device technologies such as NVMe memory or device interface methods, particularly if these technologies are adopted by automotive electronics, IoT or wireless customers; and/or

 

 

·

more rigid industry standards, which would decrease the value-added element of our products and support services.

 

If we cannot develop products or services in a timely manner in response to industry changes, or if our products or services do not perform well, our business and financial condition may be adversely affected.  Also, our new products or services may contain defects or errors that give rise to product liability claims against us or cause our products to fail to gain market acceptance.  Our future success depends on our ability to successfully compete with other technology firms in attracting and retaining key technical personnel.

 

Failure to adapt to increasing automotive electronics customer requirements and a rapidly changing global automotive electronics ecosystem may impact our competitiveness and result in a decline in sales or increased costs.

 

Concentration in automotive electronics and our orders related to automotive electronics customers has been dominant in recent years at 63% in 2023, 61% in 2022 and 58% in 2021.  As we have been concentrated on automotive electronics customers, any decrease in demand from these customers may materially impact our results, as it will take some time to transition our product line to other markets.  Quality standards and business requirements by our automotive electronics customers, driven in turn by their automotive manufacturer customers, may demand processes and certifications at a higher level than we currently are structured to provide.  For example, although we currently meet the ISO 9001:2015 standard, new quality standards, and environmental standards may be demanded by our customers with even more rigorous requirements.  In addition, contractual provisions may expose us to greater potential liability and costs and we may be required to provide higher service levels than we currently provide.  If we cannot adapt to these industry requirements or manage these contractual provisions, our business may be adversely affected.

 

We are also seeing a shift in the global automotive industry towards new entrants touting new methods, especially for all electric vehicles. These new entrants may not develop solutions through the traditional value chain. If Data I/O is not able to market and sell effectively to these new entrants, we risk losing market share in our largest market.

 

Delays in development, introduction and shipment of new products or services may result in a decline in sales or increased costs.

 

We develop new engineering and automated programming systems and services.  Significant technological, supplier, manufacturing or other problems may delay the development, introduction or production of these products or services.

 

For example, we may encounter these problems:

 

·

technical problems in the development of a new programming and/or security deployment systems or the robotics for new automated handing systems;

 

 

·

inability to hire qualified personnel or turnover in existing personnel or inability to engage or retain key technology partners;

 

 

·

delays or failures to perform by us or third parties, including some smaller early stage or recently acquired companies, involved in our development projects;

 

 

·

dependence on large semiconductor companies for cooperation and support to securely provision their devices. These companies must enable us with specific technical information and support Data I/O as a qualified solution to their customers and channel partners;

 

 

·

delays or failure to develop and utilize Artificial Intelligence (“AI”) for our offerings or services, potentially falling behind competitors exploiting the use of AI;

 

 

·

development of new products or services that are not accepted by the market; and/or

 

 

·

delays in supply chain for parts needed for new products.

 

These problems may result in a delay or decline in sales or increased costs.

 

 
13

Table of Contents

 

We may pursue business acquisitions that could impair our financial position and profitability.

 

We may pursue acquisitions of complementary technologies, product lines or businesses.  Acquisitions may include risks, such as:

 

·

burdening management and our operating teams during the integration of the acquisition;

 

 

·

diverting management’s attention from other business concerns;

 

 

·

failing to successfully integrate, scale or monetize the acquired products or technologies;

 

 

·

lack of acceptance of the acquired products by our sales channels or customers;

 

 

·

entering markets where we have no or limited prior experience;

 

 

·

potential loss of key employees of the acquired company; and/or

 

 

·

additional burden of support for an acquired programmer architecture.

 

Future acquisitions may also impact our financial position.  For example, we may use significant cash or incur debt, which would weaken our balance sheet, or issue additional shares, potentially diluting existing shareholders.  We may also capitalize goodwill and intangible assets acquired, the amortization or impairment of which would reduce our profitability.  We cannot guarantee that future acquisitions will improve our business or operating results.

 

If we are unable to protect our IP, we may not be able to compete effectively or operate profitably.

 

We rely on patents, copyrights, trade secrets and trademarks to protect our IP, as well as product development and marketing skill to establish and protect our market position.  In particular, patents are a key part of our security deployment strategy, and if we are not able to successfully enforce these patents, we might lose our competitive advantage in the security deployment market.  We attempt to protect our rights in proprietary software products, including our user interface, product firmware, software module options and other software products by retaining the title to and copyright of the software and documentation, by including appropriate contractual restrictions on use and disclosure in our licenses, and by requiring our employees to execute non-disclosure agreements.

 

Because of the rapidly changing technology in the semiconductor, electronic equipment and software industries, portions of our products might possibly infringe upon existing patents or copyrights, and we might be required to obtain licenses or discontinue the use of the infringing technology.  We believe that any exposure we may have regarding possible infringement claims is a reasonable business risk similar to that assumed by other companies in the electronic equipment and software industries.  However, any claim of infringement, with or without merit, could be costly and a diversion of management’s attention, and an adverse determination could adversely affect our reputation, preclude us from offering certain products, and subject us to substantial liability.

 

We might face increased competition and might not be able to compete successfully with current and future competitors.

 

Technological advances have reduced the barriers of entry into the market in which we compete.  We expect competition to increase from both established and emerging companies.  If we fail to compete successfully against current and future sources of competition, our profitability and financial performance will be adversely impacted.

 

THIRD PARTY RELATIONSHIPS

 

If we do not develop and enhance our relationships with semiconductor manufacturers, our business may be adversely affected.

 

We work closely with most semiconductor manufacturers to ensure that our data programming and security deployment systems comply with their requirements.  In addition, many semiconductor manufacturers recommend our managed and secure programming systems for use by users of their programmable devices.  These working relationships enable us to keep our programming systems product lines up to date and provide end-users with broad and current programmable device support.  As technology changes occur that could limit the effectiveness of pre-placement programming, particularly for very small high-density NAND, eMMC and UFS devices, certain semiconductor manufacturers may not recommend or may not continue recommending our programming systems for these devices.  Our business may be adversely affected if our relationships with semiconductor manufacturers deteriorate or if semiconductor manufacturers are not willing to closely work with us on security deployment.  Consolidation within the semiconductor industry may also impact us.  As we develop more security deployment solutions, we will need to partner more closely with semiconductor manufacturers.

 

 
14

Table of Contents

 

Our reliance on a small number of suppliers may result in a shortage of key components, which may adversely affect our business, and our suppliers may experience financial difficulties which could impact their ability to service our needs.

 

Certain parts or software used in our products are currently available from either a single supplier or from a limited number of suppliers.  Our small relative level of business means we frequently lack influence and significant purchasing power.  If we cannot develop alternative sources of these components, if sales of parts or software are discontinued by the supplier, if we experience deterioration in our relationship with these suppliers, or if these suppliers require financing which is not available, there may be delays or reductions in product introductions or shipments, which may materially adversely affect our operating results.

 

Because we rely on a small number of suppliers for certain parts, we are subject to possible price increases by these suppliers.  As experienced in 2022, we have seen more part shortages and larger price increases than in recent years. While this has returned to a stable situation in 2023, our volumes typically are not high enough to maintain multiple suppliers. Also, we may be unable to accurately forecast our production schedule.  If we underestimate our production schedule, suppliers may be unable to meet our demand for components.  This delay in the supply of key components may have a materially adverse effect on our business.  For suppliers who discontinue parts, we may be required to make lifetime purchases covering future requirements.   Over estimation of demand or excessive minimum order quantities may lead to excess inventories that may become obsolete.  Part shortages, especially semiconductor parts as experienced in 2021 and 2022, impact availability, lead times, and pricing that may be disruptive to our production plans, lead times, margins and may result in lost sales.

 

Some of our sockets, parts, subassemblies and boards are currently manufactured to our specifications by third-party foreign contract manufacturers and we are sourcing certain parts or options from foreign manufacturers, particularly in China.  For example, due to geopolitical considerations, we may not be able to obtain a sufficient quantity of these products if and when needed or the quality of these parts or options may not meet our standards, which may result in lost sales.

 

If we are unable to attract and retain qualified third-party distributors and representatives, our business may be adversely affected.

 

We have an internal sales force and also utilize third-party distributors and representatives.  Therefore, the financial stability of these distributors and representatives is important.  Their ability to operate, timely pay us, and to acquire any necessary financing may be affected by the current economic climate.  Highly skilled professional engineers use most of our products.  To be effective, third-party distributors and representatives must possess significant technical, security, marketing, customer relationships and sales resources and must devote their resources to sales efforts, customer education, training and support.  These required qualities limit the number of potential third-party distributors and representatives.  Our business will suffer if we cannot attract and retain a sufficient number of qualified third-party distributors and representatives to market our products.

 

MARKET CONDITIONS

 

A decline in economic and market conditions may result in delayed or decreased capital spending and delayed or defaulted payments from our customers.

 

The coronavirus derivatives or similar items may affect economic and market conditions as surges and spreads. Global impacts of the Russian invasion of Ukraine continue to evolve with sanctions and trade issues.  Our business is highly impacted by capital spending plans and other economic cycles that affect the users and manufacturers of integrated circuits.  The industries are highly cyclical and are characterized by rapid technological change, short product life cycles and fluctuations in manufacturing capacity and pricing and gross margin pressures.  As we experienced in this and recent prior years, our operations may in the future reflect substantial fluctuations from period-to-period as a consequence of these industry patterns, general economic conditions affecting the timing of orders from major customers, and other factors affecting capital spending.  In a difficult economic climate, it may take us longer to receive payments from our customers and some of our customers’ business may fail, resulting in non-payment.  Our market growth forecasts and related business decisions may be wrong.  These factors could have a material adverse effect on our business and financial condition.

 

Our international operations may expose us to additional risks that may adversely affect our business.

 

International sales represented approximately 90%, 93% and 90% of net sales in 2023, 2022 and 2021, respectively.  We expect that international sales will continue to be a significant portion of our net revenue.  International sales may fluctuate due to various factors, including:

 

·

the impact of COVID-19, the coronavirus and variants of it, or other viruses;

 

 
15

Table of Contents

 

·

fluctuations in foreign currency exchange rates because 90% of our sales are to international markets, volatile exchange rates may also impact our competitiveness and margins, especially where we have subsidiary operations;

 

 

·

economic uncertainty related to the European energy cost increases;

 

 

·

China economic challenges, as this is a major market for our products and a significant production location;

 

 

·

migration of manufacturing to low cost geographies;

 

 

·

unexpected changes in regulatory requirements;

 

 

·

tariffs and taxes;

 

 

·

bi-lateral and multi-lateral trade agreements;

 

 

·

difficulties in staffing and managing foreign operations;

 

 

·

longer average payment cycles and difficulty in collecting accounts receivable;

 

 

·

compliance with applicable export licensing requirements and the Foreign Corrupt Practices Act;

 

 

·

product safety and other certification requirements;

 

 

·

difficulties in integrating foreign and outsourced operations;

 

 

·

war, civil unrest, political and economic instability, including the Russian invasion of Ukraine and the Israel – Hamas war;

 

 

·

ability to protect our intellectual property in multiple patent jurisdictions; and/or

 

 

·

ability to move cash freely from subsidiaries.

 

Because we have customers located throughout the world, we have significant foreign receivables, although none are based in Russia or Ukraine.  We may experience difficulties in collecting these amounts as a result of payment practices of certain foreign customers, economic uncertainty and regulations in foreign countries, the availability and reliability of foreign credit information, and potential difficulties in enforcing collection terms. 

 

The European Union and European Free Trade Association (“EU”) has established certain electronic emission and product safety requirements (“CE”).  As applicable, our products currently meet these requirements; however, failure to obtain either a CE certification or a waiver for any product may prevent us from marketing that product in Europe.  The EU also has directives concerning the Reduction of Hazardous Substances (“RoHS”) and we believe we are classified within the EU RoHS Directive category list as Industrial Monitoring and Control Equipment (category 9).  We believe all current products meet the RoHS directives.  Failure to meet applicable directives or qualifying exemptions may prevent us from marketing certain products in Europe or other territories with similar requirements. 

 

We have subsidiaries in Germany and China and large balances of cash are in our foreign subsidiaries.  Our business and financial condition is sensitive to currency exchange rates and any restrictions imposed on their currencies including restrictions on repatriations of cash.  A repatriation of cash has, and could in the future, result in tax costs and corresponding deferred tax assets with related tax valuation allowances.  Currency exchange fluctuations in these countries may adversely affect our investment in our subsidiaries.

 

OPERATIONS

 

Quarterly fluctuations in our operating results may adversely affect our stock price.

 

Our operating results tend to vary from quarter to quarter.  Our revenue in each quarter substantially depends upon orders received within that quarter.  Conversely, our expenditures are based on investment plans and estimates of future revenues.  We may, therefore, be unable to quickly reduce our spending if our revenues decline in a given quarter.  As a result, operating results for that quarter will suffer.  Our results of operations for any one quarter are not necessarily indicative of results for any future periods.

 

Other factors, which may cause our quarterly operating results to fluctuate, include:

 

·

increased competition;

 

 

·

timing of new product announcements and timing of development expenditures;

 

 
16

Table of Contents

 

·

product or service releases and pricing changes by us or our competitors;

 

 

·

market acceptance or delays in the introduction of new products or services;

 

 

·

production constraints, including part shortages impact on us and our supply chains;

 

 

·

quality issues;

 

 

·

labor or material constraints;

 

 

·

timing of significant orders;

 

 

·

timing of installation or customer acceptance requirements;

 

 

·

sales channel mix of direct vs. indirect distribution;

 

 

·

civil unrest, war or terrorism;

 

 

·

health issues such as the outbreak of the coronavirus or other viruses impacting workers, suppliers, customers, travel, or our facilities;

 

 

·

customers’ budgets;

 

 

·

changes in accounting rules, tax or other legislation;

 

 

·

adverse movements in exchange rates, interest rates, inflation or tax rates;

 

 

·

cyclical and seasonal nature of demand for our customers’ products;

 

 

·

general economic conditions in the countries where we sell products;

 

 

·

expenses and delays obtaining authorizations in setting up new operations or locations; and/or

 

 

·

facilities relocations.

 

Due to any of the foregoing factors, it is possible that in some future quarters, our operating results will be below the expectations of analysts and investors.

 

We have a history of operating losses and may be unable to generate enough revenue to achieve and maintain profitability.

 

We have incurred operating losses in four of the last ten years.  We operate in a cyclical industry.  We will continue to examine our level of operating expense based upon our projected revenues.  Any planned increases in operating expenses may result in losses in future periods if projected revenues are not achieved or the investment level required is too large.  As a result, we may need to generate greater revenues than we have recently in order to maintain profitability.  However, we cannot provide assurance that our revenues will continue to increase and our business strategies may not be successful, resulting in future losses.

 

The loss of key employees may adversely affect our operations.

 

We have employees located in the U.S., Germany and China.  We also utilize independent contractors for specialty work, primarily in research and development, and utilize temporary workers to adjust capacity to fluctuating demand.  Many of our employees are highly skilled, and our continued success will depend in part upon our ability to attract and retain employees who can be in great demand within the industry.  None of our employees are represented by a collective bargaining unit, and we believe relations with our employees are favorable, though no assurance can be made that this will be the case in the future.  In China, our workers have benefits and similar arrangements provided under a “FSCO” labor agreement, and we could be adversely affected if we were unable to continue that arrangement.

 

We may need to raise additional capital and our future access to capital is uncertain.

 

Our past revenues have sometimes been, and our future revenues may again be, insufficient to support the expense of our operations and any expansion of our business.  We may therefore need additional equity or debt capital to finance our operations.  If we are unable to generate sufficient cash flows from operations or to obtain funds through additional debt, lease or equity financing, we may have to reduce some or all of our development and sales and marketing efforts and limit the expansion of our business. 

 

 
17

Table of Contents

 

We believe that we have sufficient cash or working capital available under our operating plan to fund our operations and capital requirements through at least the next one-year period.  In the event we require additional cash for U.S. operations or other needs, we may choose to repatriate some, or all, of the cash held in our foreign subsidiaries.  There may be tax, legal and other impediments to any repatriation actions.  Our working capital may be used to fund possible losses, business growth, project initiatives, share repurchases, and business development initiatives including acquisitions, which could reduce our liquidity and result in a requirement for additional cash before that time.  Any substantial inability to achieve our current business plan could have a material adverse impact on our financial position, liquidity, or results of operations and may require us to reduce expenditures and/or seek additional financing.

 

Therefore, we may seek additional funding through public or private debt or equity financing or from other sources.  We have no commitments for additional financing, and given a potential future unfavorable economic climate and our financial results, we may experience difficulty in obtaining funding on favorable terms, if at all.  Any financing we obtain may contain covenants that restrict our freedom to operate our business or may require us to issue securities that have rights, preferences or privileges senior to our Common Stock and may dilute your ownership interest.

 

Our stock price may be volatile and, as a result, our shareholders may lose some or all of their investment.

 

The stock prices of technology companies tend to fluctuate significantly.  We believe factors such as announcements of new products or services by us or our competitors and quarterly variations in financial results and outlook may cause the market price of our Common Stock to fluctuate substantially.  In addition, overall volatility in the stock market, particularly in the technology company sector, is often unrelated to the operating performance of companies.  If these market fluctuations continue in the future, they may adversely affect the price of our Common Stock.  Additionally, securities of certain companies have recently experienced significant and extreme volatility in stock price due to short sellers of shares of common stock, known as a “short squeeze.”  These short squeezes have caused extreme volatility in both the stock prices of those companies and in the market, and have led to the price per share of those companies to trade at a significantly inflated rate that is disconnected from the underlying value of the company. Many investors who have purchased shares in those companies at an inflated rate face the risk of losing a significant portion of their original investment, as in many cases the price per share has declined steadily as interest in those stocks have abated. While we have no reason to believe our shares would be the target of a short squeeze, there can be no assurance that we won’t be in the future, and you may lose a significant portion or all of your investment if you purchase our shares at a rate that is significantly disconnected from our underlying value.

 

CYBERSECURITY RISKS

 

Cybersecurity breaches or terrorism could result in liabilities or costs as well as damage to or loss of our data or customer access to our website and information systems.  The collection, storage, transmission, use and disclosure of user data and personal information, if accessed improperly, could give rise to liabilities or additional costs as a result of laws, governmental regulations and evolving views of personal privacy rights.

 

Cybersecurity attacks may increase as a result of the Russian invasion of Ukraine, and/or deterioration of the geopolitical environment.  Cybersecurity breaches or terrorism could result in the exposure or theft of private or confidential information as well as interrupt our business, including denying customer access to our website and information systems.  We transmit, and in some cases store, end-user data, including personal information.  In jurisdictions around the world, personal information is becoming increasingly subject to legislation and regulations intended to protect consumers’ privacy and security.  The interpretation of privacy and data protection laws and regulations regarding the collection, storage, transmission, use and disclosure of such information in some jurisdictions is unclear and evolving.  These laws may be interpreted and applied in conflicting ways from country to country and in a manner that is not consistent with our current data protection practices.  Complying with these varying international requirements could cause us to incur additional costs and change our business practices.  Because our services are accessible in many foreign jurisdictions, some of these jurisdictions may claim that we are required to comply with their laws, even where we have no local entity, employees or infrastructure.  We could be forced to incur significant expenses if we were required to modify our products, our services or our existing security and privacy procedures in order to comply with new or expanded regulations.

 

REGULATORY REQUIREMENTS

 

Failure to comply with increasing regulatory requirements may adversely affect our stock price and business.

 

As a public company, we are subject to numerous governmental and stock exchange requirements, with which we believe we are in compliance.  Our failure to meet regulatory requirements and exchange listing standards may result in actions such as: the delisting of our stock, impacting our stock’s liquidity; SEC enforcement actions; and securities claims and litigation. Unfortunately, increased regulations pushed onto public companies may have a disproportionate impact to smaller public companies.

 

 
18

Table of Contents

 

The Sarbanes-Oxley Act of 2002 and the Securities and Exchange Commission (SEC) have requirements that we may fail to meet or we may fall out of compliance with, such as the internal controls auditor attestation required under Section 404 of the Sarbanes-Oxley Act of 2002, with which we are not currently required to comply as we are a smaller reporting company.  We assume that we will continue to have the status of a smaller reporting company based on the aggregate market value of the voting and non-voting shares held as of June 30, 2023.  If we fail to achieve and maintain the adequacy of our internal controls, as such standards are modified, supplemented or amended from time to time, we may not be able to ensure that we can conclude on an ongoing basis that we have effective internal controls over financial reporting in accordance with Section 404 of the Sarbanes-Oxley Act of 2002.  Moreover, effective internal controls, particularly those related to revenue recognition, are necessary for us to produce reliable financial reports and are important to help prevent financial fraud.  If we cannot provide reliable financial reports or prevent fraud, our business and operating results could be harmed, investors could lose confidence in our reported financial information, and the trading price of our stock could drop significantly. 

 

While we have policies and procedures in place designed to prevent corruption and bribery, because our business is significantly international, violations of the Foreign Corrupt Practices Act (FCPA) could have a significant adverse effect on our business due to the disruption and distraction of an investigation, financial penalties and criminal penalties.

 

Government regulations regarding the use of “conflict” minerals and potential climate and ESG requirements could adversely affect our prospects and results of operations.

 

Regulatory requirements regarding disclosure of our use of “conflict” minerals mined from the Democratic Republic of Congo and adjoining countries could affect the sourcing and availability of minerals used in the manufacture of certain products. Although we do not buy raw materials, manufacture, or produce any electronic equipment using conflict minerals directly, some components provided by our suppliers and contained in our products contain conflict minerals.  Our goal is for our products to be conflict free.  As a result, there may only be a limited pool of suppliers who provide conflict free metals, and we cannot assure you that we will be able to obtain products in sufficient quantities or at competitive prices.  Single source suppliers may not respond, or respond negatively regarding conflict mineral sourcing, and we may be unable to find alternative sources to replace them.  Also, because our supply chain is complex, we may face reputational challenges with our customers and other stakeholders if we are unable to sufficiently verify the origins for all metals used in the products that we sell.  Further, if we are unable to comply with the new laws or regulations or if our efforts to comply with new laws, regulations and standards differ from the activities intended by regulatory or governing bodies due to ambiguities related to practice, regulatory authorities may initiate legal proceedings against us.  We may need to incur additional costs and invest additional resources, including management’s time, in order to comply with the new regulations and anticipated additional reporting and disclosure obligations.

 

Climate focused regulations and related disclosures are a similar evolving regulatory area and we may be required to invest in systems, processes and personnel to address new requirements in the ESG area.  These will require significant costs, work and reputational risk for failing to meet requirements, with miniscule impact to the global environment.

 

Item 1B.  Unresolved Staff Comments

 

None.

 

Item 1C. Cybersecurity

 

CYBERSECURITY GOVERNANCE

 

The Company’s Board of Directors, as a whole, has oversight responsibility for our strategic and operational risks.  The Audit Committee of the Board of Directors is responsible for board-level oversight of cybersecurity risk, however the full Board is typically present for Information Technology (IT) and Cybersecurity briefings.  As part of it’s oversight role, the Audit Committee receives reporting about the Company’s cybersecurity program, activities, threats and incidents (if any) through periodic updates.  The cybersecurity program is managed by our outsourced IT infrastructure team with oversight and coordination by our CFO, who reports directly to our CEO.  Utilization of an outsourced IT infrastructure team allows Data I/O to access the necessary breadth and depth of leading cybersecurity programs, staff, expertise, and tools.  The IT infrastructure team monitors the prevention, mitigation, detection, and remediation of cybersecurity incidents through their management of the cybersecurity function, including the operation of the Company’s incident response plans, which include appropriate escalation to the CFO, CEO and the Audit Committee.

 

 
19

Table of Contents

 

CYBERSECURITY RISK MANAGEMENT AND STRATEGY

 

The Company has processes in place to identify, assess, and monitor material risks from cybersecurity threats, which are part of the Company’s overall cybersecurity risk management and have been embedded in the information systems operating procedures and internal controls.  Our IT function manages IT operations and continually evolves and enhances our systems to meet the constantly changing digital environment.  Periodic cybersecurity risk assessments are performed to identify, assess, and prioritize potential risks to information, data assets, infrastructure and third party vendors.  Additionally, a third-party review and testing of the financial controls over IT as part of our Sarbanes-Oxley internal controls testing is performed annually.  The Company addresses significant risks through corrective or mitigating actions as necessary.

 

The Company has also established cybersecurity and information security awareness training programs. Employees with access to the Company’s network receive annual training on topics such as phishing, malware, and other cybersecurity risks.  Training is administered and tracked through online learning modules with ongoing follow-up testing.  All employees and contractors enter into non-disclosure confidentiality agreements.  We work to continually evolve our systems to meet the constantly changing digital environment and continue to invest in the cybersecurity and resiliency of our networks and to enhance our internal controls and processes, which are designed to help protect our systems and infrastructure, and the information they contain.

 

There have been no risks from cybersecurity threats that have materially affected or are reasonably likely to materially affect our business strategy, results of operations or financial condition. The nature of potential cybersecurity risks and threats are uncertain, and any future incidents, outages or breaches could have a material adverse effect on the Company’s business, financial conditions or results of operations. For more information about the cybersecurity risks we face, refer to the Risk Factors in section “Cybersecurity Risks” in Part I, Item 1A, "Risk Factors".

 

Item 2.  Properties

 

The company has three facilities with our headquarters and primary engineering and operational functions located in Redmond, Washington.  Our two subsidiary facilities in Munich, Germany and Shanghai, China provide extended worldwide sales, service, engineering and operations services.  The total annual gross or base lease payments during 2023 and 2022 were approximately $823,000 and $713,000, respectively.  The lease payment increase in 2023 was due primarily to lease abatement incentives for lease renewals in 2022 and standard rate increase in 2023.

 

The Redmond, Washington headquarters facility lease runs to January 31, 2026 at approximately 20,460 square feet.  The lease for the facility located in Shanghai, China runs to October 31, 2024 at approximately 19,400 square feet.  The lease for the facility located near Munich, Germany runs to August 2027 at approximately 4,895 square feet.

 

Item 3.  Legal Proceedings

 

From time to time, we may be involved in litigation relating to claims arising out of our operations in the normal course of business.  As of December 31, 2023, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position.

 

Item 4.  Mine Safety Disclosures

 

Not Applicable.

 

 
20

Table of Contents

 

PART II

 

Item 5.  Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

 

Our Common Stock is listed on the NASDAQ Capital Market (NASDAQ symbol is DAIO).  The closing price was $2.94 on December 29, 2023.

 

The approximate number of shareholders of record as of March 18, 2024 was 369.

 

Except for special cash dividend of $4.15 per share paid on March 8, 1989, we have not paid cash dividends on our Common Stock and do not anticipate paying regular cash dividends in the foreseeable future. 

 

No sales of unregistered securities were made by us during the periods ended December 31, 2023, 2022 or 2021.

 

See Item 12 for the Equity Compensation Plan Information.

 

Item 6.  Selected Financial Data

 

Not applicable.

 

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

 

Forward-Looking Statements

 

This Annual Report on Form 10-K includes forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995.  This Act provides a “safe harbor” for forward-looking statements to encourage companies to provide prospective information about themselves as long as they identify these statements as forward-looking and provide meaningful cautionary statements identifying important factors that could cause actual results to differ from the projected results.  All statements other than statements of historical fact made in this Annual Report on Form 10-K are forward-looking.  In particular, statements herein regarding economic outlook, impact of COVID-19 including recovery from the shutdown in Shanghai, China; industry prospects and trends; expected business recovery; industry partnerships; future results of operations or financial position; future spending; expected expenses, breakeven revenue point; expected market decline, bottom or growth; market acceptance of our newly introduced or upgraded products or services; the sufficiency of our cash to fund future operations and capital requirements; development, introduction and shipment of new products or services; changing foreign operations; taxes, trade issues and tariffs; expected inventory levels; expectations for unsupported platform or product versions and related inventory and other charges; Russian invasion of Ukraine impacts; Israel – Hamas war impacts; supply chain expectations; semiconductor chip shortages and recovery; and any other guidance on future periods are forward-looking statements.  Forward-looking statements reflect management’s current expectations and are inherently uncertain.  Although we believe that the expectations reflected in these forward-looking statements are reasonable, we cannot guarantee future results, levels of activity, performance, achievements, or other future events.  Moreover, neither Data I/O nor anyone else assumes responsibility for the accuracy and completeness of these forward-looking statements.  We are under no duty to update any of these forward-looking statements after the date of this Annual Report.  The Reader should not place undue reliance on these forward-looking statements.  The following discussions and the section entitled “Risk Factors - Cautionary Factors That May Affect Future Results” describes some, but not all, of the factors that could cause these differences.

 

OVERVIEW

 

In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere. 

 

The strong dollar impact that started to reverse during the fourth quarter of 2022, provided tail winds for revenue in the first and second quarter of 2023, especially versus the Euro. During the second half of 2023, the U.S. dollar strengthened again causing revenue head winds. However, we managed to achieve profitability for the year. Macroeconomic news, while improving, continued to be fairly negative. On a more positive note, inflation, while still elevated, is diminishing.  Interest rates continue to be higher, but an anticipated recession has not occurred outside of Germany with a current soft landing outlook causing expectations for avoiding a U.S. recession.  COVID-19, semiconductor shortages, shipping & supply chain issues, and domestic labor tightness are improving situations. Travel, trade shows, and face-to-face customer meetings are happening.  We believe our new supplier resilience, inventory holdings and production in multiple locations, and ability to leverage remote and virtual services, are capabilities to retain and build upon.  We continue to focus on managing our costs carefully and growth-oriented strategies.

 

We are focusing our research and development efforts in our strategic growth markets, namely automotive electronics and IoT new programming technologies, secure supply chain solutions, automated programming systems and their enhancements for the manufacturing environment and software. At Data I/O, we are investing for the long-term to retain and extend our leadership position in automotive electronics and security deployment. We are continuing to develop technology to securely provision newer categories of semiconductors, including Secure Microcontrollers, Authentication Chips, and Secure Elements. We continue to focus on extending the capabilities and support for our product lines and supporting the latest semiconductor devices, including various configurations of NAND Flash, eMMC, UFS and microcontrollers on our newer products.

 

Our customer focus has been on global and strategic high-volume manufacturers in key market segments like automotive electronics, IoT, industrial controls and consumer electronics, as well as programming centers. Although the long-term prospects for our strategic growth markets should remain good, these markets and our business have been, and are likely to continue to be, adversely impacted by global political and economic factors.  In particular, the continued outlook by industry analysts for automotive electronics, which remains our primary market focus, remains strong based on the long-term forecast for a decade.

 

On the product side, we continue to invest with a long-term focus towards expanding our markets and creating unique value for our customers. This is true for both our traditional core business as well as the emerging security deployment business.  Our strong cash position and balance sheet, combined with our long-term view of the market, gives us the financial flexibility to make these investments. 

 

 
21

Table of Contents

 

CRITICAL ACCOUNTING POLICY JUDGMENTS AND ESTIMATES

 

The preparation of financial statements in accordance with accounting principles generally accepted in the United States of America requires that we make estimates and judgments, which affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities.  On an on-going basis, we evaluate our estimates, including those related to revenue recognition, sales returns, credit losses, inventories, income taxes, warranty obligations, restructuring charges, contingencies such as litigation and contract terms that have multiple elements and other complexities typical in the capital equipment industry.  We base our estimates on historical experience and other assumptions that we believe are reasonable under the circumstances.  Actual results may differ from these estimates under different assumptions or conditions. 

 

We believe the following critical accounting policies affect the more significant judgments and estimates used in the preparation of our financial statements:

 

Revenue Recognition:  Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers (ASC 606) provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.   

 

We expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2023 and 2022, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This analysis considers the complexity, skill and training needed, as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that could include hardware, software, installation, service and support, and extended maintenance components.  We allocate the transaction price of each element based on the relative selling prices.   Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system based on shipping terms, software based on delivery, installation and services based on completion of work and software maintenance and extended warranty support ratably over the term of the agreement, typically one year.

 

When we license software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations, including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us, and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 to 60 days from shipment. 

 

 
22

Table of Contents

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value, and the sale transaction is accounted for as revenue and cost of goods sold.

 

Allowance for Credit Losses:  We base the allowance for credit losses on our assessment of the losses collectively expected for the future, as well as collectability of specific customer accounts and the aging of accounts receivable.  If there is deterioration of a major customer’s credit worthiness or actual defaults are higher than historical experience, or events forecast that collectively indicate some impairment is expected, our estimates of the recoverability of amounts due to us could be adversely affected. 

 

Inventory: Inventories are stated at the lower of cost or net realizable value.  Adjustments are made to standard cost, which approximates actual cost on a first-in, first-out basis.  We estimate reductions to inventory for obsolete, slow-moving, excess and non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item-by-item basis and record inventory adjustments accordingly.  If there is a significant decrease in demand for our products, uncertainty during product line transitions, or a higher risk of inventory obsolescence because of rapidly changing technology and customer requirements, we may be required to increase our inventory adjustments, and our gross margin could be adversely affected. 

 

Warranty Accruals:  We accrue for warranty costs based on the expected material and labor costs to fulfill our warranty obligations.  If we experience an increase in warranty claims, which are higher than our historical experience, our gross margin could be adversely affected. 

 

Tax Valuation Allowances:  Given the uncertainty created by our loss history, as well as the current and ongoing cyclical and COVID-19 related uncertain economic outlook for our industry and capital and geographic spending, as well as income and current net deferred tax assets by entity and country, we expect to continue to limit the recognition of net deferred tax assets and accounting for uncertain tax positions and maintain the tax valuation allowances.  At the current time, we expect, therefore, that reversals of the tax valuation allowance will take place as we are able to take advantage of the underlying tax loss or other attributes in carry forward or their use by future income or circumstances allow us to realize these attributes.  The transfer pricing and expense or cost sharing arrangements are complex areas where judgments, such as the determination of arms-length arrangements, can be subject to challenges by different tax jurisdictions. 

 

Share-based Compensation:  We account for share-based awards made to our employees and directors, including employee stock option awards, performance stock unit awards and restricted stock unit awards, using the estimated grant date fair value method of accounting.  For options, we estimate the fair value using the Black-Scholes valuation model and an estimated forfeiture rate.  Restricted stock unit awards and performance stock unit awards are valued based on the average of the high and low price on the date of the grant and an estimated forfeiture rate.  For options, performance and restricted stock unit awards, expense is recognized as compensation expense on the straight-line basis.  Employee Stock Purchase Plan (“ESPP”) shares were issued under provisions that do not require us to record any equity compensation expense.

 

 
23

Table of Contents

 

Results of Operations:

 

Net Sales

Net sales by product line

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Automated programming systems

 

$22,806

 

 

 

20.5%

 

$18,926

 

Non-automated programming systems

 

 

5,258

 

 

(0.6

%) 

 

 

5,291

 

Total programming systems

 

$28,064

 

 

 

15.9%

 

$24,217

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Net sales by location

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

 

 

 

United States

 

$2,799

 

 

 

57.8%

 

$1,774

 

% of total

 

 

10.0%

 

 

 

 

 

 

7.3%

International

 

$25,265

 

 

 

12.6%

 

$22,443

 

% of total

 

 

90.0%

 

 

 

 

 

 

92.7%

 

 

 

 

 

 

 

 

 

 

 

 

 

Net sales by type

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

 

 

 

Equipment Sales

 

$16,343

 

 

 

18.4%

 

$13,803

 

Adapter Sales

 

 

8,154

 

 

 

11.2%

 

 

7,336

 

Software and Maintenance Sales

 

 

3,567

 

 

 

15.9%

 

 

3,078

 

Total

 

$28,064

 

 

 

15.9%

 

$24,217

 

 

Net sales for the year ended December 31, 2023 increased approximately 16%, to $28.1 million, compared to 2022, primarily as a result of COVID-19 China shutdown in the first half of 2022, economic uncertainty resulting from the war in Ukraine, semiconductor shortages and a stronger dollar, offset in part during the second half of the 2022 and continuing in 2023 by fulfilling the backlog built up during the shutdown, improved semiconductor supply, and higher demand in automotive electronics and industrial/IoT. 

 

Order bookings were $25.8 million in 2023, down approximately 2% compared to $26.4 million in 2022.  Automotive Electronics were 63% of total bookings, up 2% from 61% in 2022. Backlog at December 31, 2023 and 2022 was $2.8 million and $4.8 million, respectively.  Deferred revenue was $1.6 million at December 31, 2023 compared to $1.8 million at December 31, 2022.

 

Gross Margin

 

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Gross margin

 

$16,186

 

 

 

22.5%

 

$13,210

 

Percentage of net sales

 

 

57.7%

 

 

 

 

 

 

54.5%

 

Gross margin as a percentage of sales for the year ended December 31, 2023 was 57.7%, compared to 54.5% in 2022.  The increase in gross margin percentage was due to the impact of sale volume relative to fixed costs; product mix, channel mix, and lower inventory levels (which contributed to lower freight, tariffs, and obsolescence costs.)

 

Research and Development

 

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Research and development

 

$6,524

 

 

 

7.2%

 

$6,083

 

Percentage of net sales

 

 

23.2%

 

 

 

 

 

 

25.1%

 

Research and development (“R&D”) expense increased $441,000 for the year ended December 31, 2023 compared to 2022.  The increase was primarily related contracted services and incentive compensation. 

 

We believe it is essential to invest in R&D to significantly enhance our existing products and to create new products as markets develop and technologies change.  During 2023, we continued strategically investing in supporting SentriX, ConneX and our LumenX programmer capabilities.  In addition to product development, a significant part of R&D spending is on creating software and support for new devices introduced by the semiconductor companies.  We are currently focusing our research development efforts on strategic growth markets, including automotive electronics and IoT.  We are developing technology and the SentriX product line to securely program new categories of semiconductors, including Secure Microcontrollers, Secure Elements, and Authentication Chips. Our R&D spending fluctuates based on the number, type, and the development stage of our product initiatives and projects. 

 

 
24

Table of Contents

 

Selling, General and Administrative

 

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Selling, general & administrative

 

$9,214

 

 

 

17.0%

 

$7,876

 

Percentage of net sales

 

 

32.8%

 

 

 

 

 

 

32.5%

 

Selling, General and Administrative (“SG&A”) expenses increased approximately $1.3 million for the year ended December 31, 2023 compared to 2022.  The increase was primarily related to higher sales commissions, contracted services and incentive compensation.  Cost control measures remain in effect.

 

Interest

 

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Interest income

 

$190

 

 

 

458.8%

 

$34

 

 

Interest income was higher for the year ended December 31, 2023 compared to 2022 primarily due to higher average interest rates and higher invested balances.

 

INCOME TAXES

 

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Income tax (expense) benefit

 

$(194)

 

 

(71.6%)

 

$(683)

 

Income tax (expense) decreased by $489,000 for the year ended December 31, 2023 compared to 2022.  The decrease was primarily a result of the withholding tax of $442,000 on the repatriation of cash from subsidiaries in 2022.  Income tax (expense) in 2023 and 2022 is primarily the result of foreign subsidiary income tax and minimal U.S. state income tax.

 

The effective tax rate for 2023 of 28.6% and 2022 of (156.3%) differed from the statutory tax rates in our tax reporting jurisdictions primarily due to subsidiary income with consolidated losses and the effect of valuation allowances.  We have a valuation allowance of $8.7 million and $9.3 million as of December 31, 2023 and 2022, respectively.  Our deferred tax assets and valuation allowance have increased by approximately $430,000 and $422,000 associated with the requirements of accounting for uncertain tax positions as of December 31, 2023 and 2022, respectively.  Given the uncertainty created by our loss history, particularly in the U.S., which is where most of our net deferred tax assets are located, and the ongoing uncertain economic outlook for our industry, as well as capital and geographic spending, we currently expect to continue to limit the recognition of net deferred tax assets and maintain the tax valuation allowances.

 

Inflation and changes in Foreign currency exchange rates

 

Sales and expenses incurred by foreign subsidiaries are denominated in the subsidiary’s local currency and translated into U.S. Dollar amounts at average rates of exchange during the year.  We recognized foreign currency transaction gains of $42,000 in 2023 and $221,000 in 2022.  The transaction gains resulted primarily from translation adjustments to foreign inter-company accounts and U.S. Dollar accounts held by foreign subsidiaries and sales by our German subsidiary to certain customers, which were invoiced in U.S. Dollars.  Because approximately 90% of our sales are to international markets, volatile exchange rates may also impact our competitiveness and margins. We increased prices in response to cost increases caused by inflation and part shortages.

 

 
25

Table of Contents

 

FINANCIAL CONDITION:

 

LIQUIDITY AND CAPITAL RESOURCES

 

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Working capital

 

$18,425

 

 

$846

 

 

$17,579

 

 

At December 31, 2023, our principal sources of liquidity consisted of existing cash and cash equivalents.  Cash at December 31, 2023 and 2022 was $12.3 million and $11.5 million, respectively.  Our working capital increased by $846,000 during 2023 due primarily to revenue growth and operating profit improvement. Our current ratio was 4.0 and 3.8 for December 31, 2023 and 2022, respectively.  The company continues to have no debt.

 

Although we have no significant external capital expenditure plans currently, we expect to continue to carefully make and manage capital expenditures to support our business.  We plan to increase our internally developed rental, security provisioning, sales demonstration and test equipment as we develop and release new products. Capital expenditures are currently expected to be funded by existing and internally generated funds.

 

As a result of our cyclical and seasonal industry, significant product development, factory resilience strategies, customer support and selling and marketing efforts, we require substantial working capital to fund our operations.  We have implemented or have initiatives to implement geographic shifts in our operations, optimize real estate usage, adjusting pricing for cost inflation, lower unit costs, lower tariff expenses, reduce exposure to the impact of currency volatility, increase product development differentiation, and reduce other costs.

 

We believe that we have sufficient cash or working capital available under our operating plan to fund our operations and capital requirements through the next one-year period, and beyond.   If this belief is incorrect, we may require additional cash at the U.S. headquarters, which could cause potential repatriation of cash that is held in our foreign subsidiaries.  For any repatriation, there may be tax and other impediments to any repatriation actions.  As many repatriations typically have associated withholding taxes, those withheld will be a current tax without generating a current or deferred tax benefit recognition.  Our working capital may be used to fund possible losses, business growth, project initiatives, share repurchases and business development initiatives including acquisitions, which could reduce our liquidity and result in a requirement for additional cash before that time.  Any substantial inability to achieve our current business plan could have a material adverse impact on our financial position, liquidity, or results of operations and may require us to reduce expenditures and/or seek possible additional financing.

 

OFF-BALANCE SHEET ARRANGEMENTS

 

Except as noted in the accompanying consolidated financial statements in Note 7, “Other Commitments”, we had no material off-balance sheet arrangements.

 

SHARE REPURCHASE PROGRAMS

 

Data I/O did not have a share repurchase program in 2023 or 2022.  

 

NON-GENERALLY ACCEPTED ACCOUNTING PRINCIPLES (GAAP) FINANCIAL MEASURES

 

Earnings Before Interest, Taxes, Depreciation, and Amortization (“EBITDA”) and Adjusted EBITDA excluding equity compensation and impairment & related charges (non-cash, one-time items) are set forth below.  Non-GAAP financial measures should not be considered a substitute for, or superior to, measures of financial performance prepared in accordance with GAAP.  We believe that these non-GAAP financial measures provide meaningful supplemental information regarding our results and facilitate the comparison of results.

 

 
26

Table of Contents

 

A reconciliation of net income to EBITDA and Adjusted EBITDA follows:

 

 

 

For Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Net Income (loss)

 

$486

 

 

$(1,120)

Interest (income)

 

 

(190)

 

 

(34)

Taxes

 

 

194

 

 

 

683

 

Depreciation and amortization

 

 

608

 

 

 

560

 

EBITDA

 

$1,098

 

 

$89

 

 

 

 

 

 

 

 

 

 

Equity compensation

 

 

1,190

 

 

 

1,176

 

 

 

 

 

 

 

 

 

 

Adjusted EBITDA, excluding equity compensation

 

$2,288

 

 

$1,265

 

 

NEW ACCOUNTING PRONOUNCEMENTS - STANDARDS ISSUED AND IMPLEMENTED

 

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2016-13, Financial Instruments - Credit Losses (Topic 326). Topic 326 is effective (Smaller Reporting Company) for reporting periods beginning after December 15, 2022. Topic 326 replaces the incurred loss impairment methodology under current Generally Accepted Accounting Principles ("GAAP") with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. We adopted the new credit loss standard on January 1, 2023.  The new credit loss standard has not had a material impact on our financial condition, results of operations and cash flows, or financial statement disclosures.

 

NEW ACCOUNTING PRONOUNCEMENTS - STANDARDS ISSUED AND NOT YET IMPLEMENTED

 

In November 2023, the FASB issued ASU 2023-07 "Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures" which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. ASU 2023-07 is effective for our annual periods beginning January 1, 2024, and for interim periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

 

In December 2023, the FASB issued ASU 2023-09 "Income Taxes (Topics 740): Improvements to Income Tax Disclosures" to expand the disclosure requirements for income taxes, specifically related to the rate reconciliation and income taxes paid. ASU 2023-09 is effective for our annual periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

 

Item 7A.  Quantitative and Qualitative Disclosures About Market Risk

 

Not applicable.

 

Item 8.  Financial Statements and Supplementary Data

 

See pages 30 through 48.

 

 
27

Table of Contents

 

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

  

Board of Directors and Stockholders

Data I/O Corporation

 

Opinion on the financial statements

 

We have audited the accompanying consolidated balance sheets of Data I/O Corporation (a Washington corporation) and subsidiaries (the “Company”) as of December 31, 2023 and 2022, the related consolidated statements of operations, comprehensive income (loss), stockholders’ equity, and cash flows for each of the two years in the period ended December 31, 2023, and the related notes and financial statement schedules included under Item 15(a)(2) (collectively referred to as the “financial statements”). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the two years in the period ended December 31, 2023, in conformity with accounting principles generally accepted in the United States of America.

 

Basis for opinion

 

These financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (“PCAOB”) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

 

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company’s internal control over financial reporting. Accordingly, we express no such opinion.

 

Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

 

Critical audit matter

 

The critical audit matter communicated below is a matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.

 

Net realizable value of inventory

As described further in Note 1 to the financial statements, management measures the net realizable value of inventory based on estimated reductions to inventory for obsolete, slow-moving, excess and non-salable inventory by reviewing current transactions and forecasted demand. We identified net realizable value of inventory specifically as a critical audit matter.

 

The principal considerations for our determination that the net realizable value of inventory represents a critical audit matter are that the assessment of the valuation of inventory is complex and includes an estimate of forecasted demand. The demand estimate is subjective and requires the Company to consider significant assumptions such as economic conditions, technological advances, historical usage, and consumer trends, which are subject to significant uncertainty and therefore require significant auditor judgement.

 

 
28

Table of Contents

 

Our audit procedures related to the net realizable value of inventory included the following, among others:

 

 

·

To test the adequacy of the Company’s allowance for excess and obsolete inventories, we performed substantive audit procedures that included, among others, testing the completeness and accuracy of the underlying data used in the estimation calculations, specifically those related to inventory movements and aging. We also evaluated the reasonableness of significant assumptions including the estimated reserve percentage and other significant assumptions through inquiry of management and personnel outside of finance team and analytical procedures.

 

/s/ GRANT THORNTON LLP

 

We have served as the Company’s auditor since 2001.

 

Bellevue, Washington

March 27, 2024

 

 
29

Table of Contents

  

DATA I/O CORPORATION

CONSOLIDATED BALANCE SHEETS

(in thousands, except share data)

 

 

 

 

 

 

 

 

 

December 31,

2023

 

 

December 31,

2022

 

 

 

 

 

 

 

 

ASSETS

 

 

 

 

 

 

CURRENT ASSETS:

 

 

 

 

 

 

Cash and cash equivalents

 

$12,341

 

 

$11,510

 

Trade accounts receivable, net of allowance for credit losses of $72 and $147, respectively

 

 

5,707

 

 

 

4,992

 

Inventories

 

 

5,875

 

 

 

6,751

 

Other current assets

 

 

690

 

 

 

645

 

TOTAL CURRENT ASSETS

 

 

24,613

 

 

 

23,898

 

 

 

 

 

 

 

 

 

 

Property, plant and equipment – net

 

 

1,359

 

 

 

1,072

 

Other assets

 

 

1,429

 

 

 

2,195

 

TOTAL ASSETS

 

$27,401

 

 

$27,165

 

 

 

 

 

 

 

 

 

 

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

CURRENT LIABILITIES:

 

 

 

 

 

 

 

 

Accounts payable

 

$1,272

 

 

$1,366

 

Accrued compensation

 

$2,003

 

 

 

1,670

 

Deferred revenue

 

 

1,362

 

 

 

1,575

 

Other accrued liabilities

 

 

1,438

 

 

 

1,596

 

Income taxes payable

 

 

113

 

 

 

112

 

TOTAL CURRENT LIABILITIES

 

 

6,188

 

 

 

6,319

 

 

 

 

 

 

 

 

 

 

Operating lease liabilities

 

 

702

 

 

 

1,500

 

Long-term other payables

 

 

192

 

 

 

237

 

 

 

 

 

 

 

 

 

 

COMMITMENTS

 

 

-

 

 

 

-

 

 

 

 

 

 

 

 

 

 

STOCKHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

Preferred stock - Authorized, 5,000,000 shares, including 200,000 shares of Series A Junior Participating Issued and outstanding, none

 

 

-

 

 

 

-

 

Common stock, at stated value - Authorized, 30,000,000 shares Issued and outstanding, 9,020,819 shares as of December 31, 2023 and 8,816,381 shares as of December 31, 2022

 

 

22,731

 

 

 

21,897

 

Accumulated earnings (deficit)

 

 

(2,645)

 

 

(3,131)

Accumulated other comprehensive income

 

 

233

 

 

 

343

 

TOTAL STOCKHOLDERS’ EQUITY

 

 

20,319

 

 

 

19,109

 

TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY

 

$27,401

 

 

$27,165

 

 

 

 

 

 

 

 

 

 

See notes to consolidated financial statements

 

 

 

 

 

 

 

 

 

 
30

Table of Contents

 

DATA I/O CORPORATION

CONSOLIDATED STATEMENTS OF OPERATIONS

(in thousands, except per share amounts)

 

 

 

 

 

 

 

 

 

For the Years Ended

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Net sales

 

$28,064

 

 

$24,217

 

Cost of goods sold

 

 

11,878

 

 

 

11,007

 

Gross margin

 

 

16,186

 

 

 

13,210

 

Operating expenses:

 

 

 

 

 

 

 

 

Research and development

 

 

6,524

 

 

 

6,083

 

Selling, general and administrative

 

 

9,214

 

 

 

7,876

 

Total operating expenses

 

 

15,738

 

 

 

13,959

 

Operating income (loss)

 

 

448

 

 

 

(749)

Non-operating income (loss):

 

 

 

 

 

 

 

 

Interest income

 

 

190

 

 

 

34

 

Gain on sale of assets

 

 

-

 

 

 

57

 

Foreign currency transaction gain (loss)

 

 

42

 

 

 

221

 

Total non-operating income (loss)

 

 

232

 

 

 

312

 

Income (loss) before income taxes

 

 

680

 

 

 

(437)

Income tax (expense) benefit

 

 

(194)

 

 

(683)

Net income (loss)

 

$486

 

 

($1,120)

 

 

 

 

 

 

 

 

 

 

Basic earnings (loss) per share

 

$0.05

 

 

($0.13)

 

Diluted earnings (loss) per share

 

$0.05

 

 

($0.13)

 

Weighted-average basic shares

 

 

8,941

 

 

 

8,741

 

Weighted-average diluted shares

 

 

9,073

 

 

 

8,741

 

 

 

 

 

 

 

 

 

 

See notes to consolidated financial statements

 

 

 

 

 

 

 

 

 

 
31

Table of Contents

 

DATA I/O CORPORATION

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)

(in thousands)

 

 

 

 

 

 

 

 

 

For the Years Ended

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Net Income (loss)

 

$486

 

 

($1,120)

 

Other comprehensive income:

 

 

 

 

 

 

 

Foreign currency translation gain (loss)

 

 

(110)

 

 

(635)

Comprehensive income (loss)

 

$376

 

 

($1,755)

 

 

 

 

 

 

 

 

 

 

See notes to consolidated financial statements

 

 

 

 

 

 

 

 

 

 
32

Table of Contents

 

DATA I/O CORPORATION

CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY

(in thousands, except share amounts)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accumulated

 

 

 

 

 

 

Common Stock

 

 

Accumulated

 

 

and Other

 

 

Total

 

 

 

 

 

 

 

 

 

Earnings

 

 

Comprehensive

 

 

Stockholders'

 

 

 

Shares

 

 

Amount

 

 

(Deficit)

 

 

Income (Loss)

 

 

Equity

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Balance at December 31, 2021

 

 

8,621,007

 

 

$20,886

 

 

$

(2,011)

 

 

$978

 

 

$19,853

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock awards issued, net of tax withholding

 

 

192,086

 

 

 

(178)

 

 

-

 

 

 

-

 

 

 

(178)

Issuance of stock through:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Employee Stock Purchase Plan

 

 

3,288

 

 

 

13

 

 

 

-

 

 

 

-

 

 

 

13

 

Share-based compensation

 

 

-

 

 

 

1,176

 

 

 

-

 

 

 

-

 

 

 

1,176

 

Net income (loss)

 

 

-

 

 

 

-

 

 

 

(1,120)

 

 

-

 

 

 

(1,120)

Other comprehensive income gain (loss)

 

 

-

 

 

 

-

 

 

 

-

 

 

 

(635)

 

 

(635)

Balance at December 31, 2022

 

 

8,816,381

 

 

$21,897

 

 

$

(3,131)

 

 

$343

 

 

$19,109

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock awards issued, net of tax withholding

 

 

201,172

 

 

 

(370)

 

 

-

 

 

 

-

 

 

 

(370)

Issuance of stock through:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Employee Stock Purchase Plan

 

 

3,266

 

 

 

14

 

 

 

-

 

 

 

-

 

 

 

14

 

Share-based compensation

 

 

-

 

 

 

1,190

 

 

 

-

 

 

 

-

 

 

 

1,190

 

Net income (loss)

 

 

-

 

 

 

-

 

 

 

486

 

 

 

-

 

 

 

486

 

Other comprehensive income gain (loss)

 

 

-

 

 

 

-

 

 

 

-

 

 

 

(110)

 

 

(110)

Balance at December 31, 2023

 

 

9,020,819

 

 

 

22,731

 

 

 

(2,645)

 

$233

 

 

$20,319

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

See notes to consolidated financial statements

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
33

Table of Contents

 

DATA I/O CORPORATION 

CONSOLIDATED STATEMENTS OF CASH FLOWS

(in thousands)

 

 

 

 

 

 

 

 

 

For the Twelve Months Ended

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

CASH FLOWS FROM OPERATING ACTIVITIES:

 

 

 

 

 

 

Net income (loss)

 

$486

 

 

$(1,120)

Adjustments to reconcile net income (loss)

 

 

 

 

 

 

 

 

to net cash provided by (used in) operating activities:

 

 

 

 

 

 

 

 

Depreciation and amortization

 

 

608

 

 

 

560

 

Equipment transferred to cost of goods sold

 

 

301

 

 

 

394

 

Share-based compensation

 

 

1,190

 

 

 

1,176

 

Net change in:

 

 

 

 

 

 

 

 

Trade accounts receivable

 

 

(719)

 

 

(1,100)

Inventories

 

 

815

 

 

 

(588)

Other current assets

 

 

(48)

 

 

61

 

Accounts payable and accrued liabilities

 

 

109

 

 

 

(428)

Deferred revenue

 

 

(267)

 

 

199

 

Other long-term liabilities

 

 

(684)

 

 

(890)

Deposits and other long-term assets

 

 

637

 

 

 

684

 

Net cash provided by (used in) operating activities

 

 

2,428

 

 

 

(1,052)

 

 

 

 

 

 

 

 

 

CASH FLOWS FROM INVESTING ACTIVITIES:

 

 

 

 

 

 

 

 

Purchases of property, plant and equipment

 

 

(1,195)

 

 

(1,080)

Cash provided by (used in) investing activities

 

 

(1,195)

 

 

(1,080)

 

 

 

 

 

 

 

 

 

CASH FLOWS FROM FINANCING ACTIVITIES:

 

 

 

 

 

 

 

 

Net proceeds from issuance of common stock, less payments for shares withheld to cover tax

 

 

(356)

 

 

(165)

Cash provided by (used in) financing activities

 

 

(356)

 

 

(165)

Increase (decrease) in cash and cash equivalents

 

 

877

 

 

 

(2,297)

 

 

 

 

 

 

 

 

 

Effects of exchange rate changes on cash

 

 

(46)

 

 

(383)

Cash and cash equivalents at beginning of period

 

 

11,510

 

 

 

14,190

 

Cash and cash equivalents at end of period

 

$12,341

 

 

$11,510

 

 

 

 

 

 

 

 

 

 

Supplemental disclosure of cash flow information:

 

 

 

 

 

 

 

 

Cash paid during the period for:

 

 

 

 

 

 

 

 

Income taxes

 

$171

 

 

$556

 

 

 

 

 

 

 

 

 

 

See notes to consolidated financial statements

 

 

 

 

 

 

 

 

 

 
34

Table of Contents

 

DATA I/O CORPORATION

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

 

NOTE 1 – SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Nature of Operations

 

Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) designs, manufactures and sells programming systems used by designers and manufacturers of electronic products.  Our programming system products are used to program integrated circuits (“ICs” or “devices” or “semiconductors”) with the specific unique data necessary for the ICs contained in various products, and are an important tool for the electronics industry experiencing growing use of programmable ICs.  Customers for our programming system products are located around the world, primarily in Asia, Europe and the Americas.  Our manufacturing operations are currently located in Redmond, Washington, United States and Shanghai, China.

 

Principles of Consolidation

 

The consolidated financial statements include the accounts of Data I/O Corporation and our wholly-owned subsidiaries.  Intercompany accounts and transactions have been eliminated in consolidation.

 

Use of Estimates

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period.  Actual results could differ from those estimates.

 

Significant estimates include:

 

·

Revenue Recognition

 

·

Allowance for Credit Losses

 

·

Inventory

 

·

Warranty Accruals

 

·

Tax Valuation Allowances

 

·

Share-based Compensation

 

Foreign Currency Translation

 

Assets and liabilities of foreign subsidiaries are translated at the exchange rate on the balance sheet date.  Revenues, costs and expenses of foreign subsidiaries are translated at average rates of exchange prevailing during the year.  Translation adjustments resulting from this process are charged or credited to stockholders’ equity.  Realized and unrealized gains and losses resulting from the effects of changes in exchange rates on assets and liabilities denominated in foreign currencies are included in non-operating expense as foreign currency transaction gains and losses.

 

Cash and Cash Equivalents

 

All highly liquid investments purchased with an original maturity of 90 days or less are considered cash equivalents.  We maintain our cash and cash equivalents with major financial institutions in the United States of America, which are insured by the Federal Deposit Insurance Corporation (FDIC), and in foreign jurisdictions.  Deposits in U.S. banks exceed the FDIC insurance limit.  We have not experienced any losses on our cash and cash equivalents.  Cash and cash equivalents held in foreign bank accounts, typically in local currency, in China and Germany, totaled (in millions) $6.6 and $4.0 at December 31, 2023 and 2022, respectively. This cash held in subsidiaries have restrictions and costs associated with repatriations, currency conversions, and complying with government policies, regulations and controls, especially in China.

 

Fair Value of Financial Instruments

 

Certain financial instruments are carried at cost on the consolidated balance sheets, which approximates fair value due to their short-term, highly liquid nature.  These instruments include cash and cash equivalents, accounts receivable, accounts payable and accrued expenses, and other short-term liabilities.

 

 
35

Table of Contents

 

Accounts Receivable

 

The majority of our accounts receivable are due from companies in the electronics manufacturing industries.  Credit is extended based on an evaluation of a customer’s financial condition and, generally, collateral is not required.  Accounts receivable are typically due within 30 to 60 days and are stated at amounts due from customers net of an allowance for credit losses.  Accounts receivable outstanding longer than the contractual payment terms are considered past due.  We determine the allowance by considering a number of factors, including a forward-looking expectation based upon the condition of the general economy and the industry as a whole and our previous bad debt experience, as well as the length of time trade accounts receivable are past due, the industry and geographic payment practices involved, and the customer’s current ability to pay their obligation to us.  We write off accounts receivable when they become uncollectible, and payments subsequently received on such receivables are credited to the allowance for credit losses. 

 

Inventories

 

Inventories are stated at the lower of cost or net realizable value with cost being the currently adjusted standard cost, which approximates cost on a first-in, first-out basis.  We estimate changes to inventory for obsolete, slow-moving, excess and potential non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item by item basis and record an adjustment (lower of cost or net realizable value) accordingly.

 

Property, Plant and Equipment

 

Property, plant and equipment, including leasehold improvements, are stated at cost, and depreciation is calculated over the estimated useful lives of the related assets or lease terms on the straight-line basis.  We depreciate substantially all property, plant and equipment over periods of three to seven years.  We depreciate leasehold improvements over the remaining portion of the lease or over the expected life of the asset if less than the remaining term of the lease.

 

We regularly review all of our property, plant and equipment for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.  If the total of future undiscounted cash flows is less than the carrying amount of these assets, an impairment loss, if any, based on the excess of the carrying amount over the fair value of the assets, is recorded.  Based on these evaluations, for the years ended December 31, 2023 and 2022, no impairment was noted or recorded for property, plant and equipment.

 

Patent Costs

 

We expense external costs, such as filing fees and associated attorney fees, incurred to obtain initial patents, but capitalize patents obtained through acquisition as intangible assets. We also expense costs associated with maintaining and defending patents subsequent to their issuance.

 

Income Taxes

 

Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.

 

Share-Based Compensation

 

All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates. 

 

 
36

Table of Contents

 

 

Revenue Recognition

 

Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers (ASC 606) provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.   

 

We expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2023 and 2022, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This analysis considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that could include hardware, software, installation, services and support and extended maintenance components.  We allocate the transaction price of each element based on the relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system based on shipping terms, software based on delivery, installation and services based on completion of work and software maintenance and extended warranty support ratably over the term of the agreement, typically one year.  Total deferred revenue which represents undelivered performance obligations for installation, service, support and extended maintenance contracts was $1.6 million and $1.8 million and the portion expected to be recognized within one year was $1.4 million and $1.6 million for December 31, 2023 and 2022, respectively.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon delivery, provided that only immaterial items in the context of the contract with the customer remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties rights have been identified, the contract has substance,  collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 to 60 days from shipment.  

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value, and the sale transaction is accounted for as revenue and cost of goods sold.

 

 
37

Table of Contents

 

The following table represents our revenues by major categories:

 

Net sales by type

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Equipment Sales

 

$16,343

 

 

 

18.4%

 

$13,803

 

Adapter Sales

 

 

8,154

 

 

 

11.2%

 

 

7,336

 

Software and Maintenance Sales   *

 

 

3,567

 

 

 

15.9%

 

 

3,078

 

Total

 

$28,064

 

 

 

15.9%

 

$24,217

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*  includes an insignificant amount of service and parts sales

 

 

 

 

 

 

 

 

 

 

 

 

 

Leases - Accounting Standards Codification 842

 

Leases arise from contracts which convey the right to control the use of identified property or equipment for a period of time in exchange for consideration. Our leasing arrangements are primarily for office facility space we use to conduct our operations. In addition, there are automobiles and a small amount of office equipment leased.  We determine whether contracts include a lease at the inception date, which is generally upon contract signing, considering factors such as whether the contract includes an asset which is physically distinct, which party obtains substantially all of the capacity and economic benefit of the asset, and which party directs how, and for what purpose, the asset is used during the contractual period of use. Our leases commence when the lessor makes the asset available for our use. At commencement, we record a lease liability at the present value of future lease payments, net of any future lease incentives to be received. Some of our lease agreements include cancellable future periods subject to termination or extension options. We include cancellable lease periods in our future lease payments when we are reasonably certain to continue to utilize the asset for those periods. We calculate the present value of future lease payments at commencement using a discount rate which we estimate as the collateralized borrowing rate we believe that would be incurred on our future lease payments over a similar term. At commencement, we also record a corresponding right-of-use asset, which is calculated based on the amount of the lease liability, adjusted for any advance lease payments paid, initial direct costs incurred or lease incentives received prior to commencement. Right-of-use assets are subject to evaluation for impairment or disposal on a basis consistent with other long-lived assets.

 

Leases are classified at commencement as either operating or finance leases. As of December 31, 2023, all of our leases are classified as operating leases. Rent expense for operating leases is recognized on the straight-line method over the term of the agreement beginning on the lease commencement date.

 

In accounting for leases, we utilize certain practical expedients and policy elections available under the lease accounting standard. For example, we do not record right-of-use assets or lease liabilities for leases with terms of 12 months or less. For contracts containing real estate leases, we do not combine lease and non-lease components. The primary impact of this policy election is that we do not include in our calculation of lease liabilities any fixed and non-cancelable future payments due under the contract for items such as common area maintenance, utilities and other costs. Lease-related costs which are variable rather than fixed are expensed in the period incurred.

 

Assumptions, judgments and estimates impacting the carrying value of our right-of-use assets and liabilities include evaluating whether an arrangement contains a lease, determining whether the lease term should include any cancellable future periods, estimating the discount rate used to calculate our lease liabilities, estimating the fair value and useful life of the leased asset for the purpose of classifying the lease as an operating or finance lease, evaluating whether a lease contract amendment represents a new lease agreement or a modification to the existing lease and evaluating our right-of-use assets for impairment.

 

Research and Development

 

Research and development costs are generally expensed as incurred.

 

Advertising Expense

 

Advertising costs are expensed as incurred.  Total advertising expenses were approximately $196,000 and $116,000 in 2023 and 2022, respectively.

 

 
38

Table of Contents

 

Warranty Expense

 

We record a liability for an estimate of costs that we expect to incur under our basic limited warranty when product revenue is recognized.  Factors affecting our warranty liability include the number of units sold and historical and anticipated rates of claims and costs per claim.  We normally provide a warranty for our products against defects for periods ranging from ninety days to one year.  We provide for the estimated cost that may be incurred under our product warranties and periodically assess the adequacy of our warranty liability based on changes in the above factors.  We record revenues on extended warranties on a straight-line basis over the term of the related warranty contracts.  Service costs are expensed as incurred. 

 

Earnings (Loss) Per Share

 

Basic earnings (loss) per share exclude any dilutive effects of stock options.  Basic earnings (loss) per share are computed using the weighted-average number of common shares outstanding during the period.  Diluted earnings per share are computed using the weighted-average number of common shares and common stock equivalent shares outstanding during the period.  The common stock equivalent shares from equity awards used in calculating diluted earnings per share were 133,000 and 109,000 for the years ended December 31, 2023 and 2022, respectively.  Options to purchase 12,500 shares of common stock were outstanding as of both periods December 31, 2023 and 2022, but were excluded from the computation of diluted earnings per share for the periods then ended, because the options were anti-dilutive.

 

Diversification of Credit Risk

 

Financial instruments, which potentially subject us to concentrations of credit risk, consist primarily of trade receivables.  Our trade receivables are geographically dispersed and include customers in many different industries.  Our consolidated accounts receivable balance as of December 31, 2023 and 2022 includes foreign accounts receivable in the functional currency of our foreign subsidiaries amounting to $1.0 and $2.4 million, respectively.  We generally do business with our foreign distributors in U.S. Dollars.  We believe that risk of loss is significantly reduced due to the diversity of our end-customers and geographic sales areas.  We perform on-going credit evaluations of our customers’ financial condition and require collateral, such as letters of credit and bank guarantees, or prepayment whenever deemed necessary. 

 

The following represented greater than 10% of our consolidated accounts receivable for the applicable year:

 

Percentage of Consolidated Accounts Receivable

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Number of customers

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Approximate percentage of consolidated accounts receivable balance

 

 

47%

 

 

39%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

18%

 

 

15%

Percentage of each

 

 

16%

 

 

13%

Percentage of each

 

 

13%

 

 

11%

 

Diversification of net sales

 

The following represented greater than 10% of net sales for the applicable year:

 

Percentage of Net Sales

 

2023

 

 

2022

 

 

 

 

 

 

Number of customers

 

 

2

 

 

 

1

 

 

 

 

 

 

 

 

 

 

Approximate percentage of net sales

 

 

24%

 

 

23%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

13%

 

 

23%

Percentage of each

 

 

11%

 

 

n/a

 

 

 
39

Table of Contents

 

COVID-19

 

In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere. 

 

New Accounting Pronouncements - Standards Issued and Implemented

 

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU)  2016-13, Financial Instruments - Credit Losses (Topic 326). Topic 326 is effective (Smaller Reporting Company) for reporting periods beginning after December 15, 2022. Topic 326 replaces the incurred loss impairment methodology under current Generally Accepted Accounting Principles ("GAAP") with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. We adopted the new credit loss standard on January 1, 2023.  The new credit loss standard has not had a material impact on our financial condition, results of operations and cash flows, or financial statement disclosures.

 

New Accounting Pronouncements - Standards Issued and Not Yet Implemented

 

In November 2023, the FASB issued ASU 2023-07 "Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures" which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. ASU 2023-07 is effective for our annual periods beginning January 1, 2024, and for interim periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

 

In December 2023, the FASB issued ASU 2023-09 "Income Taxes (Topics 740): Improvements to Income Tax Disclosures" to expand the disclosure requirements for income taxes, specifically related to the rate reconciliation and income taxes paid. ASU 2023-09 is effective for our annual periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

 

 
40

Table of Contents

 

NOTE 2 – ACCOUNTS RECEIVABLE, NET

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Trade accounts receivable

 

$5,779

 

 

$5,139

 

Less allowance for credit losses

 

 

72

 

 

 

147

 

Trade accounts receivable, net

 

$5,707

 

 

$4,992

 

 

 

 

 

 

 

 

 

Changes in Data I/O’s allowance for credit losses are as follows:

 

 

 

 

 

 

 

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

 

 

Beginning balance

 

$147

 

 

$89

 

Credit loss (reversal)

 

 

(75)

 

 

58

 

Accounts written-off

 

 

-

 

 

 

-

 

Recoveries

 

 

-

 

 

 

-

 

Ending balance

 

$72

 

 

$147

 

 

NOTE 3 – INVENTORIES

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Raw material

 

$3,328

 

 

$3,850

 

Work-in-process

 

 

1,596

 

 

 

1,911

 

Finished goods

 

 

951

 

 

 

990

 

Inventories

 

$5,875

 

 

$6,751

 

 

NOTE 4 – PROPERTY, PLANT AND EQUIPMENT, NET

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Leasehold improvements

 

$394

 

 

$404

 

Equipment

 

 

4,977

 

 

 

4,683

 

Sales demonstration equipment

 

 

1,396

 

 

 

1,066

 

 

 

 

6,767

 

 

 

6,153

 

Less accumulated depreciation

 

 

5,408

 

 

 

5,081

 

Property and equipment, net

 

$1,359

 

 

$1,072

 

 

Total depreciation expense recorded for 2023 and 2022 was $608,000 and $560,000, respectively.

 

 
41

Table of Contents

 

NOTE 5 – OTHER ACCRUED LIABILITIES

 

Other accrued liabilities consisted of the following components:

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Lease liability - short term

 

$798

 

 

$799

 

Product warranty

 

 

449

 

 

 

425

 

Sales return reserve

 

 

32

 

 

 

71

 

Other taxes

 

 

69

 

 

 

163

 

Other

 

 

90

 

 

 

138

 

Other accrued liabilities

 

$1,438

 

 

$1,596

 

 

The changes in our product warranty liability for the year ending December 31, 2023 are follows:

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Liability, beginning balance

 

$425

 

 

$432

 

Net expenses

 

 

902

 

 

 

774

 

Warranty claims

 

 

(902)

 

 

(774)

Accrual revisions

 

 

24

 

 

 

(7)

Liability, ending balance

 

$449

 

 

$425

 

 

NOTE 6 – OPERATING LEASE COMMITMENTS

 

We have commitments under non-cancelable operating leases and other agreements, primarily for factory and office space, with initial or remaining terms of one year or more for the year ending December 31 are as follows:

 

 

 

December 31,

2023

 Operating

Lease Commitments

 

(in thousands)

 

 

 

2024

 

$841

 

2025

 

 

591

 

2026

 

 

133

 

2027

 

 

48

 

2028 & Thereafter

 

 

-

 

Total

 

$1,613

 

Less imputed interest

 

 

(113)

Total operating lease liabilities

 

$1,500

 

 

Payments for operating lease liabilities for the twelve months ended December 31, 2023 and 2022, respectively, was $894,000 and $779,000 which included short-term lease costs of $25,000 and 45,000.  There were no new or modified leases during the twelve months ended December 31, 2023 that are accounted for in the amounts disclosed above. The total annual lease expense in 2023 and 2022, including operating lease expenses and short-term lease expenses, was approximately $745,000 and $899,000, respectively.  Variable payments were not material and were treated as non-lease components and were recognized in the period for which the costs occur.

 

For the largest lease component, the company has three facilities with our headquarters and primary engineering and operational functions located in Redmond, Washington.  Our two subsidiary facilities in Munich, Germany and Shanghai, China provide extended worldwide sales, service, engineering and operation services.  The total annual gross or base lease payments during 2023 and 2022 were approximately $823,000 and $713,000, respectively.  The lease payment increase in 2023 was due primarily to lease abatement incentives for lease renewals in 2022 and standard rate increase in 2023.

 

 
42

Table of Contents

 

The Redmond, Washington headquarters facility lease runs to January 31, 2026 at approximately 20,460 square feet.  The lease for the facility located in Shanghai, China runs to October 31, 2024 at approximately 19,400 square feet.  The lease for the facility located near Munich, Germany runs to August 2027 at approximately 4,895 square feet.

 

The following table presents supplemental balance sheet information related to leases as of December 31, 2023 and 2022:

 

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Right-of-use assets (Long-term other assets)

 

$1,363

 

 

$2,129

 

Lease liability-short term (Other accrued liabilities)

 

$798

 

 

$799

 

Lease liability-long term (Operating lease liabilities)

 

$703

 

 

$1,500

 

 

At December 31, 2023, the weighted average remaining lease term is 2.17 years and the weighted average discount rate used is 5%.

 

NOTE 7 – OTHER COMMITMENTS

 

We have purchase obligations for inventory and production costs, as well as other obligations such as capital expenditures, service contracts, marketing, and development agreements.  Arrangements are considered purchase obligations if a contract specifies all significant terms, including fixed or minimum quantities to be purchased, a pricing structure and approximate timing of the transaction.  Most arrangements are cancelable without a significant penalty, and with short notice, typically less than 90 days.  At December 31, 2023, we had one contract with a commitment of approximately $232,000 to be paid in 2024 and $251,000 to be paid beyond one year.

 

NOTE 8 – CONTINGENCIES

 

As of December 31, 2023, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position. 

 

NOTE 9 – STOCK AND RETIREMENT PLANS

 

Stock Option Plans

 

At December 31, 2023, there were 732,327 shares available for future grant under Data I/O Corporation 2023 Omnibus Incentive Compensation Incentive Plan (“2023 Plan”).  At December 31, 2023, there were shares of Common Stock reserved for issuance for outstanding awards, consisting of 92,500 inducement reserve shares, 353,525 shares under the 2000 Plan, and 295,100 shares under the 2023 Plan.  The inducement reserve shares remaining that were granted in 2019 consist of 12,500 options vested but unissued (using the terms of the 2000 Plan) and the grant in 2023 consisting of 75,000 RSU and 5000 PSU, (which were not from the 2023 Plan, but were made under the terms of the 2023 Plan).  Pursuant to the 2000 and 2023 Plans, options are granted to our officers and key employees with exercise prices equal to the fair market value of the Common Stock at the date of grant and generally vest over four years.  Options granted under the plans have a maximum term of six years from the date of grant.  Stock awards are now granted under the 2023 Plan (previously the 2000 Plan) which for RSU awards generally vest over four years (some three years) and one year for nonemployee Directors. Performance Share Unit (PSU) awards vest based upon the three-year performance achievement on December 31, 2025. The performance measures for the PSUs awarded are revenue growth targets for the three-year period ending December 31, 2025. Achieving a threshold growth measure earns 50% of the PSU target award; achieving the target growth measure earns 100% of the PSU target award; and achieving the maximum target growth measure earns 150% of the PSU target award. 

 

 
43

Table of Contents

 

 

Employee Stock Purchase Plan

 

Under the Employee Stock Purchase Plan (“ESPP”), eligible employees may purchase shares of our Common Stock at six-month intervals at 95% of the fair market value on the last day of each six-month period.  Employees may purchase shares having a value not exceeding ten percent of their gross compensation during an offering period.  During 2023 and 2022, a total of 3,341 and 3,288 shares, respectively, were purchased under the plan at average prices of $4.16 and $4.06 per share, respectively.  At December 31, 2023 and 2022, 21,525 and 25,477 shares were reserved for future grant respectively.

 

Stock Appreciation Rights Plan

 

We have a Stock Appreciation Rights (“SAR”) Plan under which each director, executive officer or holder of 10% or more of our Common Stock has a SAR with respect to each exercisable stock option.  The SAR entitles the SAR holder to receive cash from us for the difference between the market value of the stock and the exercise price of the option in lieu of exercising the related option.  SARs are only exercisable following a tender offer or exchange offer for our stock, or following approval by shareholders of Data I/O of any merger, consolidation, reorganization or other transaction providing for the conversion or exchange of more than 50% of the common shares outstanding.  As no event has occurred, which would make the SARs exercisable, and no such event is deemed probable, no compensation expense has been recorded under this plan.  At December 31, 2023 and 2022, there were 12,500 SARs outstanding.

 

Retirement Savings Plan

 

We have a savings plan that qualifies as a cash or deferred salary arrangement under Section 401(k) of the Internal Revenue Code.  Under the plan, participating U.S. employees may defer their pre-tax salary or post-tax salary if Roth is elected, subject to IRS limitations.  In fiscal year 2023, we contributed one dollar for each dollar contributed by a participant on the first two percent and $.50 for each dollar contributed by participant on the next four percent of a participant’s eligible earnings, and as a result this requires a minimum six percent contribution to receive a four percent matching contribution. Our matching contribution expense for the savings plan, net of forfeitures, was approximately $253,000 and $210,000 in 2023 and 2022, respectively.  Employer matching contributions owed to the plan were $248,000 and $229,000 at December 31, 2023 and 2022, respectively.

 

NOTE 10 – SHARE-BASED COMPENSATION

 

For share-based awards granted, we have recognized compensation expense based on the estimated grant date fair value method.  For these awards we have recognized compensation expense using a straight-line amortization method and reduced for estimated forfeitures.  The impact on our results of operations of recording share-based compensation for the year ended December 31, 2023 and 2022 was as follows:

 

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Cost of goods sold

 

$95

 

 

$76

 

Research and development

 

 

257

 

 

 

228

 

Selling, general and administrative

 

 

838

 

 

 

872

 

Total share-based compensation

 

$1,190

 

 

$1,176

 

 

 
44

Table of Contents

 

An immaterial amount of share-based compensation was capitalized into inventory as overhead for the years ended December 31, 2023 and 2022, respectively. The following table summarizes stock option activity under our stock option plans for the twelve months ended December 31, 2023 and 2022:

 

 

 

2023

 

 

2022

 

 

 

Options

 

 

Weighted-Average Exercise Price

 

 

Weighted-Average Remaining Contractual Life in Years

 

 

Options

 

 

Weighted-Average Exercise Price

 

 

Weighted-Average Remaining Contractual Life in Years

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Outstanding at beginning of year

 

 

12,500

 

 

$4.98

 

 

 

 

 

 

12,500

 

 

$4.98

 

 

 

 

Granted

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Exercised

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Cancelled, Expired or

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Forfeited

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Outstanding at end of year

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

12,500

 

 

$4.98

 

 

 

2.33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vested or expected to vest at the end of the period

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

12,466

 

 

$4.98

 

 

 

2.33

 

Exercisable at end of year

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

9,375

 

 

$4.98

 

 

 

2.33

 

 

The aggregate intrinsic value of outstanding options is $0.  There were no stock option awards exercised in 2023.

 

Restricted stock award activity including performance-based stock award activity under our share-based compensation plan was as follows:

 

 

 

2023

 

 

2022

 

 

 

Awards

 

 

Weighted - Average Grant Date Fair Value

 

 

Awards

 

 

Weighted - Average Grant Date Fair Value

 

Outstanding at beginning of year

 

 

665,200

 

 

$3.94

 

 

 

623,777

 

 

$4.73

 

Granted

 

 

387,100

 

 

 

4.36

 

 

 

330,215

 

 

 

3.26

 

Vested

 

 

(284,925)

 

 

3.93

 

 

 

(249,292)

 

 

4.95

 

Cancelled

 

 

(38,750)

 

 

3.96

 

 

 

(39,500)

 

 

4.33

 

Outstanding at end of year

 

 

728,625

 

 

$4.17

 

 

 

665,200

 

 

$3.94

 

 

During the years ended December 31, 2023 and 2022, 83,753 and 57,206 shares, respectively, were withheld from issuance related to restricted stock units vesting and stock option exercises to cover employee taxes and stock options exercise price.

 

Non-employee directors Restricted Stock Units (“RSUs”) typically vest over the earlier of one year or the next annual meeting of shareholders and Non-Qualified stock options vest over three years and have a six-year exercise period.  Employee RSUs typically vest annually over three or four years and employee Non-Qualified stock options typically vest quarterly over four years and have a six-year exercise period. Performance Stock Units (“PSUs”) typically cliff vest at the end of the performance period and the performance metric is cumulative revenue growth over the three-year period ending December 31, 2025 with a cumulative revenue threshold, target, and maximum performance measure.  The table above includes performance shares granted in 2023 of 30,000 shares at the target performance level (the threshold level would be 50% and the maximum level would be 150% of the target level).

 

 
45

Table of Contents

 

The remaining unamortized expected future compensation expense and remaining amortization period associated with unvested option grants and restricted stock awards are:

 

 

 

December 31,

2023

 

 

December 31,

2022

 

 

 

 

 

 

 

 

Unamortized future compensation expense

 

$2,317,524

 

 

$2,029,457

 

Remaining weighted average amortization period in years

 

 

2.44

 

 

 

2.47

 

 

The weighted average number of shares outstanding used to compute earnings (loss) per share included the following:

 

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Weighted average shares outstanding

 

 

8,940,612

 

 

 

8,740,701

 

Restricted and Performance Stock Units

 

 

132,360

 

 

 

 

 

Stock Options

 

 

216

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted average diluted shares

 

 

9,073,188

 

 

 

8,740,701

 

 

NOTE 11 – SHARE REPURCHASE PROGRAMS

 

Data I/O did not have a share repurchase program in 2023. 

 

NOTE 12 – INCOME TAXES

 

Components of income (loss) before taxes:

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

U.S. operations

 

$(536)

 

$(1,622)

Foreign operations

 

 

1,216

 

 

 

1,185

 

Total income (loss) before taxes

 

$680

 

 

$(437)

 

Income tax expense (benefit) consists of:

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Current tax expense (benefit)

 

 

 

 

 

 

U.S. federal

 

$0

 

 

$0

 

State

 

 

20

 

 

 

19

 

Foreign

 

 

174

 

 

 

664

 

 

 

 

194

 

 

 

683

 

Deferred tax expense (benefit) – U.S. federal

 

 

-

 

 

 

-

 

Total income tax expense (benefit)

 

$194

 

 

$683

 

 

 
46

Table of Contents

 

A reconciliation of our effective income tax and the U.S. federal tax rate is as follows:

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Statutory tax

 

$143

 

 

$

(92)

 

State and foreign income tax, net of federal tax benefit

 

 

(178)

 

 

(189)

Valuation allowance for deferred tax asset

 

 

139

 

 

 

370

 

Foreign sourced deemed dividend income

 

 

322

 

 

 

738

 

Stock based compensation

 

 

(250)

 

 

(154)

Other

 

 

18

 

 

 

10

 

Total income tax expense (benefit)

 

$194

 

 

$683

 

 

U.S. net operating loss carryforwards are $13.8 million at December 31, 2023 with expiration years from 2023 to 2034.  Utilization of net operating loss and credit carryforwards is subject to certain limitations under Section 382 of the Internal Revenue Code of 1986, as amended. We have not had a Section 382 ownership change, but if we did the usage of these tax assets would have an income usage limitation based on the value of the Company at the time of the change times the federal long-term tax-exempt rate.

 

The gross changes in uncertain tax positions resulting in unrecognized tax benefits are presented below:

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Unrecognized tax benefits, opening balance

 

$422

 

 

$392

 

Prior period tax position increases

 

 

(6)

 

 

-

 

Additions based on tax positions related to current year

 

 

14

 

 

 

30

 

Unrecognized tax benefits, ending balance

 

$430

 

 

$422

 

 

 
47

Table of Contents

 

Historically, we have incurred minimal interest expense and no penalties associated with tax matters.  We have adopted a policy whereby amounts related to penalties associated with tax matters are classified as general and administrative expense when incurred and amounts related to interest associated with tax matters are classified as interest income or interest expense.

 

Tax years that remain open for examination include 2020, 2021, 2022 and 2023 in the United States of America.  In addition, various tax years from 2002 to 2014 may be subject to examination in the event that we utilize the net operating losses and credit carryforwards from those years in our current or future year tax returns. 

 

NOTE 13 – SEGMENT AND GEOGRAPHIC INFORMATION

 

We consider our operations to be a single operating segment, focused on the design, manufacturing and sale of programming systems used by designers and manufacturers of electronic products.  Major operations outside the U.S. include sales, engineering and service support by subsidiaries in Germany as well as in China, which also manufactures some of our products.

 

We determine international sales by the international geographic destination into which the products are sold and delivered and include not only sales by foreign subsidiaries but also export sales from the U.S. to our foreign distributors and to our representatives’ customers.  International sales do not include transfers between Data I/O and our foreign subsidiaries.

 

The following tables provide summary operating information by geographic area:

 

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Net sales:

 

 

 

 

 

 

U.S.

 

$2,799

 

 

$1,774

 

Europe

 

 

9,469

 

 

 

7,402

 

Rest of World

 

 

15,796

 

 

 

15,041

 

 

 

$28,064

 

 

$24,217

 

 

 

 

 

 

 

 

 

 

Included in Europe and Rest of World are the following Net Sales significant balances:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Germany

 

$4,697

 

 

$2,881

 

China

 

$3,800

 

 

$5,476

 

 

 

 

 

 

 

 

 

 

Operating income:

 

 

 

 

 

 

 

 

U.S.

 

$216

 

 

$5

 

Europe

 

 

(671)

 

 

(1,331)

Rest of World

 

 

903

 

 

 

577

 

 

 

$448

 

 

($749)

 

 

 

 

 

 

 

 

 

 

Identifiable assets:

 

 

 

 

 

 

 

 

U.S.

 

$12,385

 

 

$15,234

 

Europe (primarily Germany)

 

 

4,966

 

 

 

4,886

 

Rest of World (primarily China)

 

 

10,050

 

 

 

7,045

 

 

 

$27,401

 

 

$27,165

 

 

NOTE 14 – SUBSEQUENT EVENTS

 

In preparing the financial statements, the Company has reviewed all known events which have occurred after December 31, 2023 through the date on which the financial statements are available for issuance, for potential recognition or disclosure in the consolidated financial statements and footnotes. 

 

There were no other subsequent events which would require additional disclosures to the financial statements other than those already disclosed throughout the Notes to Consolidated Financial Statements.

 

 
48

Table of Contents

 

Item 9.  Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

 

None.

 

Item 9A.  Controls and Procedures

 

(a) Evaluation of disclosure controls and procedures.

 

Under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, we evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) and Rule 15d-15(e) under the Exchange Act) as of the end of the period covered by this report (the “Evaluation Date”).  Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that, as of the Evaluation Date, our disclosure controls and procedures were effective at the reasonable assurance level.  Disclosure controls are controls and procedures designed to ensure that information required to be disclosed in our reports filed or submitted under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms.  Disclosure controls are also designed to ensure that such information is accumulated and communicated to our management, including the CEO and CFO, as appropriate to allow timely decisions regarding required disclosure. 

 

(b) Management’s Report on Internal Control Over Financial Reporting.

 

Our management is responsible for establishing and maintaining adequate internal control over financial reporting.  Our internal control systems are designed to provide reasonable assurance to the Company’s management and board of directors regarding reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles.  Internal control over financial reporting is defined in Rule 13a-15(f) promulgated under the Exchange Act and includes those policies and procedures that:

 

(i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company;

(ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and

(iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the company’s assets that could have a material effect on the financial statements. 

 

All internal controls, no matter how well designed, have inherent limitations.  Therefore, even those systems determined to be effective can provide only reasonable assurance with respect to financial statements preparation and presentation.

 

Our management assessed the effectiveness of the Company’s internal control over financial reporting as of December 31, 2023.  In making this assessment, we used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (“COSO”) in Internal Control – Integrated Framework (2013).  Based on this assessment our Chief Executive Officer and Chief Financial Officer have concluded that, as of December 31, 2023, our internal control over financial reporting was effective.

 

This annual report does not include an attestation report of the company’s registered public accounting firm regarding internal control over financial reporting.  Management’s report was not subject to attestation by the company’s registered public accounting firm pursuant to the Dodd-Frank Wall Street Reform and Consumer Protection Act, which permanently exempts smaller reporting companies from complying with Section 404(b) of the Sarbanes-Oxley Act of 2002. 

 

(c) Changes in internal controls.

 

There were no changes made in our internal controls during the period covered by this report that has materially affected or is reasonably likely to materially affect our internal control over financial reporting.

 

Item 9B.  Other Information

 

During the quarter ended December 31, 2023, no director or officer adopted or terminated any Rule 10b5-1 trading arrangement or non-Rule 10b5-1 trading arrangement, as each term is defined in Item 408(a) of Regulation S-K.

 

Item 9C.  Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

 

Not applicable.

 

 
49

Table of Contents

 

PART III

 

Item 10.  Directors, Executive Officers and Corporate Governance

 

Information regarding the Registrant’s directors is set forth under “Election of Directors” in our Proxy Statement relating to our annual meeting of shareholders to be held on May 16, 2024 and is incorporated herein by reference.  Such Proxy Statement will be filed within 120 days of our year-end.  Information regarding the Registrant’s executive officers is set forth in Item 1 of Part I herein under the caption “Executive Officers of the Registrant.”

 

Code of Ethics

 

We have adopted a Code of Ethics that applies to all directors, officers and employees of Data I/O, including the Chief Executive Officer and Chief Financial Officer.  The key principles of the Code of Ethics are to act legally and with integrity in all work for Data I/O.  The Code of Ethics is posted on the corporate governance page of our website:

 

http://www.dataio.com/Company/InvestorRelations/CorporateGovernance.aspx

 

We will post any amendments to our Code of Ethics on our website.  In the unlikely event that the Board of Directors approves any sort of waiver to the Code of Ethics for our executive officers or directors, information concerning such waiver will also be posted on our website.  In addition to posting information regarding amendments and waivers on our website, the same information will be included in a Current Report on Form 8-K within four business days following the date of the amendment or waiver, unless website posting of such amendments or waivers is permitted by NASDAQ’s rules.

 

Item 11.  Executive Compensation

 

Information called for by Part III, Item 11, is included in our Proxy Statement relating to our annual meeting of shareholders to be held on May 16, 2024 and is incorporated herein by reference.  The information appears in the Proxy Statement under the caption “Executive Compensation.”  Such Proxy Statement will be filed within 120 days of our year-end.

 

Item 12.  Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

 

Information called for by Part III, Item 12, is included in our Proxy Statement relating to our annual meeting of shareholders to be held on May 16, 2024 and is incorporated herein by reference.  The information appears in the Proxy Statement under the caption “Voting Securities and Principal Holders.”  Such Proxy Statement will be filed within 120 days of our year end.

 

 
50

Table of Contents

 

Equity Compensation Plan Information

 

The following table gives information about our Common Stock that may be issued upon the exercise of options and rights under all of our existing equity compensation plans as of December 31, 2023.  See Notes 9 and 10 of “Notes to Consolidated Financial Statements.”

 

 

 

(a) Number of securities to be issued upon the exercise of outstanding options, warrants and rights

 

 

(b) Weighted–average exercise price of outstanding options, warrants and rights

 

 

(c) Number of securities remaining available for future issuance under equity compensation plans (excluding securities reflected in column (a))

 

Equity compensation plans approved by the security holders (1) (2)

 

 

2,381

 

 

$3.26

 

 

 

753,852

 

Equity compensation plans not approved by the security holders (3)

 

 

12,500

 

 

$4.98

 

 

 

-

 

Total

 

 

14,881

 

 

$4.86

 

 

 

753,852

 

 

(1)

Represents shares of our Common Stock issuable pursuant to the Data I/O Corporation 2023 Omnibus Incentive Compensation Incentive Plan, 2000 Stock Compensation Incentive Plan, and 1982 Employee Stock Purchase Plan. Table excludes unvested: RSU awards of 353,525 from the 2000 Plan, RSU awards of 270,100 from the 2023 Plan, and PSU awards of 25,000 from the 2023 Plan.

(2)

Stock Appreciation Rights Plan (“SAR”) provides that directors, executive officers or holders of 10% or more of our Common Stock have an accompanying SAR with respect to each exercisable option. While the plan has been approved by the security holders, no amounts are included in columns (a), (b), or (c) relating to the SAR.

(3)

Inducement grant remaining to Michael Tidwell of non-qualified stock options, fully vested, with 12,500 remaining unexercised. Table excludes unvested inducement grants to Gerald Ng of 75,000 RSU and 5000 PSU awards.

 

Item 13.  Certain Relationships and Related Transactions, and Director Independence

 

The information required by this Item is incorporated by reference to the section captioned “Certain Relationships and Related Transactions” in the Proxy Statement relating to our annual meeting of shareholders to be held on May 16, 2024.  Such Proxy Statement will be filed within 120 days of our year-end.

 

Item 14.  Principal Accounting Fees and Services

 

The information required by this Item with respect to principal accountant fees and services is incorporated by reference to the section captioned “Principal Accountant’s Fees and Services” in the Proxy Statement relating to our annual meeting of shareholders to be held on May 16, 2024.  Such Proxy Statement will be filed within 120 days of our year-end.

 

 
51

Table of Contents

 

PART IV

 

Item 15. Exhibits, Financial Statement Schedules

 

Executive Compensation Plans and Arrangements

 

The following list is a subset of the list of exhibits described below and contains all compensatory plans, contracts or arrangements in which any director or executive officer of Data I/O is a participant, unless the method of allocation of benefits thereunder is the same for management and non-management participants:

 

(1)

Amended and Restated 1982 Employee Stock Purchase Plan. See Exhibit 10.5.

 

 

(2)

Data I/O Corporation Tax Deferral Retirement Plan and Trust with Empower Retirement (formerly known as Great West Financial (formerly known as Orchard Trust Company). See Exhibits 10.11, 10.12, 10.13, 10.23, 10.34 and 10.31.

 

 

(3)

Summary of Amended and Restated Management Incentive Compensation Plan. See Exhibit 10.2.

 

 

(4)

Amended and Restated 1983 Stock Appreciation Rights Plan. See Exhibit 10.1.

 

 

(5)

Amended and Restated Executive Agreements. See Exhibit 10.20, and 10.32

 

 

(6)

1996 Director Fee Plan (terminated in 2023). See Exhibit 10.4.

 

 

(7)

Data I/O Corporation 2000 Stock Compensation Incentive Plan. See Exhibit 10.6, 10.10, 10.16, 10.19, 10.29 and 10.33.

 

 

(8)

Form of Option Agreement. See Exhibit 10.7.

 

 

(9)

Form of Indemnification Agreement. See Exhibit 10.14.

 

 

(10)

Letter Agreement with Anthony Ambrose. See Exhibit 10.15.

 

 

(11)

Letter Agreement with Rajeev Gulati. See Exhibit 10.17.

 

 

(12)

Letter Agreement with Joel S. Hatlen. See Exhibit 10.21.

 

 

(13)

Form of Executive Agreement. See Exhibit 10.20 and 10.32.

 

 

(14)

Form of Restricted Stock Unit Award Agreement. See Exhibit 10.18 and 10.36.

 

 

(15)

Letter Agreement with Michael Tidwell. See Exhibit 10.28.

 

 

(16)

Data I/O Corporation 2023 Omnibus Incentive Compensation Incentive Plan. See Exhibit 10.34.

 

 

(17)

Form of Performance Stock Unit Award Agreement. See Exhibit 10.35.

 

 

(18)

Letter Agreement with Gerald Y. Ng. See Exhibit 10.37.

 

 
52

Table of Contents

 

(a)

List of Documents Filed as a Part of This Report:

Page

 

 

 

 

(1)

Index to Financial Statements:

 

 

 

 

 

 

 

Report of Independent Registered Public Accounting Firm (PCAOB ID 248)

28

 

 

 

 

 

 

Consolidated Balance Sheets as of December 31, 2023 and December 31, 2022

30

 

 

 

 

 

 

Consolidated Statements of Operations for each of the two years ended December 31, 2023 and December 31, 2022

31

 

 

 

 

 

 

Consolidated Statements of Comprehensive Income (Loss) for each of the two years ended December 31, 2023 and December 31, 2022

32

 

 

 

 

 

 

Consolidated Statements of Stockholders’ Equity for each of the two years ended December 31, 2023 and December 31, 2022

33

 

 

 

 

 

 

Consolidated Statements of Cash Flows for each of the two years ended December 31, 2023 and December 31, 2022

34

 

 

 

 

 

 

Notes to Consolidated Financial Statements

35

 

 

 

 

 

(2)

Index to Financial Statement Schedules:

 

 

 

 

 

 

 

Schedule II – Consolidated Valuation and Qualifying Accounts

58

 

 

 

 

 

 

All other schedules not listed above have been omitted because the required information is included in the consolidated financial statements or the notes thereto, or is not applicable or required.

 

 
53

Table of Contents

 

 

(3)

Index to Exhibits:

 

 

 

 

 

 

 

 

 

 

 

 

3

Articles of Incorporation:

 

 

 

 

 

 

 

 

3.1

Data I/O’s restated Articles of Incorporation filed November 2, 1987 (Incorporated by reference to Exhibit 3.1 of Data I/O’s 1987 Annual Report on Form 10-K (File No. 0-10394) and attached as a PDF to Exhibit 3.1 in our 2017 Annual Report on Form 10-K).

 

 

 

 

 

 

 

 

3.2

Data I/O’s Bylaws as amended and restated as of July 20, 2011 (Incorporated by reference to Data I/O’s Current Report on Form 8-K filed July 26, 2011).

 

 

 

 

 

 

 

 

3.3

Certification of Designation, Preferences and Rights of Series A Junior Participating Preferred Stock (Incorporated by reference to Exhibit 1 of Data I/O’s Registration Statement on Form 8-A filed March 13, 1998 (File No. 0-10394)).

 

 

 

4

Instruments Defining the Rights of Security Holders, Including Indentures:

 

 

 

 

 

 

 

 

4.1

Rights Agreement dated as of April 4, 1998, between Data I/O Corporation and ChaseMellon Shareholder Services, L.L.C. as Rights Agent, which includes: as Exhibit A thereto, the Form of Right Certificate; and, as Exhibit B thereto, the Summary of Rights to Purchase Series A Junior Participating Preferred Stock (Incorporated by reference to Data I/O’s Current Report on Form 8-K filed on March 13, 1998).

 

 

 

 

 

 

 

 

4.2

Description of Data I/O Corporation’s Common Stock (Incorporated by reference to Data I/O’s 2022 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

10

Material Contracts:

 

 

 

 

 

 

 

 

10.1

Amended and Restated 1983 Stock Appreciation Rights Plan dated February 3, 1993 (Incorporated by reference to Exhibit 10.23 of Data I/O’s 1992 Annual Report on Form 10-K (File No. 0-10394) and attached as a PDF to Exhibit 10.1 in our 2017 Annual Report on Form 10-K).

 

 

 

 

 

 

 

 

10.2

Amended and Restated Management Incentive Compensation Plan dated January 1, 1997 (Incorporated by reference to Exhibit 10.25 of Data I/O’s 1997 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.3

Amended and Restated Performance Bonus Plan dated January 1, 1997 (Incorporated by reference to Exhibit 10.26 of Data I/O’s 1997 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.4

Amended and Restated Data I/O Corporation 1996 Director Fee Plan (Incorporated by reference to Exhibit 10.32 of Data I/O’s 1997 Annual Report on Form 10-K (File No. 0-10394)). (Plan cancelled February 22, 2023.)

 

 

 

 

 

 

 

 

10.5

Amended and Restated 1982 Employee Stock Purchase Plan dated May 16, 2003 (Incorporated by reference to Data I/O’s 2003 Proxy Statement dated March 31, 2003).

 

 

 

 

 

 

 

 

10.6

Amended and Restated Data I/O Corporation 2000 Stock Compensation Incentive Plan dated May 24, 2006 (Incorporated by reference to Data I/O’s 2006 Proxy Statement dated April 6, 2006).

 

 

 

 

 

 

 

 

10.7

Form of Option Agreement (Incorporated by reference to Data I/O’s 2004 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 
54

Table of Contents

 

 

 

10.8

Lease, Redmond East Business Campus between Data I/O Corporation and Carr Redmond PLLC dated February 28, 2006 (Incorporated by reference to Data I/O’s 2005 Annual Report on Form 10K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.9

Second Amendment to Lease, (Redmond East) between Data I/O Corporation and Arden Realty Limited Partnership, made as of January 31, 2011. (Incorporated by reference to Data I/O’s 2010 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.10

Amended and Restated Data I/O Corporation 2000 Stock Compensation Incentive Plan approved May 17, 2011 (Incorporated by reference to Data I/O’s 2011 Proxy Statement filed April 5, 2011).

 

 

 

 

 

 

 

 

10.11

Empower Retirement (formerly known as Great West Financial (formerly known as Orchard Trust Company) Defined Contribution Prototype Plan and Trust (Incorporated by reference to Data I/O’s 2007 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.12

Empower Retirement (formerly known as Great West Financial (formerly known as Orchard Trust Company) Non-standardized 401(k) Plan (Incorporated by reference to Data I/O’s 2007 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.13

Empower Retirement (formerly known as Great West Financial (formerly known as Orchard Trust Company) Defined Contribution Prototype Plan and Trust Amendment for Pension Protection Act and Heart Act. (Incorporated by reference to Data I/O’s 2009 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.14

Form of Indemnification Agreement. (Incorporated by reference to Data I/O’s 2010 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.15

Letter Agreement with Anthony Ambrose (Incorporated by reference to Data I/O’s Current Report on Form 8-K filed on October 29, 2012).

 

 

 

 

 

 

 

 

10.16

Amended and Restated Data I/O Corporation 2000 Stock Compensation Incentive Plan approved May 10, 2012 (Incorporated by reference to Data I/O’s 2012 Proxy Statement filed April 3, 2012).

 

 

 

 

 

 

 

 

10.17

Letter Agreement with Rajeev Gulati (Incorporated by reference to Data I/O’s Current Report on Form 8-K filed on July 31, 2013).

 

 

 

 

 

 

 

 

10.18

Form of Restricted Stock Unit Award Agreement (Incorporated by reference to Exhibit 10.29 of Data I/O’s March 31, 2014 Quarterly Report on Form 10-Q (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.19

Amended and Restated Data I/O Corporation 2000 Stock Compensation Incentive Plan approved April 30, 2014 (Incorporated by reference to Exhibit 10.30 of Data I/O’s March 31, 2014 Quarterly Report on Form 10-Q (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.20

Form of Executive Agreement (Incorporated by reference to Exhibit 10.31 of Data I/O’s June 30, 2014 Quarterly Report on Form 10-Q (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.21

Letter Agreement with Joel S. Hatlen (Incorporated by reference to Exhibit 10.32 of Data I/O’s June 30, 2014 Quarterly Report on Form 10-Q (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.22

Third Amendment to Lease, (Redmond East) between Data I/O Corporation and Arden Realty Limited Partnership, made as of June 1, 2015 (Incorporated by reference to Exhibit 10.29 of Data I/O’s June 30, 2015 Quarterly Report on Form 10-Q (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.23

Empower Retirement (formerly known as Great West Financial) Financial Adoption Agreement #005 Non-standardized 401(k) Plan (Incorporated by reference to Data I/O’s 2015 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.24

Empower Retirement (formerly known as Great West Financial) Financial Adoption Agreement #005 Non-standardized 401(k) Plan (Incorporated by reference to Data I/O’s 2016 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.25

Negotiation Protocol for the Purchase of Data I/O’s PSV7000, a supply agreement executed July 20, 2016, between Data I/O Corporation and Bosch Car Multimedia Group (Incorporated by reference to Exhibit 10.31 of Data I/O’s September 30, 2016 Quarterly Report on Form 10-Q (File No. 0-10394)). (Portions of this exhibit have been omitted based on confidential treatment granted by the SEC. The omitted portions of these exhibits have been filed separately with the SEC. The registrant undertakes to furnish on a supplemental basis a copy of any omitted schedules to the Securities and Exchange Commission upon request.).

 

 

 
55

Table of Contents

 

 

 

10.26

Fifth Amendment to Lease, between Data I/O Corporation and BRE WA OFFICE OWNER LLC, made as of September 12, 2017 (Incorporated by reference to Data I/O’s September 30, 2017 Quarterly Report on Form 10-Q (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.27

1st Amendment to Negotiation Protocol executed on September 24, 2018 between Data I/O Corporation and Robert Bosch GmbH (Incorporated by reference to Exhibit 10.35 of Data I/O’s September 30, 2018 Quarterly Report on Form 10-Q (File No. 0-10394)). (Portions of this exhibit have been omitted based on a request for confidential treatment made to the SEC. The omitted portions of these exhibits have been filed separately with the SEC. The registrant undertakes to furnish on a supplemental basis a copy of any omitted schedules to the Securities Exchange Commission upon request.).

 

 

 

 

 

 

 

 

10.28

Letter Agreement with Michael Tidwell (Incorporated by reference to Form 8-K filed on May 1, 2019).

 

 

 

 

 

 

 

 

10.29

Amended and Restated Data I/O Corporation 2000 Stock Compensation Incentive Plan approved May 20, 2021 (Incorporated by reference to Data I/O’s 2021 Proxy Statement dated April 5, 2021).

 

 

 

 

 

 

 

 

10.30

Sixth Amendment to Lease, between Data I/O Corporation and Alco Redmond East, LLC, made as of October 4, 2021 (Incorporated by reference to Data I/O’s 2021 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.31

Empower Retirement (formerly known as Great West Financial) Financial Adoption Agreement #001 Non-standardized 401(k) Plan (Incorporated by reference to Data I/O’s 2021 Annual Report on Form 10-K (File No. 0-10394)).

 

 

 

 

 

 

 

 

10.32

Form of Executive Agreement (Incorporated by reference to Form 8-K filed on February 6, 2023).

 

 

 

 

 

 

 

 

10.33

Amended and Restated Data I/O Corporation 2000 Stock Compensation Incentive Plan approved May 18, 2023 (Incorporated by reference to Data I/O’s 2023 Proxy Statement dated April 3, 2023).

 

 

 

 

 

 

 

 

10.34

Data I/O Corporation 2023 Omnibus Incentive Compensation Incentive Plan approved May 18, 2023 (Incorporated by reference to Data I/O’s 2023 Proxy Statement dated April 3, 2023).

 

 

 

 

 

 

 

 

10.35

Form of Performance Stock Unit Award Agreement.

 

 

 

 

 

 

 

 

10.36

Form of Restricted Stock Unit Award Agreement.

 

 

 

 

 

 

 

 

10.37

Letter Agreement with Gerald Y. Ng (Incorporated by reference to Form 8-K filed on June 30, 2023).

 

 

 

 

 

 

 

 

21.1

Subsidiaries of the Registrant

 

 

 

 

 

 

 

 

23.1

Consent of Independent Registered Public Accounting Firm

 

 

 

 

 

 

 

31

Certification – Section 302:

 

 

 

 

 

 

 

 

31.1

Chief Executive Officer Certification

 

 

 

 

 

 

 

 

31.2

Chief Financial Officer Certification

 

 

 

 

 

 

 

32

Certification – Section 906:

 

 

 

 

 

 

 

 

32.1

Chief Executive Officer Certification

 

 

 

 

 

 

 

 

32.2

Chief Financial Officer Certification

 

 

 

 

 

 

 

 

97

Data I/O Corporation INCENTIVE COMPENSATION RECOVERY POLICY.

 

 

 

 

 

 

 

101

Interactive Data Files Pursuant to Rule 405 of Regulation S-T

 

 

Item 16. Form 10-K Summary

 

None.

 

 
56

Table of Contents

 

SIGNATURES

 

Pursuant to the requirements of Section 13 or 15(d) 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.

 

DATA I/O CORPORATION

 

 

(REGISTRANT)

 

 

 

 

 

DATED: March 27, 2024

By:

/s/Anthony Ambrose

 

 

Anthony Ambrose

 

 

President and Chief Executive Officer

 

 

Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant and in the capacities and on the dates indicated.

 

NAME & DATE

 

TITLE

 

 

 

 

 

 

By:

/s/Anthony Ambrose

March 27, 2024

 

President and Chief Executive Officer

 

Anthony Ambrose

 

 

(Principal Executive Officer), Director

 

 

 

 

 

 

By:

/s/Gerald Y. Ng

March 27, 2024

 

Chief Financial Officer

 

Gerald Y. Ng

 

 

Vice President Secretary, Treasurer

 

 

 

 

(Principal Financial and Accounting Officer)

 

 

 

 

 

 

By:

/s/Douglas W. Brown

March 27, 2024

 

Director

Douglas W. Brown

 

 

 

 

 

 

 

 

 

 

By:

/s/Sally A. Washlow

March 27, 2024

 

Director

Sally A. Washlow

 

 

 

 

 

 

 

 

 

 

By:

/s/Edward J. Smith

March 27, 2024

 

Director

Edward J. Smith

 

 

 

 

 

 

 

 

 

 

By:

/s/William Wentworth

March 27, 2024

 

Director

 

William Wentworth

 

 

 

 

 

 
57

Table of Contents

 

DATA I/O CORPORATION

SCHEDULE II – CONSOLIDATED VALUATION AND QUALIFYING ACCOUNTS

 

 

 

Balance at

Beginning of

Period

 

 

Charged/ (Credited) to Costs and Expenses

 

 

Deductions-Describe

 

 

Balance at End of Period

 

(in thousands)

 

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31, 2022:

 

 

 

 

 

 

 

 

 

 

 

 

Allowance for credit losses

 

$89

 

 

$58

 

 

$-

(1)

 

$147

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Year Ended December 31, 2023:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Allowance for credit losses

 

$147

 

 

$(75)

 

$-

(1)

 

$72

 

 

(1)

Uncollectable accounts written off, net of recoveries

 

 
58

 

EX-4.2 2 daio_ex42.htm DESCRIPTION OF DATA daio_ex42.htm

 

EXHIBIT 4.2

 

DATA I/O CORPORATION 

DESCRIPTION OF DATA I/O CORPORATION’S COMMON STOCK

 

The common stock of Data I/O Corporation is its only class of securities registered under Section 12 of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). 

 

The following description of our Common Stock is a summary and does not purport to be complete. It is subject to and qualified in its entirety by reference to our Restated Articles of Incorporation and Certificate of Designation, Preferences and Rights of Series A Junior Participating Preferred Stock (the “Articles”) and our Amended and Restated Bylaws (the “Bylaws”), each of which attached as exhibit to the Annual Report on Form 10-K.  We are incorporated in the State of Washington and are subject to the Washington Business Corporation Act, Title 23B of the Revised Code of Washington.

 

Authorized Capital Shares

 

Our authorized capital shares are thirty-five million (35,000,000), consisting of thirty million (30,000,000) shares of Common Stock (“Common Stock”), and five million (5,000,000) shares of Preferred Stock. Two hundred thousand (200,000) shares of Series A Junior Participating Preferred Stock have been designated.  The outstanding shares of our Common Stock are fully paid and nonassessable.  There are no shares of Preferred Stock outstanding. 

 

Voting Rights

 

Holders of Common Stock are entitled to one vote per share on all matters voted on by the shareholders, including the election of directors. Our Common Stock does not have cumulative voting rights.

 

Dividend Rights

 

The holders of Common Stock are entitled to receive dividends, if any, as may be declared from time to time by the Board of Directors in its discretion out of funds legally available for the payment of dividends.

 

Liquidation Rights

 

Holders of Common Stock will share ratably in all assets legally available for distribution to our shareholders in the event of dissolution.

 

Other Rights and Preferences

 

Our Common Stock has no sinking fund or redemption provisions or preemptive, conversion or exchange rights. Holders of Common Stock may act by unanimous written consent.

 

Potential Limitations on Rights of Holders of Common Stock

 

Our Articles authorize our board of directors to issue up to 5,000,000 shares of Preferred Stock and to determine the price, rights, preferences, privileges and restrictions, including voting rights, of those shares without any further vote or action by the shareholders. Two hundred thousand (200,000) shares of Series A Junior Participating Preferred Stock have been designated, but none are outstanding.  The rights of the holders of Common Stock may be subject to, and may be adversely affected by, the rights of the holders of any Preferred Stock that may be issued in the future.

 

Listing

 

The Common Stock is traded on The Nasdaq Stock Market LLC under the trading symbol “DAIO.”

EX-21.1 3 daio_ex211.htm SUBSIDIARIES daio_ex211.htm

 

EXHIBIT 21.1

DATA I/O CORPORATION

SUBSIDIARIES OF THE REGISTRANT

 

The following table indicates the name, jurisdiction of incorporation and basis of ownership of each of Data I/O’s subsidiaries: 

 

Name of Subsidiary

 

State or Jurisdiction

of Organization

 

Percentage of Voting Securities Owned

 

Data I/O International, Inc.

 

Washington

 

 

100 %

RTD, Inc.

 

Washington

 

 

100 %

Data I/O FSC International, Inc.

 

Territory of Guam

 

 

100 %

Data I/O GmbH

 

Germany

 

 

100 %

Data I/O Electronics (Shanghai) Co., Ltd.

 

China

 

 

100 %

 

EX-23.1 4 daio_ex231.htm CONSENT daio_ex231.htm

 

EXHIBIT 23.1

 

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

We have issued our report dated March 27, 2024, with respect to the consolidated financial statements included in the Annual Report of Data I/O Corporation on Form 10-K for the year ended December 31, 2023. We consent to the incorporation by reference of said report in the Registration Statements of Data I/O Corporation on Forms S-3 (File No. 333-121566) and on Forms S-8 (File Nos. 002-76164, 002-86785, 002-98115, 002-78394, 33-95608, 33-66824, 33-42010, 33-26472, 33-54422, 333-20657, 333-55911, 33-02254, 33-03958, 333-107543, 333-81986, 333-48595, 333-121861, 333-151006, 333-166730, 333-175840, and 333-224971).

 

/s/ GRANT THORNTON LLP

 

Bellevue, Washington

 

March 27, 2024

 

EX-31.1 5 daio_ex311.htm CERTIFICATION daio_ex311.htm

 

EXHIBIT 31.1

 

Certification by Chief Executive Officer

Pursuant to 18 U.S.C. Section 1350

As Adopted Pursuant to

Section 302(a) of the Sarbanes-Oxley Act of 2002

 

I, Anthony Ambrose, certify that:

 

1)

I have reviewed this annual report on Form 10-K of Data I/O Corporation;

 

 

2)

Based upon my knowledge, this annual report does not contain any untrue statement of 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 annual report;

 

 

3)

Based on my knowledge, the financial statements, and other financial information included in this annual 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 annual report;

 

 

4)

The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f)0 for the registrant and we 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 annual 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 annual report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this annual report based on such evaluation; and

 

 

 

 

d)

Disclosed in this annual 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.

 

5)

The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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 controls over financial reporting.

 

Date: March 27, 2024

 

 

 

/s/ Anthony Ambrose

 

 

 

Anthony Ambrose

Chief Executive Officer

(Principal Executive Officer)

 

 

EX-31.2 6 daio_ex312.htm CERTIFICATION daio_ex312.htm

 

EXHIBIT 31.2

 

Certification by Chief Financial Officer

Pursuant to 18 U.S.C. Section 1350

As Adopted Pursuant to

Section 302(a) of the Sarbanes-Oxley Act of 2002

 

I, Gerald Y. Ng, certify that:

 

1)

I have reviewed this annual report on Form 10-K of Data I/O Corporation;

 

 

2)

Based upon my knowledge, this annual report does not contain any untrue statement of 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 annual report;

 

 

3)

Based on my knowledge, the financial statements, and other financial information included in this annual 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 annual report;

 

 

4)

The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f)0 for the registrant and we 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 annual 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 purpose in accordance with generally accepted accounting principles;

 

 

 

 

c)

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

 

 

 

 

d)

Disclosed in this annual 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.

 

5)

The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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 controls over financial reporting.

 

Date: March 27, 2024

 

 

 

/s/ Gerald Y. Ng

 

 

 

Gerald Y. Ng

Chief Financial Officer

(Principal Financial Officer)

 

EX-32.1 7 daio_ex321.htm CERTIFICATION daio_ex321.htm

 

EXHIBIT 32.1

 

Certification by Chief Executive Officer

Pursuant to 18 U.S.C. Section 1350

As Adopted Pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

 

In connection with the annual report of Data I/O Corporation (the “Company”) on Form 10-K for the period ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Anthony Ambrose, Chief Executive Officer of the Company, certify, that pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

 

(1)

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

(2)

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

 

/s/ Anthony Ambrose

 

 

Anthony Ambrose

Chief Executive Officer

(Principal Executive Officer)

 

 

 

Date: March 27, 2024

 

EX-32.2 8 daio_ex322.htm CERTIFICATION daio_ex322.htm

 

EXHIBIT 32.2

 

Certification by Chief Financial Officer

Pursuant to 18 U.S.C. Section 1350

As Adopted Pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

 

In connection with the annual report of Data I/O Corporation (the “Company”) on Form 10-K for the period ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Gerald Y. Ng, Chief Financial Officer of the Company, certify, that pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

 

(1)

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

(2)

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

 

/s/ Gerald Y. Ng

 

 

Gerald Y. Ng

Chief Financial Officer

(Principal Financial Officer)

 

 

 

Date: March 27, 2024

 

EX-10.35 9 daio_ex1035.htm FORM OF PERFORMANCE STOCK UNIT AWARD AGREEMENT daio_ex1035.htm

 

EXHIBIT 10.35

 

Form of Performance Stock Unit Award Agreement

 

PERFORMANCE STOCK UNIT AWARD AGREEMENT

 

DATA I/O CORPORATION

91-0864123

6645 185th Ave NE, Suite 100

Redmond, WA 98052

 

This PERFORMANCE STOCK UNIT AWARD AGREEMENT (the "Agreement") is made as of the grant date specified in the accompanying statement dated ______________, 20__ (the "Grant Date") & Grant #, by and between Data I/O Corporation, a Washington corporation (the "Company"), and the Participant listed in the signature page of this Agreement ("Participant"). The PSU Award (as defined below) is subject to the terms and conditions set forth in this PSU Award Agreement and in the Data I/O Corporation 2023 Omnibus Incentive Compensation Plan, (the "Plan"). Capitalized terms used but not otherwise defined herein shall have the meaning ascribed to such terms in the Plan.

 

The Performance Stock Units (“PSUs”) granted to the Participant shall be credited to an account in the Participant’s name. This account shall be a record of book‑keeping entries only and shall be utilized solely as a device for the measurement and determination of the number of Shares to be issued to or in respect of the Participant pursuant to this Agreement. The Company’s obligation with respect to settlement of PSUs is an unsecured and unfunded obligation. Neither the Plan nor this PSU Agreement shall create or be construed to create a trust or separate fund of any kind or a fiduciary relationship between the Company and Participant or any other person or entity. Any rights under the Plan and this PSU Agreement shall have no greater priority than those of an unsecured creditor of the Company.

 

1. Award and Vesting. The Company hereby grants to Participant a performance stock unit award (the "PSU Award”) for that number of performance stock units (the "Units") as detailed in the accompanying statement (the “Target Number of PSUs”). Each Unit represents the right to receive one share of common stock, no par value per share, of the Company (a “Share), or cash equal to the Fair Market Value of a Share, upon satisfaction of the vesting conditions set forth in this Agreement and subject to the terms of the Plan and this Agreement. The PSU Award represents the right to receive Shares (or cash equal in value to the Shares) only if and when both the performance vesting conditions and continued service vesting conditions have been satisfied or waived.

 

(a) Performance Vesting Conditions. Exhibit A to this PSU Agreement sets forth the performance conditions, the performance period over which performance is measured, and the multiplier (if any) that may be used to adjust the Target Number of PSUs upward or downward based on the level of achievement of the performance conditions, determined as of the last day of the performance period.

 

(b) Continued Service Vesting Conditions. Unless otherwise provided in this Agreement, the Participant must remain in continuous employment or service with the Company or an Affiliate from the Grant Date through the last day of the performance period.

 

(c) Vesting Ceases if Participant’s Service is Terminated for Cause. Notwithstanding the preceding sections of this PSU Agreement, if the Participant is terminated for Cause, the vesting of Units will cease as of the date the Company learns of the behavior constituting Cause and all Units determined to be unvested as of such date will be forfeited. For purposes of this PSU Agreement, “Cause” means dishonesty, fraud, misconduct, disclosure of confidential information, conviction of, or a plea of guilty or no contest to, a felony under the laws of the United States or any state thereof, habitual absence from work for reasons other than illness, intentional conduct which causes significant injury to the Company or an Affiliate, habitual abuse of alcohol or a controlled substance, in each case as determined by the Committee, and the Committee’s determination shall be conclusive and binding.

 

 
1

 

 

2. Restrictions on Transfer. The Units may not be sold, assigned, transferred or pledged, other than by will or the laws of descent and distribution, and any such attempted transfer shall be void.

 

3. Forfeiture. Except as otherwise provided in Sections 3(a) through 3(d) hereof, if the Participant ceases to be employed by or provide services to the Company or any Affiliate (whether or not terminated for Cause) prior to the last day of the performance period, the Participant's rights to all of the unvested Units (and the unvested Shares subject to such Units) shall be immediately and irrevocably forfeited. Upon forfeiture, Participant will no longer have any rights relating to the unvested Units (and the unvested Shares subject to such Units).

 

(a) Participant’s Termination of Employment or Services Due to Death or Disability. If the Participant remains in continuous service with the Company or an Affiliate until the Participant’s employment or service is terminated due to death or Disability prior to the last day of the performance period, any unvested Units will not be forfeited, but instead will remain outstanding and eligible to become vested at the end of the performance period if and to the extent that performance conditions have been satisfied.

 

(b) Participant’s Termination of Employment or Services Due to Involuntary Termination in the Absence of a Change in Control. If the Participant remains in continuous service with the Company or an Affiliate from the Grant Date until the Participant experiences an Involuntary Termination of employment or service by the Company without Cause prior to the last day of the performance period, then a pro rata portion of the Target Number of PSUs that are unvested shall not be forfeited, but instead will remain outstanding and eligible to become vested at the end of the performance period if and to the extent that performance conditions have been satisfied. The pro rata number of the Units that are not forfeited and will remain eligible to become vested at the end of the performance period (subject to any adjustments based on level of achievement of the performance measures) shall be determined by multiplying the Target Number of PSUs by a fraction, the numerator of which is the number of days of the Participant’s service with the Company or an Affiliate from the Grant Date to the date of the Involuntary Termination, and the denominator of which is the number of days from the Grant Date to last day of the performance period. “Involuntary Termination” means the involuntary termination of the Participant’s service by the Company or by the Affiliate that employs the Participant, or by the other party to a transaction constituting a Change in Control, in each case for reasons other than Cause; or (ii) the voluntary resignation of the Participant following (A) a change in the Participant’s position with the Company (or with its successor or the Affiliate employing the Participant), or with the other party to the transaction constituting a Change of Control, that materially reduces the Participant’s level of authority or responsibility, or (B) a reduction in the Participant’s compensation (including base salary, fringe benefits and participation in bonus or incentive programs based on individual or corporate performance) by more than 20%.

 

(c) Change of Control. If the Participant remains in continuous service with the Company or an Affiliate until a Change of Control (as defined in the Plan) that occurs before the last day of the performance period, and the Participant’s Units are neither assumed nor substituted nor replaced with similar rights (or cash equivalents thereof), then, upon consummation of the Change in Control, 100% of the unvested Units shall become fully vested and settled/paid at that time. If the Participant’s Units are assumed or substituted or replaced with similar rights, then notwithstanding such assumption, substitution of replacement (i) 25% of the unvested Units shall become vested (and settled/paid) upon the Change of Control, and (ii) if the Participant experiences an Involuntary Termination without Cause within 12 months following the Change of Control and before the last day of the performance period, then the Target Number of PSUs will become vested and settled/paid at the time of such Involuntary Termination.

 

(d) Retirement. If the Participant retires after having attained the age of 62 with five years of service with the Company or an Affiliate, or after having attained age 55 with ten years of service with the Company or an Affiliate, in either case after having given the Company six months prior written notice of such retirement, then provided the Participant continues service to the Company or an Affiliate through the designated retirement date (or such modified retirement date as determined by the Committee), the Committee shall have the discretion, but not the obligation, to waive the continued service vesting conditions or deem them satisfied with respect to some or all of the unvested Units. In such case, the Units will not be forfeited, but instead will remain outstanding and eligible to become vested at the end of the performance period if and to the extent that performance conditions have been satisfied.

 

 
2

 

 

4. Issuance of Shares. Except as otherwise provided herein, as soon as administratively practicable following the end of the performance period, the Company will determine the extent to which performance conditions have been satisfied, and as soon as possible thereafter, but in all cases by March 15th of the year immediately following the year in which the last day of the performance period occurs, the Company shall cause to be issued to the Participant, or to the Participant ’s legal representatives, beneficiaries or heirs, as the case may be, one Share (or cash equal to the Fair Market Value of a Share) in settlement of each vested Unit (as determined based on level of achievement of performance conditions). If, pursuant to this Agreement, PSUs become fully vested prior to the end of the Performance Period (for example upon Involuntary Termination following a Change in Control, or upon the Committee’s discretion under the Plan to waive all vesting conditions or deem them satisfied), then the Company immediately will determine the number of Units that have become vested, and as soon as possible thereafter, but in all cases by March 15th of the year immediately following the year in which the Units became fully vested, the Company shall cause to be issued to the Participant, or to the Participant’s legal representatives, beneficiaries or heirs, as the case may be, one Share (or cash equal to the Fair Market Value of a Share) in settlement of each vested Unit. For greater certainty, in all cases PSUs awarded under this Agreement will be settled and paid out as soon as practical following the time at which they are no longer subject to a substantial risk of forfeiture, and in any event by March 15th of the year immediately following the year in which the Units are no longer subject to a substantial risk of forfeiture. The number of Shares issued shall equal the number of Units vested, reduced as necessary to cover the Withholding Obligations.

 

5. Tax Withholding. In order to comply with all applicable federal, state, local or foreign income tax laws or regulations (the “Withholding Obligations”), the Company may take such action as it deems appropriate to ensure that all applicable federal, state, local or foreign payroll, withholding, income or other taxes, which are the sole and absolute responsibility of a Participant, are withheld or collected from such Participant. Unless the Committee determines otherwise, the Company will withhold a portion of the Shares otherwise to be delivered upon settlement of the Units with a Fair Market Value equal to the amount of such taxes (subject to any applicable limitations to avoid adverse accounting treatment) (a “net settlement”). For greater certainty, in the event of a net settlement, the Company will not deliver to the Participant any fractional Shares (or equivalent cash value) remaining after reduction for the Withholding Obligations; rather, any remaining fractional Shares will be cancelled without payment. The Company may establish procedures to ensure satisfaction of all applicable Withholding Obligations arising in connection with this Agreement. If the Committee determines that net settlement will not apply, the Participant hereby authorizes the Company, at its sole discretion and subject to any limitations under applicable law, to satisfy any such Withholding Obligations by (1) withholding from the wages and other cash compensation payable to the Participant or by causing the Participant to tender a cash payment or other Shares to the Company; or (2) selling on the Participant’s behalf (using any brokerage firm determined acceptable to the Company for such purpose) a portion of the Shares issued in settlement of the Units as the Company determines to be appropriate to generate cash proceeds sufficient to satisfy the Withholding Obligations. The Participant shall be responsible for all brokerage fees and other costs of sale, and the Participant further agrees to indemnify and hold the Company harmless from any losses, costs, damages or expenses relating to any such sale. The Company may refuse to deliver Shares if the Participant fails to comply with the Participant’s obligations in connection with the Withholding Obligations described in this paragraph.

 

6. Rights as Shareholder. Units are not actual Shares, and only represent a right to receive Shares according to the terms and conditions set forth herein and the terms of the Plan. Accordingly, the issuance of a Unit shall not entitle the Participant to any of the rights or benefits generally accorded to shareholders unless and until a Share is actually issued.

 

7. U.S. Securities Restrictions. The Company may require from the Participant such investment representation, undertaking or agreement, if any, as the Company may consider necessary in order to comply with applicable laws and policies of any applicable Exchange. The Participant understands and acknowledges that Shares to be issued settlement of the PSUs may be issued subject to any restrictive legend or other transfer restrictions as may be required by applicable securities laws and stock exchange requirements.

 

 
3

 

 

8. Miscellaneous.

 

(a) Subject to Plan. This PSU Award is subject to the terms and conditions of the Plan, but the terms of the Plan shall not be considered an enlargement of any benefits under this Agreement. In addition, this Award is subject to the rules and regulations promulgated pursuant to the Plan, now or hereafter in effect. A copy of the Plan will be furnished upon request of the Participant and it may be found via the exhibit index in our current Annual Report on Form 10-K on dataio.com or sec.gov websites.

 

(b) No Right to Continued Service. This Agreement shall not confer on the Participant any right with respect to continuance of service to the Company, nor will it interfere in any way with the right of the Company to terminate such service at any time.

 

(c) Governing Law; Venue. The validity, construction and effect of the Plan and the Agreement, and any rules and regulations relating to the Plan and the Agreement, shall be determined in accordance with the internal laws, and not the law of conflicts, of the State of Washington. Any party bringing a legal action or proceeding against any other party arising out of or relating to this PSU Award Agreement may bring the legal action or proceeding in the United States District Court for the Western District of Washington or in any court of the State of Washington sitting in King County. Each party waives, to the fullest extent permitted by law (i) any objection it may now or later have to the laying of venue of any legal action or proceeding arising out of or relating to this PSU Award Agreement brought in a court described in the preceding sentence and (ii) any claim that any legal action or proceeding brought in any such court has been brought in an inconvenient forum.

 

(d) Section 409A Provisions. The Units and the issuance of Shares (or payment of cash) under this PSU Agreement are intended to be exempt from the application of section 409A of the Internal Revenue Code, as amended ("Section 409A") by reason of the short-term deferral exemption set forth in Treasury Regulation §1.409A-l(b)(4). Notwithstanding anything in the Plan or this PSU Agreement to the contrary, to the extent that any amount or benefit hereunder that constitutes "deferred compensation" to the Participant under Section 409A and applicable guidance thereunder is otherwise payable or distributable to the Participant under the Plan or this Agreement solely by reason of the occurrence of a Change in Control or due to the Participant's Disability or termination of employment, such amount or benefit will not be payable or distributable to the Participant by reason of such circumstance unless the Committee determines in good faith that (i) the circumstances giving rise to such Change in Control, Disability or separation from service meet the definition of a change in ownership or control, disability, or separation from service, as the case may be, in Section 409A(a)(2)(A) of the Code and applicable regulations, or (ii) the payment or distribution of such amount or benefit would be exempt from the application of Section 409A by reason of the short-term deferral exemption or otherwise. Any payment or distribution of deferred compensation that otherwise would be made to a Participant who is a specified employee as defined in Section 409A(a)(2)(B) of the Code on account of separation from service may not be made before the date which is six months after the date of the specified employee's separation from service (or if earlier, upon the Participant’s death), unless the payment or distribution is exempt from the application of Section 409A by reason of the short term deferral exemption or otherwise.

 

(e) Clawback, Recoupment, Company Policies. Units and Shares and/or cash delivered in settlement of Units awarded hereunder shall be subject to recovery or other penalties pursuant to (i) any Company clawback policy, as may be adopted or amended from time to time, or (ii) any applicable law, rule or regulation or applicable stock exchange rule, including, without limitation, Section 304 of the Sarbanes-Oxley Act of 2002, Section 954 of the Dodd-Frank Wall Street Reform and Consumer Protection Act and any applicable stock exchange listing rule adopted pursuant thereto. In addition, this PSU Award Agreement and all compensation awarded under this PSU Award Agreement shall be subject to the terms of any noncompetition, confidentiality or nondisclosure policies or agreements as may be in place between the Participant and the Company or any Affiliate from time to time.

 

 
4

 

 

(f) Entire Agreement. This PSU Award Agreement and the Plan constitute the entire contract between the parties hereto with regard to the subject matter hereof. They supersede any other agreements, representations or understandings (whether oral or written and whether express or implied) which relate to the subject matter hereof.

 

(g) Dividend Equivalents. Dividend equivalents on unvested PSUs will be credited to the notional PSU account of the Participant and will be subject to the same terms and conditions, including vesting and time of settlement, as the underlying PSUs to which they relate.

 

(h) Acknowledgment. The grant of PSUs hereunder shall not be effective until the Participant dates and signs the form of acknowledgment below and returns a signed copy or otherwise signs pursuant to any method of electronic acceptance approved by the Company or made available to the Participant through the platform of any third-party administrator or record-keeper retained by the Company to administer Awards granted under the Plan. By Participant’s signature and the signature of the Company’s representative, the Participant and the Company agree that this PSU Award is granted under and governed by the terms and conditions of the Data I/O Corporation 2023 Omnibus Incentive Compensation Plan and this PSU Award Agreement.

  

 
5

 

 

IN WITNESS WHEREOF, the Company and Participant have executed this Agreement on the date set forth in the accompanying statement.

 

DATA I/O CORPORATION

 

PARTICIPANT

 

 

 

 

 

 

 

By

 

Signature

 

 

 

 

 

 

 

 

Its

 

 

Printed/Typed Name

 

 

  

 
6

 

 

EXHIBIT A

TO

PERFORMANCE STOCK UNIT AWARD AGREEMENT

 

Performance Period Begins: January 1, 202_

 

Performance Period Ends: December 31, 202_

 

Target Number of PSUs: _________________

 

Subject to the provisions of the Plan, PSUs allocated to the Participant pursuant to this PSU Award Agreement, including dividend equivalent Units allocable to PSUs granted under this PSU Award Agreement, if any, shall become vested on the last day of the Performance Period, provided the performance measures set forth below have been satisfied and the Participant has remained in continuous service with the Company or an Affiliate through the last day of the Performance Period (or as otherwise provided under the Plan). The final award number of PSUs will be determined by multiplying the Target Number of PSUs by the applicable multiplier factor set forth below.

 

Achievement Levels

Vested PSUs Payout

nil

.5 x Target Number of PSUs

1.0 x Target number of PSUs

1.5 x Target Number of PSUs

 

 
7

 

EX-10.36 10 daio_ex1036.htm FORM OF RESTRICTED STOCK UNIT AWARD AGREEMENT daio_ex1036.htm

 

EXHIBIT 10.36

 

Form of Restricted Stock Unit Award Agreement

 

RESTRICTED STOCK UNIT AWARD AGREEMENT

 

DATA I/O CORPORATION

91-0864123

6645 185th Ave NE, Suite 100

Redmond, WA 98052

 

This RESTRICTED STOCK UNIT AWARD AGREEMENT (the "Agreement") is made as of the grant date specified in the accompanying statement dated ______________, 20__ (the "Grant Date") & Grant #, by and between Data I/O Corporation, a Washington corporation (the "Company"), and the Participant listed in the signature page of this Agreement ("Participant"). The RSU Award (as defined below) is subject to the terms and conditions set forth in this RSU Award Agreement and in the Data I/O Corporation 2023 Omnibus Incentive Compensation Plan, (the "Plan"). Capitalized terms used but not otherwise defined herein shall have the meaning ascribed to such terms in the Plan.

 

The RSUs granted to the Participant shall be credited to an account in the Participant’s name. This account shall be a record of book‑keeping entries only and shall be utilized solely as a device for the measurement and determination of the number of Shares to be issued to or in respect of the Participant pursuant to this Agreement. The Company’s obligation with respect to settlement of RSUs is an unsecured and unfunded obligation. Neither the Plan nor this RSU Agreement shall create or be construed to create a trust or separate fund of any kind or a fiduciary relationship between the Company and Participant or any other person or entity. Any rights under the Plan and this RSU Agreement shall have no greater priority than those of an unsecured creditor of the Company.

 

1. Award and Vesting. The Company hereby grants to Participant a restricted stock unit award (the "RSU Award”) for that number of restricted stock units (the "Units") as detailed in the accompanying statement. Each Unit represents the right to receive one share of common stock, no par value per share, of the Company (a “Share), or cash equal to the Fair Market Value of a Share, subject to the vesting requirements of this Agreement and the terms of the Plan. The RSU Award represents the right to receive Shares only when, and with respect to the number of Shares to which, the Units have become vested.

 

(a) Scheduled Vesting Date. Unless otherwise indicated in the accompanying statement or otherwise provided in this Agreement, the Units shall vest annually over three years, with one-third vesting on each of the first, second and third anniversaries of the Grant Date (each a “Scheduled Vesting Date”), provided the Participant remains in continuous service with the Company or an Affiliate through such Scheduled Vesting Date.

 

(b) Vesting Ceases if Participant’s Service is Terminated for Cause. Notwithstanding Section 1(a) above, if the Participant is terminated for Cause, the vesting of Units will cease as of the date the Company learns of the behavior constituting Cause and all Units determined to be unvested as of such date will be forfeited. For purposes of this RSU Agreement, “Cause” means dishonesty, fraud, misconduct, disclosure of confidential information, conviction of, or a plea of guilty or no contest to, a felony under the laws of the United States or any state thereof, habitual absence from work for reasons other than illness, intentional conduct which causes significant injury to the Company or an Affiliate, habitual abuse of alcohol or a controlled substance, in each case as determined by the Committee, and the Committee’s determination shall be conclusive and binding.

 

(c) Accelerated Vesting Date. If Units become vested upon termination of employment or services due to death, Disability or Retirement, or upon involuntary termination by the Company without Cause, or upon Retirement, or upon Change of Control, in each case pursuant to Sections 3(a) through 3(d) hereof, or if the Committee exercises its discretion as permitted under the Plan to waive all vesting conditions or deem all vesting conditions to be satisfied with respect to some or all of the RSUs, the date of such termination of employment or services, Retirement, Change of Control, or Committee action will be the “Accelerated Vesting Date” for such Units.

 

 
1

 

 

2. Restrictions on Transfer. The Units may not be sold, assigned, transferred or pledged, other than by will or the laws of descent and distribution, and any such attempted transfer shall be void.

 

3. Forfeiture. Except as otherwise provided in Sections 3(a) through 3(d) hereof, if the Participant ceases to be employed by or provide services to the Company or any Affiliate (whether or not terminated for Cause) prior to the vesting of the Units on the Scheduled Vesting Date, or the Accelerated Vesting Date, as applicable, the Participant's rights to all of the unvested Units (and the unvested Shares subject to such Units) shall be immediately and irrevocably forfeited. Upon forfeiture, Participant will no longer have any rights relating to the unvested Units (and the unvested Shares subject to such Units.

 

(a) Participant’s Termination of Employment or Services Due to Death or Disability. If the Participant remains in continuous service with the Company or an Affiliate until the Participant’s employment or service is terminated due to death or Disability prior to the vesting of Units, any Units granted hereunder that previously have not become vested Units shall become fully (100%) vested as of the date of such termination. The date of such termination is the Accelerated Vesting Date for purposes of timing of settlement of the Units.

 

(b) Participant’s Termination of Employment or Services Due to Involuntary Termination. If the Participant remains in continuous service with the Company or an Affiliate until the Participant’s experiences an Involuntary Termination of employment or service by the Company without Cause prior to a Scheduled Vesting Date, then a pro rata number of any unvested Units shall become vested. The pro rata number of the Units that become vested shall be determined by multiplying the number of unvested Units corresponding to a particular Scheduled Vesting Date by a fraction, the numerator of which is the number of days of the Participant’s service with the Company or an Affiliate from the Grant Date to the date of termination, and the denominator of which is the number of days from the Grant Date to the Scheduled Vesting Date. The date of such termination is the Accelerated Vesting Date for purposes of timing of settlement of such Units. “Involuntary Termination” means the involuntary termination of the Participant’s service by the Company or by the Affiliate that employs the Participant, or by the other party to a transaction constituting a Change in Control, in each case for reasons other than Cause; or (ii) the voluntary resignation of the Participant following (A) a change in the Participant’s position with the Company (or with its successor or the Affiliate employing the Participant) or with the other party to the transaction constituting a Change of Control, that materially reduces the Participant’s level of authority or responsibility, or (B) a reduction in the Participant’s compensation (including base salary, fringe benefits and participation in bonus or incentive programs based on individual or corporate performance) by more than 20%.

 

(c) Change of Control. If the Participant remains in continuous service with the Company or an Affiliate until a Change of Control (as defined in the Plan) that occurs before the Scheduled Vesting Date, and the Participant’s Units are neither assumed nor substituted nor replaced with similar rights (or cash equivalents thereof), then upon consummation of the Change in Control 100% of the unvested Units shall become fully vested, and the date of the Change of Control is the Accelerated Vesting Date for purposes of timing of settlement of such Units. If the Participant’s Units are assumed or substituted or replaced with similar rights, then notwithstanding such assumption, substitution of replacement (i) 25% of the unvested Units shall become vested (and settled/paid) upon the Change of Control, and (ii) if the Participant experiences an Involuntary Termination without Cause within 12 months following the Change of Control, any Units (or replacement award) that remain unvested will vest in full as of the date of such termination and the date of such termination is the Accelerated Vesting Date for purposes of timing of settlement of the Units.

 

 
2

 

 

(d) Retirement. If the Participant retires after having attained the age of 62 with five years of service with the Company or an Affiliate, or after having attained age 55 with ten years of service with the Company or an Affiliate, in either case after having given the Company six months prior written notice of such retirement, then provided the Participant continues service to the Company or an Affiliate through the designated retirement date (or such modified retirement date as determined by the Committee), the Committee shall have the discretion, but not the obligation, to waive the vesting conditions or deem them satisfied with respect to some or all of the unvested Units. The effective date of such Committee action waiving the continued service vesting conditions is the Accelerated Vesting Date for purposes of timing of settlement of such Units.

 

4. Issuance of Shares. As soon as administratively practicable following the vesting of RSUs on the Scheduled Vesting Date, or the Accelerated Vesting Date, as applicable (each a Vesting Date), and the Participant's satisfaction of any required tax withholding obligations, (but in no event later than 60 days following the Vesting Date), the Company shall cause to be issued to the Participant, or to the Participant’s legal representatives, beneficiaries or heirs, as the case may be, one Share in settlement of each vested Unit (or cash equal to the value of a Share). The number of Shares issued shall equal the number of Units vested, reduced as necessary to cover the Withholding Obligations.

 

5. Tax Withholding. In order to comply with all applicable federal, state, local or foreign income tax laws or regulations (the “Withholding Obligations”), the Company may take such action as it deems appropriate to ensure that all applicable federal, state, local or foreign payroll, withholding, income or other taxes, which are the sole and absolute responsibility of a Participant, are withheld or collected from such Participant. Unless the Committee determines otherwise, the Company will withhold a portion of the Shares otherwise to be delivered upon settlement of the Units with a Fair Market Value equal to the amount of such taxes (subject to any applicable limitations to avoid adverse accounting treatment) (a “net settlement”). For greater certainty, in the event of a net settlement, the Company will not deliver to the Participant any fractional Shares (or equivalent cash value) remaining after reduction for the Withholding Obligations; rather, any remaining fractional Shares will be cancelled without payment. The Company may establish procedures to ensure satisfaction of all applicable Withholding Obligations arising in connection with this Agreement. If the Committee determines that net settlement will not apply, the Participant hereby authorizes the Company, at its sole discretion and subject to any limitations under applicable law, to satisfy any such Withholding Obligations by (1) withholding from the wages and other cash compensation payable to the Participant or by causing the Participant to tender a cash payment or other Shares to the Company; or (2) selling on the Participant’s behalf (using any brokerage firm determined acceptable to the Company for such purpose) a portion of the Shares issued in settlement of the Units as the Company determines to be appropriate to generate cash proceeds sufficient to satisfy the Withholding Obligations. The Participant shall be responsible for all brokerage fees and other costs of sale, and the Participant further agrees to indemnify and hold the Company harmless from any losses, costs, damages or expenses relating to any such sale. The Company may refuse to deliver Shares if the Participant fails to comply with the Participant’s obligations in connection with the Withholding Obligations described in this paragraph.

 

6. Rights as Shareholder. Units are not actual Shares, and only represent a right to receive Shares according to the terms and conditions set forth herein and the terms of the Plan. Accordingly, the issuance of a Unit shall not entitle the Participant to any of the rights or benefits generally accorded to shareholders unless and until a Share is actually issued.

 

7. U.S. Securities Restrictions. The Company may require from the Participant such investment representation, undertaking or agreement, if any, as the Company may consider necessary in order to comply with applicable laws and policies of any applicable Exchange. The Participant understands and acknowledges that Shares to be issued settlement of the RSUs may be issued subject to any restrictive legend or other transfer restrictions as may be required by applicable securities laws and stock exchange requirements.

 

 
3

 

 

8. Miscellaneous.

 

(a) Subject to Plan. This RSU Award is subject to the terms and conditions of the Plan, but the terms of the Plan shall not be considered an enlargement of any benefits under this Agreement. In addition, this Award is subject to the rules and regulations promulgated pursuant to the Plan, now or hereafter in effect. A copy of the Plan will be furnished upon request of the Participant and it may be found via the exhibit index in our current Annual Report on Form 10-K on dataio.com or sec.gov websites.

 

(b) No Right to Continued Service. This Agreement shall not confer on the Participant any right with respect to continuance of service to the Company, nor will it interfere in any way with the right of the Company to terminate such service at any time.

 

(c) Governing Law; Venue. The validity, construction and effect of the Plan and the Agreement, and any rules and regulations relating to the Plan and the Agreement, shall be determined in accordance with the internal laws, and not the law of conflicts, of the State of Washington. Any party bringing a legal action or proceeding against any other party arising out of or relating to this RSU Award Agreement may bring the legal action or proceeding in the United States District Court for the Western District of Washington or in any court of the State of Washington sitting in King County. Each party waives, to the fullest extent permitted by law (i) any objection it may now or later have to the laying of venue of any legal action or proceeding arising out of or relating to this RSU Award Agreement brought in a court described in the preceding sentence and (ii) any claim that any legal action or proceeding brought in any such court has been brought in an inconvenient forum.

 

(d) Section 409A Provisions. The Units and the issuance of Shares (or payment of cash) under this RSU Agreement are intended to be exempt from the application of section 409A of the Internal Revenue Code, as amended ("Section 409A") by reason of the short-term deferral exemption set forth in Treasury Regulation §1.409A-l(b)(4). Notwithstanding anything in the Plan or this RSU Agreement to the contrary, to the extent that any amount or benefit hereunder that constitutes "deferred compensation" to the Participant under Section 409A and applicable guidance thereunder is otherwise payable or distributable to the Participant under the Plan or this Agreement solely by reason of the occurrence of a Change in Control or due to the Participant's disability or termination of employment, such amount or benefit will not be payable or distributable to the Participant by reason of such circumstance unless the Committee determines in good faith that (i) the circumstances giving rise to such Change in Control, disability or separation from service meet the definition of a change in ownership or control, disability, or separation from service, as the case may be, in Section 409A(a)(2)(A) of the Code and applicable regulations, or (ii) the payment or distribution of such amount or benefit would be exempt from the application of Section 409A by reason of the short-term deferral exemption or otherwise. Any payment or distribution of deferred compensation that otherwise would be made to a Participant who is a specified employee as defined in Section 409A(a)(2)(B) of the Code on account of separation from service may not be made before the date which is six months after the date of the specified employee's separation from service (or if earlier, upon the Participant’s death), unless the payment or distribution is exempt from the application of Section 409A by reason of the short term deferral exemption or otherwise.

 

(e) Clawback, Recoupment, Company Policies. Units and Shares and/or cash delivered in settlement of Units awarded hereunder shall be subject to recovery or other penalties pursuant to (i) any Company clawback policy, as may be adopted or amended from time to time, or (ii) any applicable law, rule or regulation or applicable stock exchange rule, including, without limitation, Section 304 of the Sarbanes-Oxley Act of 2002, Section 954 of the Dodd-Frank Wall Street Reform and Consumer Protection Act and any applicable stock exchange listing rule adopted pursuant thereto. In addition, this RSU Award Agreement and all compensation awarded under this RSU Award Agreement shall be subject to the terms of any noncompetition, confidentiality or nondisclosure policies or agreements as may be in place between the Participant and the Company or any Affiliate from time to time.

 

 
4

 

 

(f) Entire Agreement. This RSU Award Agreement and the Plan constitute the entire contract between the parties hereto with regard to the subject matter hereof. They supersede any other agreements, representations or understandings (whether oral or written and whether express or implied) which relate to the subject matter hereof.

 

(g) Dividend Equivalents. Dividend equivalents on unvested RSUs will be credited to the notional RSU account of the Participant and will be subject to the same terms and conditions, including vesting and time of settlement, as the underlying RSUs to which they relate.

 

(h) Acknowledgment. The grant of RSUs hereunder shall not be effective until the Participant dates and signs the form of acknowledgment below and returns a signed copy or otherwise signs pursuant to any method of electronic acceptance approved by the Company or made available to the Participant through the platform of any third-party administrator or record-keeper retained by the Company to administer Awards granted under the Plan. By Participant’s signature and the signature of the Company’s representative, the Participant and the Company agree that this RSU Award is granted under and governed by the terms and conditions of the Data I/O Corporation 2023 Omnibus Incentive Compensation Plan and this RSU Award Agreement.

 

 
5

 

 

IN WITNESS WHEREOF, the Company and Participant have executed this Agreement on the date set forth in the accompanying statement.

 

DATA I/O CORPORATION

 

PARTICIPANT

 

 

 

 

 

 

 

By

 

 

Signature

 

 

 

 

 

 

 

 

Its

 

 

Printed/Typed Name

 

 

 

 
6

 

EX-97 11 daio_ex97.htm DATA I/O CORPORATION INCENTIVE COMPENSATION RECOVERY POLICY daio_ex97.htm

 

EXHIBIT 97

 

DATA I/O CORPORATION

 

INCENTIVE COMPENSATION RECOVERY POLICY

 

1. Introduction.

 

The Board of Directors of Data I/O Corporation (the “Company”) believes that it is in the best interests of the Company and its shareholders to create and maintain a culture that emphasizes integrity and accountability and that reinforces the Company's compensation philosophy. The Board has therefore adopted this policy, which provides for the recovery of erroneously awarded incentive compensation in the event that the Company is required to prepare an accounting restatement due to material noncompliance of the Company with any financial reporting requirements under the federal securities laws (the “Policy”). This Policy is designed to comply with Section 10D of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), related rules and the listing standards of the Nasdaq Stock Market or any other securities exchange on which the Company’s shares are listed in the future.

 

2. Administration.

 

This Policy shall be administered by the Board or, if so designated by the Board, the Compensation Committee (the “Committee”), in which case, all references herein to the Board shall be deemed references to the Committee. Any determinations made by the Board shall be final and binding on all affected individuals.

 

3. Covered Executives.

 

Unless and until the Board determines otherwise, for purposes of this Policy, the term “Covered Executive” means a current or former employee who is or was identified by the Company as the Company’s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice-president of the Company in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or any other person (including any executive officer of the Company’s subsidiaries or affiliates) who performs similar policy-making functions for the Company. “Policy-making function” excludes policy-making functions that are not significant. “Covered Executives” will include, at minimum, the executive officers identified by the Company pursuant to Item 401(b) of Regulation S-K of the Exchange Act. For the avoidance of doubt, “Covered Executives” will include at least the following Company officers: Chief Executive Officer and Chief Financial Officer.

 

This Policy covers Incentive Compensation received by a person after beginning service as a Covered Executive and who served as a Covered Executive at any time during the performance period for that Incentive Compensation.

 

4. Recovery: Accounting Restatement.

 

In the event of an “Accounting Restatement,” the Company will recover reasonably promptly any excess Incentive Compensation received by any Covered Executive during the three completed fiscal years immediately preceding the date on which the Company is required to prepare an Accounting Restatement, including transition periods resulting from a change in the Company’s fiscal year as provided in Rule 10D-1 of the Exchange Act. Incentive Compensation is deemed “received” in the Company’s fiscal period during which the Financial Reporting Measure specified in the Incentive Compensation award is attained, even if the payment or grant of the Incentive Compensation occurs after the end of that period.

 

 

(a)

Definition of Accounting Restatement.

 

 

 

 

 

For the purposes of this Policy, an “Accounting Restatement” means the Company is required to prepare an accounting restatement of its financial statements filed with the Securities and Exchange Commission (the “SEC”) due to the Company’s material noncompliance with any financial reporting requirements under the federal securities laws (including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period).

 
 
1

 

   

 

 

The determination of the time when the Company is “required” to prepare an Accounting Restatement shall be made in accordance with applicable SEC and national securities exchange rules and regulations.

 

An Accounting Restatement does not include situations in which financial statement changes did not result from material non-compliance with financial reporting requirements, such as, but not limited to retrospective: (i) application of a change in accounting principles; (ii) revision to reportable segment information due to a change in the structure of the Company’s internal organization; (iii) reclassification due to a discontinued operation; (iv) application of a change in reporting entity, such as from a reorganization of entities under common control; (v) adjustment to provision amounts in connection with a prior business combination; and (vi) revision for stock splits, stock dividends, reverse stock splits or other changes in capital structure.

 

 

 

 

(b) 

Definition of Incentive Compensation.

 

 

 

 

 

For purposes of this Policy, “Incentive Compensation” means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure, including, for example, bonuses or awards under the Company’s short and long-term incentive plans, grants and awards under the Company’s equity incentive plans, and contributions of such bonuses or awards to the Company’s deferred compensation plans or other employee benefit plans. Incentive Compensation does not include awards which are granted, earned and vested without regard to attainment of Financial Reporting Measures, such as time-vesting awards, discretionary awards and awards based wholly on subjective standards, strategic measures or operational measures.

 

 

 

 

(c)

Financial Reporting Measures.

 

 

 

 

 

“Financial Reporting Measures” are those that are determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements (including non-GAAP financial measures) and any measures derived wholly or in part from such financial measures. For the avoidance of doubt, Financial Reporting Measures include stock price and total shareholder return. A measure need not be presented within the financial statements or included in a filing with the SEC to constitute a Financial Reporting Measure for purposes of this Policy.

 

 

 

 

(d)

Excess Incentive Compensation: Amount Subject to Recovery.

 

 

 

 

 

The amount(s) to be recovered from the Covered Executive will be the amount(s) by which the Covered Executive’s Incentive Compensation for the relevant period(s) exceeded the amount(s) that the Covered Executive otherwise would have received had such Incentive Compensation been determined based on the restated amounts contained in the Accounting Restatement. All amounts shall be computed without regard to taxes paid.

 

For Incentive Compensation based on Financial Reporting Measures such as stock price or total shareholder return, where the amount of excess compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the Board will calculate the amount to be reimbursed based on a reasonable estimate of the effect of the Accounting Restatement on such Financial Reporting Measure upon which the Incentive Compensation was received. The Company will maintain documentation of that reasonable estimate and will provide such documentation to the applicable national securities exchange.

  
 
2

 

 

 

(e)

Method of Recovery.

 

 

 

 

 

The Board will determine, in its sole discretion, the method(s) for recovering reasonably promptly excess Incentive Compensation hereunder. Such methods may include, without limitation:

 

 

 

(i)

requiring reimbursement of compensation previously paid;

 

 

 

 

(ii)

forfeiting any compensation contribution made under the Company’s deferred compensation plans, as well as any matching amounts and earnings thereon;

 

 

 

 

(iii)

offsetting the recovered amount from any compensation that the Covered Executive may earn or be awarded in the future (including, for the avoidance of doubt, recovering amounts earned or awarded in the future to such individual equal to compensation paid or deferred into tax–qualified plans or plans subject to the Employee Retirement Income Security Act of 1974 (collectively, “Exempt Plans”); provided that, no such recovery will be made from amounts held in any Exempt Plan of the Company);

 

 

 

 

(iv)

taking any other remedial and recovery action permitted by law, as determined by the Board; or

 

 

 

 

(v)

some combination of the foregoing.

 

5. No Indemnification or Advance.

 

Subject to applicable law, the Company shall not indemnify, including by paying or reimbursing for premiums for any insurance policy covering any potential losses, any Covered Executives against the loss of any erroneously awarded Incentive Compensation, nor shall the Company advance any costs or expenses to any Covered Executives in connection with any action to recover excess Incentive Compensation.

 

6. Interpretation.

 

The Board is authorized to interpret and construe this Policy and to make all determinations necessary, appropriate or advisable for the administration of this Policy. It is intended that this Policy be interpreted in a manner that is consistent with the requirements of Section 10D of the Exchange Act and any applicable rules or standards adopted by the SEC or any national securities exchange on which the Company's securities are listed.

 

7. Effective Date.

 

The Board adopted this Policy on October 25, 2023. This Policy applies to Incentive Compensation received by Covered Executives on or after October 2, 2023 (the “Effective Date”) that results from attainment of a Financial Reporting Measure based on or derived from financial information for any fiscal period ending on or after the Effective Date. In addition, this Policy is intended to be and will be incorporated as an essential term and condition of any Incentive Compensation agreement, plan or program that the Company establishes or maintains on or after the Effective Date.

 

8. Amendment and Termination.

 

The Board may amend this Policy from time to time in its discretion, and shall amend this Policy as it deems necessary to reflect changes in regulations adopted by the SEC under Section 10D of the Exchange Act and to comply with any rules or standards adopted by the Nasdaq Stock Market or any other securities exchange on which the Company’s shares are listed in the future.

 

 
3

 

 

9. Other Recovery Rights.

 

The Board intends that this Policy will be applied to the fullest extent of the law. Upon receipt of this Policy, each Covered Executive is required to complete the Receipt and Acknowledgement attached as Schedule A to this Policy. The Board may require that any employment agreement or similar agreement relating to Incentive Compensation received on or after the Effective Date shall, as a condition to the grant of any benefit thereunder, require a Covered Executive to agree to abide by the terms of this Policy. Any right of recovery under this Policy is in addition to, and not in lieu of, any (i) other remedies or rights of compensation recovery that may be available to the Company pursuant to the terms of any similar policy in any employment agreement, or similar agreement relating to Incentive Compensation, unless any such agreement expressly prohibits such right of recovery, and (ii) any other legal remedies available to the Company. The provisions of this Policy are in addition to (and not in lieu of) any rights to repayment the Company may have under Section 304 of the Sarbanes-Oxley Act of 2002 and other applicable laws.

 

10. Impracticability.

 

The Company shall recover any excess Incentive Compensation in accordance with this Policy, except to the extent that certain conditions are met and the Board has determined that such recovery would be impracticable, all in accordance with Rule 10D‑1 of the Exchange Act and the Nasdaq Stock Market or any other securities exchange on which the Company’s shares are listed in the future.

 

11. Successors.

 

This Policy shall be binding upon and enforceable against all Covered Executives and their beneficiaries, heirs, executors, administrators or other legal representatives.

 

 
4

 

 

Schedule A

 

INCENTIVE-BASED COMPENSATION CLAWBACK POLICY

 

RECEIPT AND ACKNOWLEDGEMENT

 

I, __________________________________________, hereby acknowledge that I have received and read a copy of the Incentive Compensation Recovery Policy. As a condition of my receipt of any Incentive Compensation as defined in the Policy, I hereby agree to the terms of the Policy. I further agree that if recovery of excess Incentive Compensation is required pursuant to the Policy, the Company shall, to the fullest extent permitted by governing laws, require such recovery from me up to the amount by which the Incentive Compensation received by me, and amounts paid or payable pursuant or with respect thereto, constituted excess Incentive Compensation.  If any such reimbursement, reduction, cancelation, forfeiture, repurchase, recoupment, offset against future grants or awards and/or other method of recovery does not fully satisfy the amount due, I agree to immediately pay the remaining unpaid balance to the Company.

 

 

 

 

 

Signature

 

Date

 

 

 
5

 

EX-101.SCH 12 daio-20231231.xsd XBRL TAXONOMY EXTENSION SCHEMA 000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 000002 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 000005 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) link:presentationLink link:calculationLink link:definitionLink 000006 - Statement - CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 000008 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 000009 - Disclosure - ACCOUNTS RECEIVABLE NET link:presentationLink link:calculationLink link:definitionLink 000010 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 000011 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET link:presentationLink link:calculationLink link:definitionLink 000012 - Disclosure - OTHER ACCRUED LIABILITIES link:presentationLink link:calculationLink link:definitionLink 000013 - Disclosure - OPERATING LEASE COMMITMENTS link:presentationLink link:calculationLink link:definitionLink 000014 - Disclosure - OTHER COMMITMENTS link:presentationLink link:calculationLink link:definitionLink 000015 - Disclosure - CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 000016 - Disclosure - STOCK AND RETIREMENT PLANS link:presentationLink link:calculationLink link:definitionLink 000017 - Disclosure - SHAREBASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 000018 - Disclosure - SHARE REPURCHASE PROGRAMS link:presentationLink link:calculationLink link:definitionLink 000019 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 000020 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION link:presentationLink link:calculationLink link:definitionLink 000021 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 000022 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 000023 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 000024 - Disclosure - ACCOUNTS RECEIVABLE NET (Tables) link:presentationLink link:calculationLink link:definitionLink 000025 - Disclosure - INVENTORIES NET (Tables) link:presentationLink link:calculationLink link:definitionLink 000026 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Tables) link:presentationLink link:calculationLink link:definitionLink 000027 - Disclosure - OTHER ACCRUED LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 000028 - Disclosure - OPERATING LEASE COMMITMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 000029 - Disclosure - SHAREBASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 000030 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 000031 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 000032 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) link:presentationLink link:calculationLink link:definitionLink 000033 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) link:presentationLink link:calculationLink link:definitionLink 000034 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000035 - Disclosure - ACCOUNTS RECEIVABLE NET (Details) link:presentationLink link:calculationLink link:definitionLink 000036 - Disclosure - ACCOUNTS RECEIVABLE NET (Details 1) link:presentationLink link:calculationLink link:definitionLink 000037 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 000038 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Details) link:presentationLink link:calculationLink link:definitionLink 000039 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000040 - Disclosure - OTHER ACCRUED LIABILITIES (Details) link:presentationLink link:calculationLink link:definitionLink 000041 - Disclosure - OTHER ACCRUED LIABILITIES (Details 1) link:presentationLink link:calculationLink link:definitionLink 000042 - Disclosure - OPERATING LEASE COMMITMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 000043 - Disclosure - OPERATING LEASE COMMITMENTS (Details 1) link:presentationLink link:calculationLink link:definitionLink 000044 - Disclosure - OPERATING LEASE COMMITMENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000045 - Disclosure - OTHER COMMITMENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000046 - Disclosure - STOCK AND RETIREMENT PLANS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000047 - Disclosure - SHARE BASED COMPENSATION (Details) link:presentationLink link:calculationLink link:definitionLink 000048 - Disclosure - SHARE BASED COMPENSATION (Details 1) link:presentationLink link:calculationLink link:definitionLink 000049 - Disclosure - SHARE BASED COMPENSATION (Details 2) link:presentationLink link:calculationLink link:definitionLink 000050 - Disclosure - SHARE BASED COMPENSATION (Details 3) link:presentationLink link:calculationLink link:definitionLink 000051 - Disclosure - SHARE BASED COMPENSATION (Details 4) link:presentationLink link:calculationLink link:definitionLink 000052 - Disclosure - SHARE BASED COMPENSATION (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000053 - Disclosure - INCOME TAXES (Details) link:presentationLink link:calculationLink link:definitionLink 000054 - Disclosure - INCOME TAXES (Details 1) link:presentationLink link:calculationLink link:definitionLink 000055 - Disclosure - INCOME TAXES (Details 2) link:presentationLink link:calculationLink link:definitionLink 000056 - Disclosure - INCOME TAXES (Details 3) link:presentationLink link:calculationLink link:definitionLink 000057 - Disclosure - INCOME TAXES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000058 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.LAB 13 daio-20231231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Cover [Abstract] Entity Registrant Name Entity Central Index Key Document Type Amendment Flag Entity Voluntary Filers Current Fiscal Year End Date Entity Well Known Seasoned Issuer Entity Small Business Entity Shell Company Entity Emerging Growth Company Entity Current Reporting Status Document Period End Date Entity Filer Category Document Fiscal Period Focus Document Fiscal Year Focus Entity Common Stock Shares Outstanding Entity Public Float Document Annual Report Document Transition Report Document Fin Stmt Error Correction Flag Entity File Number Entity Incorporation State Country Code Entity Tax Identification Number Entity Address Address Line 1 Entity Address Address Line 2 Entity Address City Or Town Entity Address State Or Province Entity Address Postal Zip Code City Area Code Icfr Auditor Attestation Flag Auditor Name Auditor Location Auditor Firm Id Local Phone Number Security 12b Title Trading Symbol Security Exchange Name Entity Interactive Data Current CONSOLIDATED BALANCE SHEETS ASSETS CURRENT ASSETS: Cash and cash equivalents Trade accounts receivable, net of allowance for credit losses of $72 and $147, respectively Inventories Other current assets TOTAL CURRENT ASSETS [Assets, Current] Property, plant and equipment - net Other assets TOTAL ASSETS [Assets] LIABILITIES AND STOCKHOLDERS' EQUITY CURRENT LIABILITIES: Accounts payable Accrued compensation Deferred revenue Other accrued liabilities Income taxes payable TOTAL CURRENT LIABILITIES [Liabilities, Current] Operating lease liabilities Long-term other payables COMMITMENTS STOCKHOLDERS' EQUITY Preferred stock - Authorized, 5,000,000 shares, including 200,000 shares of Series A Junior Participating Issued and outstanding, none Common stock, at stated value - Authorized, 30,000,000 shares Issued and outstanding, 9,020,819 shares as of December 31, 2023 and 8,816,381 shares as of December 31, 2022 Accumulated earnings (deficit) Accumulated other comprehensive income TOTAL STOCKHOLDERS' EQUITY [Stockholders' Equity Attributable to Parent] TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY [Liabilities and Equity] Statement [Table] Statement [Line Items] Statement Class Of Stock Axis Series A Junior Participating Trade Accounts Receivable, Net Of Allowance Preferred Stock, Authorized Shares Common Stock, Authorized Shares Common Stock, Issued Shares Common Stock, Outstanding Shares CONSOLIDATED STATEMENTS OF OPERATIONS Net sales Cost of goods sold Gross margin [Gross Profit] Operating expenses: Research and development Selling, general and administrative Total operating expenses [Operating Expenses] Operating income (loss) [Operating Income (Loss)] Non-operating income (loss): Interest income Gain on sale of assets Foreign currency transaction gain (loss) Total non-operating income (loss) [Nonoperating Income (Expense)] Income (loss) before income taxes Income tax (expense) benefit [Income Tax Expense (Benefit)] Net income (loss) [Net Income (Loss) Attributable to Parent] Basic earnings (loss) per share Diluted earnings (loss) per share Weighted-average basic shares Weighted-average diluted shares CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) Net Income (loss) Other comprehensive income: Foreign currency translation gain (loss) Comprehensive income (loss) [Comprehensive Income (Loss), Net of Tax, Attributable to Parent] CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY Statement Equity Components Axis Common Stock Retained Earnings (Accumulated Deficit) Accumulated other comprehensive loss Balance, shares [Shares, Issued] Balance, amount Stock awards issued, net of tax withholding, shares Stock awards issued, net of tax withholding, amount Employee Stock Purchase Plan, shares Employee Stock Purchase Plan, amount Share-based compensation Net income (loss) Other comprehensive income gain (loss) Balance, shares Balance, amount CONSOLIDATED STATEMENTS OF CASH FLOWS Adjustments to reconcile net income (loss) Depreciation and amortization Equipment transferred to cost of goods sold Share-based compensation [Share-Based Payment Arrangement, Noncash Expense] Net change in: Trade accounts receivable Inventories [Increase (Decrease) in Inventories] Other current assets [Increase (Decrease) in Other Current Assets] Accounts payable and accrued liabilities Deferred revenue [Increase (Decrease) in Deferred Revenue] Other long-term liabilities Deposits and other long-term assets Net cash provided by (used in) operating activities [Net Cash Provided by (Used in) Operating Activities] CASH FLOWS FROM INVESTING ACTIVITIES: Purchases of property, plant and equipment [Payments to Acquire Property, Plant, and Equipment] Cash provided by (used in) investing activities [Net Cash Provided by (Used in) Investing Activities] CASH FLOWS FROM FINANCING ACTIVITIES: Net proceeds from issuance of common stock, less payments for shares withheld to cover tax Cash provided by (used in) financing activities [Net Cash Provided by (Used in) Financing Activities] Increase (decrease) in cash and cash equivalents [Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect] Effects of exchange rate changes on cash Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Supplemental disclosure of cash flow information: Cash paid during the period for: Income taxes SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Significant Accounting Policies [Text Block] ACCOUNTS RECEIVABLE NET ACCOUNTS RECEIVABLE, NET INVENTORIES INVENTORIES Inventory Disclosure [Text Block] PROPERTY PLANT AND EQUIPMENT NET PROPERTY, PLANT AND EQUIPMENT, NET OTHER ACCRUED LIABILITIES OTHER ACCRUED LIABILITIES Accounts Payable and Accrued Liabilities Disclosure [Text Block] OPERATING LEASE COMMITMENTS OPERATING LEASE COMMITMENTS [OPERATING LEASE COMMITMENTS] OTHER COMMITMENTS OTHER COMMITMENTS [OTHER COMMITMENTS] CONTINGENCIES CONTINGENCIES Commitments and Contingencies Disclosure [Text Block] STOCK AND RETIREMENT PLANS STOCK AND RETIREMENT PLANS [STOCK AND RETIREMENT PLANS] SHAREBASED COMPENSATION SHARE-BASED COMPENSATION SHARE REPURCHASE PROGRAMS SHARE REPURCHASE PROGRAMS [SHARE REPURCHASE PROGRAMS] INCOME TAXES INCOME TAXES Regulatory Income Taxes, Policy [Policy Text Block] SEGMENT AND GEOGRAPHIC INFORMATION SEGMENT AND GEOGRAPHIC INFORMATION [SEGMENT AND GEOGRAPHIC INFORMATION] SUBSEQUENT EVENTS SUBSEQUENT EVENTS Subsequent Events [Text Block] Nature of Operations Principles of Consolidation Use of Estimates Foreign Currency Translation Cash and Cash Equivalents Fair Value of Financial Instruments Accounts Receivable Inventories Inventory, Policy [Policy Text Block] Property, Plant and Equipment Patent Costs Income Taxes Share-Based Compensation Revenue Recognition Leases - Accounting Standards Codification 842 Research and Development Research and Development Expense, Policy [Policy Text Block] Advertising Expense Warranty Expense Earnings (Loss) Per Share Diversification of Credit Risk Diversification of net sales COVID-19 New Accounting Pronouncements - Standards Issued and Implemented New Accounting Pronouncements - Standards Issued and Not Yet Implemented Disaggregation of revenue Schedule of consolidated accounts receivable Schedule of Diversification of net sales Schedule of accounts receivable Inventories Schedule of Inventory, Current [Table Text Block] Property, plant and equipment, net Other accrued liabilities Schedule of Accrued Liabilities [Table Text Block] Product warranty liability Operating lease commitments Supplemental balance sheet information related to leases Share-based compensation Share-Based Payment Arrangement, Cost by Plan [Table Text Block] Stock option activity Restricted stock award including performance-based stock award activity under our share-based compensation plan Unamortized compensation expense Weighted average number of shares outstanding Components of income (loss) before taxes Components of income tax expense (benefit) Reconciliation of effective income tax Schedule of deferred tax assets and liabilities Schedule of unrecognized tax benefits Summary of operating information by geographic area Product Or Service Axis Equipment Sales Adapter Sales Software and Maintenance Sales Net sales Change in sales percentage Concentration Risk By Type Axis 1 customers 2 customers 3 customers Accounts Receivable [Accounts Receivable] Sales Cash and cash equivalents held in foreign banks Advertising expenses Common stock equivalent shares Options excluded from the computation of diluted EPS Foreign accounts receivable Trade accounts receivable [Accounts Receivable, before Allowance for Credit Loss, Current] Less allowance for doubtful receivables Trade accounts receivable, net Beginning balance [Accounts Receivable, Allowance for Credit Loss] Bad debt expense (reversal) Accounts written-off [Accounts Receivable, Allowance for Credit Loss, Writeoff] Recoveries Ending balance Raw material Work-in-process Finished goods Inventories Leasehold improvements Equipment Sales demonstration equipment Property and equipment gross Less accumulated depreciation Property and equipment, net Depreciation expense Lease liability - short term Product warranty Sales return reserve Other taxes Other Other accrued liabilities [Accrued Liabilities] Liability, beginning balance [Standard and Extended Product Warranty Accrual] Net expenses Warranty claims [Standard and Extended Product Warranty Accrual, Decrease for Payments] Accrual revisions Liability, ending balance 2024 2025 2026 2027 2028 & Thereafter Total [Operating Leases, Future Minimum Payments Due] Less: imputed interest [Lessee, Operating Lease, Liability, Undiscounted Excess Amount] Total operating lease liability Right-of-use assets (Long-term other assets) Lease liability-short term (Other accrued liabilities) Lease liability-long term (Long-term other payables) Income Tax Authority, Name [Axis] China Short-term lease expenses Cash paid for operating lease liabilities Weighted average remaining lease term Weighted average discount rate Short-term lease costs Lease base annual rental payments After 2024 2024 [Other Commitment, to be Paid, Year One] Financial Instrument Axis Option Indexed To Issuers Equity Equity Axis Equity Option [Member] Employee Stock Purchase Plan [Member] 401(k) Retirement Savings Plan matching contribution expense Employer matching contributions owed to the plan Outstanding stock appreciation rights, shares Number of shares available for future grant Number of Common Stock reserved for issuance consisting Inducement reserve shares Inducement reserve shares granted in 2019, vested but unissued Options granted maximum term Purchase shares Common Stock Number of purchase shares Average execise prices Number of shares reserved for future issuance Income Statement Location Axis Cost of Goods Sold Research and Development Research and Development Expense [Member] Selling, General and Administrative Share-based compensation Stock Option [Member] Number of options, Outstanding beginning balance [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number] Number of options, Granted Number of options, Exercised Number of options, Cancelled, Expired or Forfeited Number of options, Outstanding ending balance Number of options, Vested or expected to vest at the end of the period [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number] Number of options, Exercisable at end of year [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number] Weighted-Average Exercise Price, Outstanding beginning balance [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price] Weighted-Average Exercise Price, Granted Weighted-Average Exercise Price, Exercised Weighted-Average Exercise Price, Cancelled, Expired or Forfeited Weighted-Average Exercise Price, Outstanding ending balance Weighted-Average Exercise Price, Vested or expected to vest at the end of the period [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price] Weighted-Average Exercise Price, Exercisable at end of year [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price] Weighted-Average Remaining Contractual Life in Years, Outstanding beginning balance Weighted-Average Remaining Contractual Life in Years, Vested or expected to vest at the end of the period Weighted-Average Remaining Contractual Life in Years, Exercisable at end of year Restricted Stock Award Outstanding beginning balance [Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number] Granted Vested [Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period] Cancelled [Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period] Outstanding ending balance Weighted-Average Grant Date Fair Value, Outstanding beginning balance [Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value] Weighted-Average Grant Date Fair Value, Granted Weighted-Average Grant Date Fair Value, Vested Weighted-Average Grant Date Fair Value, Cancelled Weighted-Average Grant Date Fair Value, Outstanding ending balance Unamortized future compensation expense Remaining weighted average amortization period in years Weighted average shares outstanding Restricted and Performance Stock Units Stock Options Weighted average diluted shares Withheld from issuance of restricted stock units vesting and stock option Performance shares granted Aggregate intrinsic value of options outstanding U.S. operations Foreign operations Total income (loss) before taxes Income tax expense (benefit) consists of: U.S. federal State Foreign Total Income tax expense (benefit) Deferred tax expense (benefit) - U.S. federal Income tax expense (benefit) Statutory tax State and foreign income tax, net of federal income tax benefit Valuation allowance for deferred tax assets Foreign sourced deemed dividend income Stock based compensation Other [Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount] Income tax (expense) benefit Unrecognized tax benefits, opening balance [Unrecognized Tax Benefits] Prior period tax position increases [Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions] Additions based on tax positions related to current year Unrecognized tax benefits, ending balance U.S. net operating loss carryforwards Expiration years U.S. Rest of World Germany Europe Net sales Operating income (loss) TOTAL ASSETS Custom Element. Amount of allowance for credit loss on accounts receivable, classified as current. Custom Element. EX-101.CAL 14 daio-20231231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.PRE 15 daio-20231231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE EX-101.DEF 16 daio-20231231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE XML 18 R1.htm IDEA: XBRL DOCUMENT v3.24.1
Cover - USD ($)
12 Months Ended
Dec. 31, 2023
Mar. 18, 2024
Jun. 30, 2023
Cover [Abstract]      
Entity Registrant Name DATA I/O CORPORATION    
Entity Central Index Key 0000351998    
Document Type 10-K    
Amendment Flag false    
Entity Voluntary Filers No    
Current Fiscal Year End Date --12-11    
Entity Well Known Seasoned Issuer No    
Entity Small Business true    
Entity Shell Company false    
Entity Emerging Growth Company false    
Entity Current Reporting Status Yes    
Document Period End Date Dec. 31, 2023    
Entity Filer Category Non-accelerated Filer    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2023    
Entity Common Stock Shares Outstanding   9,023,200  
Entity Public Float     $ 35,598,991
Document Annual Report true    
Document Transition Report false    
Document Fin Stmt Error Correction Flag false    
Entity File Number 0-10394    
Entity Incorporation State Country Code WA    
Entity Tax Identification Number 91-0864123    
Entity Address Address Line 1 6645 185th Ave NE    
Entity Address Address Line 2 Suite 100    
Entity Address City Or Town Redmond    
Entity Address State Or Province WA    
Entity Address Postal Zip Code 98052    
City Area Code 425    
Icfr Auditor Attestation Flag false    
Auditor Name GRANT THORNTON LLP    
Auditor Location Bellevue, Washington    
Auditor Firm Id 248    
Local Phone Number 881-6444    
Security 12b Title Common Stock    
Trading Symbol DAIO    
Security Exchange Name NASDAQ    
Entity Interactive Data Current Yes    
XML 19 R2.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
CURRENT ASSETS:    
Cash and cash equivalents $ 12,341 $ 11,510
Trade accounts receivable, net of allowance for credit losses of $72 and $147, respectively 5,707 4,992
Inventories 5,875 6,751
Other current assets 690 645
TOTAL CURRENT ASSETS 24,613 23,898
Property, plant and equipment - net 1,359 1,072
Other assets 1,429 2,195
TOTAL ASSETS 27,401 27,165
CURRENT LIABILITIES:    
Accounts payable 1,272 1,366
Accrued compensation 2,003 1,670
Deferred revenue 1,362 1,575
Other accrued liabilities 1,438 1,596
Income taxes payable 113 112
TOTAL CURRENT LIABILITIES 6,188 6,319
Operating lease liabilities 702 1,500
Long-term other payables 192 237
COMMITMENTS 0 0
STOCKHOLDERS' EQUITY    
Preferred stock - Authorized, 5,000,000 shares, including 200,000 shares of Series A Junior Participating Issued and outstanding, none 0 0
Common stock, at stated value - Authorized, 30,000,000 shares Issued and outstanding, 9,020,819 shares as of December 31, 2023 and 8,816,381 shares as of December 31, 2022 22,731 21,897
Accumulated earnings (deficit) (2,645) (3,131)
Accumulated other comprehensive income 233 343
TOTAL STOCKHOLDERS' EQUITY 20,319 19,109
TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY $ 27,401 $ 27,165
XML 20 R3.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Trade Accounts Receivable, Net Of Allowance $ 72 $ 147
Preferred Stock, Authorized Shares 5,000,000 5,000,000
Common Stock, Authorized Shares 30,000,000 30,000,000
Common Stock, Issued Shares 9,020,819 8,816,381
Common Stock, Outstanding Shares 9,020,819 8,816,381
Series A Junior Participating    
Preferred Stock, Authorized Shares 200,000 200,000
XML 21 R4.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
CONSOLIDATED STATEMENTS OF OPERATIONS    
Net sales $ 28,064 $ 24,217
Cost of goods sold 11,878 11,007
Gross margin 16,186 13,210
Operating expenses:    
Research and development 6,524 6,083
Selling, general and administrative 9,214 7,876
Total operating expenses 15,738 13,959
Operating income (loss) 448 (749)
Non-operating income (loss):    
Interest income 190 34
Gain on sale of assets 0 57
Foreign currency transaction gain (loss) 42 221
Total non-operating income (loss) 232 312
Income (loss) before income taxes 680 (437)
Income tax (expense) benefit (194) (683)
Net income (loss) $ 486 $ (1,120)
Basic earnings (loss) per share $ 0.05 $ (0.13)
Diluted earnings (loss) per share $ 0.05 $ (0.13)
Weighted-average basic shares 8,941 8,741
Weighted-average diluted shares 9,073 8,741
XML 22 R5.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)    
Net Income (loss) $ 486 $ (1,120)
Other comprehensive income:    
Foreign currency translation gain (loss) (110) (635)
Comprehensive income (loss) $ 376 $ (1,755)
XML 23 R6.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Retained Earnings (Accumulated Deficit)
Accumulated other comprehensive loss
Balance, shares at Dec. 31, 2021   8,621,007    
Balance, amount at Dec. 31, 2021 $ 19,853 $ 20,886 $ (2,011) $ 978
Stock awards issued, net of tax withholding, shares   192,086    
Stock awards issued, net of tax withholding, amount (178) $ (178) 0 0
Employee Stock Purchase Plan, shares   3,288    
Employee Stock Purchase Plan, amount 13 $ 13 0 0
Share-based compensation 1,176 1,176 0 0
Net income (loss) (1,120) 0 (1,120) 0
Other comprehensive income gain (loss) (635) $ 0 0 (635)
Balance, shares at Dec. 31, 2022   8,816,381    
Balance, amount at Dec. 31, 2022 19,109 $ 21,897 (3,131) 343
Stock awards issued, net of tax withholding, shares   201,172    
Stock awards issued, net of tax withholding, amount (370) $ (370) 0 0
Employee Stock Purchase Plan, shares   3,266    
Employee Stock Purchase Plan, amount 14 $ 14 0 0
Share-based compensation 1,190 1,190 0 0
Net income (loss) 486 0 486 0
Other comprehensive income gain (loss) (110) $ 0 0 (110)
Balance, shares at Dec. 31, 2023   9,020,819    
Balance, amount at Dec. 31, 2023 $ 20,319 $ 22,731 $ (2,645) $ 233
XML 24 R7.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
CONSOLIDATED STATEMENTS OF CASH FLOWS    
Net income (loss) $ 486 $ (1,120)
Adjustments to reconcile net income (loss)    
Depreciation and amortization 608 560
Equipment transferred to cost of goods sold 301 394
Share-based compensation 1,190 1,176
Net change in:    
Trade accounts receivable (719) (1,100)
Inventories 815 (588)
Other current assets (48) 61
Accounts payable and accrued liabilities 109 (428)
Deferred revenue (267) 199
Other long-term liabilities (684) (890)
Deposits and other long-term assets 637 684
Net cash provided by (used in) operating activities 2,428 (1,052)
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of property, plant and equipment (1,195) (1,080)
Cash provided by (used in) investing activities (1,195) (1,080)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Net proceeds from issuance of common stock, less payments for shares withheld to cover tax (356) (165)
Cash provided by (used in) financing activities (356) (165)
Increase (decrease) in cash and cash equivalents 877 (2,297)
Effects of exchange rate changes on cash (46) (383)
Cash and cash equivalents at beginning of period 11,510 14,190
Cash and cash equivalents at end of period 12,341 11,510
Cash paid during the period for:    
Income taxes $ 171 $ 556
XML 25 R8.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
12 Months Ended
Dec. 31, 2023
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES  
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

NOTE 1 – SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Nature of Operations

 

Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) designs, manufactures and sells programming systems used by designers and manufacturers of electronic products.  Our programming system products are used to program integrated circuits (“ICs” or “devices” or “semiconductors”) with the specific unique data necessary for the ICs contained in various products, and are an important tool for the electronics industry experiencing growing use of programmable ICs.  Customers for our programming system products are located around the world, primarily in Asia, Europe and the Americas.  Our manufacturing operations are currently located in Redmond, Washington, United States and Shanghai, China.

 

Principles of Consolidation

 

The consolidated financial statements include the accounts of Data I/O Corporation and our wholly-owned subsidiaries.  Intercompany accounts and transactions have been eliminated in consolidation.

 

Use of Estimates

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period.  Actual results could differ from those estimates.

 

Significant estimates include:

 

·

Revenue Recognition

 

·

Allowance for Credit Losses

 

·

Inventory

 

·

Warranty Accruals

 

·

Tax Valuation Allowances

 

·

Share-based Compensation

 

Foreign Currency Translation

 

Assets and liabilities of foreign subsidiaries are translated at the exchange rate on the balance sheet date.  Revenues, costs and expenses of foreign subsidiaries are translated at average rates of exchange prevailing during the year.  Translation adjustments resulting from this process are charged or credited to stockholders’ equity.  Realized and unrealized gains and losses resulting from the effects of changes in exchange rates on assets and liabilities denominated in foreign currencies are included in non-operating expense as foreign currency transaction gains and losses.

 

Cash and Cash Equivalents

 

All highly liquid investments purchased with an original maturity of 90 days or less are considered cash equivalents.  We maintain our cash and cash equivalents with major financial institutions in the United States of America, which are insured by the Federal Deposit Insurance Corporation (FDIC), and in foreign jurisdictions.  Deposits in U.S. banks exceed the FDIC insurance limit.  We have not experienced any losses on our cash and cash equivalents.  Cash and cash equivalents held in foreign bank accounts, typically in local currency, in China and Germany, totaled (in millions) $6.6 and $4.0 at December 31, 2023 and 2022, respectively. This cash held in subsidiaries have restrictions and costs associated with repatriations, currency conversions, and complying with government policies, regulations and controls, especially in China.

 

Fair Value of Financial Instruments

 

Certain financial instruments are carried at cost on the consolidated balance sheets, which approximates fair value due to their short-term, highly liquid nature.  These instruments include cash and cash equivalents, accounts receivable, accounts payable and accrued expenses, and other short-term liabilities.

Accounts Receivable

 

The majority of our accounts receivable are due from companies in the electronics manufacturing industries.  Credit is extended based on an evaluation of a customer’s financial condition and, generally, collateral is not required.  Accounts receivable are typically due within 30 to 60 days and are stated at amounts due from customers net of an allowance for credit losses.  Accounts receivable outstanding longer than the contractual payment terms are considered past due.  We determine the allowance by considering a number of factors, including a forward-looking expectation based upon the condition of the general economy and the industry as a whole and our previous bad debt experience, as well as the length of time trade accounts receivable are past due, the industry and geographic payment practices involved, and the customer’s current ability to pay their obligation to us.  We write off accounts receivable when they become uncollectible, and payments subsequently received on such receivables are credited to the allowance for credit losses. 

 

Inventories

 

Inventories are stated at the lower of cost or net realizable value with cost being the currently adjusted standard cost, which approximates cost on a first-in, first-out basis.  We estimate changes to inventory for obsolete, slow-moving, excess and potential non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item by item basis and record an adjustment (lower of cost or net realizable value) accordingly.

 

Property, Plant and Equipment

 

Property, plant and equipment, including leasehold improvements, are stated at cost, and depreciation is calculated over the estimated useful lives of the related assets or lease terms on the straight-line basis.  We depreciate substantially all property, plant and equipment over periods of three to seven years.  We depreciate leasehold improvements over the remaining portion of the lease or over the expected life of the asset if less than the remaining term of the lease.

 

We regularly review all of our property, plant and equipment for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.  If the total of future undiscounted cash flows is less than the carrying amount of these assets, an impairment loss, if any, based on the excess of the carrying amount over the fair value of the assets, is recorded.  Based on these evaluations, for the years ended December 31, 2023 and 2022, no impairment was noted or recorded for property, plant and equipment.

 

Patent Costs

 

We expense external costs, such as filing fees and associated attorney fees, incurred to obtain initial patents, but capitalize patents obtained through acquisition as intangible assets. We also expense costs associated with maintaining and defending patents subsequent to their issuance.

 

Income Taxes

 

Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.

 

Share-Based Compensation

 

All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates. 

 

Revenue Recognition

 

Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers (ASC 606) provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.   

 

We expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2023 and 2022, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This analysis considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that could include hardware, software, installation, services and support and extended maintenance components.  We allocate the transaction price of each element based on the relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system based on shipping terms, software based on delivery, installation and services based on completion of work and software maintenance and extended warranty support ratably over the term of the agreement, typically one year.  Total deferred revenue which represents undelivered performance obligations for installation, service, support and extended maintenance contracts was $1.6 million and $1.8 million and the portion expected to be recognized within one year was $1.4 million and $1.6 million for December 31, 2023 and 2022, respectively.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon delivery, provided that only immaterial items in the context of the contract with the customer remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties rights have been identified, the contract has substance,  collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 to 60 days from shipment.  

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value, and the sale transaction is accounted for as revenue and cost of goods sold.

The following table represents our revenues by major categories:

 

Net sales by type

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Equipment Sales

 

$16,343

 

 

 

18.4%

 

$13,803

 

Adapter Sales

 

 

8,154

 

 

 

11.2%

 

 

7,336

 

Software and Maintenance Sales   *

 

 

3,567

 

 

 

15.9%

 

 

3,078

 

Total

 

$28,064

 

 

 

15.9%

 

$24,217

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*  includes an insignificant amount of service and parts sales

 

 

 

 

 

 

 

 

 

 

 

 

 

Leases - Accounting Standards Codification 842

 

Leases arise from contracts which convey the right to control the use of identified property or equipment for a period of time in exchange for consideration. Our leasing arrangements are primarily for office facility space we use to conduct our operations. In addition, there are automobiles and a small amount of office equipment leased.  We determine whether contracts include a lease at the inception date, which is generally upon contract signing, considering factors such as whether the contract includes an asset which is physically distinct, which party obtains substantially all of the capacity and economic benefit of the asset, and which party directs how, and for what purpose, the asset is used during the contractual period of use. Our leases commence when the lessor makes the asset available for our use. At commencement, we record a lease liability at the present value of future lease payments, net of any future lease incentives to be received. Some of our lease agreements include cancellable future periods subject to termination or extension options. We include cancellable lease periods in our future lease payments when we are reasonably certain to continue to utilize the asset for those periods. We calculate the present value of future lease payments at commencement using a discount rate which we estimate as the collateralized borrowing rate we believe that would be incurred on our future lease payments over a similar term. At commencement, we also record a corresponding right-of-use asset, which is calculated based on the amount of the lease liability, adjusted for any advance lease payments paid, initial direct costs incurred or lease incentives received prior to commencement. Right-of-use assets are subject to evaluation for impairment or disposal on a basis consistent with other long-lived assets.

 

Leases are classified at commencement as either operating or finance leases. As of December 31, 2023, all of our leases are classified as operating leases. Rent expense for operating leases is recognized on the straight-line method over the term of the agreement beginning on the lease commencement date.

 

In accounting for leases, we utilize certain practical expedients and policy elections available under the lease accounting standard. For example, we do not record right-of-use assets or lease liabilities for leases with terms of 12 months or less. For contracts containing real estate leases, we do not combine lease and non-lease components. The primary impact of this policy election is that we do not include in our calculation of lease liabilities any fixed and non-cancelable future payments due under the contract for items such as common area maintenance, utilities and other costs. Lease-related costs which are variable rather than fixed are expensed in the period incurred.

 

Assumptions, judgments and estimates impacting the carrying value of our right-of-use assets and liabilities include evaluating whether an arrangement contains a lease, determining whether the lease term should include any cancellable future periods, estimating the discount rate used to calculate our lease liabilities, estimating the fair value and useful life of the leased asset for the purpose of classifying the lease as an operating or finance lease, evaluating whether a lease contract amendment represents a new lease agreement or a modification to the existing lease and evaluating our right-of-use assets for impairment.

 

Research and Development

 

Research and development costs are generally expensed as incurred.

 

Advertising Expense

 

Advertising costs are expensed as incurred.  Total advertising expenses were approximately $196,000 and $116,000 in 2023 and 2022, respectively.

Warranty Expense

 

We record a liability for an estimate of costs that we expect to incur under our basic limited warranty when product revenue is recognized.  Factors affecting our warranty liability include the number of units sold and historical and anticipated rates of claims and costs per claim.  We normally provide a warranty for our products against defects for periods ranging from ninety days to one year.  We provide for the estimated cost that may be incurred under our product warranties and periodically assess the adequacy of our warranty liability based on changes in the above factors.  We record revenues on extended warranties on a straight-line basis over the term of the related warranty contracts.  Service costs are expensed as incurred. 

 

Earnings (Loss) Per Share

 

Basic earnings (loss) per share exclude any dilutive effects of stock options.  Basic earnings (loss) per share are computed using the weighted-average number of common shares outstanding during the period.  Diluted earnings per share are computed using the weighted-average number of common shares and common stock equivalent shares outstanding during the period.  The common stock equivalent shares from equity awards used in calculating diluted earnings per share were 133,000 and 109,000 for the years ended December 31, 2023 and 2022, respectively.  Options to purchase 12,500 shares of common stock were outstanding as of both periods December 31, 2023 and 2022, but were excluded from the computation of diluted earnings per share for the periods then ended, because the options were anti-dilutive.

 

Diversification of Credit Risk

 

Financial instruments, which potentially subject us to concentrations of credit risk, consist primarily of trade receivables.  Our trade receivables are geographically dispersed and include customers in many different industries.  Our consolidated accounts receivable balance as of December 31, 2023 and 2022 includes foreign accounts receivable in the functional currency of our foreign subsidiaries amounting to $1.0 and $2.4 million, respectively.  We generally do business with our foreign distributors in U.S. Dollars.  We believe that risk of loss is significantly reduced due to the diversity of our end-customers and geographic sales areas.  We perform on-going credit evaluations of our customers’ financial condition and require collateral, such as letters of credit and bank guarantees, or prepayment whenever deemed necessary. 

 

The following represented greater than 10% of our consolidated accounts receivable for the applicable year:

 

Percentage of Consolidated Accounts Receivable

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Number of customers

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Approximate percentage of consolidated accounts receivable balance

 

 

47%

 

 

39%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

18%

 

 

15%

Percentage of each

 

 

16%

 

 

13%

Percentage of each

 

 

13%

 

 

11%

 

Diversification of net sales

 

The following represented greater than 10% of net sales for the applicable year:

 

Percentage of Net Sales

 

2023

 

 

2022

 

 

 

 

 

 

Number of customers

 

 

2

 

 

 

1

 

 

 

 

 

 

 

 

 

 

Approximate percentage of net sales

 

 

24%

 

 

23%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

13%

 

 

23%

Percentage of each

 

 

11%

 

 

n/a

 

COVID-19

 

In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere. 

 

New Accounting Pronouncements - Standards Issued and Implemented

 

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU)  2016-13, Financial Instruments - Credit Losses (Topic 326). Topic 326 is effective (Smaller Reporting Company) for reporting periods beginning after December 15, 2022. Topic 326 replaces the incurred loss impairment methodology under current Generally Accepted Accounting Principles ("GAAP") with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. We adopted the new credit loss standard on January 1, 2023.  The new credit loss standard has not had a material impact on our financial condition, results of operations and cash flows, or financial statement disclosures.

 

New Accounting Pronouncements - Standards Issued and Not Yet Implemented

 

In November 2023, the FASB issued ASU 2023-07 "Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures" which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. ASU 2023-07 is effective for our annual periods beginning January 1, 2024, and for interim periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

 

In December 2023, the FASB issued ASU 2023-09 "Income Taxes (Topics 740): Improvements to Income Tax Disclosures" to expand the disclosure requirements for income taxes, specifically related to the rate reconciliation and income taxes paid. ASU 2023-09 is effective for our annual periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

XML 26 R9.htm IDEA: XBRL DOCUMENT v3.24.1
ACCOUNTS RECEIVABLE NET
12 Months Ended
Dec. 31, 2023
ACCOUNTS RECEIVABLE NET  
ACCOUNTS RECEIVABLE, NET

NOTE 2 – ACCOUNTS RECEIVABLE, NET

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Trade accounts receivable

 

$5,779

 

 

$5,139

 

Less allowance for credit losses

 

 

72

 

 

 

147

 

Trade accounts receivable, net

 

$5,707

 

 

$4,992

 

 

 

 

 

 

 

 

 

Changes in Data I/O’s allowance for credit losses are as follows:

 

 

 

 

 

 

 

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

 

 

Beginning balance

 

$147

 

 

$89

 

Credit loss (reversal)

 

 

(75)

 

 

58

 

Accounts written-off

 

 

-

 

 

 

-

 

Recoveries

 

 

-

 

 

 

-

 

Ending balance

 

$72

 

 

$147

 

XML 27 R10.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES
12 Months Ended
Dec. 31, 2023
INVENTORIES  
INVENTORIES

NOTE 3 – INVENTORIES

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Raw material

 

$3,328

 

 

$3,850

 

Work-in-process

 

 

1,596

 

 

 

1,911

 

Finished goods

 

 

951

 

 

 

990

 

Inventories

 

$5,875

 

 

$6,751

 

XML 28 R11.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY PLANT AND EQUIPMENT NET
12 Months Ended
Dec. 31, 2023
PROPERTY PLANT AND EQUIPMENT NET  
PROPERTY, PLANT AND EQUIPMENT, NET

NOTE 4 – PROPERTY, PLANT AND EQUIPMENT, NET

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Leasehold improvements

 

$394

 

 

$404

 

Equipment

 

 

4,977

 

 

 

4,683

 

Sales demonstration equipment

 

 

1,396

 

 

 

1,066

 

 

 

 

6,767

 

 

 

6,153

 

Less accumulated depreciation

 

 

5,408

 

 

 

5,081

 

Property and equipment, net

 

$1,359

 

 

$1,072

 

 

Total depreciation expense recorded for 2023 and 2022 was $608,000 and $560,000, respectively.

XML 29 R12.htm IDEA: XBRL DOCUMENT v3.24.1
OTHER ACCRUED LIABILITIES
12 Months Ended
Dec. 31, 2023
OTHER ACCRUED LIABILITIES  
OTHER ACCRUED LIABILITIES

NOTE 5 – OTHER ACCRUED LIABILITIES

 

Other accrued liabilities consisted of the following components:

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Lease liability - short term

 

$798

 

 

$799

 

Product warranty

 

 

449

 

 

 

425

 

Sales return reserve

 

 

32

 

 

 

71

 

Other taxes

 

 

69

 

 

 

163

 

Other

 

 

90

 

 

 

138

 

Other accrued liabilities

 

$1,438

 

 

$1,596

 

 

The changes in our product warranty liability for the year ending December 31, 2023 are follows:

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Liability, beginning balance

 

$425

 

 

$432

 

Net expenses

 

 

902

 

 

 

774

 

Warranty claims

 

 

(902)

 

 

(774)

Accrual revisions

 

 

24

 

 

 

(7)

Liability, ending balance

 

$449

 

 

$425

 

XML 30 R13.htm IDEA: XBRL DOCUMENT v3.24.1
OPERATING LEASE COMMITMENTS
12 Months Ended
Dec. 31, 2023
OPERATING LEASE COMMITMENTS  
OPERATING LEASE COMMITMENTS

NOTE 6 – OPERATING LEASE COMMITMENTS

 

We have commitments under non-cancelable operating leases and other agreements, primarily for factory and office space, with initial or remaining terms of one year or more for the year ending December 31 are as follows:

 

 

 

December 31,

2023

 Operating

Lease Commitments

 

(in thousands)

 

 

 

2024

 

$841

 

2025

 

 

591

 

2026

 

 

133

 

2027

 

 

48

 

2028 & Thereafter

 

 

-

 

Total

 

$1,613

 

Less imputed interest

 

 

(113)

Total operating lease liabilities

 

$1,500

 

 

Payments for operating lease liabilities for the twelve months ended December 31, 2023 and 2022, respectively, was $894,000 and $779,000 which included short-term lease costs of $25,000 and 45,000.  There were no new or modified leases during the twelve months ended December 31, 2023 that are accounted for in the amounts disclosed above. The total annual lease expense in 2023 and 2022, including operating lease expenses and short-term lease expenses, was approximately $745,000 and $899,000, respectively.  Variable payments were not material and were treated as non-lease components and were recognized in the period for which the costs occur.

 

For the largest lease component, the company has three facilities with our headquarters and primary engineering and operational functions located in Redmond, Washington.  Our two subsidiary facilities in Munich, Germany and Shanghai, China provide extended worldwide sales, service, engineering and operation services.  The total annual gross or base lease payments during 2023 and 2022 were approximately $823,000 and $713,000, respectively.  The lease payment increase in 2023 was due primarily to lease abatement incentives for lease renewals in 2022 and standard rate increase in 2023.

The Redmond, Washington headquarters facility lease runs to January 31, 2026 at approximately 20,460 square feet.  The lease for the facility located in Shanghai, China runs to October 31, 2024 at approximately 19,400 square feet.  The lease for the facility located near Munich, Germany runs to August 2027 at approximately 4,895 square feet.

 

The following table presents supplemental balance sheet information related to leases as of December 31, 2023 and 2022:

 

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Right-of-use assets (Long-term other assets)

 

$1,363

 

 

$2,129

 

Lease liability-short term (Other accrued liabilities)

 

$798

 

 

$799

 

Lease liability-long term (Operating lease liabilities)

 

$703

 

 

$1,500

 

 

At December 31, 2023, the weighted average remaining lease term is 2.17 years and the weighted average discount rate used is 5%.

XML 31 R14.htm IDEA: XBRL DOCUMENT v3.24.1
OTHER COMMITMENTS
12 Months Ended
Dec. 31, 2023
OTHER COMMITMENTS  
OTHER COMMITMENTS

NOTE 7 – OTHER COMMITMENTS

 

We have purchase obligations for inventory and production costs, as well as other obligations such as capital expenditures, service contracts, marketing, and development agreements.  Arrangements are considered purchase obligations if a contract specifies all significant terms, including fixed or minimum quantities to be purchased, a pricing structure and approximate timing of the transaction.  Most arrangements are cancelable without a significant penalty, and with short notice, typically less than 90 days.  At December 31, 2023, we had one contract with a commitment of approximately $232,000 to be paid in 2024 and $251,000 to be paid beyond one year.

XML 32 R15.htm IDEA: XBRL DOCUMENT v3.24.1
CONTINGENCIES
12 Months Ended
Dec. 31, 2023
CONTINGENCIES  
CONTINGENCIES

NOTE 8 – CONTINGENCIES

 

As of December 31, 2023, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position. 

XML 33 R16.htm IDEA: XBRL DOCUMENT v3.24.1
STOCK AND RETIREMENT PLANS
12 Months Ended
Dec. 31, 2023
STOCK AND RETIREMENT PLANS  
STOCK AND RETIREMENT PLANS

NOTE 9 – STOCK AND RETIREMENT PLANS

 

Stock Option Plans

 

At December 31, 2023, there were 732,327 shares available for future grant under Data I/O Corporation 2023 Omnibus Incentive Compensation Incentive Plan (“2023 Plan”).  At December 31, 2023, there were shares of Common Stock reserved for issuance for outstanding awards, consisting of 92,500 inducement reserve shares, 353,525 shares under the 2000 Plan, and 295,100 shares under the 2023 Plan.  The inducement reserve shares remaining that were granted in 2019 consist of 12,500 options vested but unissued (using the terms of the 2000 Plan) and the grant in 2023 consisting of 75,000 RSU and 5000 PSU, (which were not from the 2023 Plan, but were made under the terms of the 2023 Plan).  Pursuant to the 2000 and 2023 Plans, options are granted to our officers and key employees with exercise prices equal to the fair market value of the Common Stock at the date of grant and generally vest over four years.  Options granted under the plans have a maximum term of six years from the date of grant.  Stock awards are now granted under the 2023 Plan (previously the 2000 Plan) which for RSU awards generally vest over four years (some three years) and one year for nonemployee Directors. Performance Share Unit (PSU) awards vest based upon the three-year performance achievement on December 31, 2025. The performance measures for the PSUs awarded are revenue growth targets for the three-year period ending December 31, 2025. Achieving a threshold growth measure earns 50% of the PSU target award; achieving the target growth measure earns 100% of the PSU target award; and achieving the maximum target growth measure earns 150% of the PSU target award. 

 

Employee Stock Purchase Plan

 

Under the Employee Stock Purchase Plan (“ESPP”), eligible employees may purchase shares of our Common Stock at six-month intervals at 95% of the fair market value on the last day of each six-month period.  Employees may purchase shares having a value not exceeding ten percent of their gross compensation during an offering period.  During 2023 and 2022, a total of 3,341 and 3,288 shares, respectively, were purchased under the plan at average prices of $4.16 and $4.06 per share, respectively.  At December 31, 2023 and 2022, 21,525 and 25,477 shares were reserved for future grant respectively.

 

Stock Appreciation Rights Plan

 

We have a Stock Appreciation Rights (“SAR”) Plan under which each director, executive officer or holder of 10% or more of our Common Stock has a SAR with respect to each exercisable stock option.  The SAR entitles the SAR holder to receive cash from us for the difference between the market value of the stock and the exercise price of the option in lieu of exercising the related option.  SARs are only exercisable following a tender offer or exchange offer for our stock, or following approval by shareholders of Data I/O of any merger, consolidation, reorganization or other transaction providing for the conversion or exchange of more than 50% of the common shares outstanding.  As no event has occurred, which would make the SARs exercisable, and no such event is deemed probable, no compensation expense has been recorded under this plan.  At December 31, 2023 and 2022, there were 12,500 SARs outstanding.

 

Retirement Savings Plan

 

We have a savings plan that qualifies as a cash or deferred salary arrangement under Section 401(k) of the Internal Revenue Code.  Under the plan, participating U.S. employees may defer their pre-tax salary or post-tax salary if Roth is elected, subject to IRS limitations.  In fiscal year 2023, we contributed one dollar for each dollar contributed by a participant on the first two percent and $.50 for each dollar contributed by participant on the next four percent of a participant’s eligible earnings, and as a result this requires a minimum six percent contribution to receive a four percent matching contribution. Our matching contribution expense for the savings plan, net of forfeitures, was approximately $253,000 and $210,000 in 2023 and 2022, respectively.  Employer matching contributions owed to the plan were $248,000 and $229,000 at December 31, 2023 and 2022, respectively.

XML 34 R17.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREBASED COMPENSATION
12 Months Ended
Dec. 31, 2023
SHAREBASED COMPENSATION  
SHARE-BASED COMPENSATION

NOTE 10 – SHARE-BASED COMPENSATION

 

For share-based awards granted, we have recognized compensation expense based on the estimated grant date fair value method.  For these awards we have recognized compensation expense using a straight-line amortization method and reduced for estimated forfeitures.  The impact on our results of operations of recording share-based compensation for the year ended December 31, 2023 and 2022 was as follows:

 

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Cost of goods sold

 

$95

 

 

$76

 

Research and development

 

 

257

 

 

 

228

 

Selling, general and administrative

 

 

838

 

 

 

872

 

Total share-based compensation

 

$1,190

 

 

$1,176

 

An immaterial amount of share-based compensation was capitalized into inventory as overhead for the years ended December 31, 2023 and 2022, respectively. The following table summarizes stock option activity under our stock option plans for the twelve months ended December 31, 2023 and 2022:

 

 

 

2023

 

 

2022

 

 

 

Options

 

 

Weighted-Average Exercise Price

 

 

Weighted-Average Remaining Contractual Life in Years

 

 

Options

 

 

Weighted-Average Exercise Price

 

 

Weighted-Average Remaining Contractual Life in Years

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Outstanding at beginning of year

 

 

12,500

 

 

$4.98

 

 

 

 

 

 

12,500

 

 

$4.98

 

 

 

 

Granted

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Exercised

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Cancelled, Expired or

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Forfeited

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Outstanding at end of year

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

12,500

 

 

$4.98

 

 

 

2.33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vested or expected to vest at the end of the period

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

12,466

 

 

$4.98

 

 

 

2.33

 

Exercisable at end of year

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

9,375

 

 

$4.98

 

 

 

2.33

 

 

The aggregate intrinsic value of outstanding options is $0.  There were no stock option awards exercised in 2023.

 

Restricted stock award activity including performance-based stock award activity under our share-based compensation plan was as follows:

 

 

 

2023

 

 

2022

 

 

 

Awards

 

 

Weighted - Average Grant Date Fair Value

 

 

Awards

 

 

Weighted - Average Grant Date Fair Value

 

Outstanding at beginning of year

 

 

665,200

 

 

$3.94

 

 

 

623,777

 

 

$4.73

 

Granted

 

 

387,100

 

 

 

4.36

 

 

 

330,215

 

 

 

3.26

 

Vested

 

 

(284,925)

 

 

3.93

 

 

 

(249,292)

 

 

4.95

 

Cancelled

 

 

(38,750)

 

 

3.96

 

 

 

(39,500)

 

 

4.33

 

Outstanding at end of year

 

 

728,625

 

 

$4.17

 

 

 

665,200

 

 

$3.94

 

 

During the years ended December 31, 2023 and 2022, 83,753 and 57,206 shares, respectively, were withheld from issuance related to restricted stock units vesting and stock option exercises to cover employee taxes and stock options exercise price.

 

Non-employee directors Restricted Stock Units (“RSUs”) typically vest over the earlier of one year or the next annual meeting of shareholders and Non-Qualified stock options vest over three years and have a six-year exercise period.  Employee RSUs typically vest annually over three or four years and employee Non-Qualified stock options typically vest quarterly over four years and have a six-year exercise period. Performance Stock Units (“PSUs”) typically cliff vest at the end of the performance period and the performance metric is cumulative revenue growth over the three-year period ending December 31, 2025 with a cumulative revenue threshold, target, and maximum performance measure.  The table above includes performance shares granted in 2023 of 30,000 shares at the target performance level (the threshold level would be 50% and the maximum level would be 150% of the target level).

The remaining unamortized expected future compensation expense and remaining amortization period associated with unvested option grants and restricted stock awards are:

 

 

 

December 31,

2023

 

 

December 31,

2022

 

 

 

 

 

 

 

 

Unamortized future compensation expense

 

$2,317,524

 

 

$2,029,457

 

Remaining weighted average amortization period in years

 

 

2.44

 

 

 

2.47

 

 

The weighted average number of shares outstanding used to compute earnings (loss) per share included the following:

 

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Weighted average shares outstanding

 

 

8,940,612

 

 

 

8,740,701

 

Restricted and Performance Stock Units

 

 

132,360

 

 

 

 

 

Stock Options

 

 

216

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted average diluted shares

 

 

9,073,188

 

 

 

8,740,701

 

XML 35 R18.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE REPURCHASE PROGRAMS
12 Months Ended
Dec. 31, 2023
SHARE REPURCHASE PROGRAMS  
SHARE REPURCHASE PROGRAMS

NOTE 11 – SHARE REPURCHASE PROGRAMS

 

Data I/O did not have a share repurchase program in 2023. 

XML 36 R19.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES
12 Months Ended
Dec. 31, 2023
INCOME TAXES  
INCOME TAXES

NOTE 12 – INCOME TAXES

 

Components of income (loss) before taxes:

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

U.S. operations

 

$(536)

 

$(1,622)

Foreign operations

 

 

1,216

 

 

 

1,185

 

Total income (loss) before taxes

 

$680

 

 

$(437)

 

Income tax expense (benefit) consists of:

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Current tax expense (benefit)

 

 

 

 

 

 

U.S. federal

 

$0

 

 

$0

 

State

 

 

20

 

 

 

19

 

Foreign

 

 

174

 

 

 

664

 

 

 

 

194

 

 

 

683

 

Deferred tax expense (benefit) – U.S. federal

 

 

-

 

 

 

-

 

Total income tax expense (benefit)

 

$194

 

 

$683

 

A reconciliation of our effective income tax and the U.S. federal tax rate is as follows:

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Statutory tax

 

$143

 

 

$

(92)

 

State and foreign income tax, net of federal tax benefit

 

 

(178)

 

 

(189)

Valuation allowance for deferred tax asset

 

 

139

 

 

 

370

 

Foreign sourced deemed dividend income

 

 

322

 

 

 

738

 

Stock based compensation

 

 

(250)

 

 

(154)

Other

 

 

18

 

 

 

10

 

Total income tax expense (benefit)

 

$194

 

 

$683

 

 

U.S. net operating loss carryforwards are $13.8 million at December 31, 2023 with expiration years from 2023 to 2034.  Utilization of net operating loss and credit carryforwards is subject to certain limitations under Section 382 of the Internal Revenue Code of 1986, as amended. We have not had a Section 382 ownership change, but if we did the usage of these tax assets would have an income usage limitation based on the value of the Company at the time of the change times the federal long-term tax-exempt rate.

 

The gross changes in uncertain tax positions resulting in unrecognized tax benefits are presented below:

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Unrecognized tax benefits, opening balance

 

$422

 

 

$392

 

Prior period tax position increases

 

 

(6)

 

 

-

 

Additions based on tax positions related to current year

 

 

14

 

 

 

30

 

Unrecognized tax benefits, ending balance

 

$430

 

 

$422

 

Historically, we have incurred minimal interest expense and no penalties associated with tax matters.  We have adopted a policy whereby amounts related to penalties associated with tax matters are classified as general and administrative expense when incurred and amounts related to interest associated with tax matters are classified as interest income or interest expense.

 

Tax years that remain open for examination include 2020, 2021, 2022 and 2023 in the United States of America.  In addition, various tax years from 2002 to 2014 may be subject to examination in the event that we utilize the net operating losses and credit carryforwards from those years in our current or future year tax returns. 

XML 37 R20.htm IDEA: XBRL DOCUMENT v3.24.1
SEGMENT AND GEOGRAPHIC INFORMATION
12 Months Ended
Dec. 31, 2023
SEGMENT AND GEOGRAPHIC INFORMATION  
SEGMENT AND GEOGRAPHIC INFORMATION

NOTE 13 – SEGMENT AND GEOGRAPHIC INFORMATION

 

We consider our operations to be a single operating segment, focused on the design, manufacturing and sale of programming systems used by designers and manufacturers of electronic products.  Major operations outside the U.S. include sales, engineering and service support by subsidiaries in Germany as well as in China, which also manufactures some of our products.

 

We determine international sales by the international geographic destination into which the products are sold and delivered and include not only sales by foreign subsidiaries but also export sales from the U.S. to our foreign distributors and to our representatives’ customers.  International sales do not include transfers between Data I/O and our foreign subsidiaries.

 

The following tables provide summary operating information by geographic area:

 

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Net sales:

 

 

 

 

 

 

U.S.

 

$2,799

 

 

$1,774

 

Europe

 

 

9,469

 

 

 

7,402

 

Rest of World

 

 

15,796

 

 

 

15,041

 

 

 

$28,064

 

 

$24,217

 

 

 

 

 

 

 

 

 

 

Included in Europe and Rest of World are the following Net Sales significant balances:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Germany

 

$4,697

 

 

$2,881

 

China

 

$3,800

 

 

$5,476

 

 

 

 

 

 

 

 

 

 

Operating income:

 

 

 

 

 

 

 

 

U.S.

 

$216

 

 

$5

 

Europe

 

 

(671)

 

 

(1,331)

Rest of World

 

 

903

 

 

 

577

 

 

 

$448

 

 

($749)

 

 

 

 

 

 

 

 

 

 

Identifiable assets:

 

 

 

 

 

 

 

 

U.S.

 

$12,385

 

 

$15,234

 

Europe (primarily Germany)

 

 

4,966

 

 

 

4,886

 

Rest of World (primarily China)

 

 

10,050

 

 

 

7,045

 

 

 

$27,401

 

 

$27,165

 

XML 38 R21.htm IDEA: XBRL DOCUMENT v3.24.1
SUBSEQUENT EVENTS
12 Months Ended
Dec. 31, 2023
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

NOTE 14 – SUBSEQUENT EVENTS

 

In preparing the financial statements, the Company has reviewed all known events which have occurred after December 31, 2023 through the date on which the financial statements are available for issuance, for potential recognition or disclosure in the consolidated financial statements and footnotes. 

 

There were no other subsequent events which would require additional disclosures to the financial statements other than those already disclosed throughout the Notes to Consolidated Financial Statements.

XML 39 R22.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)
12 Months Ended
Dec. 31, 2023
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES  
Nature of Operations

Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) designs, manufactures and sells programming systems used by designers and manufacturers of electronic products.  Our programming system products are used to program integrated circuits (“ICs” or “devices” or “semiconductors”) with the specific unique data necessary for the ICs contained in various products, and are an important tool for the electronics industry experiencing growing use of programmable ICs.  Customers for our programming system products are located around the world, primarily in Asia, Europe and the Americas.  Our manufacturing operations are currently located in Redmond, Washington, United States and Shanghai, China.

Principles of Consolidation

The consolidated financial statements include the accounts of Data I/O Corporation and our wholly-owned subsidiaries.  Intercompany accounts and transactions have been eliminated in consolidation.

Use of Estimates

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period.  Actual results could differ from those estimates.

 

Significant estimates include:

 

·

Revenue Recognition

 

·

Allowance for Credit Losses

 

·

Inventory

 

·

Warranty Accruals

 

·

Tax Valuation Allowances

 

·

Share-based Compensation
Foreign Currency Translation

Assets and liabilities of foreign subsidiaries are translated at the exchange rate on the balance sheet date.  Revenues, costs and expenses of foreign subsidiaries are translated at average rates of exchange prevailing during the year.  Translation adjustments resulting from this process are charged or credited to stockholders’ equity.  Realized and unrealized gains and losses resulting from the effects of changes in exchange rates on assets and liabilities denominated in foreign currencies are included in non-operating expense as foreign currency transaction gains and losses.

Cash and Cash Equivalents

All highly liquid investments purchased with an original maturity of 90 days or less are considered cash equivalents.  We maintain our cash and cash equivalents with major financial institutions in the United States of America, which are insured by the Federal Deposit Insurance Corporation (FDIC), and in foreign jurisdictions.  Deposits in U.S. banks exceed the FDIC insurance limit.  We have not experienced any losses on our cash and cash equivalents.  Cash and cash equivalents held in foreign bank accounts, typically in local currency, in China and Germany, totaled (in millions) $6.6 and $4.0 at December 31, 2023 and 2022, respectively. This cash held in subsidiaries have restrictions and costs associated with repatriations, currency conversions, and complying with government policies, regulations and controls, especially in China.

Fair Value of Financial Instruments

Certain financial instruments are carried at cost on the consolidated balance sheets, which approximates fair value due to their short-term, highly liquid nature.  These instruments include cash and cash equivalents, accounts receivable, accounts payable and accrued expenses, and other short-term liabilities.

Accounts Receivable

The majority of our accounts receivable are due from companies in the electronics manufacturing industries.  Credit is extended based on an evaluation of a customer’s financial condition and, generally, collateral is not required.  Accounts receivable are typically due within 30 to 60 days and are stated at amounts due from customers net of an allowance for credit losses.  Accounts receivable outstanding longer than the contractual payment terms are considered past due.  We determine the allowance by considering a number of factors, including a forward-looking expectation based upon the condition of the general economy and the industry as a whole and our previous bad debt experience, as well as the length of time trade accounts receivable are past due, the industry and geographic payment practices involved, and the customer’s current ability to pay their obligation to us.  We write off accounts receivable when they become uncollectible, and payments subsequently received on such receivables are credited to the allowance for credit losses. 

Inventories

Inventories are stated at the lower of cost or net realizable value with cost being the currently adjusted standard cost, which approximates cost on a first-in, first-out basis.  We estimate changes to inventory for obsolete, slow-moving, excess and potential non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item by item basis and record an adjustment (lower of cost or net realizable value) accordingly.

Property, Plant and Equipment

Property, plant and equipment, including leasehold improvements, are stated at cost, and depreciation is calculated over the estimated useful lives of the related assets or lease terms on the straight-line basis.  We depreciate substantially all property, plant and equipment over periods of three to seven years.  We depreciate leasehold improvements over the remaining portion of the lease or over the expected life of the asset if less than the remaining term of the lease.

 

We regularly review all of our property, plant and equipment for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.  If the total of future undiscounted cash flows is less than the carrying amount of these assets, an impairment loss, if any, based on the excess of the carrying amount over the fair value of the assets, is recorded.  Based on these evaluations, for the years ended December 31, 2023 and 2022, no impairment was noted or recorded for property, plant and equipment.

Patent Costs

We expense external costs, such as filing fees and associated attorney fees, incurred to obtain initial patents, but capitalize patents obtained through acquisition as intangible assets. We also expense costs associated with maintaining and defending patents subsequent to their issuance.

Income Taxes

Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.

Share-Based Compensation

All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates. 

Revenue Recognition

Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers (ASC 606) provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.   

 

We expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2023 and 2022, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This analysis considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that could include hardware, software, installation, services and support and extended maintenance components.  We allocate the transaction price of each element based on the relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system based on shipping terms, software based on delivery, installation and services based on completion of work and software maintenance and extended warranty support ratably over the term of the agreement, typically one year.  Total deferred revenue which represents undelivered performance obligations for installation, service, support and extended maintenance contracts was $1.6 million and $1.8 million and the portion expected to be recognized within one year was $1.4 million and $1.6 million for December 31, 2023 and 2022, respectively.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon delivery, provided that only immaterial items in the context of the contract with the customer remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties rights have been identified, the contract has substance,  collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 to 60 days from shipment.  

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value, and the sale transaction is accounted for as revenue and cost of goods sold.

The following table represents our revenues by major categories:

 

Net sales by type

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Equipment Sales

 

$16,343

 

 

 

18.4%

 

$13,803

 

Adapter Sales

 

 

8,154

 

 

 

11.2%

 

 

7,336

 

Software and Maintenance Sales   *

 

 

3,567

 

 

 

15.9%

 

 

3,078

 

Total

 

$28,064

 

 

 

15.9%

 

$24,217

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*  includes an insignificant amount of service and parts sales

 

 

 

 

 

 

 

 

 

 

 

 

Leases - Accounting Standards Codification 842

Leases - Accounting Standards Codification 842

 

Leases arise from contracts which convey the right to control the use of identified property or equipment for a period of time in exchange for consideration. Our leasing arrangements are primarily for office facility space we use to conduct our operations. In addition, there are automobiles and a small amount of office equipment leased.  We determine whether contracts include a lease at the inception date, which is generally upon contract signing, considering factors such as whether the contract includes an asset which is physically distinct, which party obtains substantially all of the capacity and economic benefit of the asset, and which party directs how, and for what purpose, the asset is used during the contractual period of use. Our leases commence when the lessor makes the asset available for our use. At commencement, we record a lease liability at the present value of future lease payments, net of any future lease incentives to be received. Some of our lease agreements include cancellable future periods subject to termination or extension options. We include cancellable lease periods in our future lease payments when we are reasonably certain to continue to utilize the asset for those periods. We calculate the present value of future lease payments at commencement using a discount rate which we estimate as the collateralized borrowing rate we believe that would be incurred on our future lease payments over a similar term. At commencement, we also record a corresponding right-of-use asset, which is calculated based on the amount of the lease liability, adjusted for any advance lease payments paid, initial direct costs incurred or lease incentives received prior to commencement. Right-of-use assets are subject to evaluation for impairment or disposal on a basis consistent with other long-lived assets.

 

Leases are classified at commencement as either operating or finance leases. As of December 31, 2023, all of our leases are classified as operating leases. Rent expense for operating leases is recognized on the straight-line method over the term of the agreement beginning on the lease commencement date.

 

In accounting for leases, we utilize certain practical expedients and policy elections available under the lease accounting standard. For example, we do not record right-of-use assets or lease liabilities for leases with terms of 12 months or less. For contracts containing real estate leases, we do not combine lease and non-lease components. The primary impact of this policy election is that we do not include in our calculation of lease liabilities any fixed and non-cancelable future payments due under the contract for items such as common area maintenance, utilities and other costs. Lease-related costs which are variable rather than fixed are expensed in the period incurred.

 

Assumptions, judgments and estimates impacting the carrying value of our right-of-use assets and liabilities include evaluating whether an arrangement contains a lease, determining whether the lease term should include any cancellable future periods, estimating the discount rate used to calculate our lease liabilities, estimating the fair value and useful life of the leased asset for the purpose of classifying the lease as an operating or finance lease, evaluating whether a lease contract amendment represents a new lease agreement or a modification to the existing lease and evaluating our right-of-use assets for impairment.

Research and Development

Research and development costs are generally expensed as incurred.

Advertising Expense

Advertising costs are expensed as incurred.  Total advertising expenses were approximately $196,000 and $116,000 in 2023 and 2022, respectively.

Warranty Expense

We record a liability for an estimate of costs that we expect to incur under our basic limited warranty when product revenue is recognized.  Factors affecting our warranty liability include the number of units sold and historical and anticipated rates of claims and costs per claim.  We normally provide a warranty for our products against defects for periods ranging from ninety days to one year.  We provide for the estimated cost that may be incurred under our product warranties and periodically assess the adequacy of our warranty liability based on changes in the above factors.  We record revenues on extended warranties on a straight-line basis over the term of the related warranty contracts.  Service costs are expensed as incurred. 

Earnings (Loss) Per Share

Basic earnings (loss) per share exclude any dilutive effects of stock options.  Basic earnings (loss) per share are computed using the weighted-average number of common shares outstanding during the period.  Diluted earnings per share are computed using the weighted-average number of common shares and common stock equivalent shares outstanding during the period.  The common stock equivalent shares from equity awards used in calculating diluted earnings per share were 133,000 and 109,000 for the years ended December 31, 2023 and 2022, respectively.  Options to purchase 12,500 shares of common stock were outstanding as of both periods December 31, 2023 and 2022, but were excluded from the computation of diluted earnings per share for the periods then ended, because the options were anti-dilutive.

Diversification of Credit Risk

Financial instruments, which potentially subject us to concentrations of credit risk, consist primarily of trade receivables.  Our trade receivables are geographically dispersed and include customers in many different industries.  Our consolidated accounts receivable balance as of December 31, 2023 and 2022 includes foreign accounts receivable in the functional currency of our foreign subsidiaries amounting to $1.0 and $2.4 million, respectively.  We generally do business with our foreign distributors in U.S. Dollars.  We believe that risk of loss is significantly reduced due to the diversity of our end-customers and geographic sales areas.  We perform on-going credit evaluations of our customers’ financial condition and require collateral, such as letters of credit and bank guarantees, or prepayment whenever deemed necessary. 

 

The following represented greater than 10% of our consolidated accounts receivable for the applicable year:

 

Percentage of Consolidated Accounts Receivable

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Number of customers

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Approximate percentage of consolidated accounts receivable balance

 

 

47%

 

 

39%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

18%

 

 

15%

Percentage of each

 

 

16%

 

 

13%

Percentage of each

 

 

13%

 

 

11%
Diversification of net sales

The following represented greater than 10% of net sales for the applicable year:

 

Percentage of Net Sales

 

2023

 

 

2022

 

 

 

 

 

 

Number of customers

 

 

2

 

 

 

1

 

 

 

 

 

 

 

 

 

 

Approximate percentage of net sales

 

 

24%

 

 

23%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

13%

 

 

23%

Percentage of each

 

 

11%

 

 

n/a

 

COVID-19

In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere. 

New Accounting Pronouncements - Standards Issued and Implemented

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU)  2016-13, Financial Instruments - Credit Losses (Topic 326). Topic 326 is effective (Smaller Reporting Company) for reporting periods beginning after December 15, 2022. Topic 326 replaces the incurred loss impairment methodology under current Generally Accepted Accounting Principles ("GAAP") with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. We adopted the new credit loss standard on January 1, 2023.  The new credit loss standard has not had a material impact on our financial condition, results of operations and cash flows, or financial statement disclosures.

New Accounting Pronouncements - Standards Issued and Not Yet Implemented

In November 2023, the FASB issued ASU 2023-07 "Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures" which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. ASU 2023-07 is effective for our annual periods beginning January 1, 2024, and for interim periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

 

In December 2023, the FASB issued ASU 2023-09 "Income Taxes (Topics 740): Improvements to Income Tax Disclosures" to expand the disclosure requirements for income taxes, specifically related to the rate reconciliation and income taxes paid. ASU 2023-09 is effective for our annual periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.

XML 40 R23.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)
12 Months Ended
Dec. 31, 2023
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES  
Disaggregation of revenue

Net sales by type

 

2023

 

 

Change

 

 

2022

 

(in thousands)

 

 

 

 

 

 

 

 

 

Equipment Sales

 

$16,343

 

 

 

18.4%

 

$13,803

 

Adapter Sales

 

 

8,154

 

 

 

11.2%

 

 

7,336

 

Software and Maintenance Sales   *

 

 

3,567

 

 

 

15.9%

 

 

3,078

 

Total

 

$28,064

 

 

 

15.9%

 

$24,217

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*  includes an insignificant amount of service and parts sales

 

 

 

 

 

 

 

 

 

 

 

 

Schedule of consolidated accounts receivable

Percentage of Consolidated Accounts Receivable

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Number of customers

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Approximate percentage of consolidated accounts receivable balance

 

 

47%

 

 

39%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

18%

 

 

15%

Percentage of each

 

 

16%

 

 

13%

Percentage of each

 

 

13%

 

 

11%
Schedule of Diversification of net sales

Percentage of Net Sales

 

2023

 

 

2022

 

 

 

 

 

 

Number of customers

 

 

2

 

 

 

1

 

 

 

 

 

 

 

 

 

 

Approximate percentage of net sales

 

 

24%

 

 

23%

 

 

 

 

 

 

 

 

 

Percentage of each

 

 

13%

 

 

23%

Percentage of each

 

 

11%

 

 

n/a

 

XML 41 R24.htm IDEA: XBRL DOCUMENT v3.24.1
ACCOUNTS RECEIVABLE NET (Tables)
12 Months Ended
Dec. 31, 2023
ACCOUNTS RECEIVABLE NET  
Schedule of accounts receivable

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Trade accounts receivable

 

$5,779

 

 

$5,139

 

Less allowance for credit losses

 

 

72

 

 

 

147

 

Trade accounts receivable, net

 

$5,707

 

 

$4,992

 

 

 

 

 

 

 

 

 

Changes in Data I/O’s allowance for credit losses are as follows:

 

 

 

 

 

 

 

 

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

 

 

Beginning balance

 

$147

 

 

$89

 

Credit loss (reversal)

 

 

(75)

 

 

58

 

Accounts written-off

 

 

-

 

 

 

-

 

Recoveries

 

 

-

 

 

 

-

 

Ending balance

 

$72

 

 

$147

 

XML 42 R25.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES NET (Tables)
12 Months Ended
Dec. 31, 2023
INVENTORIES  
Inventories

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Raw material

 

$3,328

 

 

$3,850

 

Work-in-process

 

 

1,596

 

 

 

1,911

 

Finished goods

 

 

951

 

 

 

990

 

Inventories

 

$5,875

 

 

$6,751

 

XML 43 R26.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY PLANT AND EQUIPMENT NET (Tables)
12 Months Ended
Dec. 31, 2023
PROPERTY PLANT AND EQUIPMENT NET  
Property, plant and equipment, net

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Leasehold improvements

 

$394

 

 

$404

 

Equipment

 

 

4,977

 

 

 

4,683

 

Sales demonstration equipment

 

 

1,396

 

 

 

1,066

 

 

 

 

6,767

 

 

 

6,153

 

Less accumulated depreciation

 

 

5,408

 

 

 

5,081

 

Property and equipment, net

 

$1,359

 

 

$1,072

 

XML 44 R27.htm IDEA: XBRL DOCUMENT v3.24.1
OTHER ACCRUED LIABILITIES (Tables)
12 Months Ended
Dec. 31, 2023
OTHER ACCRUED LIABILITIES  
Other accrued liabilities

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Lease liability - short term

 

$798

 

 

$799

 

Product warranty

 

 

449

 

 

 

425

 

Sales return reserve

 

 

32

 

 

 

71

 

Other taxes

 

 

69

 

 

 

163

 

Other

 

 

90

 

 

 

138

 

Other accrued liabilities

 

$1,438

 

 

$1,596

 

Product warranty liability

 

 

December 31,

2023

 

 

December 31,

2022

 

(in thousands)

 

 

 

 

 

 

Liability, beginning balance

 

$425

 

 

$432

 

Net expenses

 

 

902

 

 

 

774

 

Warranty claims

 

 

(902)

 

 

(774)

Accrual revisions

 

 

24

 

 

 

(7)

Liability, ending balance

 

$449

 

 

$425

 

XML 45 R28.htm IDEA: XBRL DOCUMENT v3.24.1
OPERATING LEASE COMMITMENTS (Tables)
12 Months Ended
Dec. 31, 2023
OPERATING LEASE COMMITMENTS  
Operating lease commitments

 

 

December 31,

2023

 Operating

Lease Commitments

 

(in thousands)

 

 

 

2024

 

$841

 

2025

 

 

591

 

2026

 

 

133

 

2027

 

 

48

 

2028 & Thereafter

 

 

-

 

Total

 

$1,613

 

Less imputed interest

 

 

(113)

Total operating lease liabilities

 

$1,500

 

Supplemental balance sheet information related to leases

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Right-of-use assets (Long-term other assets)

 

$1,363

 

 

$2,129

 

Lease liability-short term (Other accrued liabilities)

 

$798

 

 

$799

 

Lease liability-long term (Operating lease liabilities)

 

$703

 

 

$1,500

 

XML 46 R29.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREBASED COMPENSATION (Tables)
12 Months Ended
Dec. 31, 2023
SHAREBASED COMPENSATION  
Share-based compensation

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Cost of goods sold

 

$95

 

 

$76

 

Research and development

 

 

257

 

 

 

228

 

Selling, general and administrative

 

 

838

 

 

 

872

 

Total share-based compensation

 

$1,190

 

 

$1,176

 

Stock option activity

 

 

2023

 

 

2022

 

 

 

Options

 

 

Weighted-Average Exercise Price

 

 

Weighted-Average Remaining Contractual Life in Years

 

 

Options

 

 

Weighted-Average Exercise Price

 

 

Weighted-Average Remaining Contractual Life in Years

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Outstanding at beginning of year

 

 

12,500

 

 

$4.98

 

 

 

 

 

 

12,500

 

 

$4.98

 

 

 

 

Granted

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Exercised

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Cancelled, Expired or

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Forfeited

 

 

-

 

 

 

-

 

 

 

 

 

 

-

 

 

 

-

 

 

 

 

Outstanding at end of year

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

12,500

 

 

$4.98

 

 

 

2.33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vested or expected to vest at the end of the period

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

12,466

 

 

$4.98

 

 

 

2.33

 

Exercisable at end of year

 

 

12,500

 

 

$4.98

 

 

 

1.33

 

 

 

9,375

 

 

$4.98

 

 

 

2.33

 

Restricted stock award including performance-based stock award activity under our share-based compensation plan

 

 

2023

 

 

2022

 

 

 

Awards

 

 

Weighted - Average Grant Date Fair Value

 

 

Awards

 

 

Weighted - Average Grant Date Fair Value

 

Outstanding at beginning of year

 

 

665,200

 

 

$3.94

 

 

 

623,777

 

 

$4.73

 

Granted

 

 

387,100

 

 

 

4.36

 

 

 

330,215

 

 

 

3.26

 

Vested

 

 

(284,925)

 

 

3.93

 

 

 

(249,292)

 

 

4.95

 

Cancelled

 

 

(38,750)

 

 

3.96

 

 

 

(39,500)

 

 

4.33

 

Outstanding at end of year

 

 

728,625

 

 

$4.17

 

 

 

665,200

 

 

$3.94

 

Unamortized compensation expense

 

 

December 31,

2023

 

 

December 31,

2022

 

 

 

 

 

 

 

 

Unamortized future compensation expense

 

$2,317,524

 

 

$2,029,457

 

Remaining weighted average amortization period in years

 

 

2.44

 

 

 

2.47

 

Weighted average number of shares outstanding

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Weighted average shares outstanding

 

 

8,940,612

 

 

 

8,740,701

 

Restricted and Performance Stock Units

 

 

132,360

 

 

 

 

 

Stock Options

 

 

216

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Weighted average diluted shares

 

 

9,073,188

 

 

 

8,740,701

 

XML 47 R30.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Tables)
12 Months Ended
Dec. 31, 2023
INCOME TAXES  
Components of income (loss) before taxes

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

U.S. operations

 

$(536)

 

$(1,622)

Foreign operations

 

 

1,216

 

 

 

1,185

 

Total income (loss) before taxes

 

$680

 

 

$(437)
Components of income tax expense (benefit)

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Current tax expense (benefit)

 

 

 

 

 

 

U.S. federal

 

$0

 

 

$0

 

State

 

 

20

 

 

 

19

 

Foreign

 

 

174

 

 

 

664

 

 

 

 

194

 

 

 

683

 

Deferred tax expense (benefit) – U.S. federal

 

 

-

 

 

 

-

 

Total income tax expense (benefit)

 

$194

 

 

$683

 

Reconciliation of effective income tax

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Statutory tax

 

$143

 

 

$

(92)

 

State and foreign income tax, net of federal tax benefit

 

 

(178)

 

 

(189)

Valuation allowance for deferred tax asset

 

 

139

 

 

 

370

 

Foreign sourced deemed dividend income

 

 

322

 

 

 

738

 

Stock based compensation

 

 

(250)

 

 

(154)

Other

 

 

18

 

 

 

10

 

Total income tax expense (benefit)

 

$194

 

 

$683

 

Schedule of deferred tax assets and liabilities   Year Ended December 31,   2023  2022 (in thousands)      Deferred income tax assets:      Allowance for credit losses $14  $22 Inventory and product return reserves  1,168   477 Compensation accruals  2,750   2,511 Accrued liabilities  65   151 Book-over-tax depreciation and amortization  18   25 Foreign net operating loss carryforwards  184   149 U.S. net operating loss carryforwards  2,899   4,399 U.S. credit carryforwards  1,557   1,560    8,655   9,294          Valuation Allowance  (8,655)  (9,294)Total Deferred Income Tax Assets $-  $- 
Schedule of unrecognized tax benefits

 

 

Year Ended December 31,

 

 

 

2023

 

 

2022

 

(in thousands)

 

 

 

 

 

 

Unrecognized tax benefits, opening balance

 

$422

 

 

$392

 

Prior period tax position increases

 

 

(6)

 

 

-

 

Additions based on tax positions related to current year

 

 

14

 

 

 

30

 

Unrecognized tax benefits, ending balance

 

$430

 

 

$422

 

XML 48 R31.htm IDEA: XBRL DOCUMENT v3.24.1
SEGMENT AND GEOGRAPHIC INFORMATION (Tables)
12 Months Ended
Dec. 31, 2023
SEGMENT AND GEOGRAPHIC INFORMATION  
Summary of operating information by geographic area

 

 

Year Ended December 31,

 

(in thousands)

 

2023

 

 

2022

 

Net sales:

 

 

 

 

 

 

U.S.

 

$2,799

 

 

$1,774

 

Europe

 

 

9,469

 

 

 

7,402

 

Rest of World

 

 

15,796

 

 

 

15,041

 

 

 

$28,064

 

 

$24,217

 

 

 

 

 

 

 

 

 

 

Included in Europe and Rest of World are the following Net Sales significant balances:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Germany

 

$4,697

 

 

$2,881

 

China

 

$3,800

 

 

$5,476

 

 

 

 

 

 

 

 

 

 

Operating income:

 

 

 

 

 

 

 

 

U.S.

 

$216

 

 

$5

 

Europe

 

 

(671)

 

 

(1,331)

Rest of World

 

 

903

 

 

 

577

 

 

 

$448

 

 

($749)

 

 

 

 

 

 

 

 

 

 

Identifiable assets:

 

 

 

 

 

 

 

 

U.S.

 

$12,385

 

 

$15,234

 

Europe (primarily Germany)

 

 

4,966

 

 

 

4,886

 

Rest of World (primarily China)

 

 

10,050

 

 

 

7,045

 

 

 

$27,401

 

 

$27,165

 

XML 49 R32.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Net sales $ 28,064 $ 24,217
Change in sales percentage 15.90%  
Equipment Sales    
Net sales $ 16,343 13,803
Change in sales percentage 18.40%  
Adapter Sales    
Net sales $ 8,154 7,336
Change in sales percentage 11.20%  
Software and Maintenance Sales    
Net sales $ 3,567 $ 3,078
Change in sales percentage 15.90%  
XML 50 R33.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Accounts Receivable 47.00% 39.00%
Sales 24.00% 23.00%
1 customers    
Accounts Receivable 18.00% 15.00%
Sales 13.00% 23.00%
2 customers    
Accounts Receivable 16.00% 13.00%
Sales 11.00% 0.00%
3 customers    
Accounts Receivable 13.00% 11.00%
XML 51 R34.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES    
Cash and cash equivalents held in foreign banks $ 6,600,000 $ 4,000,000.0
Advertising expenses $ 196,000 $ 116,000
Common stock equivalent shares 133,000 109,000
Options excluded from the computation of diluted EPS 12,500 12,500
Foreign accounts receivable $ 1,000,000.0 $ 2,400,000
XML 52 R35.htm IDEA: XBRL DOCUMENT v3.24.1
ACCOUNTS RECEIVABLE NET (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
ACCOUNTS RECEIVABLE NET    
Trade accounts receivable $ 5,779 $ 5,139
Less allowance for doubtful receivables 72 147
Trade accounts receivable, net $ 5,707 $ 4,992
XML 53 R36.htm IDEA: XBRL DOCUMENT v3.24.1
ACCOUNTS RECEIVABLE NET (Details 1) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
ACCOUNTS RECEIVABLE NET    
Beginning balance $ 147 $ 89
Bad debt expense (reversal) (75) 58
Accounts written-off 0 0
Recoveries 0 0
Ending balance $ 72 $ 147
XML 54 R37.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
INVENTORIES    
Raw material $ 3,328 $ 3,850
Work-in-process 1,596 1,911
Finished goods 951 990
Inventories $ 5,875 $ 6,751
XML 55 R38.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY PLANT AND EQUIPMENT NET (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
PROPERTY PLANT AND EQUIPMENT NET    
Leasehold improvements $ 394 $ 404
Equipment 4,977 4,683
Sales demonstration equipment 1,396 1,066
Property and equipment gross 6,767 6,153
Less accumulated depreciation 5,408 5,081
Property and equipment, net $ 1,359 $ 1,072
XML 56 R39.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY PLANT AND EQUIPMENT NET (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
PROPERTY PLANT AND EQUIPMENT NET    
Depreciation expense $ 608,000 $ 560,000
XML 57 R40.htm IDEA: XBRL DOCUMENT v3.24.1
OTHER ACCRUED LIABILITIES (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
OTHER ACCRUED LIABILITIES    
Lease liability - short term $ 798 $ 799
Product warranty 449 425
Sales return reserve 32 71
Other taxes 69 163
Other 90 138
Other accrued liabilities $ 1,438 $ 1,596
XML 58 R41.htm IDEA: XBRL DOCUMENT v3.24.1
OTHER ACCRUED LIABILITIES (Details 1) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
OTHER ACCRUED LIABILITIES    
Liability, beginning balance $ 425 $ 432
Net expenses 902 774
Warranty claims (902) (774)
Accrual revisions 24 7
Liability, ending balance $ 449 $ 425
XML 59 R42.htm IDEA: XBRL DOCUMENT v3.24.1
OPERATING LEASE COMMITMENTS (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
OPERATING LEASE COMMITMENTS  
2024 $ 841
2025 591
2026 133
2027 48
2028 & Thereafter 0
Total 1,613
Less: imputed interest (113)
Total operating lease liability $ 1,500
XML 60 R43.htm IDEA: XBRL DOCUMENT v3.24.1
OPERATING LEASE COMMITMENTS (Details 1) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
OPERATING LEASE COMMITMENTS    
Right-of-use assets (Long-term other assets) $ 1,363 $ 2,129
Lease liability-short term (Other accrued liabilities) 798 799
Lease liability-long term (Long-term other payables) $ 703 $ 1,500
XML 61 R44.htm IDEA: XBRL DOCUMENT v3.24.1
OPERATING LEASE COMMITMENTS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Short-term lease expenses $ 745,000 $ 899,000
Cash paid for operating lease liabilities $ 894,000 779,000
Weighted average remaining lease term 2 years 2 months 1 day  
Weighted average discount rate 5.00%  
Short-term lease costs $ 25,000 45,000
China    
Lease base annual rental payments $ 823,000 $ 713,000
XML 62 R45.htm IDEA: XBRL DOCUMENT v3.24.1
OTHER COMMITMENTS (Details Narrative)
Dec. 31, 2023
USD ($)
OTHER COMMITMENTS  
After 2024 $ 251,000
2024 $ 232,000
XML 63 R46.htm IDEA: XBRL DOCUMENT v3.24.1
STOCK AND RETIREMENT PLANS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
401(k) Retirement Savings Plan matching contribution expense $ 253,000 $ 210,000
Employer matching contributions owed to the plan $ 248,000 $ 229,000
Outstanding stock appreciation rights, shares 12,500  
Employee Stock Purchase Plan [Member]    
Purchase shares Common Stock 95.00%  
Number of purchase shares 3,341 3,288
Average execise prices $ 4.16 $ 4.06
Number of shares reserved for future issuance 21,525 25,477
Equity Option [Member]    
Number of shares available for future grant 732,327  
Number of Common Stock reserved for issuance consisting 353,525  
Inducement reserve shares 92,500  
Inducement reserve shares granted in 2019, vested but unissued 12,500  
Options granted maximum term 6 years  
XML 64 R47.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE BASED COMPENSATION (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Share-based compensation $ 1,190 $ 1,176
Cost of Goods Sold    
Share-based compensation 95 76
Research and Development    
Share-based compensation 257 228
Selling, General and Administrative    
Share-based compensation $ 838 $ 872
XML 65 R48.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE BASED COMPENSATION (Details 1) - Stock Option [Member] - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Number of options, Outstanding beginning balance 12,500 12,500
Number of options, Exercised 0  
Number of options, Outstanding ending balance 12,500 12,500
Number of options, Vested or expected to vest at the end of the period 12,500 12,466
Number of options, Exercisable at end of year 12,500 9,375
Weighted-Average Exercise Price, Outstanding beginning balance $ 4.98 $ 4.98
Weighted-Average Exercise Price, Granted 0 0
Weighted-Average Exercise Price, Exercised 0 0
Weighted-Average Exercise Price, Cancelled, Expired or Forfeited 0 0
Weighted-Average Exercise Price, Outstanding ending balance 4.98 4.98
Weighted-Average Exercise Price, Vested or expected to vest at the end of the period 4.98 4.98
Weighted-Average Exercise Price, Exercisable at end of year $ 4.98 $ 4.98
Weighted-Average Remaining Contractual Life in Years, Outstanding beginning balance 1 year 3 months 29 days 2 years 3 months 29 days
Weighted-Average Remaining Contractual Life in Years, Vested or expected to vest at the end of the period 1 year 3 months 29 days 2 years 3 months 29 days
Weighted-Average Remaining Contractual Life in Years, Exercisable at end of year 1 year 3 months 29 days 2 years 3 months 29 days
XML 66 R49.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE BASED COMPENSATION (Details 2) - Restricted Stock Award - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Outstanding beginning balance 665,200 623,777
Granted 387,100 330,215
Vested (284,925) (249,292)
Cancelled (38,750) (39,500)
Outstanding ending balance 728,625 665,200
Weighted-Average Grant Date Fair Value, Outstanding beginning balance $ 3.94 $ 4.73
Weighted-Average Grant Date Fair Value, Granted 4.36 3.26
Weighted-Average Grant Date Fair Value, Vested 3.93 4.95
Weighted-Average Grant Date Fair Value, Cancelled 3.96 4.33
Weighted-Average Grant Date Fair Value, Outstanding ending balance $ 4.17 $ 3.94
XML 67 R50.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE BASED COMPENSATION (Details 3) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SHAREBASED COMPENSATION    
Unamortized future compensation expense $ 2,317,524 $ 2,029,457
Remaining weighted average amortization period in years 2 years 5 months 8 days 2 years 5 months 19 days
XML 68 R51.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE BASED COMPENSATION (Details 4) - shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SHAREBASED COMPENSATION    
Weighted average shares outstanding 8,940,612 8,740,701
Restricted and Performance Stock Units 132,360  
Stock Options 216  
Weighted average diluted shares 9,073,188 8,740,701
XML 69 R52.htm IDEA: XBRL DOCUMENT v3.24.1
SHARE BASED COMPENSATION (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SHAREBASED COMPENSATION    
Withheld from issuance of restricted stock units vesting and stock option 83,753 57,206
Performance shares granted 30,000  
Aggregate intrinsic value of options outstanding $ 0  
XML 70 R53.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INCOME TAXES    
U.S. operations $ (536) $ (1,622)
Foreign operations 1,216 1,185
Total income (loss) before taxes $ 680 $ (437)
XML 71 R54.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details 1) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Income tax expense (benefit) consists of:    
U.S. federal $ 0 $ 0
State 20 19
Foreign 174 664
Total Income tax expense (benefit) 194 683
Deferred tax expense (benefit) - U.S. federal 0 0
Income tax expense (benefit) $ 194 $ 683
XML 72 R55.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details 2) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INCOME TAXES    
Statutory tax $ 143 $ (92)
State and foreign income tax, net of federal income tax benefit (178) (189)
Valuation allowance for deferred tax assets 139 370
Foreign sourced deemed dividend income 322 738
Stock based compensation (250) (154)
Other 18 10
Income tax (expense) benefit $ 194 $ 683
XML 73 R56.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details 3) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INCOME TAXES    
Unrecognized tax benefits, opening balance $ 422 $ 392
Prior period tax position increases (6) 0
Additions based on tax positions related to current year 14 30
Unrecognized tax benefits, ending balance $ 430 $ 422
XML 74 R57.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details Narrative)
$ in Millions
12 Months Ended
Dec. 31, 2023
USD ($)
INCOME TAXES  
U.S. net operating loss carryforwards $ 13.8
Expiration years 2023 to 2034
XML 75 R58.htm IDEA: XBRL DOCUMENT v3.24.1
SEGMENT AND GEOGRAPHIC INFORMATION (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Net sales $ 28,064 $ 24,217
Operating income (loss) 448 (749)
TOTAL ASSETS 27,401 27,165
China    
Net sales 3,800 5,476
U.S.    
Net sales 2,799 1,774
Operating income (loss) 216 5
TOTAL ASSETS 12,385 15,234
Rest of World    
Net sales 15,796 15,041
Operating income (loss) 903 577
TOTAL ASSETS 10,050 7,045
Germany    
Net sales 4,697 2,881
Europe    
Net sales 9,469 7,402
Operating income (loss) (671) (1,331)
TOTAL ASSETS $ 4,966 $ 4,886
EXCEL 76 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( +*#>U@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "R@WM8D+4\0>\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O385Q=#E9<,G!<&!XEM(;EM8DX;DI-VW-ZU;A^@'\#%W__SN M=W"M#D+W$5]B'S"2Q70SNLXGH<.*'8B" $CZ@$ZE,B=\;N[ZZ!3E9]Q#4/JH M]@B\JN[ (2FC2,$$+,)"9+(U6NB(BOIXQAN]X,-G[&:8T8 =.O24H"YK8'*: M&$YCU\(5,,$(HTO?!30+<:[^B9T[P,[),=DE-0Q#.31S+N]0P_OST^N\;F%] M(N4UYE_)"CH%7+'+Y+=FO=D^,LDK?EM43<'OM[P2_$'P^F-R_>%W%7:]L3O[ MCXTO@K*%7W&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" "R@WM8$7Y]D)$' #A,@ & 'AL+W=OP#:8G7IN>W ^QP;P/\*N$G@?$Y3,7WY(5I1*]Q!%+KEHK*=?O.IW$7]&8 M)!=\39GZY8F+F$BU*):=9"TH"?*B..I@R^IU8A*RUO R7S<3PTN>RBAD="90 MDL8Q$:_7-.+/5RV[M5\Q#Y'WO?IM?O+J9!Y)0D<\^A(&%>#O"FRWIL#9 M%3BG%KB[ CKT0Y;]OS](H7X-59T< MCOB&"M1&GQ_&Z->??[OL2"6:_=3Q=P+76P%<(V!C](DSN4K0#0MH4!7HJ*,I M#@GO#^D:@XICZE\@QWZ#L(4=S0&-X/)/1%P@NY^7NYKR,5S^1\K4WBW=WBMG MXQ2 G5S/ 0'_XSTF4JA&_J^.\%;!U2MD/?]=LB8^O6JIKIU0L:&MX2\_V3WK M=QT=DV)C0V(5DRS-@QB>Y)3'7\8)VQM_#0I#-%H^E\ M-IU[B\GT7@<.5&D*SI!8!5RW -<]!=R(,H4M0A/5+U_01_JJ0PJ?T[4' M@[X.&%C;%)@AL0JP7@&L![<0[J=J+)-H\;K6-C"XW+;:'W5\P*JF? R)5?B\ M+?B\!4_04W""'-!M1)8Z0'#]$XD2'=<16-:4D"&Q"J%^0:A_2I?[BT*!4B;T=AXJM+TU=*1.8;D/(N MVHX'J[7;-F[;MHX86-B4F"&Q"C';*AV:=4K;^J*\,?K(^#-##Y0DG-$ 39(D MI4)KVF!-?3.#BYI2,Z56Q79@;.U3L#W$1'&[3A/UAMT/;N8=W$5"Q# MMD3OE8)<@=A@P7IL1LV\*;4JMM+.VR?Y^?T0,*=K+F3&[T$2F>J[)JSXE>JJ M1G!58VKGL/)VZ>5MV((7WG1&1<@#<+0\)K4/UK7)&A9H3.X\N=&!HI9$LN]+T3UKGGK$U\GRH9)1)L!;7TC!I^4VI5>J7EMV'/7K2[G57; M-;];M5K?56&YVZ]:8D8#@"FU*K$R MBP=?^>6&YNZWG!8K4]U&@4,*56)5:& M 1OV[_L1@<@BM'NWV,57=_[(AR M/3^C <"46I5?&0#P20$@\T_H/HT?]7$9M?ZFU*KP2NN/3[+^ M"_*")H'JL>%3Z&\) NT.EAS8;:O?<^V:1Y)&K;\IM2J]TOICV*OOZ'E!H-23 MXO-.;89T-UNOC^CU>FX7V?VN7"%OH[K^C9:@T2A@2JU*L(P"^*3' 5J"6$L0 MUGM(0]7O[V*C;&$JT((_,RTW6&U. Y4L BTU MHT\(3*E5IQB4P< Y*1CLJ6V'"85M)O@F9+YVE#@BJ1\EX*+&LPO.\83 *0.# M<](3@CVU&5>),T)_A^O:D?6(X*!O=77=>P37-<9VCN3@E,G!@E%2U+3 A'-&K30AP76-J MYT@(3ID0'-C<[X'53?0Y4OY^[MTOT.+#='Z_F-ZCN[N9EIC1F&!*K4JLC D. M;.;WQ.[XUN!JJ<$2US2*Z":E;] 7DJQ"MI1:F1$LTYC;.1*"4R8$![;S>VZW MH8A51M!B@Q6PJYT4!5ZYKC:R MPZ6-:9W#]3NEZW>.N'3JIR(;'&W\B!:AC/37,%CD\&:XEIA1MV]*K4JL=/L. M[,\7@@3Y$^#7^)%'6EJPP-B;3+64C+I[4VK5:;"ENW=A*UZTJYL7?T78DM9/ MA#TRZ\=[&'M_ZGC!A8TGOY[#U[NEKW=/\O43)JG8OE>0/3$G^YD'6G"P8LU$ M [BJ,36CMKYS\$Y -E$E?[D"QMGA_P\O?6NB4FV]?_OA$LGDN M"8KHDRJU+MZJH5MLWZ?8+DB^SM\P>.12\CC_NJ(DH"+;0/W^Q+G<+V0[*-YJ M&?X/4$L#!!0 ( +*#>UA:!P)WT@4 &\6 8 >&PO=V]R:W-H965T M&ULK9AA<^(V$(;_BH9FVKL9X41QUB66XGIF'2ZE_GOSV* M_C7/9!0F[%&@-(MC*MYO6<3?;EJXM?_A*7Q=2_5#IW^]H:]LSN3SYE' 6^?0 MRC*,69*&/$&"K6Y: WPU))YRR"W^"ME;6GE&*I07SK^JE\GRIF4I12QB@51- M4/BS94,61:HET/&M:+1UZ%,Y5I_WK?^6!P_!O-"4#7GT=[B4ZYM6KX66;$6S M2#[QMSM6!.2H]@(>I?G_Z*VPM5HHR%+)X\(9%,1ALOM+OQ>)J#C@;HT#*1S( MN0YVX6#G@>Z4Y6&-J*3]:\'?D%#6T)IZR'.3>T,T8:*&<2X%? W!3_:'LX?Y M;#H9#1;C$;H=3 KG=]4)J>AFQX NR<1L1B]@&]^'Y[N38O0/Q'H(FAZ!)WIY=%_3ST]/X M88$&\SG$>66*9]= U]R 6EM7Z88&[*8%BR=E8LM:_9]_PJ[UJRFZ#VKL*%;[ M$*O=U'I_2-,U@E%#@7I@W[)P2R.62.,H[IIR\Z94 =CV,;&[^+JSK89CL,(. MM@Y61SJ[!YW=1IT+09<,5G7 ,Q '%2)@H/0E8FV40#7C*T0CJ#DT"1B"ZH4" MP9:A1!%/4Y:JSQ<>R>.\P%VO#?[IAN4E(GHW1;H3XU1B<#S+.PE4-^KZ/C'' MZ1SB=!KCG"1;R#X7(3..@*/KZGG.B2[=R/4<;-;E'G2YC;IFLP6@RDZ7K@F>9[6->FZV#X1:+"R>W[/ M++%WD-AKE/@H *Y"OK?1)J(JAS 9U7K;Q"JCEVH:FQ3W-"W8=OP3P08CRZN9 MB?Y!KW_&B->/M*_WV26GPG0C@OV:L<96"27KC-&N'^7"_:A;KVN=%BJC&7;K MY%68B<_BQW0RN)U,)XO)V R1HID/HLA'M78<=,E,W(BI_F!?FC?T7=5E8\!$ MGS.D,D^+0 Q6MNO6C$H).MQ,.A H,@:@XS%LY ?K0L&JPECB.L$<%H5%-@ M<0DM_'^H52D71ITZE5S2 M9VDSU$ MQZI;0B6V<#.WICQYO91,Q(CG<[48>K-. \1\3:3Q3T,O'&TB,_GR>+ M?XSR/A1=']7:<="5XUXSNA[%ONK">3KX"GNQ02;7L ?_ERW;R&E;EJ7^H71- MH?LV'':#*%NJQ4".OJACQIRIK3L:H-^S)(1SR",5,@S"S6[Q3-)4E4VU]>.9 M3"4\P,]PA.&)L381'87:+&@R.4Y(B4KR@T,ACV.>[++11E3"$Y6@&XZ&&3M) MCVV=Y*D.89@],[BU]@H>XO '+/'ABZ;;N'FXV),6L&@A// M/MW^F( M+O%.FO&^8^?9]4KG-[&J7"RD&C#O8ZL&GZ0$/3D']!7 H\'#Z'SQGG:C8CK. M&,WTXTRG;N1?)-?D'XPJ7D[IC[_P%02P,$% @ LH-[6$2AEAS; @ G0@ !@ M !X;"]W;W)K1 M DCTE&=4#(Q4RN+2-$6<0H[%.2N JCL+QG,L59YS+& ()22)9OQ(H@)[2^XJ?-.FP)[,XK F(Z6KGI1K4VE5IE0ZC>Q4AR=9(4#1+62DP343? ME(I$^YGQ9M:K>E;GE5E'$)\CUSY#CN6X+?+A\7)G5VZJ_)M%<)I%<"J_SBM^ M,XX30&$XA!K+"\PS.T)TZ2),%"C/UN&,:0UNNM;E7F>M3LPIZBFJU MG<]^B-WI-3$[T&X#[1Z$GJKG'3B'!$62Q8]G*"QERCCYHT=2M7.M^U)[=K= MNE;U>P'\=MP.=*>![AR$'K(\5X?W/<2=/1+7:D4^(G"'N=LP=]_!?"-$>9"W MNX=Q83F6;U^\P-V/\WW;;S/W_<(;]O6UPVL[#FV$ULKE5/'3A_H[YDE"!,E@HH77> M4PZ\+H9U1[*BJB=S)E5UJIJI^GX K@/4_05C\KFC2U3S11+\!5!+ P04 M" "R@WM8AA[%&]$$ #B$@ & 'AL+W=O'%GQ@V\)$> USRB?#K9"[*X,@H*LIX.KN'5 M''G*H;3X*R5'?G8/5"HOC/U0#W?)=. J(I*16*@06%X.9$ZR3$62''_700=- MF\KQ_/X4_7.9O$SF!7,R9]GW-!';Z2 :@(2L\3X3S^SXE=0)C52\F&6\_ 7' MRC;P!B#><\'RVED2Y"FMKOBU[H@S!QCT.*#: 74=_!X'KW8H>\ZIR,JT%EC@ MV:1@1U H:QE-W91]4WK+;%*JAG$I"OEO*OW$;/[XL'S\\VYQO;I=@.5*7NYO M'U9+\/@9/#[=/E^O[J0!&()ORP6X^/ 1? I!:LMVW-,$SYQA&10D9RX;N^F M:@_UM <1N&=4;#FXI0E)W@9P)'R3 3IE<(.L$1_ 20BSP#T/S7W9$% MQVLZU"OC>?^G0TW]5H7US6'5;+[B.QR3Z4!.5TZ* QG,?O\-!NX?IIS?*=B; M'O";'O!MT6$:-5PC M*]><<0'8&FP82SC@+$M,@%6,T5G3$$9AU $T6;EN#V#0 96P"\%XUQ.[F*3 M4A-:H#<:P"CHH!FL/ 1=,UK8H(76JG[94*P@F_,A&&[UG#[Q3L M3;Y1DV]D'8IG&1$7\1;(54ZJPD'*W4Z*ES E'6D='HQ0MZ(-1F[DF0=EW$". MK9!+*7YR2#Z!#:%R>+(2%B=2)5(NU' =B(EWK*&,$>SRZD9A% 9F7NBV8N-: MB5=,2$RF%9-11UR]D$>AUYV))C-O/!KWH)[I(K2BMA6?TICE!%QDQGP]O3S&;G=L="//[QF95@6A70:_R#TTD!M5)85*=C#G1)@KW=>:UPAU MDU&/VL!6#Z%=$.4^6.YRJ=QF%@6A\4\@%PW*<;6_WBA\2\WK"NBC+K1N@Q#L MH6Y%$MI5LEI#:'_=&W%U542>QJL;>1#U\+;*":U")8OTC V\$/GI14[ K_V M+'ZAKA>15A2ZT=#W^LJBE3YHU[Z[A@UM.F)XOB!$O(>M6 M-N16!9%5:&;?RZ]UD@SQ02X)&Z*^[&6GE[3&^57'.Z_&:.S#+J[!*O1[5C#4 MRA:RRY9&F]0];N'5%6KLAEZ75[7M MEN"$%,I _K]F3)P>5 /-L=;L'U!+ P04 " "R@WM8U/?#Q= " G" M& 'AL+W=OT^N\E HB8V:QMH_W['2<@"3:-]Z N^S1R?,^/,T-MS\2IC M $7>LI3)OA$KM>F:I@QCR*B\YAM@>++B(J,*EV)MRHT &N5.66HZEN69&4V8 MX??RO87P>WRKTH3!0A"YS3(JW@>0\GW?L(W#QF.RCI7>,/W>AJXA /6T60A< MF15*E&3 9,(9$;#J&[=V=]C1]KG!30G6LD+YZ]Z,8GZAJ4)00JAT@@4 MAQT,(4TU$-+X4V(:U97:\7A^0+_+M:.6%RIAR-/?2:3BOG%CD A6=)NJ1[Z_ MAU)/6^.%/)7Y+]F7MI9!PJU4/"N=D4&6L&*D;V4"&V-:'J2QR;W1C4)TUD,E,#3!/V4/YS/@OG#9'2[ M'(](L,1A.IXM S*_(\/Y=/$XOA_/@LGSF$QFN!Z3RX=Y$/P@5^0I&)'+BQ_D M@B2,+&.^E91%LFUKU]^C/O2LW-(2^ M@=^S!+$#P__^S?:L7W5!^"*PDY"TJI"TFM#]&5:G"0MY!N0RY5+6JBT@O!Q" MUZ*=W[KQ>N;N6,1'FRO;=JS*ZH1=NV+7;DS87,4@"+)#Y;&N5SO -Z[9=NMX MMK\R*U\$=J+;JW1[C5G!LHA%CV'5$0)8^$Z4H$RF-"^W:VP(##!NY_Q1?;2YLCOMY[,[404,"N.M,*;UYGWZO=:G=G/Z80A2D0%V+M^_<;D*(D,=4M7Q3P MWG-S3F["$49;DC\7$<84O*9)5HRUB-+UE:X708135%R2-<[8+TN2IXBRTWRE M%^LT^GXS(AB9QAN]S4&S2%.4_;W!"MF,-:F\7 M'N)51,L+^F2T1BL\Q_1Q?9^S,[U!">,49T5,,I#CY5B[AE>^6254$7_%>%L< M'(.2RA,AS^7);3C6C')$.,$!+2$0^WK!4YPD)1(;Q[\UJ-;4+!,/C]_0OU;D M&9DG5. I2?Z.0QJ--5<#(5ZB34(?R/8;K@D-2KR )$7U";:[6,?40+ I*$GK M9#:"-,YVW^BU%N(@ 5I'$LPZP3PUP:H3+"ZA;QQ)Z-<)?2[!1C.T\J!2O\IF>L59V2ASFK-?8Y9')]/9W7SV_=:[7O@> MF"_8UP__;@%F7]G);/K'M]EWSW^8_P;\/Q]O%_^ 'GB<>^#SIR_@$X@SL(C( MID!96(QTR@930NI!7?AF5]@\4GA!*$HD:5-UVI2D*>NO.27!LR3;4V<_8,K6 M#@Z!C_(LSE8%^'P=!)MTDR#*KGIX&0A MRZ)^1V MQ:U&<>LTQ5%*-AD]2?$=HGT@$ARZ ZLMT52,,@W7M3DAQ:B>:4#8 MCO+%J*'C-C$MXOV&>%])O%IA &U1'A8@+HH-#B] QNY<9 DH>F7;%(TBDH1L M%;VUHTP+99%SNZ\O=!\<,M%XS;JLZ7<$UIJ#03,'@^[F8->@LCD8"++UX$%[ M[+0=B(TF!'DBDL%UHBJBI8'=:& K-?#3=4)^8KS;\L'])@\B9@S /5N7JL93 MHI[;>+; RC)=7IPN*_H=@;4D=QK)G0](?KS/''%Y\IN>(VZ-7(@GHO ]IHIH M$78;PJYZG95=U"O]9EC=M]E-&Y4V5D;2%4E"A]N!IJ<$>6(03U05T2(Z;(@. ME43OV-X19XPB!I]+2R)S.C=#R78!36YL4S&*B_!.PO%5."V.T-A;6D/)R;VOAUV M:-R/W\RA:+9[EL/?!>HH6QGE2;"$W5 5TE9B[YZAVC[_7^NHACV["45+;)DV M;P8ZK>EWA=86?F_9X4<\NZ+G1)\-^WS'V:*%[/-BBCA"OZE"VK3WMAFJ??,Y M-A)*S#(<"LOKE"A/$B70/=DSP[UIAFK7?)*9A**'[?-_V*>2(('C"3B^$J?- M]B3=/-/%R,RG7'4H>*%J\3E-9F.GP+M&3A/5, MN\_]%?)E:!9O)O6#UQ/EVZU@_=JH*&P8 M -08 8 >&PO=V]R:W-H965T&ULK5EM<]HX$/XK&JYS MD\Z48@D,)I^AE1_67"14*5?Q;(CUP)H ME$U*X@[QO'XGH2QMC2ZRL49E&ERW/(((80F544/VSA0G$L=&D'YSC69S_7-W9FVNHI^I,*5F.^H%_8O.]M"(NDP;8^+MI8[0^7MTOC,^X^@? MO:MT(5(2*:XK4:[./PA&WPLJ :O+^/V&< WV. =.G#<_-VQMHH64H*E<@! 0F<"% M7"K$%VC)>221Y'%D0SVH(>IZN(+:(C/LV5$'>]2!$_5L106T#;U$&FBB.5Y#VQ+GV*P4IA75F-BD,/8:$AX?,#)V0IVF M6YWO7#"P\RNN+1M@OXJM+M3V@Z !&BFA$2>T![4"H=L2O0GUCJ12@K)C)/7E M>]5J81'JXP:$)?MB)[6-QJ\17M,7$]Z\MH6AV.BM&#/ZQ&*FFCS;K>\RKQ;U MNE"[1YH\6W(F=I/F-12E38"._L:>EKWZTJ0_J *L2^'AL %?R9K8R49%Y&.> M+ML*1/)+5_IUJ/V@5X5JD0J&31NHI#;\2V[CDND<,+'G%>".I+507+?F78M0 MT, 6N"0Y[&:YK!13N4)KP;=,]\7HZ06=;0Q]L/0]TH:GGF:OUZF, M'.9F84)=JHT]GS0847(>#MR=;WE>N/WR<(>F]]]N9O/I_=]H/)E/OTWGTYN9 ME6:PDTQ_EV=.I>W8"R6I8B>1C1XW0I.J!&F:$QU.'3KU\@&M8VHJIDY(>.UH MK*X8VCAE6"OO-C$O:-@YI&1)XF;)27,.,LU*\@TY2*RL6+/ *M9L04F>!/]6 M$MY.[\?WDS$CYQ$[XC91AZ@DGHW@+&/JZ]7C ML4WLR,9C\&6[0'[1+F0;E[((11MA/*T;M0*MJ4+V(GW23N%4VHX=4'8*Q-TI M3//+)EU4&\K2L';_A0>UZ-2%?+]Z,= YN!].0"RS:W.)LI-2?M&Z']U?S8^S M"^G*^!4^G^07[*6:_+[_C@J]8Z1FDX56Z7TO+V:!_3\R1O\!4$L#!!0 ( +*#>U@K%[\/*B ,A> M 8 >&PO=V]R:W-H965T&ULS5QY;Q1)EO\J*0\SPJMT MX;*-<4,WDC'0Z]4T( R#YL^HS*BJ:/*HSLAT4?/I]YT1D748>F=76HVF<>41 MQSM_[XC\>=UV7_W2VC[[5E>-_^5HV?>KYT^>^&)I:^,G[=K7IX6>W M>.)7G34EO5173\Y.3R^?U,8U1R]_IFL?NI<_MT-?N<9^Z#(_U+7I-J]LU:Y_ M.9H>Z86/;K'L\<*3ES^OS,+>V?[SZD,'OYZ$44I7V\:[MLDZ.__EZ'KZ_-4% M/D\/_,/9M4_^SG GL[;]BC]NRU^.3G%!MK)%CR,8^.?>WMBJPH%@&7_(F$=A M2GPQ_5M'?TM[A[W,C+W%^E!6#[]M:7H85U*[A?\TWH4/RPM7I@1?.Y(4S6C=/1*M\;7KS\N>N M76<=/@VCX1^T57H;%N<:9,I=W\%=!^_U+^\^__;;]<=_9N_?9G>WO[Z[?7M[ M<_WN4W9]<_/^\[M/M^]^S3Z\__OMS>V;NY^?]# ?OO6DD+%?\=AG!\:>GF6_ MM4V_]-F;IK3E>( GL-"PVC-=[:NS!T=\;8M)=C[-L[/3L_,'QCL/NS^G\<[_ M3W;/8U_L'QNUZ;E?F<+^<@3JXFUW;X]>_NTOT\O3%P^L_"*L_.*AT?_-E3\\ M]KOWG]YDT^QO?[DZFTY?9#\^5?;.]$-GLW:>O5_9SJ#>^0SE,KM]\CZ[:;M5 MRU>SQSCZV>D+O4D_IR_R3*Y_L=M7W@_=]J7/7JX<@R)ZMVA\#KK1#'/0=5B' MSTQ39F !*I^MNG;1F1HT:)'YC>]M[;/!VS*;;>1=V_'SR0!P!;9"%J1K&U?@ M*.50@!7,8#5[Q@P/9 ;(0./WK3Z7N::W\$ZEZSM='^E MO7>%W7/#V]H5;8-3M5TDPMKURZQ?VLRO;.'FL."A<7\,-BN1RHV%L3Q8W@QL M.3T&DV8P3 ^V&];DFNS>=*X=?-A&3A3!O9@F; FFS -G&?X$>2$\EFYE5M(1)=D-V#LF-@[8_0-JJ+8B.IFL' M6"&N ZQ_5>;PF /OXJH-[N?:.Y-G;X8.G!AM!1^\AIE<882)D=TX5QO%%JZMLFSSXW#F_?]? 4R]'=TC2+I7%Y=@-/ MF4GV 68HW*JR)%4W,$=;N9+5X1.LJPA78* YO )/FRKS."2XP1[)6U1#:6D7 MIBA@ZSV-M5?#< U(RO6RK:K-2;M&'OMAYEWI@$ 6]G\+ MD5;;TRS28.2'3J M3.--P918FGN;S:QM@-<.6**$*-(M3++/S-XWO@<.(!5P4V#Z5D96!#W$VR7Z^O/P1E MZ>P?@T,C 1( \ .7@LI:FZ\@TV$/)/\>(,N*:=$O39^9^1QDGB:&[8%2H"36 M@1WPO!4Z5L[,7.5Z)T.5SA=5Z\5(HN[!%G'F0^_P+"@3^ +^O8^$>1#N?>OI M[+UM!ED!:F;CX4?)$A]?(F(#U=IRDEV#0L ,0!Y -V@DA@H7#_ONLGG7UO!: MZQ,Z3;([,*%HI!A:\,'2X M#\K9V1.$87F^P3:D(EX^QG$LJUO);J%UF07EY' MCC O[;<"+0-0G9C*\CLS%6V=@3BR>Z*T N86K>^WN/?CP">![(@P;:[K):-NF_!T,-.LJ2P0^*V+@R%N@9V&+"81=P,3 PH)8R"X0 M['OQ%0Q1:=E=39^]R%#_^@WNTU3N7[A8V.#0=/IS 6Y)B,U2L#,W$),TD;;% MFR)K,B*Q1QH?4*_2-FUBT)2B;/8+I:<(,3W2M,V). E8A[ #AM]^=Y.:T)VM M@,L#WT$7Z(\W0(I[4Q&%05BS)<02Z'3 >3N<]MXJ_5=#!WM#L64["5:U[_J!;>1W;'(.+LD52R$MVD)"8?C*6UNB@<]>@T'RH/ZW M>)L48X0=W[Z^O3EFFY=P[7?8O2\=.ZV)CD'+(>L_,\U7C[)A+=M*'(970%.@ M;^N)$N3PFK:/,(:DQB[S![#[=I5%6[_.'MT.;FDYQY=3$[1#D#L9.L9 MV&^-G^@N_'&6HV:M+,7'%2CD)U1J6K@N=F1BB#KP1M\)K7FC;*.\;T$@>I5/ M]/[P'$.J/"H'R"*8)<]7^?5Z56U0I^B]10NW&_+)*X 8J(JXRL50F73*!H!G M!7=H^4[))GCKK7$=.0%RG6^#K()0]=W ZG1C.Q+YL23K7=(:<#&.+2EN40WV M"*R-K+4\ AM7YEM8W%$LA-R!X M'"U+8>!!^ MW"$*,FSK_!2Y?2D&6>,IPF[LGP6H1:*$:*@!+( [@-6-P!%[UN!+]BVG'7J8 M C8'I*M:\(48K)D@N^"<&.&!*##R!2;ON(F5 8&'=9%1+"T^ Y$BAQ]A0;-- M> 4G@SAS(#.#",50?)J+Q/)MV,#:=.5)U;9?U8<6/;.+N3BLHI()=P3["G\R M0(_@N#XPMK"Q[7>!H(U&G M%&,E3[ZU!IAX83%^72TQ9R 47B'),9Q'?]Y6][:,J'U'0B7PS%CI M-I1%,!NQ&>VL<@LF&%P?V'NO0?'0T,WW+G>]M$32#<1QH'066C#VBJ@@>53[]>ZP2Q(EVS4+$5K>9A#R=U>P\+RPEW>-;_50M&JT?S@VC2 M@_/ #<519DCU>V MDA)ALHQ1"?P'N71XT[P\#K]E+9TEG. Q#*2H;&>._=2).^TL8GJ*ZS&^CW:4 MMX3"&HA"5MAB>#0/J0:B0>;F'$,$_Q&')6B0CDDK9)S652K&M'N!! \3 ?4' MM@)8B7ZBU;*X0B0!,R.)\BB'6B.1V:@"]$>B4(:&[ @-T*4;"IJL)_HQF>6 MQ!RC8A!>,$F\?$+1Y+0&RF$/#>9JT)!JO#0'/? H5&-JA&G8D0LYO%"/\%2Z M)[2$.=*4L'N +9(9P)&%GCOC*JL2*)GR"4?UHL$(4EXE0WN;@")X4'.W)%49 M(ZB'XH.F';'%$"#B*%\GI#$?Y"X8!8.&#V(Y#!6^V! ^(XKK&H)C'O=!?@9C M:DY.S&U,Q&ET87JP9PWX,[Q)%@/M)#FA=D:0WF%ZB1!.SS9C!H:\,"O74WY! MK\OC%!)V[;# W".LV LJ1,$""5LX;_7L-:F9YAPN!,9Q 2IQS33'9N&.!N4L4.RT]3C0KCP*IH724BTC)9;FJYTZ %4X)H M))V7) 4'40J_.;$[ROE+F)2G:]LWTW96289R'K/FA9&R!Q +,QC@WSF/RK29 MV7YM&9LAY*0:Q)SA&I,7?CGF?9+_HX5VG$/]E^A>#&IB.I.P'I'OA24BF!LWW7=S?'V:<60FN(HB_S, Q-47I;,TP85 = CV.6O#6C93L6,B]K!9C MBK["L%+S!K'L,9:%S@*W$ +:0+C 8PV#']BBKQ!OXULCAB!S&2-QO1?5 ;H"&$K4$E')/Y);EF'!C?* MN:LM-$79 N @.[\P7;"BL5\C@-X"MV3>/>8\ ,/!,A=KH!!HE@9MKRG0;1F(N!Q3*Y1EJ!FE5Z1%&)=&U.B=:]KBG5 +Y2!M6@WINW9;VHB2)>TDSSMUBZ#@]A:^&$=N5E' P MIVS1EN)R=%/).K@L/4,F@7"2VPJ- :@:23H1>$F])#('HZ9 1%II@EL&L-94 M<.#R-RG"#$(.VTF]%]GAI9F%=ID2#F,0E)) BC$)\NP/<)LH \">E4U2.B-V MQ:72[Y$UILRC3AUZ5E#/M:$DM *I_H1*1C= MCX8;6L&!9766B?L=M"/:LZ$"D,["TK3X>G:.'SPA*+W[F0+@8J "+W)VH+.]538 MTG@7W''?.8A3*6G.#P$E2_[9C?A)FEQ[6]U3<+.D#)ZI-CY9LQK&&I#.-X=A MN?^*'DXZ?-B;-."R6'=4NH+()*EY9,7"4'IOM%WV.=A'A($RX"1LR%A((HK# M8*S9PP(.V)91N)2T(:#_XO*-]'_18ZSQ&KL!""X!F&.JM9WW_%>ZN#S!&VA\ MAQ4&1A)(2>&(HG3;L-D%2H'S;D*,SUU?^QT>M5* M<>:%5G>42Z'1!]]#K8? M2AM3P2!XWPT4F-'[X[LBXFP2*L073)0)]JOL6GIN>Z2=CS9^@ ,Y>DN,4C4$ M#!,J/LP6#I.0&',G(HJ%%AU3+'-*05R:\F5$YN\M8XV<7FLO"7EJTS08:NP= M#FR176/OCYGW5JG!N1\">$0YEB&@LF^K,H8B8Q.CM.>' S_00JPTW>FCL,4G M(&0 G6;_" ?$O:R/JJ[P:9U?G#?WD:BNM9N)^4GF'UPGYL(N--\K%ETUG(^ M/=8E(S3]1/G.$$6KR69[V5EJ648='AK9G!C ?1I,R:!]>I?_B,ZE8/;1='*I M30S-DN(B*6->N+3OD0:(TA9\.$/3!AU<" 1BT1<8$+++&E/M M @5.[VN3"SHI,2)2T+BW(ZBJ-=HDJQT;1FO;'P@,M"+9D1(BL%]1":.,2Z-- M4;91/*4F/FO7*ZQ@B3E-$("$XL(Y%2MHR<@1;B%P160_2"#*.H']0?(! M=I39]DF/Z[;]D[+15AQ0.I!\S"7/N#DB29;N(9ZVP=$VM-S,J5# 07*(A&;C M9(?D<:)K86Q/1.O!+9:D_3JX/DVF.'3HSJF>NV9C@26:[7Z0:'S&G2Q$IPB> MOR1&K9"NJAA9#\18Q22:6' $&KGT@XZ?CU]\)2!29P:;4RD\U!U/I*5<1DWS M1^/V&S16I'1C^>L]"45<-,ML3" (.M& 3,JHFM@"96DLHAPYN)*\ MIYT#&J32 WG6#.9.AFCDXN2!D@&2I C"1,QZ$X0- ,(2VO03'G M6(+*_I@J!K#8<>PXPSJ3]1+$!\F0[(WS([''=09K@6UUD60WY5_8NVA'(J6W*?G(N._3B/$]25<"=ICLTBT/;. V5S32"^J>>)Z] M@]4Q&5!7-RO+..&&DTH(%:@/LU^V@X=%^..DZ^&.WGN432_S\XOS;'H%>.2O M^/L\OSH]SZY+LT( RX]=Y=.G%]ET.CF#9Y[EY^>7V9WB#-S=;PF&XC?^(SO/ MGUX^RZ9/)S_!.^?YZ;,K@7F/LK.K_/3R0N_![XLPB;D+2)=F93.2 M#LZ>&4!BN\Y#A9HB3ZF2YFD+C-C<)#\Q:J(,@C9@"XQ*DI0C*'NI<)=J#6U' M;LZG9?B1LT/!H:&N^S $AW(25F"3EO T%N^%NV+-8B0OT(0?URZ_6"5J-N,G M8@4HQE74 C@!"\0YLU9W&*/,M"T9!JAD,P$54=$0./F[Y.19:(V".HH-Z:1W MR/Y^L7N'E&UH&9*=T=XM,M'76BTWOFTH7%9X(L;%-=R0/?2.BCZ1*4F-@*>C M186>LC]!;>Y2BXR4-@P3,RR4?F-J-3.'MK.WD3"6_AM"] MLN1KS8N'MICV(3)1^&%B\0QY8130-C0><]'-<8;6!E7YB'IPYHME;-(@6Y7O$-O:RBC MI%N>9!]W]B2UCRC&2:_Y5O,:1BH.R.,10F)C*;=9D@7UU =%H3=G>;%%^Z2B MM6A[1/"6P/T*+K*_VY8CC&0<#1%/)85F$"$4]EKP.='M_$:>MN95^R?TR<@Z MW$?J-I+R+!FLK4<.)-;V]#-\)WD%4@QPFQ+5;9-(R8@(?%X.O6O$(7-EN.05 M1;EC:$+=V-A+#MLHG=63KW3<9)/I9R-\8IDQ%=8E:TAFTV"#LY[VF\$47Y[$ MCZ(UNUJ2M)BF/41Q^5MUZ^E95O-'%:1PS5-&GR\'NDDG+>Z/^F136LB2@(0S MY(-LIBFI'3F0-^1Q.>9"_+-)RM9\\F],+,;UG+R52=2"AV-E; @DP[*[;_)& M[IND2'!!;/M'WD3U'H],1*8$S!%[TQ2:H+2@#@)!TN1CSF(13N>V I]\T+\3 M+6%)P3\<7,.3\AP]& $]IM&%=Z%U(>0V!"&H-4*%#&>*\]!,M1V;,[4#XACW MLXK6[I.H[88T98(:*SQE)6 -85D$NRH\7M%%'N!E^E)4 =)9OQQ59:BO[" & MR'5_NJVQ!]3>ONAD(]9(MK0S2M(42\=(M;,[-C,S9!YY=JM8C]*P;/,V.J*H M!2'7P[8UWTO48*2T<06(6Q*!DV#34-YE"T9E%+G4:>@DB2[[S?EH85E2XM2' M1&'LE-!R>VNZ@L^-O0;$4+4<48QNE,D-:6X=98*">!N?RG0)IKQWA&S>B'-( MK\61]K_/L:I)W@C'G:G"G!S8@#4\FOYTF9^>GDHJ?\H_0-\>3MQK@D,7^"4% MU %*,^"(,$P./T3S%IM+:/UBAI +Z.8+/DR:UFP(B\94W)[R$YY8Y(B*OR^@ M; U#Q.6E'X*(QZTXW4,I)-Q^D@SD/ _X.[?B!C ]D@M"[^KT .<*#2!>)*C+ M.9[8TX:'JW0UR:142:Z)B> F]2HBH31'.*^ZA=*S: MC3MES:R]US8^IU1O3 MH?7VV6/\FL)Q]@%S3-@_BD<$0%1MN%_1_965_M+02X86O735D+1MD_10NVP, MV+XWW*AM/?:AK^G+6;8\T2\51(D6OTVO^]&9QB02UV]6O,858F)4%_"_-[.< M4*8KM.=XV/8'%_>)&S$>&H%T@S^*H/W&@T"( )MP\,/;)"LY/3\/9G%Z^A/] M_6?/>XQMYGO]]DD;/C\ ,#1_"@/KYN?CS=%"4HH8>H:+=&(2'IH?CVK0&"*! M9>Q%9#8&!/D -8*/EPE[M,"T]SSTY5.=2[;'/@:T]$1E'66*FIR"+\8/]_") MQH_.?TT.E2?GLT,22X_Y87.J1(R#EZP#QJ#ZI2&D'@_:P:"YAHA)TA&M 1U% M30Y?:@;I6[#6E"0?"I45+4(OE*3GTI>.&,?4S+ <.P^MQ M]R3U%!O5*HN]D*GDXAOT*8O%8-!3T:DL.A%F]0!T.,TGW9KAA,%V629@9.P< MASWV&E]-3_\:MO$]@53MIQ[^@BZA]7N.[@^5#\W]Z#-<,,Z^[QJ0])+DOHO. M(?#E'/YW'6$I,B(9_(>UYN(9%FRP,C->'?673:_@^O3I@9N7>//\P$V\/IW" M?_;8L294LOX<]>-[/TAB+)EQA>IA6IYETP=H&:<]PZK9V4-;/G@32=$\,=G- M^W_6ACZ-X/4$_UH\;XF'C/0+ M)K'$?-(V$LE3S@8/JNKX=(W/L>C@L<>)/WL"+K>G*GYEN*4 X@IL/+ :/(=C MMYK++ODS9OA1,WAQ'EJR!F 3G?AR<3W4V(-?^8"'DZ^(K9 :%7KRLETWL;1" MY5<7OO(3/T9C*V_76-": +O7:3WP0P?O#I*IPUIA+!#>>C^(3[K%?%G-0@<\ M^:^A03[+P-S7Z^CK'^,!Y P6 MQ>"[1A,/M;9&OQO$*;N]G^_A'MZRI8U2I R2F4X3#QR Q)EFP 2GX!5V20=? M6/():+($F%'4ACO)CDJQ9=>QQB,%Z,:2;TTVZ1GS/&:91I_Y2[X>Z/^'>O8. M%OU/L*1;^O8.OQV 8L?&D'0.M"DHT]UGNG-R^BP[NK,+21BI,(MJG%V='C_' MD>.7", 0\6/D'/3-UW$;1X*500RP6T+[?!FF(E7K]).)(E(\=E0H&MSSX*,C M87JBVS9+0]_P2@@HO5AIPX,,$;).D]'&1YJNR0]9[ZXZC^7I(I:8=5O?>P7T MG[3/TH<42(RII1"3L=C]R-(].J^39TR/.6NN/OEW1 MM\IG;0^HD/Y<6HAP.WP [L];V+S\P G"Q^M?_C=02P,$% @ LH-[6+TE MV@_$ @ @ 8 !@ !X;"]W;W)K1&GWV20#L9K8K&V@^_<[=B"EVL+#KI#P;>;, M.4[FI+N1ZDUGB ;>BUSHGI<9L^SXODXR+)B^E$L4=#*7JF"&EFKAZZ5"EKJD M(O>C(+CR"\:%U^^ZO2?5[\J5R;G )P5Z511,_1YB+C<]+_1V&Q.^R(S=\/O= M)5O@,YJ7Y9.BE5^AI+Q H;D4H'#>\P9A9]BP\2[@E>-&[\W!*IE)^687MVG/ M"RPAS#$Q%H'1L,81YKD%(AJ_MIA>5=(F[L]WZ-^==M(R8QI',O_)4Y/UO)8' M*<[9*C<3N?F!6SU-BY?(7+M_V)2Q4=.#9*6-++;)Q*#@HAS9^_8>]A):P8&$ M:)L0.=YE(2XL _EV2@ZY91G^H/1Z/'E8?H, MD_%H?/LZ&-Z-X6$\[?J&P&V(GVR!AB50= HC.!>"I-I&(L4T\\ /K&JJ$4[ M:L/H*.(-)I=0#VL0!5']"%Z]DEIW>/7_EUH"-;X&LGW2T4N68,^C1M"HUNCU M3[^%5\'U$9J-BF;C&/I7-&N'>!Y%^IKGP^-T#!&?,\4R=.0XYQ2@\N8W$R5?E&ULG53;;MLP#/T5 MPAN*#4CK6YPF;6*@:5,L#[T@[=IGQ69BH;;D24K=_?TH.?$RK,V O5@BQ7-T M*),<-U*]Z +1P%M5"CWQ"F/J,]_768$5TR>R1D$G*ZDJ9LA4:U_7"EGN0%7I M1T$P\"O&A9>.G>]>I6.Y,247>*] ;ZJ*J9]3+&4S\4)OYUCP=6&LPT_'-5OC M YKO];TBR^]8!?AV;1OXUW $\=&[^W!9K*4\L4:\WSB!580 MEI@9R\!H><5++$M+1#)^;#F][DH+W-_OV*]=[I3+DFF\E.4SSTTQ\88>Y+AB MF](L9/,-M_DDEB^3I79?:-K8,/8@VV@CJRV8%%1/"_I0'H^B4$\ZD\]NGV>WCW6(^>QC[ MA@BMV\^VX&D+CCX AQ'<2&$*#3.18_XG@4]*.CG13LXT.LAXA=D)Q&$/HB"* M#_#%77JQXXO_+[T6W'\?;/OA3-Q< O2M62U3=V_[EB> +%V *N=%,Y/HK+%A# MA690<5;"9XA[<31TZS )X)E:[9B+XUK)#+6&L)>,!O0=A2%<<\&I('-82YEK M&"4AC$8!S,4K"B,51TTT26]XFM ZZ)W2^7O/Z>\5=85J[5I70R8WPK3UW7F[ MZ7#1-L7O\':TW#"UYD)#B2N"!B>GB0>J;=?6,+)V+;*4AAK.;0N:<*AL )VO MI#0[PU[0SG!-!*]V5?;-_Y[O%S=N[):"WD@\H0-3R71:7& M3J9U?>1Y*LFPY*HG:JQH9REDR369 %CL5?RO'(F(^N;R77,\U6FC<.;C&J^PEO4=_5,DN5U*&E>8J5R M48'$Y=@Y\8].(Q-O W[FN%;OUF JN1?BP1@7Z=AAAA 6F&B#P&EZPC,L"@-$ M-!XWF$YWI$E\OWY%_V9KIUKNN<(S4?S*4YV-G:$#*2YY4^BY6'_'33U]@Y>( M0MD1UFULV'<@:906Y2:9&)1YU<[\>7,/[Q*&[).$8),06-[M09;E.==\,I)B M#=)$$YI9V%)M-I'+*_,HMUK2;DYY>C*;W\RF\\5OF%V>7"_@Y/H^!]K;A&C[8BF0+X MDE>@,]$H7J7J*UPB-5$FBA3RLI;B":G%M8)]" \C&B,6P?2QR6OCAL@]' QH MC(\G3=D47&-* M %1PDK?Y?3=B0QK9T(>9)*F3^@6(YQNP"Q5)X[[![Q_:F0T"6 C-BX]0^$Q" MJ9"4*A&2/GP@Q6ROQ.#9FUASJC-F0YPENIO>)RE5<*"EQ2*NL-2)QD*U^MH45M M)>->:!(@N\Q(\5&: -I?"J%?#7- ]P^9_ %02P,$% @ LH-[6'+2.@L6 M P (P< !D !X;"]W;W)K&ULK57;;MLX$/V5 M@5H4"9"-KG;LU#9@)RYJ(&V")-T^T]+8(DJ16I**D[_?(26K[C8QL(M]$2\S M<^:C91C15)@OW'/MZ5U&^%L M4K,M/J#]5M]I6H4]2L$KE(8K"1HWTV >7RXRY^\=_N2X,P=S<$K62OUPBU4Q M#2)'" 7FUB$P&I[P"H5P0$3CKPXSZ%.ZP,/Y'OV3UTY:ULS@E1+?>6'+:3 * MH, -:X2]5[O/V.D9.+Q<">._L&M]DV$ >6.LJKI@8E!QV8[LN:O#0< H>B,@ MZ0(2S[M-Y%E>,\MF$ZUVH)TWH;F)E^JCB1R7[E >K"8KIS@[NWW\O+R'^=75 M_;?E-=RLYHO5S>IQM7R8A);@G5.8=U"+%BIY RI.X(N2MC2PE 46OP*$Q*LG ME^S)+9*CB->8GT,:GT$2)>D1O+07FWJ\]/\0VT)EKT.YNW)I:I;C-*#+8% _ M83#[\"X>1A^/$,UZHMDQ]']']"C4ZT2_WCXN80 ?WHV2./X(;Z:#6UNBIJN3 MZP8+$)RMN>"6HX%=R2Z:J5A*E-9= 1XC5FC#VQ_C; M3@(G7!*":@R3A3F%&Z1;UN=Z@3_ E$I;L*@K> \7XY'_CN%.JZ+)+>R8UDR2 M9Y:-(4L&\, $,=1H&^TZAQ<-:0(7<2?(LF=R&(XA'J;=UCB".!T=$?P>XK,L M'?EQ,!["(VG.2R:W9",!JM%0_Y/03Q'4/GV57I!I0%FX.OU>&Z;W=?R/I=OG M.X,U;KF4+LV:"29S).*N-O2E2GRE=H_/U-D-L1]'5)J+#+[O:>>"\W"JMJWP;6RU%3]M*17 M#+5S(/M&*;M?N 3]NSC[&U!+ P04 " "R@WM8T[WM^@D& "-#@ &0 M 'AL+W=OU4DBRFP>! M A)PM-=3*0BX5O?1V9UDK7KMK>TEY/[ZF[%W0P@/7:7[L@][YC?O&?MP:>P/ M5R!ZN"^5=D>=POOJH-]W68&E<#U3H::=N;&E\/1K%WU7611Y8"I5/QT,)OU2 M2-TY/@QK5_;XT-1>28U7%EQ=EL*N3E&9Y5$GZ;0+UW)1>%[H'Q]68H$WZ/^J MKBS]]=";Q*7;N,;V)*9,3_XYW-^U!FP0J@P M\XP@Z'6'9Z@4 Y$:/QO,SEHD,VY^M^@?@^UDRTPX/#/JN\Q]<=29=B#'N:B5 MOS;+/["Q9\QXF5$N/&$9:5,BSFKG3=DPDP:EU/$M[AL_;#!,!R\PI U#&O2. M@H*6OPLOC@^M68)E:D+CCV!JX";EI.:@W'A+NY+X_/'EU?GUR>WGKY_@R_G) MS3F<75YW/8]R2 R?I9 W8:P=(7P)(4+HSVA8-SG6/^&*!/FJW5 M2UOU3M-7$7_'K ?#I OI(!V^@C=,/_Q]P(-GH>C.OEP%4BPZ,.%81# M>X>=X[=ODLG@PRNJCM:JCEY#_U557P?[>GE[#A-X^V::)LD'> 4;OB,4X@XA M,V4I/=6?=U!3."UHHW@$*J"P="YV!\091B81$#:QS-J!I#M)AB3+.9!E57O,R68B0>?A74);[QO2+>^"DF(F%7F'',TP MX\$ KL0J:LI^>(VA]9-?HJ+0EK%(D8OT&9]P;.@C[5(,7(6A;ZH518A',YEX35Y%9>VY *_]D(7P@?XY]EIM;L:/9"""DMEKQ&L-)ERCC: M%#-SAT$9\"$ 0NN:7M$ O*!E>15=)$Y\4P\V(3T"RK;0\^-MFEA%UP'F^A=QN. MLA)Z1;W%T3^U!VX%;7Z&VC>UA8+.%3]K84G_J%3L'BL*\X):&H8D"+TC.MMH MLG)>ZS#B'2B3B5A2<(TY94C>A>_"%<3EC>[!)8GP2T-'D)F3N63@#2V(ZZ+6 M9&(7/E&@6%L6=5,(O2B$[,(9 0E2R=S)G"/H8_+1N4/E2UYR0G%$>11([FDO M:MV2N&'H*FP.Y 9](BQH] M$[G'>=&$;-4*JBGRI-6?@MQ'$6U:P 2X 3QR2CKHCB8#.OG5W!CF=&;:]$'; M)!_@'[)I.P=:F9PEU M])?'QP'\S4:A%[)S-X2*LOP]3<#@9 MTCOM)NE^,\#;L;?:#2TW'![@W67DS#);\TQY&(T,L[<_#<^G$,HTQP]">'F\ M!HS!<#V63_Q37EV\12+ MM53S$"/.\6^]YPZ?_8TK0HG4I_DBY" Q-O">G5]USJ)5XP'\GA1NZ V+[G9 MXIQ8![V]<0=LO/S$'V^J<.&8&4_7E_#)]8N6"6A_;HQO?UC ^@9Z_"]02P,$ M% @ LH-[6+F2&XE3 P - < !D !X;"]W;W)K&ULI55;;]LZ#/XKA#?L*8@O2;>N2P*T70^VA[1%VYT]*S9M"Y4E3Z)S M^?>CY,3-MBXXP'FQ=2$_?OPD4K.-L<^N1B38-DJ[>503M1=Q[/(:&^'&ID7- M.Z6QC2">VBIVK451!*=&Q5F2O(\;(76TF(6U>[N8F8Z4U'AOP75-(^SN"I79 MS*,T.BP\R*HFOQ O9JVH\!'I6WMO>18/*(5L4#MI-%@LY]%E>G$U]?;!X%^) M&W.3+-W9@:- MU/U?;/#=!PHL/PL2BYDU&[#>FM'\(*0:O)F7DQI$;@7"PX>KQ M?T,UVE\ 7)?7?B<7K22A +?<-@I)'8LU J^7S)&1-%DN1%[B%O",)'4U"N$* M7'.#:+G<"41E$?W(C>'26J&K?@;"!@@G"[18O)Z)+$$,<<"UF,M2(OLR+XS3_2$WH')58*>0F0#6W M4(YSS)DE%8IVO6+>!%QM+($VQ.J.@'8M&RJU X6.6=="P\<$"K'S2A)P76&S MXI,[U-:(3Y1O!:>M7PZG1_8B-HVD<"*ZR85CSLX;6&_!^:0P=)C[ \% N M?@)02P,$% @ LH-[6&LLIO6H @ UP4 !D !X;"]W;W)K&ULG53O;]HP$/U73JG43XC\@':H!:1"V=8/I57;;9]-(72<"5!8SX+;N*KQ=CE M^X2?'%MSM ;7R4:I5[>YRV9!Y 2AP-0Z!D:/+2Y1"$=$,G[O.8.^I ,>KP_L M7WWOU,N&&5PJ\8MGMIP%DP RS%DC[)-JO^.^GPO'ERIA_#^T76X\#B!MC%75 M'DP**BZ[)WO;W\,18!)] DCV@,3K[@IYE;?,LOE4JQ:TRR8VM_"M>C2)X]*] ME&>KZ903SLZ7#^N7N_6WU7IYMWJ>AI8HW4&8[N&+#IY\ H\3N%?2E@96,L/L M/4%(6GI!R4'0(CG)>(OI$$;Q )(H&9W@&_4-CCS?Z'\;[.#CC^%N)JY,S5*< M!?31&]1;#.;G9_%E='U"W+@7-S[%_F]Q)^$?BUL_O*Q@ N=GDR2.K^%=";@Q MH'*@.\9J@[J_YP&T2#^-()4%!C73=@=6 9,[$%@P ;56*6+&94$4&EC+*)NX M7 :G=U])GO.4=:-6:$2:7 NI8+PR [ E LNVJ V!&INJRH/;DJF+EF0! M#N)U?[FF(C671#9P['S+LX8)L7.E*=W3%52E8!9)O&I$!B7;4I2H+&I.B@_U M,,_) H!TJ4:3D1@:6'\-Y&S:"_8=Y5PRF3I@K0QWX2%\](K#HV&K4!?>4@RD MJI&VF[L^VKO633>L?],[R[MGNN!476!.T&CXY2( W=E(M[&J]J.[49:,P"]+ M,*]%X^_P-02P,$% @ LH-[6(U[:4Q?" (!4 !D M !X;"]W;W)K&ULK5AM;]LX$OXKA+>[2 '5+W+< M),T+D"997'#;)K"3V\^T-(ZXD40M2<7Q_?J;&8JRE#HN%K@OMD@-9YYY'^IL MK"WRTIX/,N>J+Z.133(HI!WJ"DI\L]*FD Z7YFED*P,RY4-%/HK' MX\^C0JIR<''&>_?FXDS7+E3+UT.B9X+_*%C;SK,@399:/]/B-CT? MC D0Y) XXB#Q[P6N(,^)$<+XN^$Y:$72P>YSX/X[ZXZZ+*6%*YW_J5*7G0^. M!R*%E:QS-]?K?T&CSXSX)3JW_"O6GC8^&HBDMDX7S6%$4*C2_\O7Q@Z= \?C M=P[$S8&8<7M!C/):.GEQ9O1:&*)&;O3 JO)I!*=*;[P_B_H_+[XNSD4/^1#5*&EY?/:_X'5Z36'S3I[N$W;;6=,K_I_T5;S^MP-R_*EB^V MD@F<#S =+)@7&%S\]LOD\_AT#]+#%NGA/N[_$.E^7M_O'F[$B?CME^-X,CD5 M[[,6"Z>39W%7<<+A.7&E3:2-9%G$5=T6IEK45MV4" M)24KDA18?:RGV6X3,G% ^L3C4SY*.[R>G'X<_AQS@U6O2$*!O+WBC1M3AJZL MK26*Y 66,^MDF:KR2979 M!:B:(F-/3@)Z@C[QT#6[W8H7L$2XK,EC9 5<'-36LP/AP!1LNA[TCPR=MKRO M5>/3OI&.9A$=F"\>F7S&IQ>/D3A89RK)/-)2.[$RNNCK'#$@)BAD"AVSO '4 MT&,8W->&7.B$TUNP;.% A%X)6LN.C9!>U^CTU4HE8"R?>8:-@*+*]0;0PFOE M,@&O8!)E050&Z:R OVN9!V$KJ0PB-<_86%]D7D- V(LX] [MI=+Q>V\[$O<$ M)1B9YQMVA] OJ.R*0&U &CMLN;D/!.I?QACWN>^S43!U87Z-/, M /@='UFZ]$OF5N*J<86X5@8;O":;W(/A*862=D&9(!Y+Y<0!1MC'()UE4AM' M92IT P<0"?O$W*L."YED"EY\@B'EVXHR\UG8/5& M#4E(($DSBC9>LDHCP"A MJ:"L*=+T&B/(2?,$;DO?1Z)T*L#7G!W"+QD>%R0^9S.=IX%Q@T0@)PR&V?C7 M$'V(J)'J<9TV:K;9[=_M9(-%:1\?]%*?5QM\^WCNP384-\'+/BHQH9,,?><# M[[$-QKUDH4_<+.[O0XN(!.3J25&7VN9T(3>B"D>W'8)"\VW.8AI]*FC4P3J' MJ87Y;6G[9-;JLB/]?;#E$@,P15%("&BO#B_O\JW6NR%A9GNG>[94+>$U > X M<5 2FX1CEI$@##2\M5B).[TTK0TS*:G( 3\'Z=?^%2=X4RSCB&),.ZQNR'0: M30\G_&H:Q^134J45-B.4W+XOG,\@'?_WPMHV,T8KD6:C48VZ'?10.-AT1B1*Z@Y63Q= M*"X&!'J+Y?Z1);2U?/E<[QZMD42BB](5?>L)@YF2R?H-GQHY[Q"",B MZ!Q&!VO40RPW/IZ\83ARVYD6GV6YP1J'5@;%'I@1\Z:F0 MHE=LX)6>@44N*3 PD#2WQ% 5D$O%<^U/,KLSPC=#*V/L*3D'A\G$77O!I?*' MA+7--E/X87'!+3:'$4)DW[?Y*IS#L-*R*!]I*&J<254D>CQ^'B^&;;L3RFR*.U>63 MDZ\!"J*KM'7=+;42_M7D_^U\@;E4*,=.P7'IMA0K91.$ MR0.'OR2M.=Z.72FF0#-X^5KEUUTR3 FY5S\<_8[6!6PJOSDV*GP_7$\@WWZ-1VNCL.&>1K'[KL7,R*.G<^Z R.[(IO MK?1MA8<5FI #_Q83N;A3 &4?1B$=SCWHPBX]CNBUV?VJ38B0X=V Q/0!U@Q? MKD!1>T+T:X).!0@G*BQ[6.$^Q'B=#!>:#_%DS(MP[=JF3+^I-:/%.\ PD];^ M^M,V:LZU#_'A<4=6?.(7^W.U)WC7%Y%1YZL5%TSZ-D=S2ETZ_P&KW6T__UWZ MKUY;YQ=.5_P-;*F=TP4_9H#72$,$^'ZE MM0L+$M!^%+WX'U!+ P04 " "R@WM8R$.Z$RF(0A^%X4')9 M] MW6C,!IV67):B,E)53(OY6>\B.KD?!W$EBH(4 <9?C=R0);H];[;\ZVV'+/3?B2A5?96Z79[U)C^5B MSNO"WJKU[Z*Q9T3Z,E48]\O6?F\\ZK&L-E:5C3 0E++R?_ECXX\7M[/+B[O9 M-;OZ^/YF]N'NXM,?'S^<#BR4TY9!UBBZ](KB9Q1%,7NO*KLT;%;E(M]5, "J M#EK<0KN,7]1X+;(^2Z* Q6&5D1U@#GL8 Y?TNYA'O\8SA.G&8M"]LM/DSB*WK'G MCF-(>F:67(MCROJ<\377N6$+S2LK\H"M!5OR!X'*S-2BDG]C2Z9*D(7AKM[$ M(XT%\])8L$O!A+$2I80%IX?E&+,YEYH]\*(6K!1VJ?*^.QS[(=X<^Z.GU496 M"\:9L9I301Z34Q@OE;;R;[_5G\%XE4-;7F=0!7+;@H;97$A;PV=]]@FH90DO M6K)!U1I"!B5OF)HS<*-V2MV,L.F+/0F.$ZE0&-)2_*QJ QWF+;M2QA*RA5+PH5%%SMZP MZ0@_Z9C=PKU<9TMW7BX>0- KT*UE\2AE<3QA=^!*6!.PA:A@9^$V\APL),F] M1*=LDDS8)(W9)V6QX5F[W[ HB*:A_XNS+RHXE;RM)>DM55TYH,\J(%=D?"5Q MB@N^K*S"SP/P*OU$7E(/0B]Q+>WXV+SJY(#BN1+N?+R]PRF0EM\7HKFQ M<"Y\:%7V#7'?7"G2/K$:AVB7'#O/5P6O3(?'KD4!CY6>)5_#=;(5U8\KGV-? MW1TC\N,+V(HKD\T>ATLQ+7T!.WCE1#09C9%_#U@E?8[9 MO$X:@A0D".:PYN%XO*.Y,O0ID&2CG;D*5_Y8J'%@J@49:$E.J:LX5/B MJ"W;51-K:=B;T.6Z%J!6_%1J+[4][8K.Y0@I)62?: -G.!=X";=U4PNRRHK: MG08_N*X1,6I*^J# 5O$\5_U42-^QX:8^+CS8-D,1\#9'70JQ:W+-KW3+?'%> M^;?[7\WB\7@4Q"Y427\Z9.,X"=(T=7%*DRZ/DTD:1-@U["=CEB1A$$;=&='R21(1Z'?.,9TZE*%]B$G7DCW M-)X$X]BG4)3N [^NM6.]?\&>$Y@Z\@NC%+K&/HIFEU<#GV5K:9=+@5MHKE6) M+#0U682=!6]*2N]G5UU)W+54:+9+A3S':BWSGYSP[*$75.01Y51:19HGUO\LEY;XF;6FB/G=#] M%YOD7(I]2[8/TZ(-&DFY9@EMD'P\]KU&9[,CISZ;M0:3'?OX/2S,MG0#]IR* M='-&Y[.7(.YI_JOF&K=^JWI/XZNH;S:4#D@':_ 6Z[G0VU$U8]A^A M;40V$'5F=5D7OOW1:)LJ,,0"3;Y=;N+N7.9M:%0*7X[[I31R-0&;#R@E)892 M(4 JZX6P@0.&MS]9UN4>.&[0K_KVQ3):U1C?"S8*?^XVQ+1GB8,S2ENQUMO MB.XZC+IJ6GC [6[@>4T]^N'W -_=M^([_7\;8V-4)AWON!#4U4-SR7MF<=XQ MC:)#5QZ>:7%R@!SW5V(DZ0;^2ZC?L#A(HC08Q4,W#N-I,$0WOFFUUNV=Q9L; MZY!I"*BOJ;@_'-)/ZMSYG6Q5.Y@MZYB=7J$VGI$):&T=E1$"U%JA#-XM<)87 M:W/,1[KKG7_D=>7K/J(#.";!=!@&XRC&*,4H#:-M:J;X/,<*40)WCL-FK6UT MXVC\_<&Y+&H77P]@&H1I$D23R=:AA][M!UM?7DJ!!*;O2V (>I_Q'V&ZU>X3 MUH7_\X]\I:5;HAO>\(31OP M?*Z4;2=T0/=A[_P?4$L#!!0 ( +*#>UA)QMMW+0( !,% 9 >&PO M=V]R:W-H965TA 8=V>37(D5A,[LPVT__UL)V1, J1)>XE]]MW'WW/N/#D*^:8*1 WO5J)&;G9V0%=7&E+FG:HDT.) MV.N2<5Q+4/NJHO)CAJ4X1B0@IX6$Y86V"UX\J6F.&]2O]5H:R^LH&:N0*R8X M2-Q%9!J,9P/K[QQ^,#RJLSG83+9"O%GC.8N(;P5AB:FV!&J& \ZQ+"W(R/C5 M,DEWI T\GY_H7USN)I/-2-_;>S@+&/E7 L(V('2ZFX.J:3R1X@C2>AN: MG;A47;01Q[C]*1LMS2XS<3K>+*?) I+%^C69+Z>;!:R3U==D^K*9>-K@K9.7 MMJA9@PJOH((07@37A8(%SS#[&^ 979VX\"1N%MXD/F':@W[P"4(_[-_@];MD M^X[7_Q_)-JC!993ME;&J:8H1,]E6IBN@%J* M7-(*&'=_JP>7KL$[*]0*9>[:44$J]EPW-=NM=AT_;0K]CWOS7+Q0F3.NH,2= M"?5[GQ\(R*8%&T.+VI7]5FC31&Y:F%<+I74P^SLA],FP!W3O8/P;4$L#!!0 M ( +*#>UB?=$06^04 &X. 9 >&PO=V]R:W-H965TV3('V[J-BKQ-=;2DGR83T MU]^SLO-&@;MV&&);TNX^N_OL2CJ9&_O=38F\>*Q*[4X[4^]GQ_V^RZ942=GG?3=S)+,@U!5]I,H&O8KJ73G["2,W=BS$U/[4FFZL<+5527M MXH)*,S_MQ)WEP!Z)^=S.2$;LG?SVXLOOHK+;FJ2#MEM+!4G';.X^.+ M :\/"[XJFKN-=\&>C(WYSA_7^6DG8D!44N99@\3C@2ZI+%D18/S3ZNRL3++@ MYOM2^Q_!=_@REHXN3?E-Y7YZVAEU1$Z%K$O_QO+3.G"KY@W:^.T M([+:>5.UPD!0*=T\Y6,;APV!4?2"0-(*) %W8RB@?"^]/#NQ9BXLKX8V?@FN M!FF 4YJ3C M_=2)*YU3OJV@#R@K/,D2ST7RJL;WE/5$&G=%$B7I*_K2E7]IT)?^IG^-].!Y M::Z(8S>3&9UV0'E']H$Z9V_?Q,/HW2O8!BML@]>T_R>V5Z6?Q_;I\]V50%;> MOADE7Q=TD'N(W'AV(.^-E^0HJJ!J.(E8X2 ^A[KI9B3E!C^A1#E)CTE0H MOR5YV)QC9"6;.T2SA?Z9*%<+,R3:U%504%'K@ MIBJXCAC0ME&>L.R/G1R(] MC%;I<0A*AA4Y4<4/]:!R IX61PK\A^D(0$WV/73^'+2J./*-P=WD( I #@9X M?$84K8A'(HY^-6$A]L'CIC+T1##]12:M7<"9N;0Y$H%"V(G3W@C;0%D&C_UV M&D+!/FQ8L@S]CDY&6*(H&]# 2U< M/?X;;&)U&5F/W5^4JE*^+>P:)+'BMMUZTU'")IAGU]J3U8C.%WH@71.:4DX\ M&1^-AEUFF\26#X;UQ#<24PFV:N/QD@NYK6^NR;JIFHEL*O6$NF)<>Z$*,2>D MLB$U"#FAUK*C-14< KXT^.< MLIQJX(0A%P:6)"Z-GNS#^XJ![-,C53,?RJPG[K!L8D/.@S1"K!'#9609^,PX MU<06S1Y'#LY26,3%/M'J1\OUEF$-7\+&@(CG&$9UO%S!ZY)]4LOW+^GO,ELT MHQC+,I3=CAA ?D>D1XFXL0I%"#HIDV_!YUCC\.C@XB[O#_OB/,];Q];A?N)O M*=D%IEK;F)G4:"8BC5X#"!X]P9=&+3O>J6'!O,H-.2EP<.1P"Z]I#CB M4=2^MLUTLR43OC5X]=S9L[]Q!T $)N&F@W[""6ZN ZO1U67JO+E#K)-Q/PNL4%T*RO #SA3%^^<$&5E?, MLW\!4$L#!!0 ( +*#>UC3^0P0GP0 #4* 9 >&PO=V]R:W-H965T M&DJ]%F@46^V"+UWSSS4F>KK7Y85>(#GY6I;)GO95S]&-B2N=8_>#(KSGHA$\(2<\<(@CXO>(EER4!$X^\. ML[=5R8+[XPWZ5V\[V3(7%B]U^2P+MSKKC7M0X$(TI7O0ZV_8V3-DO%R7UO_# MNCV;#'N0-];IJA,F!I54[5?\[/RP)S .?R,0=P*QY]TJ\BR_"">FIT:OP?!I M0N.!-]5+$SFI."B/SM"N)#DW?;RZOKFZ?8+SVR]P?75W_7!^_VUV";/;KW8%RUF_!O,*(8;K=S*PI4JL#@$&!#!+[J"*(%/'\9Q%'V&?U<,SPBYIC(MT(!NZ%>C M$5QS%IR&.8( *]6RQ,V.6H+%)96V"V"A*'6$MEI-6EB'U$$_ 8?TIU^EMEH 6'('%T6WKX" M2VJZH;VLX(91><#W-T:T0% MW#9A-KCSJO9Y[-O1AR=BN] E76(<=R?F#$X.>^%4Z:ZTO?R6JKTPV]Q!'> /&'CD$X<1P!YY@7H_>TUQZ W.*ZL[8*.-#&V9'V2B"8SB*@B3AP2'+29C M<,2ZTG0,1Q]'Z>089@6E#O'CR%$!6G0[5T9QD(R'/!@&<;)UYE%M),554I9W M9AR3%9,LH__Q./N'UKW3WKACB,(@'(84C3!E\)C#$K6#*!O"6]?"8.\JIZ1> M^@>+I?[:*-?>ZMO5[9OHO'T*[(ZW#ZH;8:A162AQ0:)A?T1/$-,^4MJ)T[5_ M&,RUHPKRPQ6]Z]#P =I?:.TV$U:P?2E.?P%02P,$% @ LH-[6"Q^;M7? M @ F@8 !D !X;"]W;W)K&ULI951;]HP$,>_ MRBF5^E01$MA6=8 T&-/VT*XK;?=LDB.QZOA2VR'KM]_9@91J TW:2V+[_O?S M_QQ\3%HR3[9$=/"K4MI.H]*Y^BJ.;59B)>R :M0&9W%/R66%VDK28' SC3XE5_.QUP?!H\36'HS!5[(F>O*3;_DT&GI# MJ#!SGB#XM<4%*N5!;.-YQXSZ+7WBX7A/_Q)JYUK6PN*"U$^9NW(:74:0XT8T MRMU1^Q5W];SSO(R4#4]H.VW"XJRQCJI=,CNHI.[>XM?N' X2+H='$M)=0AI\ M=QL%EY^%$[.)H1:,5S/-#T*I(9O-2>T_RLH9CDK.<[/5PWRU_/&PO+F'Y2,_ M5Y/8,=8'XVR'F'>(] @B2>&:M"LM+'6.^5M S'YZ4^G>U#P]2?R,V0!&R06D MPW1T@C?JBQP%WNA_BNP0X[\C_-VXLK7(!IQ,WW^R4D8S@_NTR3Y"/\@81O&MAZ+8S4!;@282.UT)D4"JP3#OFJ M.7L1(@NJ:J%?H!26;]Z6KP+F()2")TVM!MQZ*;2ES$K6;!$HRQICO&CCT !_ M0*S6/-A_1*8::HHRT'/>#/A&=OG'G( P"&(KI!)KQ1(R(*UM6(<785:38YU/ M,IA1H66XYAS(I(G&:H'E\&;),D/Y_OJR![#G MW?%Q5PV8&^_2,Q>'A7WIX:L>/OC;KS,^Z!<5FB)T1UD8EEP<&B_@N#_T_<1O MT/\=S7X#4$L#!!0 ( +*#>UA1D\A4D"$ $UI 9 >&PO=V]R:W-H M965TM-26]M*D> MS<_/+Q]MC*M/7OY$G[UO7_[4]%WE:ON^S7R_V9AV_\I6S>[GD]F)?O#!K=8= M?O#HY4];L[*WMONT?=_";X\"E=)M;.U=4V>M7?Y\3 MGS-VJI 2S.,/(7H2QL07TY^5^AM: M/"QF8;R];JK/KNS6/Y\\.\E*NS1]U7UH=O]C94%/D%[15)[^F^WXV:<7)UG1 M^Z[9R,LP@XVK^5_S51B1O/#L_,@+!&OY M2Z6W87*NQEVY[5KXUL%[W%3+,*QYF?F28V3S[ MK:F[M<]^J4M;#@D\@CF'B<]UXJ_FDQ1?V^(LNYCEV?Q\?C%![R(PXH+H7?S; MC!A;/=-^/$X;->N%WYK"_GP"JN-M>V=/7O[UOV:7YS].S/QQF/GC*>HOWYJN M;VW6++-W6]L:%'8_-L=I*B@]V?O.O;PX\^>?GD(:B+=ZO:YR#!=;\$C82)^\S4909Z6OELVS:KUFQ MSE>9W_O.;GS6>UMFB[V\:UM^/B$ G\#:2<_;IG8%4BG[ HQ5!K,9H1D>R SP MC>AWC3Z7N;JS\$,'GQ:N+7H'SRD?;JYU+5G3ZOI*>^<*._*%MQM7-#4.U;21 M"3O7K;-N;3._M85;PH3[VOW1VZQ$+M<6:'DPD!F87'H,!LV 3 SQ0*($PP(CV*\@,,[6!?)F!6*' M_P(_D)_*-K.H: IGV359(V0W$FV^@[554Q ?3=OT,$. MY]EGX]?P4M?4>?:I=OCU;0=/L1S=KDV]6AN79]?PE#F;T,YAC MX;:5);F\AEF"W2QIOF-J.4WL(["B""1@[DN8)9 W5>9Q%> @.]S1HNI+2XPS M10'<[FCP4:7&9>/N[=9-5>U/FQV*E>\7WI4.]L0"RV] !]JBV6Q-O8\$:6M: M4WM3,//7YLYF"VMK$"\'4J"\+](U3['T,K#TSV+/OUZNI], FM_:-W: I!S@$+X530)&W,%]!<731KN0?\M&7V=VO3 M96:Y!,VF@6%YH/JH;YL@ ?"\E:VKG%FXRG5.2)7.%U7CQ7>@A8$EXLC'WN%1 M4 SQ!?QYC(5Y4.&Q^;3VSM:]S #M3^WAEY+U.KY$S :N->59=@5J#R, >P!I MH2GL*YP\K+O-EFVS@=<:G_#I++L%1X&&%:U@9)\HR0LPS[-G%S^"A:"IP+]% M \^36,A75Q6@55B9)5-WW=K2==G?&H]SE4=N:G@;[/I>/_AL6M -$)JKHFAA MPN')C^9K]G=3]2QX@73X'DQ0:T\16I:@IQMDR8BQ&.C-TZ W3R>E'H KP-(: M3#=:R&*??43UK8[:HFEJ5^-R@:HDXZ16A$QS)^.A$+#XV*\%FES8:)(C5IF% MJ8C;'(B@A)WI]H \%8WO#@3F^\<$$]4:&8Z!@DX S,&=@46 J"7RM[>F/4OY ME)GR=_!\;!Y8"/%9D3Q';AA=-KLBV,L5# Q24Y#4,+8 QUE\ 7-;6L8!LZ<_ M9JCRW1[7:2KW3YPL++"O6_UU!?Y>F,V"=V]L8"8I/RV+%T4&;,!BCSP^HM&E MK9O$;"M'V9\6RD_1&WJD;NI3\;XP#]D.('_X[CYU%/>6,N42G@71?C8IC-?@ MUHDD_? +,//.5+A'8W(]30I4,EM#](8 H"8PY7>6=WR;=\".U$YV1N [VC= M"KA6@7U&0 (J#_Q_?@YRN_>X\U60!K#2#O8% M+NCP41YW8WX'TM'@ D<[U_7L";[A>7+P]:Y8RVZBQ2=$C:^\L26ZL>PUF%T/ M1NX&OR9=',0!;U[?7#]DRYX(RN^P>E\Z1@-G2H.F0SYN8>HO'L716O8(2(9G M0$,@:.B($X0DZJ:+D)048J^RWWR#1V?9]5'VK6TUF#7.*H":/.OV6V!1Q5 4 M 605A#C'CP@7$N5?;0O^&3[MF@YHE]D#^'KCJ@J7_S#[X?+LDI[[X?'9.9H> M"%'M9@%>2L-4^A9^F.>HS%M+&8D*;,!'M",T<9WLP*H1=^"-KA5>\T+9+'K? M@$!T*I^(<> YAL=YU$>01;"$GC_EUS?;:H]J3.^M&OBZ)N2QE3@?9[GJ*Y,. M64,04<$W-'VG;/LF=GX>M/KYM,,RKB5G21#C39!V$,NN[3?']'N:Z+5M2/H$ 3W91+&_:!Y&&$+; MBYM!/I-#&F>#Q4S#XF&,*4$RA4," !W:LLYB BMCN$;15&;O KI#Q"UI.]N* MI_>)X&$ZP&D4EL<@ D%.A9@%;3&,@Z90@@)"P./KBJ8+5XAJ#,NZ.$?!NQ1W MI)D!PN<,B 2,1Z:$N+X&\(4K@-D- #!#&77>H]-I^@Z&@,4!ZZH&P >F'4Q0 M(T #C.)!*CFZ 7F[YR2W!G0/YD4NH;3X#(@"1[5A0HM]> 4',UG=DY%%2&@H MTY*+\O#7L("=:ADD+)6/_WE \S>S%?S:)R M*V88?-XS=MF!XJ&17HY.=[>VQ-)]M@#>PRRWZG M)1WD&( 8R=Z$/#0]L; :J,2L%P'$CBWJ)M > V)5[S*%[S;^0+,:+J MP >\KS!C@3/$>&:+TQH5N.^EMPWTK-)+;6-EP?QA5(I)XQ;PG^9O!E+*LD0) M(PNVK6!HF1%@K8J> VT$C^Q017!*S",O^PHPQ1W'(ISV., MNM+48OE&B"A-6T6GPDE!% E/(Y5@,OIQ"(\I IE'(D MZP.(F8('-E ;@O9Y M%*HA-\(PC%J$'5ZX1S@V71.:_1QY2F%:P&B2=T+*PL][='6K$@B?[A-2]6(W M$)&]2DA[FR! >%!++B15&N4(5]'NDF:9RC=A_N/!M29L2'+((BXM8UX=.F*9&/XY[WO4H\D]BM7> MV72A]J8F0/71?#T"1R9?'P^FA&:'- 64;[:].@!QS;8V9,3@* 8?Y3)=%/7E43+E.1' M+^&\).0X>M=@BTLU@UJEQ.=Y.K>QD0Z3MD+*>2R]%4;*M< LS-8!K.+*"/-F M8;N=922. 0;53I<,SIF]\)OCO4_2ZS31EJLB_Q3C$T/86*#A;*!*#B9*MTU( M+AQR?1Q?/KWOEQM.!Y!7,I^D8!8ZF@538QP#8+4T>$P MA >G!@&-7Z-2(R=BQ1UV'ZG<&APV<+G1OZA2D-C_7CV73-EPM" MK[Y1$!)MGR0UKNV8[Z:*A!2=BF2,S&"PS#JY =#!N6+U=A'=13\9<)L6!E>M M>J=$AHP?#J.B-HKYU$Y@Y=\GU;$!!?+'N%DLH,G4FG9IG;26="K[]Z8&JLKS MBOLO>5>QWXH7$4YP\B*E/%F G!*#6/.>39>L1^J3HQ(P2>6(!,22]JW$C!Y$ MK:2B*6?\KVZO'V8?FZTKLLOSRSQ42VG!UY+1D=I$[ S!U_#YAVP,2]R"#'T" M&KI8/9?]7(*A/@6KO\TV36DKT28(6"O'NH78MAB.%;)5 "Z[I H?QE-?T"9E MW5AXQCW&N(]A']G2UBXKJJ)IRA=32R'=P4$T?G4M_1"L_%YFBR%N5V%R1;-G ML< [E,O6@N0@0%3L2UX$XF*N32.A.[*>28J(_*-D3I!APWP=F2_)R4<("YS8 MD&RO&@IW8 S8=[!I M$M]!E%(S+HYELAJA%6YSA''D/C;H9/Y)U<>60B_%DBE%VC^I+REI@!>0&-[4%ARA,8W]/[,@10^0219BR1.'P MZ"7A*73;@GIB!AX\,X1T\GDH[HKYY0!6XJBDJ I[4&A(*&8V"#EG-&6CM;N# MA&0Y%)'0KI5*"4A%E+$_I2\[C779E5(F;U"19N5DQ'5_Y%@*#."KY#$/N\UB M5+LVZ =,@>[<0"CNF%NA-$O-A9TB4 I#B*(FD[A[1[!(3?;'QPHI:B\BG4Z" MPX(R5\!Z7$<#SDEFP8E5>0S+.*:2[H&-M$8TN2WL+D^*=)-N7;M6WG*3%5P/%9BME7*RL M6+2E.!U=5#(/;L!9X":!<)(+#2U0J!I)4AWVDGH#90Q&DX&)--,$S_5@K:GH MR(T^I @+B IM*VTFN!U>FA-IE2GC,$Q$*0FL&+(@S_X %XXR -NSM4F&<;!= M<:KT^\ :4_Y=APX]B*CGTNH66SM5?T+&?>V\KAI92]+%.4L:7$!6LC;/'(SN M1\,PK>+"M%K+S.8]4^576,P]K4R+:TE:<46GWWH32HE Z-PZK/$47HRLY0.8B(,)OLK:@ZX:]VBY](1/P2<+/G7=K"?I,D;;ZL["OK6E% VU=XG;!<]CG8I(FY#,!)V'JVD@PE M9RJP50@F<,2V#,+(I/L)_1<7,:6?EQYCC=>8%@!Y"4$"9OZ;9<<_I9/+$[R! MQK??8L H ::43RF18FLVN\ I<-YU2,-P%^^XPZ,.+K#V6+DERSM(\I'HH\_! M=G)IV"2_\F'T"Q28P?O#;T7$V214B"^8*6?9&Q&+@0AR&SNM?+#P(SN0H[?$ MZ%U#XS"@XL-LY3 [C;F(1$2QW*@TQ3*G',2IZ;X,V/RM:>QPIW?:PD:>VM0U MACVCY, 6V1UV.9IE9Y4;G)XC@$><8QD"+ONF*D-+WX&)4=[SPV$_T$)L-0_N MH[#%)R!D :U^_SH/B3;R_JH[@:/"OVL;B.I.^SIU/\'L@_O<1\"=)NK- MJK66"RVQ.A^AZ4=*A(?L@IILMI>MI0@-=;BO97%B ,TXV"XAN]OD_J,\9SH6AC;$],Z<(LE:;\2UZ?)%(>S"$MJ+]BQL3C+WM_KBHK& M9]C/17R*X/ES8M0*:7.,D75/&ZN81!,+CD C5^?0\?-QNB\$1#:9P9YX"@]U MQ1Q=!*II_FC8A(:&ZWZ *@Y!3XPTF!ZC78&HW;\(LZL:4U/LT'(*!A$6\(N# MPA\![*Y A;GE*_T\[$II-PVV3TIZ.=1%LW-K)HG*X[3C.#]79H KGU"G,F?;MP=!)-RB,)J0 QDC =27& MH!E"FEZ-8LZQ!'6A8-H:P&++L>,"ZV_62Q ?)$.R-\X/Q![G&:P%)B_Q[#0C MT=@I1OJ26E?GM>%+$N^4?V'OHEW)E&JGY"/COH^#C>](NA*PPVR7PR MOWA\D 1[Y"_Y^D3\[O\BN2K-% ,N//\D M@2QBN,3"Q4:'-)9 &ZF2,%5#9M-G>?Z^.\V^70IX]G@^6G?X3PZ0 MR>,'N8H M!W"#"U'8@L-V*XFUJ2TS),,I8;QB&[*S8WYAL$0/'CVI$;:UGU?OA$K%/%Z(_:=<_ 3G)FK]$5 MQE@X/QV,;VH*ZA5$B7%Q-9_CZ#M'I:FX*4DE@X>C2866R#_!;6ZRC!LI330F MYH&H2, "NDMZ="ZJ>=)$.B]Q'C* 7L\ EWLQN;>9+*@GEKP*$' N6@\3G%:T5RTN25X2]C]"CYD?W!>L6DB$P&Z^"1(^F_ MD0Z0;Z380(HA**!T>E,G4C)@ A\F1N\:<:0C*8A$>=F[5>#B<@\B7)%:^YK2=(AG7: Q>D? M5-=G\VS#M^Q(>9V'C#Y?KA$AG;2X/FKS3GDA4P(6+G ?9#%U23W\@;TAV\R1 M(>*??5)'QBB[R "_3EZ(*D,[Z]:!V1%V!1S% KNO390T]H'9F1B<; ML4:RI'M4DIYN.F.O!Q-B+SY#YH%GMXKU*%G,-F^O%$4M"+D>MZWY*%.#D=+V M&F!N20Q.0F)#V:$#&)51Y+))0R=)Q]FOSD<+RY(2ASXF"D.G--F='$_ESZ;/ MTG^ !9BVX".KKP%U5,WQ"/=>4,T_.=$%*_]A]OPR/S\_E^+*C'\! MVS)52IFZ@"V>[IU/G^X--YY,L&6:Q'AWXN_@AQ1A< (P-CSB^5.=37(OEUS"13=O M=%1P+$3C-3I"PQXN$P$3;C'PQ10S-M*$@N5G&P8*5XF%CD;*]1'[\?Q/&E-$ MWBM_99+J3GD6$N*C/?(2\9;VC]X4X4CW"*=C27?87FX6S9WV:/E0_VK+F%ND MXN6PK*MG!<=.G8W#3_7Z868!7D$,+"F[;VGXE/K%8ZGSZ8.EOY@6/:_/'N#- M1 ^S]YC%Q&[I43VB_2U?UR1$+$EIJ)X_A^;?( M#8Z8Q#,C.[I#TY:G>FE/5"1!:?2Z'YPV3_(N>F/4:YPA)NMU O^YD>7F#/J$ MUAQO9/C.R7WDYJ I"J22?#^0]N/W A@#2$;BQY=)?F)V<1$F.!&0'0R8(>&G]:>AS,T5'N5Y;&7!>-PJK(^Z3#C2=_Y],G_C*KM-,$W8S>:A$2IGK_&-FW)2O1>,EN8Y] [%''/>!HM3"/7 M-$22V$;31U<3)(?Q.9=Y[V/!97H=@:9P@?5> K>0N$M[C#=L6?CH4C>X?0.' M&=S$,G;A@-[.8L:3&4&B8M)9KP,:HR8>A?H.@47)E4#JE\9O']MHS ],_F%V M)IAL'CM@[G6TI!@6PF(MX$G^)QEHT *F%RR]QM2?.+M!E@\WDH)H,+Q4X8P5 M)CHYS.=FXB4U0)Y$,]ZE NIQ&G?HX(X)+D11!9;0:9:"/D*;^P+=-"H?.IG!]:! M9^2Z')9>DMRWT26%?;F _UW%< W(B'^W5KS^"F6+K%&.9P==5K.GL'GLR=' MOKS$+R^.?(F?SV;97Z:L9SREOGV6QB6^.PX?_1+V)6L?F0FH6@\DSR?/I-\_>[O-Z]/9\]' MM^%?.H\L*>B-=!.PB:+=+,3&%3BZ4R]YBSVH)PV MM231*%V*5QPH??J,#[HI\=@$R7>C ?[IJ,VG,MQS!+$E=B99S5N%"QNTC%3R MC:YXORN\N P]FSV(#!V5=7$^U/F']W+!P\F%JEOD1H6PJFQV=:QJ4G^&"U$D3A?_L:[>#LDLNN$?2,MA:\:K#]Z,&;J]M7#^GH?32LPP<_;>G$ MZH.KVT\/B?SI#"1N],XY6-KP$M@'?#+R8G[Y\"P+/],!!$X4@"-^<(N!.JCV MAW!B6HX0/I2VN.%-MSZI9W!3=8 QLR<$8^;I6/ ZRI[7JCT'WNSP8Z6)"RE- MU:SV$I3K.9)? ^ZXTM,[@ZT--QT_.,&[BD_DXG(S(#D\$!8Z@P>W,*7>W*>M M&L?NYAH2D+.AE/ZY[\+P$H+&Z)V&G*0?O>>/SQ:4#2V4DC0@R^DP\2 42)RI M>RQI"'ID@'#TA35?V4$&"&L(V@@L]1 IK]Z'.?&H$X**Y$[S.KT4)8]YY<%% MR\G]S9.W]/Y]('C?TF[W\+"_P$.Z5M:/CTT:/E;O&('A9TM/VDZZ'!0 MX=M/],WI^=/LY-;R]0!1LT0AY\_.'[[ N<0+>\#J\F/DE?7-UY%Y)Q(O@?!A M[YB>>N!0!?=RDUZ5+8+,M*,:$W'/Q <'9/4*$ENO#=UJFFR;=*:F[5]"(F1\ MSP8+']@7S?;)?.\;D:$4/XZM++JL;[T"5H=TWM)]0Z0\U&"-11_L!6>=&MQJ MD90=V&/I'6!6[RF73I1^R[ T:!&= J:&WWL:,R[S6-0-%O);0O,\.TDO3A%Y M\=G3QV,"$Q\="DK7B)2$ZM0QJ7#)C2IY/(I84?05SN=1/A&=$&8J:^P8BT=8 M4@K4Q7 V6,Z_(PK_O_=US)8]2O["#2#D%?T='SJ*6G?\QV["I^%O!5WQ7\B) MC_,?&OK-M"NL8E9V":^>GST%_-'RW^[A7[IF2W\O9]%T ,?IQ[4UX#KQ ?A^ MV<#BY1<<(/P%I9?_!U!+ P04 " "R@WM8F&$^*88# #/" &0 'AL M+W=OF@$1( M_K.,."Z:XL4=#.7JJ"&9JJU->E0I8XHR+WPUYOZ!>,"V\V M<6L;-9O(RN1:>&)IYFQ"_YL4K(4MVA>RHVBF=^@ M)+Q H;D4H' _]>;!S>W0GG<'_N!XT&=CL)'LI/QF)\MDZO4L(<5 M%YCG%HAH?#]B>HU+:W@^/J$_N-@IEAW3N)#YGSPQV=0;>Y#@GE6Y>9*'W_ 8 MS\#BQ3+7[C\%8/P:! ZWK4CQ_*. M&3:;*'D 94\3FAVX4)TUD>/"BK(UBG8YV9G9]F6UFC_]!8\/L%U^72\?EHOY M^AGFB\7CR_IYN?X*F\??EXOE_18^/[-=COK+Q#?DV)K[\=');>TDO.(D"&$E MARJ5 M5Q057B+:"G69Z)H>!LU(=]B]@WDOT:4<%AD3J1N'\)D+,)FL-!.)_@+WWRM> M4MT:V#J['R$8=J)^!,&XVX=/=AYUQKT(Y@DK#:KCL7$G&/0A"+HAG1EUHF@( M6[DW!Z80"!A6],(8%$S$>+3X&:+.8#B"8-#]A6RB3F\TAF=I6$X^PG&G-^R? M]FC>[X3!B&RXB/,J(7,F:*QY*OB>QXSHLD)6]*$4VMAY7/LMF3+ZF((6O0:- M7H-6O;;TK"95CM9-+(66.4^8P83>I]BZUZ1?C/S5UMHE"=O1-ZABRCP]IQ9_ M<8X_/^$_-?BUE$[#=57L2 I+RCTZJ#1$]#K])M)$2V\9T*:7I!:N^J$H8E3S)BY4BN4M+-0.F.63+T,S4HC2WQ0)L*H M4KD.,\9ET._ZM6?=[ZJU%5SBLP:SSC*F?P]1J&TOJ ;[A0E?IM8MA/WNBBUQ MBO9E]:S)"@N4A&AH.+U;"^#=L<]]:+8!X;:S*=L'$(.,R']G[[AP. EJ5+P*B74#D M>>>)/,M;9EF_J]46M/,F-#?Q4GTTD>/2?92IU;3+*<[V!Z/1T\OC; J3\6A\ M]SH8WH_A<3R#THS-!9J+;F@IB_,-XQWB,$>,OD"L1O"@I$T-C&6"R6> D.@5 M'*,]QV%T$O$6XRNH58- __U:]KMRG5(#)6B"H!5W>6*VE-50',?*-^S;'Z)X$ M/$X7Z'0QFZ,N3OBOE0A*7()-U=HPF9@+F&F6X#%.< :-4ISEV MK\*#\L]0+WV3,^!3Y9V@6"WZZ"!O'Q_N>1-^8)KD&1"XH-#*5;,1@,X;6VY8 MM?+-9*XLM28_3>E?@-HYT/Y"*;LW7(+B[]+_ U!+ P04 " "R@WM8]RNW MT5P" R!0 &0 'AL+W=O>(4Q]:7OZZS BNES6:.@DY54%3-DJK6O:X4L=Z"J M]*,@&/@5X\)+Q\[WH-*QW)B2"WQ0H#=5Q=2O*9:RF7BAMW,L^+HPUN&GXYJM M\1'-C_I!D>5W+#FO4&@N!2A<3;RK\'+:M_$NX)ECH_?V8#-92OEJC7D^\0(K M"$O,C&5@M+SA-9:E)2(9/[><7G>E!>[O=^RW+G?*9>FF'A##W)< ML4UI%K+YAMM\$LN7R5*[+S1M;)1XD&VTD=463 HJ+MJ5O6_?80\P##X 1%M MY'2W%SF5-\RP=*QD \I&$YO=N%0=FL1Q87_*HU%TR@EGTOG]\^S^Z?MB/GN$ M^]D3G#RQ98GZ=.P;8K8'8.<=B#*(CB(WQQEVOL^.+_YWHHO1;T$N_ M? H'P=W5\G29W3*VYT%#BBJ#!^07UGVH[M#6,K%U7+*6A'G/;@H8:*AM MYRLISUAZ$)]PH0( ,@% 9 >&PO M=V]R:W-H965TV4]M_OG$#&-,J'?3G[[+OGGG/RW'@KY)/*$#6\E@57 M$RO3NKJT;95D6#)U(2KD=+,6LF2:7+FQ5261I4U26=B>XX1VR7)N1>/F+);1 M6-2ZR#G&$E1=EDR^S; 0VXGE6ON#1;[)M#FPHW'%-OB ^K&*)7EVAY+F)7*5 M"PX2UQ-KZE[. A/?!/S(<:L.]F Z60GQ9)R;=&(YAA 6F&B#P&AYP2LL"@-$ M-)YWF%97TB0>[O?H7YK>J9<54W@EBI]YJK.)-;0@Q36K"[T0VZ^XZZ=O\!)1 MJ,;"MHT-/ N26FE1[I*)09GS=F6ONW,\VBL11; MD"::T,RF:;7))G(Y-Q_E04NZS2E/1_'B6SQ?+']!?#N]7\+T_AKFWQ]OXKLY M>??S)9PMV:I =3ZV-94S27:R@YZUT-X[T*X'=X+K3,&\W^#Y_]G\L9Y;Q. XHI'0I:I8@A.+-*)0OJ 5 M??K@AL[G$WR#CF]P"CV*)8E1ZK<>5 7C&AA/ 9_KO"*5Z!YPU,<8G\0\SACH MI;%Q>^Y\3#\YR#CH3M2(:ZAQND<21B2*%O*RD>$%#2L%'\$!*2]:(M>L*W)X_"LDZ80AA;Q .R+I]G\HI19I. MZK(NF,:4 (A_DK?Y_5[@#,DZ0Q?VKW;DN8@7X?='S>H,/#CVD>P#=94H-\T, M49"(FNM6:-UI-Z:FK3K_A+&ULK55K3]LP%/TK5]DT@<3( MLZ5E;:46F*@$ _$8G]WDMK%P[,YV*/S[73MM!J-4FK0OB1_WGGO.27P]6"G] M:$I$"\^5D&88E-8NC\/0Y"56S!RJ)4K:F2M=,4M3O0C-4B,K?%(EPB2*NF'% MN Q& []VK4<#55O!)5YK,'55,?TR0:%6PR .-@LW?%%:MQ".!DNVP%NT]\MK M3;.P12EXA=)P)4'C?!B,X^-)Q\7[@)\<5^;5&)R2F5*/;C(MAD'D"*' W#H$ M1J\G/$$A'!#1^+7&#-J2+O'U>(/^W6LG+3-F\$2)!U[8.?L&IBTTX >6VLJM;)Q*#BLGFSY[4/KQ)ZT0<)R3HA\;R;0I[E M*;-L--!J!=I%$YH;>*D^F\AQZ3[*K=6TRRG/CJ[NSL]N8'QRC&]FY[=PMX=FPDT^X/04AT7'>9KS$F#F7R &2=PJ:0M#9S) HNW "$1;%DF M&Y:39"?B*>:'D,8'D$1)N@,O;56G'B_]5]7;Q#90V78H=VB.S9+E. SH5!C4 M3QB,OGR*N]&W'42SEFBV"WUT94O4].OFNL8"!&QQ";94M6&R,/MP@70*6BXO\!5,J;0%B[J"SW#4[_EG'ZZU*NK< MPHIIS21%9ED?LJ0#MXQ^+#K2MM;N9'LND"9P%$,CV+)G"NCV(>ZFZZ5^!'': M@P\-H9KQ09;V_+O3[\(.]SNM^YV=[K\3T(K>9O].K/]H_X;# N&N[!I*,]N!-593%7R7ILS:%MWD>OFI.%>J%;\$&;,=);0-)ZFT!XB:( MO17]2$MGBRA%JB15M_]^1TI6O,X1L"_BV]USSSTG'J=[I;^: M'"CU)(,PL* M:ZN;,#19@24SEZI"22=;I4MF::EWH:DTLMP[E2),HF@\]Z/E6U M%5SBLP93ER73/^]0J/TLB(/#Q@O?%=9MA/-IQ7:X0OM7]:QI%78H.2]1&JXD M:-S.@MOXYF[D[+W!WQSWYF@.+I.-4E_=XB&?!9$CA (SZQ 8#=_Q'H5P0$3C M6XL9="&=X_'\@/Z[SYURV3"#]TI\YKDM9L$D@!RWK!;V1>W_Q#8?3S!3PO@O M[!O;T54 66VL*EMG8E!RV8SL1ZO#D<,D>L,A:1T2S[L)Y%E^9);-IUKM03MK M0G,3GZKW)G)+E=/WSZ QX7MZL%W#\MEP_KY>+3>@5G M:[81:,ZGH:5(SC[,6M2[!C5Y S5.8*FD+0PL9([YOP%"HMCQ3 X\[Y)>Q(^8 M74(:7T 2)6D/7MKEG7J\]/_G?2K=!FQX&LQ=G!M3L0QG =T,@_H[!O/W[^)Q M]*&'ZK"C.NQ#GS]5J)GE<@<"Z?^#3)4EMW0QK#E%M1?L-%4@=;'@ MCS[H_6M0..,2;*%JPV1NSIW]$'Z#R3!VTQ&,KOUD#'&:NLD5#"=NG,![5E8? M8%T@M8^MI7 #6"O+!'G'%^,XI5C& "^KVF(.7)()&@MG,1V=MZ;J%S4$9QLN MN.5H/,PHBJ!']%$G^JA7]%5=50)=OA1SPP23&4+3)KEL>F'3E@1S7*UJZ)RL M2&^D-RKR!9EN+L^)XM G^;4*OIT.U'90DRC,&'2%>E1R-R 52U"65&_WS[U0 MZ3BE,;F(D^NVQ@N*__X40%/J \';) M/$:4]E8N/.IN)>J=[^&&KD$M;=/HNMWNF;AMNN.K>?/&+)G><6F(QY9/RWHJ4/M#.A\JY0]+%R [O&<_P-02P,$% @ MLH-[6!%&UD?%! :0T !D !X;"]W;W)K&UL MM5=M;]LV$/XK!V\84D"U)>K576+ 2=.UP-H&<=-B'QGI; N51(VDXF2_?D=* MEEW'5ML!@P&9I.X>WLMS1^I\(^17M4;4\%@6E;H8K;6N7TTF*EUCR=58U%C1 MFZ60)=5Z-9N=V[4;.SD6CB[S"&PFJ*4LNGRZQ M$)N+D3?:+MSFJ[4V"Y/9> M"GS.<:/VQF \N1?BJYF\RRY&KC$("TRU0>#T]X!76!0&B,SXN\,<]5L:Q?WQ M%OV-]9U\N><*KT3Q)<_T^F*4C"##)6\*?2LV;['S)S1XJ2B4?<*FDW5'D#9* MB[)3)@O*O&K_^6,7AQ]18)T"LW:W&UDK7W/-9^=2;$ ::4(S ^NJU2;C\LHD M9:$EOWUY?SQ?5KN/KX_N;ZPV+^Z=W'#W#VB=\7J%Z<3S3M8F0G M:8=XV2*R$X@>@_>BTFL%UU6&V;< $S*OMY%M;;QD@XBO,1V#[SG 7.8/X/F] MS[[%\W_.YV.NMD#!<2!3,*]4S5.\&%%%*)0/.)K]]HL7N;\/F!GT9@9#Z+/% MFDM\:2B702I**D/%#9./V3F(=-Q.^ NY;',$%&$L[U'V438/!F=Y!7HM&L6K M3+V *Z$TB"6LA,@4*%%D\"M,0WK$$=P2+I?I&DB6RN*!RKVFXM7 PA@82V!! ME9=7*P=66*'DA17D&7$Z5UIR4YR0^ DD,8-/0I. .A$ VM!SO*G;_M/> \$. M^V"'P\'6(OT*HMZUBEP_'8OT(,R)2.\B^M%NH."+[1:8O9P_4"Q6"->/*--< M(=S(/,7G[V_1=%B*'V6AHG"ENJ$(_9DO$2A))I7J?P9OM-*4,B/%-=SC*J^L M"A'BR3#)8T[HFIP$XVER,/M#\HHVA)?=;VO0;N6*5RD1!#.'7M:YI%=" C7> M)>;[F@=F(''HA %CWS]88F;I,RK=@N-C34<#C;6 !UHU>'J-6TPSK%'F(CN! M'$31-\B=4Z9O_H!I4\>/PV_T!U@<]2R.!EE,1:@IQ<8I90G--UQFE,2T:&S( MR"%[D%.PN\+:E]OR'AKJ"A)$(T_78%WPHYUHT,#OUL?@PFRI_/ T@8KX3Q['-4^SW//:3V/%(*AC[$?B^ MZS O) 46;>EUQI+ F;(07A@+BC.YSYB1.';BL8T71JJ6+D MB!,#=(]9XD2LI9 7'QH^0*:X)U,\2*:[BI="ZOR?P]2;PJD4'LO^(.*)[#\_ M? Y7&.S;LFQT(_&H2>0][)=CXV#P#SBH8 F?4"3P8!^.=RZ:JR7E%%;9HHJKD_WL>@.PO_G4_Z96<^- M@<29!JX3T=V.V$JCV/5@K]F8H_QFUUJ@/4WOJEPK\'Q*2>1V:]LSBGG1\XVS MO&AL[VH-F#IN[#M>DNQM>BP-D[WK;XER92_YB@C25+J]"?>K_7?$O+T^[\3; MCY#W7%)'4%#@DE3=<4S'O6PO]NU$B]I>IN^%IJNY':[I6PBE$:#W2R'T=F(V MZ+^N9O\"4$L#!!0 ( +*#>UAO5^#^' 4 %4/ 9 >&PO=V]R:W-H M965T,O%G5P#*/)0%DR>#-9* M;8XF$YFNH:3RD&^ X2]++DJJ\%6L)G(C@&9&J2PFONO&DY+F;# _-M^NQ/R8 M5ZK(&5P)(JNRI.+Q# J^/1EX@]V'G_EJK?2'R?QX0U=P#>IVD@"SR&^ MZP<]>$%C:&#P@C<8VF6?U0Z[M75I',D-3>%D@+DO0=S#8/[YDQ>[7WJXA0VW ML ]]?L[+#6? E"1\27*6\A+(J.!2CLD"L/* */H LHMW+W(W;_(/4&$#1=#- M4"Y &%>/2L@R7UI[7@T]N#Z\/"38"074I23(DHRB(R5A//"=&B3'! M(L$28&TQS_&]&$,>KT:-5Z/W>Q77(O" +4TB MBP4P6.:J,]][L3_*K^>5$$BPFY7U^A(R]&>!CG'-_[6B"E";>+/&Y=XT)'$< MXB=\)@$NO@0$SE[!_?PI\3WORS[^ ?[MQ:A;=V@6&9IE>F(4-S&*>V/T$U+. MTKS(3<;H.,%R":93MWATQ:<7]Z/BHYU=*2X>C3?0]C#0&3KSQW4<4($LZR@\ M\74(P^T4C=DY5VO7+L2"F298+B,OF>'C%RTJ:SLM<(.D+ 4-J#>6IQ!2*1'/ M"V8DF+I-U"6O1(H2&4"I'_E]G@'RJ7D$R'\:)$B4IW=FY\H(_J #:A<<^9%K MB$0A/GZH-7K#2XCG?F >3)L\F/;FP34>-K*J .VTEZ9+XV=,D@5FBLJ[&V'O M GT-W(ZOY$9;Q(XZ.YZ]^W:VGT8O-5^.3:&V?&TM/GJ+^NE>RJ0(A/FE6RM( M*S#TPK;\<,?TDMUCV]%YK1V[$3RK4H5G+%4)?=0R[I%M3>SAU&M>X:GO@-^#^) >S # M#'%:MQ1M("VY4/EO\V%/O\,DOUYG5V6FDNV6QE;&N22E0CRBQ[=49/M>2L(. MDN',3DR[?0^<[R2S68?3G6#6AJSC_CHK)XJF';R<*.Z(B!T3)XXZ'#YS_%F' MB6\?G]I=D[OMGT=FW;W2&9DUQ[8E-?5R:>OE!J-]:NJE3O"#O70_^-\36M+T MI^3-_:EBF%U\Q?+?=8^JFV)G5^J%?>E)W%XXOU.QRI%Z 4M4=0^G>.03]A)G7Q3?F(O3@BN\AIGI M&N^](+0 _K[D7.U>] +-37K^'U!+ P04 " "R@WM8"O36Q48# #I!@ M&0 'AL+W=OXK$S\\WW>3*3T5ZJ M[[I"-/"SJ84>.Y4QVQO/TT6%#=,#N45!;]92-]/K/!*EE)^=UN9N78\2TAK+$P M%H'1\@/OL*XM$-'X]X#IG%+:P'/[B/ZQU4Y:5DSCG:R_\M)48R=WH,0UV]5F M(?>?\* GL7B%K'7[A'WGFX0.%#MM9',()@8-%]W*?A[NX2P@]_\0$!X"PI9W MEZAE><\,FXR4W(.RWH1FC59J&TWDN+!%61I%;SG%F/$U?9\]SZ+VR58VZ/_(,);1A7G$ O^W PS^ !R$\26$J M#0^BQ/)7 (^8GNB&1[JWX57$>RP&$ 4NA'X87<&+3O*C%B_ZW_(OJ>XPX\N8 MMHUN])85.':H3S2J'^A,_OXK2/U_KC".3XSC:^B39=<](-= G:F8X6(#7'3M M:;_SU1ML4&X4VU:\ $:=>DG"U227)< W9*JK)% =L%FA:FO1XP),)7>:B5+W MV]+81PAS&BJ:T;=S Y\'RP%\@-#-AD-: S?+8GC8*=( 0S=.AY"YL1_" K6Q MVKY*59<0).2?VL6/ QN>NWX:6R-VPR"#F2CJG>5## Y@Q.$W$+H"HH>PEC6- M('M=EM?2\@+--X*O><&$H>:NF2@LV4>DRQ1OE"=VTV'6\L[S .XJ+ACM(C?W M?5H3-\Y2>#XK0R$;?!<;I-;IR*R79@'TH1>X462-7UD._0B2S.:*XQQZ'[)X MV(=9B<(0/]N P+1&\WZ50>A&>6*-Q VCTV7VMHK3!\+KMZ.,/JD8IBD]\SS] M+>N9=RNN#X'O^HE/U?!C"Q[:L@2=$:0)7/J"O;/QTZ#:M$-60R%WPG23Z'1Z MFN/3;GR]NW<_@2>F-EQHJ'%-H?X@2QQ0W6#M-D9NVV&VDH9&8VM6]"]"91WH M_5I*<]S8!*>_V^0_4$L#!!0 ( +*#>UA-2A8S4@, )T, 9 >&PO M=V]R:W-H965T*/VM!M-X9%B*$600"06!Y=\C MA)!E"DGR^%.!&O6:*K%Y_81^J<5+,0^80TBSGVDLDI$1&"B&)5YGXI9NOD$E MJ*_P(IIQ_8LV9:PO@Z,U%S2ODB6#/"7E/_Y;%:*18'M[$IPJP6DG]/8DN%6" MKIQ9,M.RSK' XR&C&\14M$13%[HV.ENJ28G:QH5@\FXJ\\1X<3^;36Y_H>M+ MM)A>S:>7TW ROT.3,+R^G]]-YU?HYOK[-)Q>+-#'? MT'N4$G27T#7').9#4TA*"MB,JN7/RN6=/*ZGUTR@L= M%O+U(M!B7[4[ 5Y/K]1Z)+ MK5ZMU3O<4]X+M]B>VW-;6U5&]9M1;F"YNSWE MU[S\(WK*W^6IH&W^SA4/K'-0ZPDZ]4QB7 A@^QW5F?Y61QT);$OIH%8Z.-Q1 M@Q>."NQ^>Y\&+PSENZZWVT^V]7PX64=T5 76LI3MM*AVKWE@I>W&@6MW:EK0 MI=A@!DB>F&@F&RT!!),(]MNL&_"M/CL6VK9\YUF^<[C5JMRFU]R^Y[4 MY0=[S/9\4MO=1_4;S>:^ZDSL7O.MU38;C5X.;*7[7XXBNB:B;)'JV;K'GNC. MLC5_IGIOW4 ^PY2-^PRS54HXRF I(:T37S[3K.R%RX&@A6XG'ZB0S:F^3.3W M S 5(.\O*15/ [5 _44R_@]02P,$% @ LH-[6)[% P[J @ L !D M !X;"]W;W)K&ULK5;;CMHP$/T5*Y6J5JI(XG#= M0B3(7HI4+H+=5GTT88!HDYC:!K9_7]L)68A,VEWQDMC.G#-G/!-[N@?*GOD& M0*"7)$YYS]H(L;VQ;1YN("&\1K>0RB\KRA(BY)2M;;YE0)8:E,0V=IRFG9 H MM?RN7ILROTMW(HY2F#+$=TE"V)\!Q/30LUSKN#"+UANA%FR_NR5KF(-XVDZ9 MG-D%RS)*(.4131<_JNS>!BQ5 6_R(X,!/QDB%LJ#T64V&RY[E*$400R@4 M!9&O/000QXI)ZOB=DUJ%3P4\'1_9[W7P,I@%X1#0^&>T%)N>U;;0$E9D%XL9 M/7R#/*"&X@MIS/43'3+;1L-"X8X+FN1@J2")TNQ-7O*-. &XS0L G -P&5"_ M /!R@*<#S93IL&Z)('Z7T0-BREJRJ8'>&XV6T42I2N-<,/DUDCCASY]&H_[L M%YK3[,!C>S=&G6Q DBCER/W=M(7TK M!CO,_0PR/_B"'Q>C$4W%AJ.[= G+J&O7JEO3F+@)D5U@S-<+RDR&GEF18U"4:-2D9O7-S"CKDJP M.MUN^):$T+/D\<6![<'R/WYPF\Y74RUPLSF819_,:E=$T;+';+N7!:-0P MYZ%5Z&N]KS):)F=>29')Z%)EM M%[4I%N+HR*L%OK8PKD9W%V2GB[%RC,CJF M/#1+>3 :7#L[[:B/'E?RY)5$FJPN23BXLMU*25UTBW5L>UV,YC MQ:^QXFL42,[RCS_5;.66\F&?]!)RC]>ZQ>)(Z\@NYV*U:./ZNGDIK0]4>Z=[ ME%>:K#<<$;:.4HYB6$E*I]:2IS/+VJUL(NA6=RP+*F2B]7 C6U1@RD!^7U$J MCA/EH&AZ_;]02P,$% @ LH-[6"J]7"T9 P J @ !D !X;"]W;W)K M&ULK59M;]HP$/XKIVR:.FEK0@*!=A")IB]#6BDJ MZZ9]=).#6'7BS':@^_>S'9K!"&S2Q@?BE[OGGN=BWV6XYN))9H@*GG-6R)&3 M*56>NZY,,LR)/.4E%GIGP45.E)Z*I2M+@22U3CES?<\+W9S0PHF&=FTFHB&O M%*,%S@3(*L^)^'&!C*]'3L=Y6;BGRTR9!3<:EF2) M@,#%R!EWSN.!L;<&7RBNY=88C))'SI_,9)*.',\00H:),@A$/U88(V,&2-/X MOL%TFI#&<7O\@GYMM6LMCT1BS-E7FJILY P<2'%!*J;N^?HC;O3T#%["F;3_ ML*YM^X$#2245SS?.FD%.B_I)GC=YV'+HA <<_(V#_[M#]X!#L'$(K-":F95U M212)AH*O01AKC68&-C?66ZNAA7F+/#+2]4)N&J2#'=!7"UC$:+_Z+EPC^*>(G)*02==^![ M?M!"*/Y[=_\(G:!);6#Q@G].;5OR:NQN.[:YV^>R) F.''UY)8H5.M&;5YW0 M^] F_#^![:2AVZ2A>PP]BHG,@!0I)&: WRNZ(@P+)2%#E@(M0-^Z+.J"D3QM91ED1D0[W1JOM\TC M"/;IMIAY9P?I]ANZ_:-T[TI3Q:7.9\(J??UA(7@.*D-(>%Y6BM@BSQ>04E8I MO7\U:[TF_7UV?F]/PY^L=B0,&@F#HQ*N-\>6) FOS'D6F*!.^R/#-J:#_=?N MM1WB?3N_VW:(W:VBGZ-8VEXHP7*I:V:SVK3;L>TROZU?Z#9<=\U?,'4/OR5B M2?5+8KC0D-YI7V=0U'VQGBA>VM;RR)5N5':8Z4\)%,9 [R\X5R\3$Z#Y.(E^ M E!+ P04 " "R@WM8.C2Z?FD" !=!@ &0 'AL+W=O]/VS 0_5>L#$T@,?*KH2M+(T%:-"3&$"WLLYM<&PO' MSFRG9?_];"=D 0)BT[XT/OO>N_><7$O"P"%'DK*Y-0IE*I.7%=F!918 M'O$*F#Y9.9P0!A4P9!JP?6TB!4D.D9?QL.9VNI 'VUX_L MY]:[]K+"$E).?Y!<%5/GLX-R6..:JAN^^PJM'RLPXU3:7[1K [)$RV9C,+>S<6 MK=T09M[B0@E]2C1.):=I^OWV:KE -_-T?G%W>G8Y1U?S)=J?@<*$R@/T"=TN M9FA_[P#M(<+0LN"UQ"R7L:MT? %X0 \?3\\ M> IWM>O.>M!9#RQ?^'?6AWPU1*-A(M-H)[+"&4P=W4D2Q!:(5A2'7#=6QI3+38)M$X_$D=K=] M-P-)?O@GZ8G*4:=R]*;*2Y 28:HG#&89(#VK4,[KE5K7M"=Y\!_8$$<].>/@ MF>*7*?YH/"PXZ@1'_W:MAXB!&M(9#=RM-WZF]&72:#()GDEU>\UO!N\W+#:$ M241AK6'>T5BSB&:8-8'BE9T'*Z[T=+'+0L]_$"9!GZ\Y5X^!&3'=%R7Y#5!+ M P04 " "R@WM8-+UV.IZ=8T*M,#!G#SP,V$9FA,(#1V*3YYC_ M&D/&=D/+L?8'<[)*I3ZPPV"-5[ ^;1^X&IG5RHQR8$*PBCBD RMD7,]\;6] M,7@FL!.U-=*9+!E[T9O;>&AU-!!D$$FM@-5C"Q/(,BVD,'Z6FE854CO6UWOU M&Y.[RF6)!4Q8]H/$,AU:OH5B2/ FDW.V^PIE/GVM%[%,F%^T*VP]%3':",GR MTEGMHZWQ";L?M-@!-_M[=;<'I5N7L&KWNOY6SJ5*% M4*]92%_>:['&$0PM=3L%\"U8X< M '3.80M@#!(EV;D:J#KQ8NH4&\G6IG$OF51CP"Q3-:B!:P/U/F%,[C&ULK55=3]LP%/TK5H8FD ;Y:M*6I9%&"Z(/8ZCEX]DDMXV% M8V>VV[!_/]L)42FAXV$OB:]]S_$YCN]-4G/Q+ L A5Y*RN3$*92JSEU79@64 M6)[Q"IA>67%18J5#L79E)0#G%E12-_"\V"TQ84Z:V+E;D29\HRAA<"N0W)0E M%G\N@/)ZXOC.Z\2"K ME)MPTJ? :EJ#NJUNA([=CR4D)3!+.D(#5Q/GAGT]C MDV\3'@C4,C),GSI]-,,\GCF<$ 85,&0:L7UN8 J6&2,OXW7(ZW98&N#M^ M9;^RWK67)RQARNDCR54Q<48.RF&%-U0M>'T-K9_(\&6<2OM$=9,[&#HHVTC% MRQ:L%92$-6_\TI[##L ?? (6D#P64#8 D)KM%%F;(V$R=9L9F#/ MQJ*U&\+,5UPJH5>)QJET?O-P>7/W:S&_7*+C&2A,J#Q!I^A^.4/'1R?H"!&& M[@J^D9CE,G&5WM,@W:SEOVCX@P_X9Y"=H=#_A@(O"'O@T\_#@[=P5SOM[ := MW<#RA?^VV^>E 0_ZP::@SF6%,Y@XNF(DB"TXZ=^ P[G^$A M]G2!:WU+% B":9_1!AU;M"GT;1J&P2AQM[L&>I)&D=5?&[[Q2-AM&>K/=)\3#:/S!WIY&8 M)OX3BS5A$E%8:9AW-M2V1-,8FT#QRO:6)ZYTI[+#0O]+0)@$O;[B7+T&IEUU M?Z?T+U!+ P04 " "R@WM8;\_I\]4" !)" &0 'AL+W=O %3$+=5S&3/[%Q24D#)"2T1@_G0 M.+-/+T(5WP3\(K#B&VVD,KFC]%YU+M.A82D@R"$1R@'+QQ(N(,^5D<1X6'L: MW91*N-E^=O_6Y"YSN<,<+FC^FZ0B&QJA@5*8XSH7$[KZ#NM\/.67T)PWOVC5 MQOHR.*FYH,5:+ D*4K9/_+BNPX; [KTA<-8"Y[T"=RUPFT1;LB:M$18X&C"Z M0DQ%2S?5:&K3J&4VI%2K.!5,OB52)Z)X\B,>3V9_4'QU=C-#9SQE? MCV7O9CQ#AR,0F.3\"'U!M],1.CPX0@>(E&B6T9KC,N4#4T@0961^7MI9KB'+@\+PI:D-RK+XAHP2C7+K._P^ '_G9)-4&V]T9)@PXT^,>7R+D\UI.Z MJ',L()75E=][0IKBZDB#'0BO9X5;I)H@*[3UI&%'&GZ@I,>H!.W2ASN;PG:] M_A:G)L@*G"U.<^.@5Y?L-68+4G*4PUS*K)- YLG:BZOM"%HU9_\=%?(F:9J9 MO.N!J0#Y?DZI>.ZHZZ3[]Q#]!5!+ P04 " "R@WM87?T["%4" "R!0 M&0 'AL+W=O-/ M(@&0Z)BEN1CB1,IB8%DB2B CHL,*R-7-EO&,2&7RG24*#B0VH"RU'-OVK(S0 M' >^\84\\-E>IC2'D".QSS+"?XXA9>40=_')L:2[1&J'%?@%V<$*Y*8(N;*L MAB6F&>2"LAQQV [QJ#N8]'2\"?A*H12M,])*'AE[TL9#/,2V+@A2B*1F(.IU M@ FDJ2929?RH.7&34@/;YQ/[1Z-=:7DD B8L_49CF0SQ'48Q;,D^E4M6WD.M MIZ_Y(I8*\T1E%>NY&$5[(5E6@U4%& W@6 6P-< M([2JS,B:$DD"G[,2<1VMV/3!],:@E1J:ZZ^XDES=4H630;C\',Z6Z^\H_#1: MK-%H,46S+YN'<#Y3UF*V1C=3D(2F BT(YT3W_!:]0YO5%-V\OO4MJ6K03%94 MYQM7^9P+^;H.FK-<)@+-\ACBYP26*KY1X)P4C)VKC%.(.LCMOD6.[;AG"IK\ M/=RY4H[;--0U?.X_-O1=7U[ _GY/XG MLF?B>XWXWC5VU4Q%&E%B)A2.:M4(.">X8O$,B]XSA\"S[VS;]JU#6\J?87W/ M;H=515JMWS\#OC-;0:"([7-9_4>-MUD\(S-O+_QCM9"J_?&;IMIF<\)W-!&ULK55=;]HP%/TK5E9-K;0UGX300:06.A6I4Q&TV[-)+L2J$V>V _3? MSTYH1(G+.FDOB:]]S[GG.+'O<,OXL\@ )-KEM! C*Y.RO+)MD6208W')2BC4 MRHKQ'$L5\K4M2@XXK4$YM3W'">TIV8DW4F]80=#TN\A@7(IW+&562W+"G)H1"$%8C#:F1=NU?C2.?7"3\) M;,7!&&DG2\:>=3!-1Y:C!0&%1&H&K%X;& .EFDC)^+WGM-J2&G@X?F7_7GM7 M7I98P)C17R25VIHO85343[1MK.*< M%,T;[_;[< !P@W< WA[@?13@[P%^;;115MN:8(GC(6=;Q'6V8M.#>F]JM')# M"OT5%Y*K5:)P,GYXO+N=H^OQ>/YT.T'WT^N;Z?WT<7J[0.<3D)A0<8&^HJ?% M!)V?7: S1 KTF+%*X"(50ULJ!9K'3O;5;IIJWCO5)I!<(M_]@CS'\PWP\3S M/Y&]<>VWKOU3[/$]J-\>48*7A!+YHCZOR!B72 +/3<8;MK!FTY?")NX/HJ&] M.?1CRAFT.6]D!JW,X*3,&6=IE4BTQ9SC0KZ8I#4,O8.R03 XDF;(\7IF:;U6 M6N^DM 6F(-0=)BNNK[+Z YGD]3JE?>](73>E[YK%A:VX\*2X!YD!1Q+OP'A MPT[!\'C'NBENZ)M%]5M1_;^+,LGI=VH-G",YW137C\QRHE9.]($]PDG"*TC; MHT#,.Q9U_FTW\(\/@"&I-PB/5-H'][3ND3\P7Y-"( HK!7,N^\HD;_I.$TA6 MUE?WDDG5".IAIEHU<)V@UE>,R== =X.V^<=_ %!+ P04 " "R@WM8>O'R M!]," =" &0 'AL+W=O1!+SI:*$P8- ?*++A) MO,!SF(!Z6CP(/7,KEHP4P"3A# F8=9QN\Z;?-O$VX">!M=P9(^-DROF+F8RR MCM,P@H!"J@P#UH\5](%20Z1E_-IP.E5* ]P=;]F_6>_:RQ1+Z'/Z3#*5=YRV M@S*8X2558[Z^A8V?EN%+.97V%ZW+V-!W4+J4BA<;L%90$%8^\>MF'W8 S? ( MP-L O'U < 3@;P"^-5HJL[8&6.$D%GR-A(G6;&9@]\:BM1O"S+\X44*_)1JG MDA^/M\,QZO;[XZ?A -V-NKW1W>AQ-)R@\P$H3*A$S2_H$CU-!NC\[ LZ0X2A MQYPO)6:9C%VE-1@F-]WDZY7YO"/YFAZZYTSE$@U9!ME[ E>+KQQX6P<][R3C M -(KY#O@%'MR1_"44*+>+M 4YH0QPN;Z>E',4J@S M7K*%ELT4FE42>*W87>WZJ8GQO2KFG M-[P]68%)6<]8",S4&THI)D6MLO @Z^6AM)J@H]JB2EMT4ELW M3<424UVQ5\24[EIUT4%B+]C3=A@2U0MK5\+:'SURP+*_G+?VX5D*KO<4UL3L MG,E2H[M3:0L0<]N )$KYDJFR9%6K58_KVM*^M][3O:]L57]HRL9YCX6^0!)1 MF&G*QE6D]TR4S:B<*+ZP]7S*E>X.=ICK_@W"!.CW,\[5=F(25%\$R6]02P,$ M% @ LH-[6)(T(#R9 @ /P< !D !X;"]W;W)K&ULE95K;]HP%(;_BI5552MMS8V$0$.DMK"M4FE1H=MGDQR(52?.; /M MOY^=T(P- ]H7XMM[GO<8^SC>,/XJ<@")W@I:BH&52UGU;5ND.1187+$*2C6S M8+S 4G7YTA85!YS5HH+:GN.$=H%):25Q/3;A2&J9[=1,E) *0@K$8?%P+IQ^[>NHP7UBA\$ M-F*GC70J<\9>=><^&UB.=@044JE#8/59PQU0JB,I'[^V0:V6J86[[8_H7^OD M53)S+.".T9\DD_G BBR4P0*OJ'QFF^^P32C0\5)&1?V+-LW:P+=0NA*2%5NQ M6I48:W25VB=1!TWMM<&5*=%=4ZA A.J404[J*!W !6TJ. 4*C2A@CV4Z_MF M5-BBPE.HK@D5[J$ZD9G4;4G=4Z0(G>.BNE9G'E2M6TC@)G1W#^V8R5%+CHZ2 M9TQB:B)%^_L9N@D=A#R!$'Y&B6DG(U 5728*0)GIOC_[%/41WG3^5 MQSF=+%+O"\>2E$M$05571 F>$TKDN['*.'NWQ0V..!Z@9I?,"8_.KKHMF]F\AM02P,$ M% @ LH-[6/8-<8R' @ GP8 !D !X;"]W;W)K&ULK55K;]HP%/TK5E9-5!K-B]#'(!(%ME4J+0*Z?3;)A5AUXLQVH/WW MLYTTXA&J5MJ7Q->^Y_B<:_FZMV7\620 $KVD-!-]*Y$RO[%M$2608G'!V9NRL,>*R0E&4PY$D6:8OYZ"Y1M M^Y9KO4W,R#J1>L(.>SE>PQSD4S[E*K)KEIBDD G",L1AU;<&[LTPT/DFX3>! MK=@9(^UDR=BS#N[BON5H04 ADIH!J]\&AD"I)E(R_E:<5KVE!NZ.W]A_&._* MRQ(+&#+ZA\0RZ5M7%HIAA0LJ9VS["RH_1F#$J#!?M"USNX&%HD)(EE9@I2 E M6?G'+U4==@!NYP3 JP#>1P%^!?"-T5*9L37"$H<]SK:(ZVS%I@>F-@:MW)!, MG^)<_B)[L>#^1@-'R>3N\5D_+"8H]8()"94(/<X?,_7X F;R59IYE,7[D;D>,(^I:Z4P+X!JSPZQ>WZWQO M9KD@E$8:5@SL6E8N%E.RP#R7+3499, MJOYDAHEZ08#K!+6^8DR^!;I)U6]2^ ]02P,$% @ LH-[6"*T::XD P M> D !D !X;"]W;W)K&ULK59M;]HP$/XK5C9- MG;22D "!#B+QMJU2:5%IU\\F.8C5Q,YL ^7?SW8@A1*B=MJ7)';N'C_/^<[G M[H;Q9Q$#2/22)E3TK%C*[,JV11A#BD6-94#5GP7C*99JR)>VR#C@R#BEB>TZ M3LM.,:%6T#5S4QYTV4HFA,*4([%*4\RW TC8IF?5K?W$/5G&4D_803?#2YB! M?,RF7(WL B4B*5!!&$4<%CVK7[\:=K2],?A-8",.OI%6,F?L60^NHY[E:$*0 M0"@U E:O-0PA2320HO%GAVD52VK'P^\]^@^C76F98P%#ECR12,8]JVVA"!9X MER1)@GVN2V364' P?7.^/@[AS< M-P[UQAD';^?@&:$Y,R-KA"4.NIQM$-?6"DU_F-@8;Z6&4+V+,\G57Z+\9' W M'=_W'ZYO?Z*;<7\V1L.[R>3Z83*^?9BABQ%(3!*!;C'G6(?[*[I$C[,1NOC\ MM6M+M;P&LXPS>+&9<7DK@*4I I1:"%U5L D19K'*HEH'2 MI;8._$;3<9RNO3Y4<&K6[G0.S8Z8-@JFC4JF0RQBE&$2(74.('4DZ.VERQWM MA. Y28@DY*?9-UQ51V1;!F5XJWIV^8YT3@\"USO=DE,SO^Z=[HE]T,12X$O3VP4R M^9VWA&*VN#[T3==\,S]0UXK\%O *D]]))I@O"14JTQ8*TJGY*D]XWN?S@629 M:95S)E7C-9^QNAH!UP;J_X(QN1_H!8K+5O 74$L#!!0 ( +*#>UA\ZL@" M^P$ &T$ 9 >&PO=V]R:W-H965T $-K$D4H%.[0,M KH]FW A5ITXLPWIOOUL)XW0"F@OL<^^WY]S MSHX;J5YT 6#0:RDJG>#"F'I"B,X**)D>R!HJNY-+53)C0[4GNE; =AY4"D*# M8$Q*QBNR9.K/%(1L$CS$;PLKOB^,6R!I7+,]K,$\ MUTME(]*S['@)E>:R0@KR!-\.)]/(Y?N$GQP:?3)'KI*ME"\N>-@E.'"&0$!F M' .SPQ%F((0CLC9^=YRXEW3 T_D;^P]?NZUERS3,I/C%=Z9(\#>,=I"S@S K MV=Q#5\_(\652:/]%39L;VN3LH(TL.[!U4/*J'=EK=PXG $HO &@'H-YW*^1= MSIEA::QD@Y3+MFQNXDOU:&N.5^ZGK(VRN]SB3/JTN;];H=G38O&P6=P];M;H M9@Z&<:'1(U.*N3/['!-CI1R 9!WMM*6E%VCGD U0./R":$!#]+R>HYN/_] 0 MZ[2W2WN[U/.&_VOWG+66(CI/X;I\HFN608)M&VM01\#IIP_# M8T]O

_II8=\#4"[![N=2FK? ]6C_ MPJ1_ 5!+ P04 " "R@WM81Y;JQ5 $ #;#P &0 'AL+W=O+SG.[^%A&['EFM]O)B3=2S4"WLRRO$:%B"^Y3,F1W:#$I$4,DYH MAABLQM:->SUU>\J@G/$W@2UO/2,E94GIJQH\1&/+48P@@5 H""S_-C"%)%%( MDL?W&M1J?"K#]O,'^N^E>"EFB3E,:?(/B40\M@86BF"%BT3,Z?8/J 4%"B^D M"2]_T;::V_,M%!9+6!=VC0/6'@UP9^*;1B M5LJZPP)/1HQN$5.S)9IZ*&-36DLU)%-I7 @FOQ)I)R:+E^?IG^CFZ0[-[U\> MYO>/]T\O:/;7S=,"7=R!P"3AZ DSAE6T+]&OZ-OB#EW\?#FRA?2N,.RP]G1; M>?).>'(]]$@S$7-TGT40[0/8DG;#W?O@?NL9$>\@["#?O4*>X_D:0M/SS3T# M';\)I5_B=4_@=1WWXO42S4$0!G*E"[3 &Y*M.9HE.)-)$V$LARB446!D693+ M&-[DAN2@"V?EK5=Z4[MQ,_$"WW&""YQ%BKK<1>$K MPKD\Z$*"R[@SM;WY%>(Q9L!U["OXH$7+]8(C\D82Z@R^YCD.86Q)WQS8!JS) M+S^Y/>\/+SD?I(4S:][=WPLBWM%S7IY7INUL!OKL?OY1:/NR MO9UL[W-IPQM9A.!E NV\K1G.A#86WE$V^K[G>_W#K!E9?%7EKE1PS;7"3F7[ MR-I?HA]K4]V\G' A;S*M8O]XAP>^9IT:&7U5\:Z><,T%Q4,6%6%5%M7PAI.M MQFIK&FHN7[/+KTK:51BNN<0X*:E:GC*-))/%I3N\0AO@:BRK)U1D*K&'!7"M M^[RBP\SKJ[IW98=KKCNJ(VFG4K8C)"U2)("E6E5FN!YZ!\QTZV!JMORL4+O5 M)J7 UF7WR.7V*C)1=1W-VZ9#O2G[LH/WMZIS+=NO'4S5]CYBMB8R- FL)*33 MZ&ULK5;;;N(P$/T5*UNM6JEM+D" +D3BULM#6P3M[K.;#,1J8F=M ]V_7]L) M6: AVDJ\@.W,')\S)_&XMV'\7<0 $GVD"15]*Y8RN[%M$<:08G'-,J#JR8+Q M%$LUY4M;9!QP9)+2Q/8CKHXW 3\);,3. M&&DE;XR]Z\E#U+<<30@2"*5&P.IO#2-($@VD:/PN,*UR2YVX.]ZBWQKM2LL; M%C!BR2\2R;AO=2P4P0*O$CECFWLH]+0T7L@287[1)H_U'0N%*R%96B0K!BFA M^3_^*.JPD^#Z1Q*\(L$[3&@>26@4"0TC-&=F9(VQQ$&/LPWB.EJAZ8&ICW%8IMW4R3W*D MUDZYNZT#1SZ''//#+PGZM01G2C+F88S41X7&L%8G:Z;.25E%L!;IJZZ<"&Q/ M=+L4W3Z9*^U/)?=:[0-;*F*\3K4OG9)BIYZBZBV$+B_1'5#@.#'^#")U"!,A M.=;MIXIM+>A7+3H1V)[^;JF_>S*+NI_.J4ZC+QB3VXG>H+QQ!7\!4$L#!!0 ( +*#>UB1 M?NT9\P, H1 9 >&PO=V]R:W-H965T8Y]?'S2VS#^*):($IZ2.!5]9REE=N6Z(EQB0L0%RS!5;^:,)T2J M1[YP1<:11$8IB=W \]IN0FCJ#'IF[IX/>FPE8YKB/0>Q2A+"GT<8LTW?\9V7 MB0>Z6$H]X0YZ&5G@%.5?V3U73VYI):()IH*R%#C.^\[0OQK[':U@)+Y1W(B= M,6@J,\8>]._PJA3^M2*N^,7Z[\9\HK, MC @2R[UPZ$.&'$R_#!\F,!I.)]T-@#:'R\>F"!TRACVS#VF@?L MW:YTF(#-@9G B4]PMY)"DC2BZ0)FN*!I:D8D)FF(^T*8>V@9#SHEURIL+<_K MN>M=7G52%?C-$G[S5/B3)^0A%:\7*X?:? /B-4RK/WU@78F,A-AWU(DDD*_1 M&?ST@]_V?K4L1JMDTWK/8F"Q)H=7HG742M1)5;"W2^SM4[%_0R$Q L8!GS)U M)*JQ9+!6LT DR"5J1EI##S/DE.U=L_91I/9)-=OM_:0Z):G.F=N+S&+4+ H& MSTCX/NR=H["_E>HV.JW]T"]+Z)=6Z-]-<<#H\W"-7!6[,B_@GM,0STCSW%]G M!V7SHGOYBDJ-4(5*MZ32?1^5WSE)Y?Z$[]8FO$VB M?WMO7*>Q]@ZQE5&+=A MMHI40>\46?]]H,=Z8\0Q1AI_1GF>VNJB,D=Z(/J%2RL5FTB52K"E$GS%OQ>&=YW"Q[76 J,)5%CJAJL[<7!M]\=,:DZ83-<(HF0 M:P'U?LZ8?'G0#LK/'X/_ 5!+ P04 " "R@WM8^733!D@# I"P &0 M 'AL+W=O1;V I[8$I5$2/^^DNPX8!N:SO "NNR>/4?:M;:_8_Q%K $D M>LLS*@;66LK-E6V+> TY$1VV :IVEHSG1*HI7]EBPX$DQBG/;.PXH9V3E%K# MOEE[Y,,^V\HLI?#(D=CF.>%_QI"QW%6;I:2[U@#_L;LH(YR%^;1ZYF M=H62I#E0D3**."P'ULB]FKA8.QB+IQ1V8F^,M)0%8R]Z@5A53.^Z/W]%OC'@E9D$$3%CVG"9R/;"Z%DI@2;:9G+'= M#R@%!1HO9IDPOVA7V$:!A>*MD"POG16#/*7%/WDK#V+/P0V/..#2 =<=_",. M7NG@&:$%,R-K2B09]CG;(:ZM%9H>F+,QWDI-2O4USB57NZGRD\/YC]'L&HU' M\^LIFCSQA(2-)&)VOB" M;"36A(/HVU+QT:AV7,8>%['QD=@N1G>,RK5 US2!Y!# 5D(J-?A=S1B?1)Q" MW$&>>X&P@[T60I//N^,3=+SJ<#V#YQ_!>]A*(0E-4KI""UBEE)H1R0B-H>V\ M"KC P.D"?!V&8: JLF^_[JMH,<->%$65V0%;OV+KGV3[G1,JZ]=0\/(; ;UN MY#9XM9AY#G:#=EY!Q2LXR>M)Y5X[K: 1[Q)W_1X.:KS:[)19#[<3"RMBX4EB M$WV-6=;.+6S&5&<6U(^LS:P7[)WL ;.H8A9].O&@S+_C61B)9%NX0/]=2T78:#\9 M.SV_IJEIY'6"/?8N5U<-C.WG4^7@3G+/R/ MUV49H,:LY]7XMYGYG=Z1SX6[]Z2Y9Q%PLG[+&'4-]3MH,U-7=22%7/RA 9^] M+/Y=Z670PWQWH[JFIM5!Z122[+VF(P>^,KV80#';4EF\V-5JU>^-3)=36Q_K M/M T,Q\P11-Y1[@J=($R6"I(IZ.[+E[T9<5$LHUI;19,JD;)#->JEP6N#=3^ MDC'Y/M$!JNYX^!=02P,$% @ LH-[6*;BMRB: @ NP8 !D !X;"]W M;W)K&ULK579;MLP$/R5A5H4"=!&-F4Y1VT!OHKD M(8EA-^TS(ZUM(A*IDO21?GUYR*J3*D8+],7BL3.<69FCWE;()[5"U+ K4A:K6Y84,:#I.?6IC+I MB;7.&<>I!+4N"BJ?AYB+;3]H!_N%&5NNM%T(DUY)ESA'_5!.I9F%-4O&"N2* M"0X2%_U@T+X:Q;;>%7QCN%4'8[!.'H5XLI.;K!^TK"#,,=66@9K'!D>8YY;( MR/A1<0;UD19X.-ZS?W'>C9='JG D\N\LTZM^VOC;N!I"NE19%!38*"L;]D^ZJ/AP 2.<- *D Y#4@?@,058#(&?7*G*TQ MU33I2;$%::L-FQVXWCBT<<.X?8MS+;^#D[&J"G+%42G\ D>YF,X>7_:"[4YTR+#M.(?>G[R!G^;P*W@>J5@PC/, M7A*$1FRMF.P5#\E1QC&F9Q"U/P)ID:A!T.COX>2(G*AN8.3XHF,-_+-_39WR M1)UF(GM=KU1)4^P'YCXJE!L,D@_OVMW6YR:7_XGLA>=.[;ESC#UYX+004K.? MF,%BK=<2(16%"19%W=W$G1UC4P\\<=<1VX39)"1JG\>DTPLWA_8:ZEKDLA.? MUW4OE,>U\OBH\AG:9&-\"5MWP8T!ND%I\@HJ2]Y!B9*)#!B'9Z12-3DY?A#Q M0(BA\'__"\CH3=KKOT%JU?K!!ZXX'FU M/C3)[(/T-XV/]5LJEXPKR'%A*%MGYT:]]%'I)UJ4+FT>A3;9Y88K\W5!:0O, M_D((O9_8 ^KO5?(+4$L#!!0 ( +*#>U@W\])ZN@( /D' 9 >&PO M=V]R:W-H965TX[/\>/>P8[Q9Y$!2/12Y%0, MK4S*\LJV19)!@<4%*X&JF17C!9:JR]>V*#G@U("*W/8<)[0+3*@5#\S8G,<# MMI$YH3#G2&R* O/7,>1L-[1<:S^P(.M,Z@$['I1X#4N0#^67G" B8L?R2IS(96WT(IK/ FEPNVNX;:3T_S)2P7 MYHMV56P06BC9",F*&JP4%(16?_Q2[\,!P#T'\&J =PP(S@#\&N ;HY4R8VN* M)8X'G.T0U]&*33?,WABTCQ0R-1\O9%$WN;^>SN^7H MQ\W]'?HT!8E)+E#P&7U%(L,V?H70_=,BHS@68TA?0M M@:VT-H*]O>"QU\DXA>0"^>X7Y#F>WR)H\O=PKT..W^R?;_C\KOT[W;ZVG:J( M@G8B_5JO1(D3&%KJ.0K@6[#BCQ_@R[V^-&\#4@1W@)7 M3[V^'4@E"2$Q30E=M_FO2'N&5">7;=R_#)S05<>P/;36$A<%3N2X3=P;U;U& M=:]3]0*$Y"0QNFF*YL!-#J0)H*5DR3-ZH$2V7O'>B2#7]_S0.=+=N?P[CR1L MS(6=YBH']Z5.C:T>PA,/GAL>&>A8 MKPD5*(>5HG0N(J6*5X6FZDA6FES]Q*3*_*:9J=H,7 >H^15CUB#)4(?S ( (8' 9 >&PO=V]R:W-H965TH@$B^=V@]M45G7SVYR)%83 MF]D&NG^_LP,9I33:IO&!V)>[YY[G+CX/-E(]Z0+1P'-5"CWT"F.6Y[ZOTP(K MID_E$@6]64A5,4-;E?MZJ9!E+J@J_3 (8K]B7'C)P-EF*AG(E2FYP)D"O:HJ MIGZ.L92;H=?Q=H8[GA?&&OQDL&0YSM'<+V>*=GZ#DO$*A>92@,+%T!MUSB>Q M]7<.WSEN]-X:K))'*9_LYBH;>H$EA"6FQB(P>JQQ@F5I@8C&CRVFUZ2T@?OK M'?I7IYVT/#*-$UD^\,P40^_,@PP7;%6:.[FYQ*V>GL5+9:G=/VQJWW[7@W2E MC:RVP<2@XJ)^LN=M'?8".O$; >$V(#P,>"M#M V(G-":F9,U988E R4WH*PW MH=F%JXV+)C5#2_F,+D]GIV<3,??;NZO8&3*1K& M2PTW3"EF:_T1/L/]? HG[S\.?$.Y+8*?;O.,ZSSA&WDZ(5Q+80H-%R+#["6 M3Z0;YN&.^3AL19QB>@I1YQ.$01@=(33Y\_"PA4[4%#)R>%%;(5_7\5BE:J#N M<2![;,_UDJ4X].A<:E1K])(/[SIQ\.68RO\$]D)SM]'<;4-/'K@I"BPS6"A9 M ==ZQ42*(!=TOK51/#68 7W"Z1.L!#<:UF3F(@O7X8Q(W7"UV]1E>O5=<,E9N/5HPN&(F!7#%A#K_;FFCO M%84HH-\!T=:,_]BGN-$3M^H9Y;G"G!D$+J@M-()36+-RY5I5=T #C7AMJ#'4 MGV,JZPSQGLI#A:T<_E:AOS?2*E2YF_0:4KD2IIX1C;6Y3$9NAA[8QW3)U'?" M;YCZAKIF*J=:0(D+@@Q.^]0B54_]>F/DT@W.1VEH#+ME01UBH>!)SD ( -(& 9 >&PO=V]R:W-H M965T=7<72/^^LVOC$F)H'OJ"]S+GS)DQ7 MKJO2'$JJ^J("CC<+(4NJ<2N7KJHDT,R"2N8&GA>Y)2VXD\3V[%XFL5AI5G"X MET2MRI+*WV-@8C-R?&=[\% LXD[MV7)BA*X*@0G$A8C MY\J_G$0FW@9\+V"C=M;$5#(7XMEL;K.1XQE!P"#5AH'B8PT38,P0H8Q?#:?3 MIC3 W?66_8NM'6N94P43P7X4F3VZ^3;W35YO/IY/2.G4]"T8.J,],C3 M;$I.3\[("2DX>J=C5F-1 W;1),*X3! <2^ &Y$USGBESS#++7!"ZJ M;24'6\GCX"CC%-(^"?U/)/""L$/0Y/WPX(BM"--D-Z MJ2J:PLC!*50@U^ D'S_XD?>YJ[3_1/:JT$%;Z. 8>_+4G_4)VH>D9@ [_PHU M060)C'^LD]XPC&)WO5M#1Y ?F5>Q[A W;,4-CXK#F<:)Y?_05W,,=U+[@;^O MKR/(OQAVRXM:>=%1>8]"4X:3E(H2R"D3"F=L#FC"0#1]@4ZQT9L^11?>GM:W M,;U!>+ZGU=VQAQ+DTKJF(JE8<5V/77O:&O.5]:.]\S$:=NVO?VEJM[^CUB?>TT&W ( ,0( 9 >&PO=V]R:W-H965T)I!CWJ,% M$/DDIBS'0@[9VN0% QQI49Z9CF5Y9HY38@2^GGMD@4\W(DL)/#+$-WF.V<\9 M9'0W-6SC,/&4KA.A)LS +_ :EB!>BDFK&MQ'4\-20)!!*)0#EIZ^P15/@/E%]*,ZU^T*V,'EH'"#1<7[J@Y' MN[(' J@7,NZ%\0N)7 U8F69#JM!18X\!G=(::BI9NZ MT;71:IE-2M2_N!1,/DVE3@3WG^=?'N[0\^WWNR6Z7H# :<:1?8/>HY?E EU? MW: KE!+TG- -QR3BOBGDLDILAM42LW()Y\(2MH,>*!$)1WPE]N+ [I> M 8$X%3\ *',#7D)N7 MF $;]_8GO6A+>__ M9'92A7Y=A7Z7>_#26_90#!$PG+4E6JH]K59GRS:P?'-[3-\5<8(TJ)$&G4A+ M@06TL92RP=%*SCE,,\0>M]-X-8W722./'7FHD#8>K[G8L'\&U(SQO'X[T; F M&G82/5.!,]3U^K;!#ELJ4BL- +5!_N 2_ %!+ P04 " "R@WM8!)(Z7C<# "6"0 M&0 'AL+W=O!_?TE:*I2 /MQ+VR2[F\]WTV337U'V MQA, @=9Y1OC 2H187-DVCQ+(,;^D"R!R9$99CH5LLKG-%PQPK)WRS/8<)[!S MG!(K[.N^1Q;V:2&RE, C0[S(<\S>AY#1UU>C5Q'.6B+UQ16?.L;*2E32M]4XRX>6(XB@@PB MH4)@^5K""+),19(*EF"GF,*+9[S06R<#J6BB&&2XR M\417/Z$2U%;Q(IIQ_42KTC9H62@JN*!YY2P)\I24;[RN$K'EX 8''+S*P6LZ M')K!KQQ\+;0DT[+&6."PS^@*,64MHZD/G1OM+=6D1"WC1# YFDH_$=[]&CW< MWZ#GZS\W$W0Z!H'3C"/O#%V@E\D8G9Z2TRMF.JBF& MY13>@2E<#]U3(A*.;D@,\6X 6_+6T-X&>N@=C3B&Z!+Y[CGR',\W (V^[NX= MP?'K'/HZGO^%')K24WJWS-YJGU[Q!8Y@8,F-R($MP0J_?W,#YX=)VG\*MB.T M50MM'8L>3@06A:#L'0F\-BDMW0/MK@Z09>BVY (MMP7LVUSTO-IFAZM=<[4_ MY0(D_TXDSS6Y<8G\8R.:@\(\1T0>AG2&9A #P]G6$)H"@5DJ3$K*"=O;E&ZG MVY!B,NKVS%J"6DMP5,LKS@I<@S!NQ6 /R?5[ M#>Q]&[_CF*D[-77G*/5ME7=."Q9)R!@@5Z]TF<8@UZ5,N@FXLP_C>0W@?9N. MWS4#=VO@[B>_#(W>= &(D42359'KK)L0N_O+[+6=!J/!R&VWS)"]&K)W%/)! M),!,1+W]56[^FP:3 VOL.A^UPCG*<_>Q=4YAK7(&9\8\L9RC]D\)1QE M,),AGUCP(PC(S ( ,$' 9 >&PO=V]R:W-H965TXW,N]KV##1>/,@-0Z"FG3 Z=3*GBRG5EG$&.Y24O M@.DO2RYRK/14I*XL!.#$@G+J^IX7NCDFS(D&=FTFH@%?*4H8S 22JSS'XGD, ME&^&3L?9+MR1-%-FP8T&!4YA#NJAF D]&H!.> #@5P!_%] ] @J0&"-ELJLK2E6.!H(OD'"1&LV,["Y ML6CMAC#S%^=*Z*]$XU1T\W7R[?8:W8]^7L_1Z104)E2BX Q=H(?Y%)V>G*$3 M1!BZS_A*8I;(@:OTM@;LQM46XW(+_\ 6'1_=_Y08N@R=OA_A$Y09W#P/(%;\AA6WI*=+<=;:[IE2QP#$-' MWT,)8@U.]/Y=)_0^M5G[3V2OC'9KH]UC[-$#$Q#SE)'?D""%G] "&"R)DN?( ME!7"4GVE*&8QM*6AY XMMRDNZZAKTK]NNMN/"3Z^Q+P2W:M%]XZ*G@G"!2I MOTK1!9?$EA#"8EWX)+2>Z9*TUU!R$>Z(W0_QVJ6&M=3PJ-11DEAETE:F!&F- M3<%2ETV*EGLIV\T)3- M[1:+E.C_06&I*;W+ODZB*!M&.5&\L#5WP96NX':8Z1X+P@3H[TO.U79B-JB[ M=O0'4$L#!!0 ( +*#>U@KHZ[-2P( #L% 9 >&PO=V]R:W-H965T MT59=$XC6M'^A0&=N^FN1" MK#IV9AL"_W[7#F1,HFA?XM<]Q^?>F^.DD>I-EP"&["LN=.J5QM1/OJ_S$BJJ M>[(&@2=KJ2IJ<*DVOJX5T,*!*NY'07#O5Y0)+TOR;?:R.H( M1@45$^U(]\S$I>K0*(X)VY2% M47C*$&>RYY?QM]F4?!_^FB[([00,95R3%ZH4M>6Z(S>$"3)CG&,-=>(;O-,B M_?S(/VKYHW?XPXC,I#"E)E-10/$O@8]B.\712?$HNLHX@;Q'XO 3B8(H)LO% MA-S>W%WAC;M*Q(XW_H]*7,JS1?X^) MO[N@9M"I&5Q5,]W7S*I 4QV JHL77V=PK3,26QCW+Y7'/_NA*U ;9UM,5VZ% M:?_M;K=[&8:M(?Z&M\_*C*H-$YIP6",TZ#V@,M5:M5T863M[K*1!L[EIB:\; M*!N YVLIS6EA+^C>R^P/4$L#!!0 ( +*#>UCQ5 >L\P, #<1 9 M>&PO=V]R:W-H965T0 M*#"=2ENH@.Y\=HF!:)*8C4V9^??C/)J0Q(EVAGR!/.XY/O?:\5=GV0$+,!O1((G%G1^,0^!%YB0$[A2&.?SR0@)Y'"E0^+JS\_8$G%]3Q\(CW9$WX MZ_$E%F=JP>+Y(8F83R,0D]U(F<#[*4H!:<2_/CFSBV.0I/)&Z;?DY,D;*5JB MB 1DRQ,*+/[>R90$0<(D=/R7DRK%F GP\OB#_7.:O$CF#3,RI<%7W^.'D>(H MP",[? KXBIZ_D#PA,^';TH"EO^"?EZGFR>5HNP,V,<.P'[!;<@=?U M#-Q\N@6?@!^!S8&>&(X\-E2YD)(0JMM\V(=L6-0R+$3@F4;\P, \\HA7)5!% M#D4BZ".1!]3)."/; =#A7P!I2)<(FOY_..J0HQ=UU5,^HX5O(9Y A@,BK4T& MM5)H\IR]CY&C6<90?;\4+(DR$+2+J(HNH]!E=.I:'DF,N1_MQ01N:4C 34 9 MNY6IS(C,B_$-PZEI;,;J4-CWX$99IZH0E6_$].^(M&2EBKV4D?B?*^,\_H*7]+5NI M/9%5,K2+#.W?7[=VHZ:ZHVFUPC>#3,.VY'5W"E5.IZK7P7H@$]2)^M6R]T16 M2= M$G1_O^RN9"F[;JWLS2!HVX:\[% KW4'K:[O(F2HRH553*0EJ>23AA8/! MJ_:+'%XI#=(=LRY-$F8BO:V$J)2'.N6M".. [L!7&@>>5%\G_E=7<5]LU6Q+ MVX-7^%Z.K9;8=AN+1!:F&;!E)DKK@[UY'VP:FZOI=9W-(--N\6=8NA^\SOY@ MT]F@IIGU;5@29FM&V\-6&B#L=L!'(MZ=HQ]28;V:8%]LU3Q+&X17^"!L>IQA MN79]!II1R'':5G%IA;#;"^>G6#1Q4EF]VF%?;-4T2T.$5S@B;+J=*V:@/@'- M*/&BB.03@$I/1+UY(FK:W9UEUU]595%0UUM6"BJ-$5UGC#G\LL,P7*N^&\NB M'*?^0J=>M* AB?=I9\[ EIXBGC5QQ=6B^Y^D/6_M^@.\GV8]?$F3?5)XQO'> MCQ@(R$Y0:@-;%"S.NO3LA--CVNB^42[:YO3P0+!'XB1 W-]1RC].D@&*;R7C MGU!+ P04 " "R@WM8,*WE BT# #J$@ #0 'AL+W-T>6QEC MNJ7KPY;,(;5TC\ZY1])U+3(LS5JPVP5C)ECE0I8CLC"F^!2&Y6S!J()) MBV1*Y]38KIZ'9:$934L@Y2+L=3IQF%,NR7@HE_EU;LI@II;2C$B_#07N]C4= MD6[\D01.;J)2-B+W9^]_+96Y>A>X^\F'DY/._?G5?ORL LY)Z!7MOT+THH/K M6@R3CG>EF^&G5JOEGF+D2P]YPT1I@U=-YX795,)AO2'C8:;D9E\BX@(V,\U9 M\$#%B$RHX%/-@971G(NU"_<@,%-"Z<#8@K!6NA I'QW<=3VHE5HGYU+I*K?+ MX/Y.Z^%[0-,#@UR(UF"/N,!X6%!CF);7ME,-KH+/H*!NWZT+ZW"NZ;K;ZY,- MH;K9)%.E4Z;;-%W2A,9#P3*PH_E\ 7>CBA! 8U1N&RFG97?[#BZ_%>6 MJ_\J^X:]'NNWXZ&;[!^#R?@83!Y!34;)X7NL3TP'9S*LW]];AX2=(T(;#> H M-B(_X- G-DF#Z9(+PV7=6_ T9?+92<'*&SJU!_D=?3L^91E="G/7@B.R:7]G M*5_F23OJ!A:B'K5I?X/I=>/V'&AS<9FR%4LG=5?/IU4SL V;M;Z L(]<5Y_EG MFB11%,?8BDXF7@<3;-WB&+Y^-*8%TJB*$G\"&!^!U&$(? TX@CF #Q@2!15[\&]]U'8O*?"S:]; MXR=02P,$% @ LH-[6)>*NQS $P( L !?3T\$MP> M:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5; M&GC3Y?YVX$G1H2)8%II%R=.B':5_'3OEEDJV8*L19I4Z! [0N3U>LCG$J M"!:PN[G\]3>#\=)LM.M>>GU2P,*/9GJ^GH:/+U7]];&JOK)OAZ)LQL:^;8_W M@T&SV8M#WOQ>'46ICNRJ^I"W:K/^,FB.M9#?Q79L M# W6[*N7>57+[U79YD6ZJ:NB&!OFZ]K\,3&S&M-D\'4;:G.-:BT(!ELY?'QF!E?A!CPZ^>1:VO1_U! ML#U=6ZN@0*3J>ZD.U,&VPR-$B<(T6@13+^-3-O$67NASELXYSU( :"& ULT MV5V< T@;@;3?$#+-U,>2APHP>F!1S!, Z2"0SLT@_6@9 T@7@71O :D9TRSR M_P"0(P1R=+M(>ND<0+Y#(-_10J:KY=)+/G>A"V9A\!#XGHJDY_O1*LP" /D> M@7Q/"_F#)F4)]WFP]B8+SD*> ;@/"-P'6K@@7*O;&B4!AW.A.<1FZR$M4ISH M^23[S.)%=S/#*>-_KH*X2Y*00TQ4*L16B;(Y3_102U8J0Q:!-PD60?8JCIA4 M3&*KZ"AZ61#.V()[*=<3X#+(NBR&B)A23&*GG&)X!0S3B$GO$1TY'OJO;BBF M#9/8&YT=NGQ(>!8D)VOH).D18LXPB:61SKV$3]1@FW:ZY6&J!F 40CS,%B:U M+C2>"EZ\2ORY3@DUU!SX+PH02DN#0DS,+A:Q7:[8^5+N8,*QR)73MY_ :&8L&9W,0NYQ!;J+W8OE)DN)A^76#X7Z9C9X\.LXY*W MV2[Q63T^]$$_L6XN\]D]/LPS+OD:YQ*?%G:N7RN"F)AG7&K/H$T7.(&[F&?< MSC.#\[M/6[&3I=B&ZB\:M7^3%YNX9OKC].C6U@3)^RZ[P$ *4B : >&PO7W)E;',O M=V]R:V)O;VLN>&UL+G)E;'/-VKM.ZT 4A>%7B?P 3/8MP!&AHJ%%O( 5)A>1 MQ)8]"'A[HE"$95&KU;Y8=N]7;(Q_++X/3>#:_C-N?2S)[;89/+LDD?^\OI,9T/ M7Y;-\/@B3:H=I!"D]8,,@JQ^D$.0UP\*"(KZ00L(6M0/NH:@Z_I!-Q!T4S_H M%H)NZP?)'&6<$R1-L";06I!K(?!:$&PA$%N0;"$P6Q!M(5!;D&TA<%L0;B&0 M6Y!N(;!;$&\AT%M1;R706U%O)=!;)R_;!'HKZJT$>BOJK01Z*^JM!'HKZJT$ M>BOJK01Z*^JM!'HKZJT$>AOJ;01Z&^IM!'H;ZFT$>MMDLX1 ;T.]C4!O0[V- M0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T>]G4!O1[V=0&]'O9U ;T>]G4!OGVQV M$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H':AW$.@=J'<0Z!VH=Q#H':AW M$.@=J'<0Z!V3CY4$>@?J'01Z!^H=!'H'ZAU_J?=8/O=YO/1\K_'Y?TEU.=V; M+X\_+[]/HH2+,\X)_DJY_P)02P,$% @ LH-[6&(CYQC8 0 2"( !, M !;0V]N=&5N=%]4>7!E&ULS=I=3X,P% ;@O[)P:T;7K_D1YXUZJU[X M!RJ<#3*@3=O-^>\M3$TT2EQFXGL#@;;G/;3)<\7EXXNC,-FU31<6616CNV L M%!6U)N3649=&EM:W)J9'OV+.%&NS(B9FLSDK;!>IB]/8U\BN+F]H:39-G-SN MTNM0VVZ1>6I"-KG>3^RS%IEQKJD+$],XVW;EEY3I6T*>5@YS0E6[<)(F9.S; MA'[DYX"W=?=;\KXN:?)@?+PS;9K%=@T+\:6AD(^7^*9'NUS6!96VV+1I21Z< M)U.&BBBV3;XO>C*>'-,.T_[*C\X?RHP%IID/WKJ03LS3X7'O1]*OGKI4B'RL MQS_Q(S&5/OK[J#_MDLI?9J?M?;9^/9Q'8,/M^#W^?,8?]0_L0X#T(4'Z4"!] M:) ^YB!]G(+T<0;2QSE('WR&T@B*J!R%5(YB*D=!E:.HRE%8Y2BNU@'04UB@0 +$ 0 " 0 !D M;V-0&UL4$L! A0#% @ LH-[6)"U/$'O *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ MLH-[6)E&PO=V]R:W-H965T&UL4$L! A0#% @ MLH-[6%H' G?2!0 ;Q8 !@ ("!U0\ 'AL+W=O&PO=V]R M:W-H965T&UL4$L! A0#% @ LH-[6-3WP\70 @ )P@ M !@ ("!]1T 'AL+W=OUB*J#,T.04 &(; 8 " @?L@ !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ LH-[6"L7OP\J( R%X !@ ("! MNRP 'AL+W=OUB] M)=H/Q ( ( & 8 " @1M- !X;"]W;W)K&PO=V]R:W-H965TUC'9&UL4$L! A0#% @ LH-[6'+2.@L6 P (P< !D M ("!M54 'AL+W=O&PO M=V]R:W-H965TUBYDAN)4P, M #0' 9 " @4)? !X;"]W;W)K&UL4$L! A0#% @ LH-[6&LLIO6H @ UP4 !D ("! MS&( 'AL+W=O&PO=V]R:W-H965TUC(1R7FAP< .03 9 M " @4%N !X;"]W;W)K&UL4$L! A0#% M @ LH-[6$G&VW&PO=V]R:W-H965TUB883XIA@, ,\( 9 " @4:H !X;"]W;W)K&UL4$L! A0#% @ LH-[6('7ZG/) @ :08 !D M ("! ZP 'AL+W=O&PO=V]R M:W-H965TUAZ$)]PH0( ,@% M 9 " @9:Q !X;"]W;W)K&UL M4$L! A0#% @ LH-[6*F1N$_F @ !P< !D ("!;K0 M 'AL+W=O&PO=V]R:W-H965TU@11M9'Q00 &D- 9 M " @=&Z !X;"]W;W)K&UL4$L! A0#% @ MLH-[6&]7X/X&PO=V]R:W-H965TUA-2A8S4@, )T, 9 " @9W( !X;"]W M;W)K&UL4$L! A0#% @ LH-[6)[% P[J @ M L !D ("!)LP 'AL+W=O&PO=V]R:W-H965TU@Z M-+I^:0( %T& 9 " @9?2 !X;"]W;W)K&UL4$L! A0#% @ LH-[6#2W*3?* @ !@@ !D M ("!-]4 'AL+W=O&PO=V]R:W-H M965TUAOS^GSU0( $D( 9 M " @=W: !X;"]W;W)K&UL4$L! M A0#% @ LH-[6%W].PA5 @ L@4 !D ("!Z=T 'AL M+W=O&PO=V]R:W-H965TUAZ\?('TP( !T( 9 " M@67C !X;"]W;W)K&UL4$L! A0#% @ LH-[ M6)(T(#R9 @ /P< !D ("!;^8 'AL+W=O&PO=V]R:W-H965TU@BM&FN) , '@) 9 " @?WK !X;"]W;W)K M&UL4$L! A0#% @ LH-[6'SJR +[ 0 ;00 M !D ("!6.\ 'AL+W=O&PO=V]R:W-H965TUBOH1[A MZP( 'T) 9 " @1'V !X;"]W;W)K&UL4$L! A0#% @ LH-[6)%^[1GS P "A$ !D M ("!,_D 'AL+W=O&PO=V]R:W-H965T MUBFXK&UL4$L! A0# M% @ LH-[6#?STGJZ @ ^0< !D ("!K0,! 'AL+W=O M!@$ >&PO=V]R:W-H965TUBH>!)SD ( -(& 9 " @:$) M 0!X;"]W;W)K&UL4$L! A0#% @ LH-[6)][ M30;< @ Q @ !D ("!: P! 'AL+W=O&PO=V]R:W-H965TUCP(PC(S ( ,$' 9 " @>D2 0!X;"]W;W)K&UL4$L! A0#% @ LH-[6"NCKLU+ @ .P4 !D M ("![!4! 'AL+W=O&PO M=V]R:W-H965TU@PK>4"+0, M .H2 - " 9@< 0!X;"]S='EL97,N>&UL4$L! A0#% M @ LH-[6)>*NQS $P( L ( !\!\! %]R96QS+RYR M96QS4$L! A0#% @ LH-[6 7YT@&.! BB8 \ ( ! MV2 ! 'AL+W=OU@3)^RZ[P$ *4B M : " 90E 0!X;"]?UAB(^<8V $ $@B 3 " ;LG K 0!;0V]N=&5N=%]4>7!E&UL4$L%!@ !" $( !1( ,0I 0 $! end XML 77 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 78 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 80 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1 html 72 282 1 false 22 0 false 4 false false R1.htm 000001 - Document - Cover Sheet http://dataio.com/role/Cover Cover Cover 1 false false R2.htm 000002 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://dataio.com/role/ConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://dataio.com/role/ConsolidatedStatementsOfOperations CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 000005 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) Sheet http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) Statements 5 false false R6.htm 000006 - Statement - CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY Sheet http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://dataio.com/role/ConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 7 false false R8.htm 000008 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Sheet http://dataio.com/role/SummaryOfSignificantAccountingPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Notes 8 false false R9.htm 000009 - Disclosure - ACCOUNTS RECEIVABLE NET Sheet http://dataio.com/role/AccountsReceivableNet ACCOUNTS RECEIVABLE NET Notes 9 false false R10.htm 000010 - Disclosure - INVENTORIES Sheet http://dataio.com/role/INVENTORIES INVENTORIES Notes 10 false false R11.htm 000011 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET Sheet http://dataio.com/role/PropertyPlantAndEquipmentNet PROPERTY PLANT AND EQUIPMENT NET Notes 11 false false R12.htm 000012 - Disclosure - OTHER ACCRUED LIABILITIES Sheet http://dataio.com/role/OtherAccruedLiabilities OTHER ACCRUED LIABILITIES Notes 12 false false R13.htm 000013 - Disclosure - OPERATING LEASE COMMITMENTS Sheet http://dataio.com/role/OperatingLeaseCommitments OPERATING LEASE COMMITMENTS Notes 13 false false R14.htm 000014 - Disclosure - OTHER COMMITMENTS Sheet http://dataio.com/role/OtherCommitments OTHER COMMITMENTS Notes 14 false false R15.htm 000015 - Disclosure - CONTINGENCIES Sheet http://dataio.com/role/CONTINGENCIES CONTINGENCIES Notes 15 false false R16.htm 000016 - Disclosure - STOCK AND RETIREMENT PLANS Sheet http://dataio.com/role/StockAndRetirementPlans STOCK AND RETIREMENT PLANS Notes 16 false false R17.htm 000017 - Disclosure - SHAREBASED COMPENSATION Sheet http://dataio.com/role/SharebasedCompensation SHAREBASED COMPENSATION Notes 17 false false R18.htm 000018 - Disclosure - SHARE REPURCHASE PROGRAMS Sheet http://dataio.com/role/ShareRepurchasePrograms SHARE REPURCHASE PROGRAMS Notes 18 false false R19.htm 000019 - Disclosure - INCOME TAXES Sheet http://dataio.com/role/IncomeTaxes INCOME TAXES Notes 19 false false R20.htm 000020 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION Sheet http://dataio.com/role/SegmentAndGeographicInformation SEGMENT AND GEOGRAPHIC INFORMATION Notes 20 false false R21.htm 000021 - Disclosure - SUBSEQUENT EVENTS Sheet http://dataio.com/role/SubsequentEvents SUBSEQUENT EVENTS Notes 21 false false R22.htm 000022 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 22 false false R23.htm 000023 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://dataio.com/role/SummaryOfSignificantAccountingPolicies 23 false false R24.htm 000024 - Disclosure - ACCOUNTS RECEIVABLE NET (Tables) Sheet http://dataio.com/role/AccountsReceivableNetTables ACCOUNTS RECEIVABLE NET (Tables) Tables http://dataio.com/role/AccountsReceivableNet 24 false false R25.htm 000025 - Disclosure - INVENTORIES NET (Tables) Sheet http://dataio.com/role/InventoriesNetTables INVENTORIES NET (Tables) Tables 25 false false R26.htm 000026 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Tables) Sheet http://dataio.com/role/PropertyPlantAndEquipmentNetTables PROPERTY PLANT AND EQUIPMENT NET (Tables) Tables http://dataio.com/role/PropertyPlantAndEquipmentNet 26 false false R27.htm 000027 - Disclosure - OTHER ACCRUED LIABILITIES (Tables) Sheet http://dataio.com/role/OtherAccruedLiabilitiesTables OTHER ACCRUED LIABILITIES (Tables) Tables http://dataio.com/role/OtherAccruedLiabilities 27 false false R28.htm 000028 - Disclosure - OPERATING LEASE COMMITMENTS (Tables) Sheet http://dataio.com/role/OperatingLeaseCommitmentsTables OPERATING LEASE COMMITMENTS (Tables) Tables http://dataio.com/role/OperatingLeaseCommitments 28 false false R29.htm 000029 - Disclosure - SHAREBASED COMPENSATION (Tables) Sheet http://dataio.com/role/SharebasedCompensationTables SHAREBASED COMPENSATION (Tables) Tables http://dataio.com/role/SharebasedCompensation 29 false false R30.htm 000030 - Disclosure - INCOME TAXES (Tables) Sheet http://dataio.com/role/IncomeTaxesTables INCOME TAXES (Tables) Tables http://dataio.com/role/IncomeTaxes 30 false false R31.htm 000031 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION (Tables) Sheet http://dataio.com/role/SegmentAndGeographicInformationTables SEGMENT AND GEOGRAPHIC INFORMATION (Tables) Tables http://dataio.com/role/SegmentAndGeographicInformation 31 false false R32.htm 000032 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Sheet http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Details http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables 32 false false R33.htm 000033 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) Sheet http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1 SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) Details http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables 33 false false R34.htm 000034 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) Sheet http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) Details http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables 34 false false R35.htm 000035 - Disclosure - ACCOUNTS RECEIVABLE NET (Details) Sheet http://dataio.com/role/AccountsReceivableNetDetails ACCOUNTS RECEIVABLE NET (Details) Details http://dataio.com/role/AccountsReceivableNetTables 35 false false R36.htm 000036 - Disclosure - ACCOUNTS RECEIVABLE NET (Details 1) Sheet http://dataio.com/role/AccountsReceivableNetDetails1 ACCOUNTS RECEIVABLE NET (Details 1) Details http://dataio.com/role/AccountsReceivableNetTables 36 false false R37.htm 000037 - Disclosure - INVENTORIES (Details) Sheet http://dataio.com/role/InventoriesDetails INVENTORIES (Details) Details http://dataio.com/role/InventoriesNetTables 37 false false R38.htm 000038 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Details) Sheet http://dataio.com/role/PropertyPlantAndEquipmentNetDetails PROPERTY PLANT AND EQUIPMENT NET (Details) Details http://dataio.com/role/PropertyPlantAndEquipmentNetTables 38 false false R39.htm 000039 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Details Narrative) Sheet http://dataio.com/role/PropertyPlantAndEquipmentNetDetailsNarrative PROPERTY PLANT AND EQUIPMENT NET (Details Narrative) Details http://dataio.com/role/PropertyPlantAndEquipmentNetTables 39 false false R40.htm 000040 - Disclosure - OTHER ACCRUED LIABILITIES (Details) Sheet http://dataio.com/role/OtherAccruedLiabilitiesDetails OTHER ACCRUED LIABILITIES (Details) Details http://dataio.com/role/OtherAccruedLiabilitiesTables 40 false false R41.htm 000041 - Disclosure - OTHER ACCRUED LIABILITIES (Details 1) Sheet http://dataio.com/role/OtherAccruedLiabilitiesDetails1 OTHER ACCRUED LIABILITIES (Details 1) Details http://dataio.com/role/OtherAccruedLiabilitiesTables 41 false false R42.htm 000042 - Disclosure - OPERATING LEASE COMMITMENTS (Details) Sheet http://dataio.com/role/OperatingLeaseCommitmentsDetails OPERATING LEASE COMMITMENTS (Details) Details http://dataio.com/role/OperatingLeaseCommitmentsTables 42 false false R43.htm 000043 - Disclosure - OPERATING LEASE COMMITMENTS (Details 1) Sheet http://dataio.com/role/OperatingLeaseCommitmentsDetails1 OPERATING LEASE COMMITMENTS (Details 1) Details http://dataio.com/role/OperatingLeaseCommitmentsTables 43 false false R44.htm 000044 - Disclosure - OPERATING LEASE COMMITMENTS (Details Narrative) Sheet http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative OPERATING LEASE COMMITMENTS (Details Narrative) Details http://dataio.com/role/OperatingLeaseCommitmentsTables 44 false false R45.htm 000045 - Disclosure - OTHER COMMITMENTS (Details Narrative) Sheet http://dataio.com/role/OtherCommitmentsDetailsNarrative OTHER COMMITMENTS (Details Narrative) Details http://dataio.com/role/OtherCommitments 45 false false R46.htm 000046 - Disclosure - STOCK AND RETIREMENT PLANS (Details Narrative) Sheet http://dataio.com/role/StockAndRetirementPlansDetailsNarrative STOCK AND RETIREMENT PLANS (Details Narrative) Details http://dataio.com/role/StockAndRetirementPlans 46 false false R47.htm 000047 - Disclosure - SHARE BASED COMPENSATION (Details) Sheet http://dataio.com/role/ShareBasedCompensationDetails SHARE BASED COMPENSATION (Details) Details 47 false false R48.htm 000048 - Disclosure - SHARE BASED COMPENSATION (Details 1) Sheet http://dataio.com/role/ShareBasedCompensationDetails1 SHARE BASED COMPENSATION (Details 1) Details 48 false false R49.htm 000049 - Disclosure - SHARE BASED COMPENSATION (Details 2) Sheet http://dataio.com/role/ShareBasedCompensationDetails2 SHARE BASED COMPENSATION (Details 2) Details 49 false false R50.htm 000050 - Disclosure - SHARE BASED COMPENSATION (Details 3) Sheet http://dataio.com/role/ShareBasedCompensationDetails3 SHARE BASED COMPENSATION (Details 3) Details 50 false false R51.htm 000051 - Disclosure - SHARE BASED COMPENSATION (Details 4) Sheet http://dataio.com/role/ShareBasedCompensationDetails4 SHARE BASED COMPENSATION (Details 4) Details 51 false false R52.htm 000052 - Disclosure - SHARE BASED COMPENSATION (Details Narrative) Sheet http://dataio.com/role/ShareBasedCompensationDetailsNarrative SHARE BASED COMPENSATION (Details Narrative) Details 52 false false R53.htm 000053 - Disclosure - INCOME TAXES (Details) Sheet http://dataio.com/role/IncomeTaxesDetails INCOME TAXES (Details) Details http://dataio.com/role/IncomeTaxesTables 53 false false R54.htm 000054 - Disclosure - INCOME TAXES (Details 1) Sheet http://dataio.com/role/IncomeTaxesDetails1 INCOME TAXES (Details 1) Details http://dataio.com/role/IncomeTaxesTables 54 false false R55.htm 000055 - Disclosure - INCOME TAXES (Details 2) Sheet http://dataio.com/role/IncomeTaxesDetails2 INCOME TAXES (Details 2) Details http://dataio.com/role/IncomeTaxesTables 55 false false R56.htm 000056 - Disclosure - INCOME TAXES (Details 3) Sheet http://dataio.com/role/IncomeTaxesDetails3 INCOME TAXES (Details 3) Details http://dataio.com/role/IncomeTaxesTables 56 false false R57.htm 000057 - Disclosure - INCOME TAXES (Details Narrative) Sheet http://dataio.com/role/IncomeTaxesDetailsNarrative INCOME TAXES (Details Narrative) Details http://dataio.com/role/IncomeTaxesTables 57 false false R58.htm 000058 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION (Details) Sheet http://dataio.com/role/SegmentAndGeographicInformationDetails SEGMENT AND GEOGRAPHIC INFORMATION (Details) Details http://dataio.com/role/SegmentAndGeographicInformationTables 58 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 12 fact(s) appearing in ix:hidden were eligible for transformation: daio:OptionsExercised, daio:OptionsGrantedMaximumTerm, dei:CurrentFiscalYearEndDate, dei:DocumentFinStmtErrorCorrectionFlag, us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesOutstanding, us-gaap:ConcentrationRiskPercentage1, us-gaap:PreferredStockSharesAuthorized, us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock - daio_10k.htm 1 [DQC.US.0043.9873] The company has reported the concept NetIncomeLoss as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If NetIncomeLoss represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element. - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 4668 - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 4668 daio-20231231.xsd daio-20231231_cal.xml daio-20231231_def.xml daio-20231231_lab.xml daio-20231231_pre.xml daio_10k.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 83 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "daio_10k.htm": { "nsprefix": "daio", "nsuri": "http://dataio.com/20231231", "dts": { "schema": { "local": [ "daio-20231231.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/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/currency/2023/currency-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/exch/2023/exch-2023.xsd", "https://xbrl.sec.gov/naics/2023/naics-2023.xsd", "https://xbrl.sec.gov/sic/2023/sic-2023.xsd", "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" ] }, "calculationLink": { "local": [ "daio-20231231_cal.xml" ] }, "definitionLink": { "local": [ "daio-20231231_def.xml" ] }, "labelLink": { "local": [ "daio-20231231_lab.xml" ] }, "presentationLink": { "local": [ "daio-20231231_pre.xml" ] }, "inline": { "local": [ "daio_10k.htm" ] } }, "keyStandard": 241, "keyCustom": 41, "axisStandard": 8, "axisCustom": 0, "memberStandard": 9, "memberCustom": 13, "hidden": { "total": 16, "http://xbrl.sec.gov/dei/2023": 6, "http://dataio.com/20231231": 2, "http://fasb.org/us-gaap/2023": 8 }, "contextCount": 72, "entityCount": 1, "segmentCount": 22, "elementCount": 359, "unitCount": 4, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 473, "http://xbrl.sec.gov/dei/2023": 38 }, "report": { "R1": { "role": "http://dataio.com/role/Cover", "longName": "000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "dei:EntityRegistrantName", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "strong", "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "dei:EntityRegistrantName", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "strong", "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://dataio.com/role/ConsolidatedBalanceSheets", "longName": "000002 - Statement - CONSOLIDATED BALANCE SHEETS", "shortName": "CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "daio:TradeAccountsReceivableNetOfAllowanceForDoubtfulAccounts", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R3": { "role": "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical", "longName": "000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "daio:TradeAccountsReceivableNetOfAllowance", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "daio:TradeAccountsReceivableNetOfAllowance", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R4": { "role": "http://dataio.com/role/ConsolidatedStatementsOfOperations", "longName": "000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS", "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Revenues", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R5": { "role": "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss", "longName": "000005 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)", "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R6": { "role": "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity", "longName": "000006 - Statement - CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY", "shortName": "CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember", "name": "us-gaap:SharesIssued", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember", "name": "us-gaap:SharesIssued", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://dataio.com/role/ConsolidatedStatementsOfCashFlows", "longName": "000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R8": { "role": "http://dataio.com/role/SummaryOfSignificantAccountingPolicies", "longName": "000008 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R9": { "role": "http://dataio.com/role/AccountsReceivableNet", "longName": "000009 - Disclosure - ACCOUNTS RECEIVABLE NET", "shortName": "ACCOUNTS RECEIVABLE NET", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AccountsAndNontradeReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AccountsAndNontradeReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://dataio.com/role/INVENTORIES", "longName": "000010 - Disclosure - INVENTORIES", "shortName": "INVENTORIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://dataio.com/role/PropertyPlantAndEquipmentNet", "longName": "000011 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET", "shortName": "PROPERTY PLANT AND EQUIPMENT NET", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://dataio.com/role/OtherAccruedLiabilities", "longName": "000012 - Disclosure - OTHER ACCRUED LIABILITIES", "shortName": "OTHER ACCRUED LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://dataio.com/role/OperatingLeaseCommitments", "longName": "000013 - Disclosure - OPERATING LEASE COMMITMENTS", "shortName": "OPERATING LEASE COMMITMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://dataio.com/role/OtherCommitments", "longName": "000014 - Disclosure - OTHER COMMITMENTS", "shortName": "OTHER COMMITMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:OtherCommitmentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:OtherCommitmentsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://dataio.com/role/CONTINGENCIES", "longName": "000015 - Disclosure - CONTINGENCIES", "shortName": "CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://dataio.com/role/StockAndRetirementPlans", "longName": "000016 - Disclosure - STOCK AND RETIREMENT PLANS", "shortName": "STOCK AND RETIREMENT PLANS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:StockAndRetirementPlansdisclosuretextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:StockAndRetirementPlansdisclosuretextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://dataio.com/role/SharebasedCompensation", "longName": "000017 - Disclosure - SHAREBASED COMPENSATION", "shortName": "SHAREBASED COMPENSATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://dataio.com/role/ShareRepurchasePrograms", "longName": "000018 - Disclosure - SHARE REPURCHASE PROGRAMS", "shortName": "SHARE REPURCHASE PROGRAMS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:ShareRepurchaseProgramsdisclosuretextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:ShareRepurchaseProgramsdisclosuretextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://dataio.com/role/IncomeTaxes", "longName": "000019 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:RegulatoryIncomeTaxesPolicy", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:RegulatoryIncomeTaxesPolicy", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://dataio.com/role/SegmentAndGeographicInformation", "longName": "000020 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION", "shortName": "SEGMENT AND GEOGRAPHIC INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:SegmentAndGeographicInformationdisclosuretextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:SegmentAndGeographicInformationdisclosuretextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://dataio.com/role/SubsequentEvents", "longName": "000021 - Disclosure - SUBSEQUENT EVENTS", "shortName": "SUBSEQUENT EVENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "longName": "000022 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "22", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables", "longName": "000023 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://dataio.com/role/AccountsReceivableNetTables", "longName": "000024 - Disclosure - ACCOUNTS RECEIVABLE NET (Tables)", "shortName": "ACCOUNTS RECEIVABLE NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsAndNontradeReceivableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsAndNontradeReceivableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://dataio.com/role/InventoriesNetTables", "longName": "000025 - Disclosure - INVENTORIES NET (Tables)", "shortName": "INVENTORIES NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://dataio.com/role/PropertyPlantAndEquipmentNetTables", "longName": "000026 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Tables)", "shortName": "PROPERTY PLANT AND EQUIPMENT NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://dataio.com/role/OtherAccruedLiabilitiesTables", "longName": "000027 - Disclosure - OTHER ACCRUED LIABILITIES (Tables)", "shortName": "OTHER ACCRUED LIABILITIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://dataio.com/role/OperatingLeaseCommitmentsTables", "longName": "000028 - Disclosure - OPERATING LEASE COMMITMENTS (Tables)", "shortName": "OPERATING LEASE COMMITMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://dataio.com/role/SharebasedCompensationTables", "longName": "000029 - Disclosure - SHAREBASED COMPENSATION (Tables)", "shortName": "SHAREBASED COMPENSATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://dataio.com/role/IncomeTaxesTables", "longName": "000030 - Disclosure - INCOME TAXES (Tables)", "shortName": "INCOME TAXES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RegulatoryIncomeTaxesPolicy", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RegulatoryIncomeTaxesPolicy", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://dataio.com/role/SegmentAndGeographicInformationTables", "longName": "000031 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION (Tables)", "shortName": "SEGMENT AND GEOGRAPHIC INFORMATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "daio:SegmentAndGeographicInformationdisclosuretextblock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "daio:SegmentAndGeographicInformationdisclosuretextblock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails", "longName": "000032 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Revenues", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:ChangeInSalesPercentage", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R33": { "role": "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1", "longName": "000033 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:AccountsReceivableConcentrationRiskPercentage1", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "daio:ScheduleOfConsolidatedAccountsReceivabletabletextblock", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:AccountsReceivableConcentrationRiskPercentage1", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "daio:ScheduleOfConsolidatedAccountsReceivabletabletextblock", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative", "longName": "000034 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:Cash", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:Cash", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://dataio.com/role/AccountsReceivableNetDetails", "longName": "000035 - Disclosure - ACCOUNTS RECEIVABLE NET (Details)", "shortName": "ACCOUNTS RECEIVABLE NET (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:AccountsAndNontradeReceivableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:AccountsAndNontradeReceivableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://dataio.com/role/AccountsReceivableNetDetails1", "longName": "000036 - Disclosure - ACCOUNTS RECEIVABLE NET (Details 1)", "shortName": "ACCOUNTS RECEIVABLE NET (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "AsOf2022-12-31", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:AccountsAndNontradeReceivableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:AccountsAndNontradeReceivableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R37": { "role": "http://dataio.com/role/InventoriesDetails", "longName": "000037 - Disclosure - INVENTORIES (Details)", "shortName": "INVENTORIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R38": { "role": "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails", "longName": "000038 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Details)", "shortName": "PROPERTY PLANT AND EQUIPMENT NET (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:BuildingsAndImprovementsGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:BuildingsAndImprovementsGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R39": { "role": "http://dataio.com/role/PropertyPlantAndEquipmentNetDetailsNarrative", "longName": "000039 - Disclosure - PROPERTY PLANT AND EQUIPMENT NET (Details Narrative)", "shortName": "PROPERTY PLANT AND EQUIPMENT NET (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Depreciation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Depreciation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R40": { "role": "http://dataio.com/role/OtherAccruedLiabilitiesDetails", "longName": "000040 - Disclosure - OTHER ACCRUED LIABILITIES (Details)", "shortName": "OTHER ACCRUED LIABILITIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OperatingLeasesOfLesseeDisclosureTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R41": { "role": "http://dataio.com/role/OtherAccruedLiabilitiesDetails1", "longName": "000041 - Disclosure - OTHER ACCRUED LIABILITIES (Details 1)", "shortName": "OTHER ACCRUED LIABILITIES (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "AsOf2022-12-31", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R42": { "role": "http://dataio.com/role/OperatingLeaseCommitmentsDetails", "longName": "000042 - Disclosure - OPERATING LEASE COMMITMENTS (Details)", "shortName": "OPERATING LEASE COMMITMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://dataio.com/role/OperatingLeaseCommitmentsDetails1", "longName": "000043 - Disclosure - OPERATING LEASE COMMITMENTS (Details 1)", "shortName": "OPERATING LEASE COMMITMENTS (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OperatingLeasesOfLesseeDisclosureTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OperatingLeasesOfLesseeDisclosureTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative", "longName": "000044 - Disclosure - OPERATING LEASE COMMITMENTS (Details Narrative)", "shortName": "OPERATING LEASE COMMITMENTS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ShortTermLeasePayments", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ShortTermLeasePayments", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "daio:OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R45": { "role": "http://dataio.com/role/OtherCommitmentsDetailsNarrative", "longName": "000045 - Disclosure - OTHER COMMITMENTS (Details Narrative)", "shortName": "OTHER COMMITMENTS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OtherCommitmentDueInSecondYear", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "daio:OtherCommitmentsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OtherCommitmentDueInSecondYear", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "daio:OtherCommitmentsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R46": { "role": "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative", "longName": "000046 - Disclosure - STOCK AND RETIREMENT PLANS (Details Narrative)", "shortName": "STOCK AND RETIREMENT PLANS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R47": { "role": "http://dataio.com/role/ShareBasedCompensationDetails", "longName": "000047 - Disclosure - SHARE BASED COMPENSATION (Details)", "shortName": "SHARE BASED COMPENSATION (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ShareBasedCompensation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31_us-gaap_CostOfSalesMember", "name": "us-gaap:ShareBasedCompensation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R48": { "role": "http://dataio.com/role/ShareBasedCompensationDetails1", "longName": "000048 - Disclosure - SHARE BASED COMPENSATION (Details 1)", "shortName": "SHARE BASED COMPENSATION (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "AsOf2022-12-31_us-gaap_EmployeeStockOptionMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31_us-gaap_EmployeeStockOptionMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R49": { "role": "http://dataio.com/role/ShareBasedCompensationDetails2", "longName": "000049 - Disclosure - SHARE BASED COMPENSATION (Details 2)", "shortName": "SHARE BASED COMPENSATION (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "AsOf2022-12-31_daio_RestrictedStockAwardMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31_daio_RestrictedStockAwardMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R50": { "role": "http://dataio.com/role/ShareBasedCompensationDetails3", "longName": "000050 - Disclosure - SHARE BASED COMPENSATION (Details 3)", "shortName": "SHARE BASED COMPENSATION (Details 3)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R51": { "role": "http://dataio.com/role/ShareBasedCompensationDetails4", "longName": "000051 - Disclosure - SHARE BASED COMPENSATION (Details 4)", "shortName": "SHARE BASED COMPENSATION (Details 4)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:WeightedAverageNumberOfSharesOutstanding", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "daio:ScheduleOfWeightedAverageNumberOfSharesOutstandingTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:WeightedAverageNumberOfSharesOutstanding", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "daio:ScheduleOfWeightedAverageNumberOfSharesOutstandingTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R52": { "role": "http://dataio.com/role/ShareBasedCompensationDetailsNarrative", "longName": "000052 - Disclosure - SHARE BASED COMPENSATION (Details Narrative)", "shortName": "SHARE BASED COMPENSATION (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:StockIssuedDuringPeriodSharesRestrictedStockAwardUnitsAndVestingStockOption", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "daio:StockIssuedDuringPeriodSharesRestrictedStockAwardUnitsAndVestingStockOption", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R53": { "role": "http://dataio.com/role/IncomeTaxesDetails", "longName": "000053 - Disclosure - INCOME TAXES (Details)", "shortName": "INCOME TAXES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:RegulatoryIncomeTaxesPolicy", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:RegulatoryIncomeTaxesPolicy", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R54": { "role": "http://dataio.com/role/IncomeTaxesDetails1", "longName": "000054 - Disclosure - INCOME TAXES (Details 1)", "shortName": "INCOME TAXES (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:RegulatoryIncomeTaxesPolicy", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:RegulatoryIncomeTaxesPolicy", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R55": { "role": "http://dataio.com/role/IncomeTaxesDetails2", "longName": "000055 - Disclosure - INCOME TAXES (Details 2)", "shortName": "INCOME TAXES (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R56": { "role": "http://dataio.com/role/IncomeTaxesDetails3", "longName": "000056 - Disclosure - INCOME TAXES (Details 3)", "shortName": "INCOME TAXES (Details 3)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "AsOf2022-12-31", "name": "us-gaap:UnrecognizedTaxBenefits", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31", "name": "us-gaap:UnrecognizedTaxBenefits", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } }, "R57": { "role": "http://dataio.com/role/IncomeTaxesDetailsNarrative", "longName": "000057 - Disclosure - INCOME TAXES (Details Narrative)", "shortName": "INCOME TAXES (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLossCarryforwards", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLossCarryforwards", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://dataio.com/role/SegmentAndGeographicInformationDetails", "longName": "000058 - Disclosure - SEGMENT AND GEOGRAPHIC INFORMATION (Details)", "shortName": "SEGMENT AND GEOGRAPHIC INFORMATION (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Revenues", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31_daio_ChinaMember", "name": "us-gaap:Revenues", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "daio:SegmentAndGeographicInformationdisclosuretextblock", "body", "html" ], "reportCount": 1, "baseRef": "daio_10k.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" } } }, "auth_ref": [] }, "us-gaap_AccountsAndNontradeReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsAndNontradeReceivableTextBlock", "presentation": [ "http://dataio.com/role/AccountsReceivableNet" ], "lang": { "en-us": { "role": { "label": "ACCOUNTS RECEIVABLE, NET", "documentation": "The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable." } } }, "auth_ref": [ "r218", "r256" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilities" ], "lang": { "en-us": { "role": { "verboseLabel": "OTHER ACCRUED LIABILITIES", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r19" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r18", "r561" ] }, "daio_AccountsReceivableConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://dataio.com/20231231", "localname": "AccountsReceivableConcentrationRiskPercentage1", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Receivable", "label": "[Accounts Receivable]" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Trade accounts receivable", "label": "[Accounts Receivable, before Allowance for Credit Loss, Current]", "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r147", "r219", "r220", "r547" ] }, "us-gaap_AccountsReceivableNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetAbstract", "lang": { "en-us": { "role": { "label": "ACCOUNTS RECEIVABLE NET" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails" ], "lang": { "en-us": { "role": { "label": "Trade accounts receivable, net", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r219", "r220" ] }, "daio_AccruedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "AccruedCompensation", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued compensation" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxes", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Income taxes payable", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes." } } }, "auth_ref": [ "r63", "r64", "r98", "r102", "r435" ] }, "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Other accrued liabilities", "label": "[Accrued Liabilities]", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities." } } }, "auth_ref": [ "r59" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Less accumulated depreciation", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r44", "r141", "r444" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 18.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated other comprehensive income", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r26", "r27", "r74", "r148", "r440", "r463", "r464" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated other comprehensive loss", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r2", "r11", "r27", "r361", "r364", "r394", "r459", "r460", "r597", "r598", "r599", "r604", "r605", "r606" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Weighted average remaining lease term", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r88" ] }, "daio_AdapterSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "AdapterSalesMember", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Adapter Sales" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r51", "r52", "r304" ] }, "daio_AdjustmentsToEquipmentTransferredToCostOfGoodsSold": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "AdjustmentsToEquipmentTransferredToCostOfGoodsSold", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Equipment transferred to cost of goods sold" } } }, "auth_ref": [] }, "daio_AdjustmentsToReconcileNetIncomeLossNewAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "AdjustmentsToReconcileNetIncomeLossNewAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income (loss)" } } }, "auth_ref": [] }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingCostsPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Advertising Expense", "documentation": "Disclosure of accounting policy for advertising cost." } } }, "auth_ref": [ "r122" ] }, "us-gaap_AdvertisingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingExpense", "crdr": "debit", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Advertising expenses", "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line." } } }, "auth_ref": [ "r334" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails1" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "label": "[Accounts Receivable, Allowance for Credit Loss]", "periodEndLabel": "Ending balance", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r149", "r223", "r259", "r262", "r266", "r636" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails" ], "lang": { "en-us": { "role": { "label": "Less allowance for doubtful receivables", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r149", "r223", "r259" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries", "crdr": "credit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails1" ], "lang": { "en-us": { "role": { "label": "Recoveries", "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery." } } }, "auth_ref": [ "r265" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "crdr": "debit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails1" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts written-off", "label": "[Accounts Receivable, Allowance for Credit Loss, Writeoff]", "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance." } } }, "auth_ref": [ "r264" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Options excluded from the computation of diluted EPS", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r197" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets", "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL ASSETS", "label": "[Assets]", "verboseLabel": "TOTAL ASSETS", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r101", "r143", "r171", "r202", "r209", "r213", "r255", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r356", "r358", "r370", "r434", "r505", "r561", "r572", "r621", "r622", "r633" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL CURRENT ASSETS", "label": "[Assets, Current]", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r137", "r153", "r171", "r255", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r356", "r358", "r370", "r561", "r621", "r622", "r633" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "CURRENT ASSETS:" } } }, "auth_ref": [] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Auditor Firm Id", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r576", "r577", "r578" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r576", "r577", "r578" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r576", "r577", "r578" ] }, "daio_AverageExecisePrices": { "xbrltype": "perShareItemType", "nsuri": "http://dataio.com/20231231", "localname": "AverageExecisePrices", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Average execise prices" } } }, "auth_ref": [] }, "us-gaap_BuildingsAndImprovementsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingsAndImprovementsGross", "crdr": "debit", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [ "r90" ] }, "us-gaap_Cash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Cash", "crdr": "debit", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cash and cash equivalents held in foreign banks", "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. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r119", "r437", "r483", "r500", "r561", "r572", "r593" ] }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents", "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value." } } }, "auth_ref": [ "r30" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets", "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash and cash equivalents", "periodStartLabel": "Cash and cash equivalents at beginning of period", "periodEndLabel": "Cash and cash equivalents at end of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r29", "r82", "r169" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Increase (decrease) in cash and cash equivalents", "label": "[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect]", "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r1", "r82" ] }, "daio_CashPaidDuringThePeriodAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "CashPaidDuringThePeriodAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash paid during the period for:" } } }, "auth_ref": [] }, "daio_ChangeInSalesPercentage": { "xbrltype": "percentItemType", "nsuri": "http://dataio.com/20231231", "localname": "ChangeInSalesPercentage", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Change in sales percentage" } } }, "auth_ref": [] }, "daio_ChinaMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "ChinaMember", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative", "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "China" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical", "http://dataio.com/role/ShareBasedCompensationDetails2" ], "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." } } }, "auth_ref": [ "r134", "r144", "r145", "r146", "r171", "r191", "r192", "r194", "r196", "r200", "r201", "r255", "r286", "r288", "r289", "r290", "r293", "r294", "r296", "r297", "r298", "r299", "r301", "r370", "r467", "r468", "r469", "r470", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r484", "r492", "r514", "r533", "r536", "r537", "r538", "r539", "r540", "r583", "r601", "r607" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "COMMITMENTS", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r23", "r60", "r436", "r491" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "OTHER COMMITMENTS" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://dataio.com/role/CONTINGENCIES" ], "lang": { "en-us": { "role": { "verboseLabel": "CONTINGENCIES", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r91", "r278", "r279", "r542", "r614" ] }, "daio_CommonStockEquivalentShares": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "CommonStockEquivalentShares", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Common stock equivalent shares", "documentation": "Custom Element." } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r563", "r564", "r565", "r567", "r568", "r569", "r570", "r604", "r605", "r630", "r638", "r639" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Authorized Shares", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r66", "r492" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Issued Shares", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r66" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Outstanding Shares", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r12", "r66", "r492", "r511", "r639", "r640" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common stock, at stated value - Authorized, 30,000,000 shares Issued and outstanding, 9,020,819 shares as of December 31, 2023 and 8,816,381 shares as of December 31, 2022", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r66", "r439", "r561" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income (loss)", "label": "[Comprehensive Income (Loss), Net of Tax, Attributable to Parent]", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r28", "r156", "r158", "r165", "r430", "r450" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Concentration Risk By Type Axis", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r34", "r35", "r57", "r58", "r217", "r541", "r584" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Diversification of Credit Risk", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r61", "r125" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Sales", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r34", "r35", "r57", "r58", "r217" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "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." } } }, "auth_ref": [ "r34", "r35", "r57", "r58", "r217", "r541" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Principles of Consolidation", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r54", "r551" ] }, "daio_ContingenciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "ContingenciesAbstract", "lang": { "en-us": { "role": { "label": "CONTINGENCIES" } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Cost of goods sold", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r78", "r428" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Cost of Goods Sold", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "daio_Covid19Policy": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "Covid19Policy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "COVID-19" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Total Income tax expense (benefit)", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r99", "r349", "r354", "r603" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Deferred tax expense (benefit) - U.S. federal", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r7", "r99", "r131", "r353", "r354", "r603" ] }, "us-gaap_DeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredRevenueCurrent", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred revenue", "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r594" ] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "401(k) Retirement Savings Plan matching contribution expense", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Depreciation expense", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r7", "r43" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation and amortization", "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." } } }, "auth_ref": [ "r7", "r205" ] }, "daio_DescriptionOfNewAccountingPronouncementsNotYetAdoptedPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "DescriptionOfNewAccountingPronouncementsNotYetAdoptedPolicy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements - Standards Issued and Not Yet Implemented" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of revenue", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r624" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://dataio.com/role/SharebasedCompensation" ], "lang": { "en-us": { "role": { "label": "SHARE-BASED COMPENSATION", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r303", "r305", "r323", "r324", "r326", "r558" ] }, "daio_DiversificationOfNetSalespolicytextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "DiversificationOfNetSalespolicytextblock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Diversification of net sales" } } }, "auth_ref": [] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r576", "r577", "r578" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Fin Stmt Error Correction Flag", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r576", "r577", "r578", "r580" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r579" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "SUBSEQUENT EVENTS" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Basic earnings (loss) per share", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r166", "r181", "r182", "r183", "r184", "r185", "r189", "r191", "r194", "r195", "r196", "r198", "r368", "r369", "r431", "r451", "r554" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Diluted earnings (loss) per share", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r166", "r181", "r182", "r183", "r184", "r185", "r191", "r194", "r195", "r196", "r198", "r368", "r369", "r431", "r451", "r554" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Earnings (Loss) Per Share", "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." } } }, "auth_ref": [ "r32", "r33" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effects of exchange rate changes on cash", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r377" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails3" ], "lang": { "en-us": { "role": { "label": "Unamortized future compensation expense", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r325" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails3" ], "lang": { "en-us": { "role": { "label": "Remaining weighted average amortization period in years", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r325" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "daio_EmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "EmployeeStockPurchasePlanMember", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Employee Stock Purchase Plan [Member]" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address Address Line 1", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine2", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address Address Line 2", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address City Or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address State Or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r574" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r574" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r574" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation State Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r581" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Public Float", "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." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r574" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r574" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r574" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r574" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Voluntary Filers", "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." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Well Known Seasoned Issuer", "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." } } }, "auth_ref": [ "r582" ] }, "daio_EquipmentSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "EquipmentSalesMember", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Equipment Sales" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "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." } } }, "auth_ref": [ "r12", "r135", "r160", "r161", "r162", "r176", "r177", "r178", "r180", "r186", "r188", "r199", "r257", "r258", "r302", "r327", "r328", "r329", "r350", "r351", "r360", "r361", "r362", "r363", "r364", "r365", "r367", "r378", "r380", "r381", "r382", "r383", "r385", "r394", "r459", "r460", "r461", "r472", "r533" ] }, "daio_EuropesMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "EuropesMember", "presentation": [ "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Europe" } } }, "auth_ref": [] }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueOfFinancialInstrumentsPolicy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Fair Value of Financial Instruments", "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments." } } }, "auth_ref": [ "r9", "r16" ] }, "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "U.S. federal", "documentation": "Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r172", "r340" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Financial Instrument Axis", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r260", "r261", "r267", "r268", "r269", "r270", "r271", "r272", "r295", "r300", "r366", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r449", "r556", "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r609", "r610", "r611", "r612" ] }, "daio_ForeignAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "ForeignAccountsReceivable", "crdr": "credit", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Foreign accounts receivable" } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Foreign currency transaction gain (loss)", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r372", "r373", "r374", "r376", "r530" ] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Translation", "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy." } } }, "auth_ref": [ "r371" ] }, "us-gaap_ForeignIncomeTaxExpenseBenefitContinuingOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignIncomeTaxExpenseBenefitContinuingOperations", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Foreign", "documentation": "Amount of current and deferred foreign income tax expense (benefit) attributable to income (loss) from continuing operations." } } }, "auth_ref": [ "r172" ] }, "us-gaap_GainsLossesOnSalesOfAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainsLossesOnSalesOfAssets", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Gain on sale of assets", "documentation": "Amount of gain (loss) on sale or disposal of assets utilized in financial service operations." } } }, "auth_ref": [] }, "daio_GermanysMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "GermanysMember", "presentation": [ "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Germany" } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Gross margin", "label": "[Gross Profit]", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r77", "r171", "r202", "r208", "r212", "r214", "r255", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r370", "r555", "r621" ] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Icfr Auditor Attestation Flag" } } }, "auth_ref": [ "r576", "r577", "r578" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "crdr": "credit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "U.S. operations", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations." } } }, "auth_ref": [ "r173", "r355" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Total income (loss) before taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r75", "r105", "r202", "r208", "r212", "r214", "r432", "r446", "r555" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "crdr": "credit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Foreign operations", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile." } } }, "auth_ref": [ "r173", "r355" ] }, "us-gaap_IncomeLossFromSubsidiariesBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromSubsidiariesBeforeTax", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Income (loss) before income taxes", "documentation": "Amount before tax of income (loss) of subsidiary attributable to the parent entity." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF OPERATIONS" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location Axis", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r276", "r277", "r517" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement." } } }, "auth_ref": [ "r277", "r517" ] }, "us-gaap_IncomeTaxAuthorityNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxAuthorityNameAxis", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative", "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Authority, Name [Axis]", "documentation": "Information by name of taxing authority." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncomeTaxAuthorityNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxAuthorityNameDomain", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative", "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations", "http://dataio.com/role/IncomeTaxesDetails1", "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "Income tax (expense) benefit", "label": "[Income Tax Expense (Benefit)]", "verboseLabel": "Income tax expense (benefit)", "terseLabel": "Income tax (expense) benefit", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r118", "r132", "r187", "r188", "r206", "r340", "r352", "r452" ] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Income tax expense (benefit) consists of:" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Income Taxes", "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements." } } }, "auth_ref": [ "r159", "r338", "r339", "r345", "r346", "r347", "r348", "r466" ] }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Valuation allowance for deferred tax assets", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r627" ] }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Statutory tax", "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r341" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Stock based compensation", "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement." } } }, "auth_ref": [ "r627" ] }, "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationOtherReconcilingItems", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "verboseLabel": "Other", "label": "[Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount]", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments." } } }, "auth_ref": [ "r627" ] }, "us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationRepatriationOfForeignEarnings", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Foreign sourced deemed dividend income", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings." } } }, "auth_ref": [ "r627" ] }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "State and foreign income tax, net of federal income tax benefit", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)." } } }, "auth_ref": [ "r627" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income taxes", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r31" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Accounts payable and accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Trade accounts receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredRevenue", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred revenue", "label": "[Increase (Decrease) in Deferred Revenue]", "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." } } }, "auth_ref": [ "r543" ] }, "us-gaap_IncreaseDecreaseInDepositOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDepositOtherAssets", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deposits and other long-term assets", "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." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "[Increase (Decrease) in Inventories]", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net change in:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherCurrentAssets", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Other current assets", "label": "[Increase (Decrease) in Other Current Assets]", "documentation": "Amount of increase (decrease) in current assets classified as other." } } }, "auth_ref": [ "r600" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other long-term liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "auth_ref": [] }, "daio_InducementReserveShares": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "InducementReserveShares", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Inducement reserve shares" } } }, "auth_ref": [] }, "daio_InducementReserveSharesGrantedVestedButUnissued": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "InducementReserveSharesGrantedVestedButUnissued", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Inducement reserve shares granted in 2019, vested but unissued" } } }, "auth_ref": [] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Interest income", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INVENTORIES" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://dataio.com/role/INVENTORIES" ], "lang": { "en-us": { "role": { "verboseLabel": "INVENTORIES", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r273" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "presentation": [ "http://dataio.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Finished goods", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r87", "r548" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets", "http://dataio.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventories", "verboseLabel": "Inventories", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r151", "r546", "r561" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "Inventory, Policy [Policy Text Block]", "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost." } } }, "auth_ref": [ "r120", "r139", "r150", "r273", "r274", "r275", "r427", "r552" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "presentation": [ "http://dataio.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Raw material", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r87", "r550" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "presentation": [ "http://dataio.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r87", "r549" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "OPERATING LEASE COMMITMENTS" } } }, "auth_ref": [] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Leases - Accounting Standards Codification 842", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r389" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsTables" ], "lang": { "en-us": { "role": { "label": "Operating lease commitments", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r632" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: imputed interest", "label": "[Lessee, Operating Lease, Liability, Undiscounted Excess Amount]", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r393" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY", "label": "[Liabilities and Equity]", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r70", "r104", "r442", "r561", "r602", "r613", "r631" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 19.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL CURRENT LIABILITIES", "label": "[Liabilities, Current]", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r21", "r138", "r171", "r255", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r357", "r358", "r359", "r370", "r561", "r621", "r633", "r634" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "CURRENT LIABILITIES:" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_MachineryAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentGross", "crdr": "debit", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Equipment", "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment." } } }, "auth_ref": [ "r90" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Nature of Operations", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r121", "r133" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Cash provided by (used in) financing activities", "label": "[Net Cash Provided by (Used in) Financing Activities]", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r168" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM FINANCING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Cash provided by (used in) investing activities", "label": "[Net Cash Provided by (Used in) Investing Activities]", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r168" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM INVESTING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) operating activities", "label": "[Net Cash Provided by (Used in) Operating Activities]", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r82", "r83", "r84" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 }, "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 }, "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity", "http://dataio.com/role/ConsolidatedStatementsOfCashFlows", "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss", "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Net income (loss)", "label": "[Net Income (Loss) Attributable to Parent]", "verboseLabel": "Net Income (loss)", "terseLabel": "Net income (loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r76", "r84", "r106", "r136", "r154", "r157", "r162", "r171", "r179", "r181", "r182", "r183", "r184", "r187", "r188", "r193", "r202", "r208", "r212", "r214", "r255", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r369", "r370", "r447", "r513", "r531", "r532", "r555", "r571", "r621" ] }, "daio_NewAccountingPronouncementsStandardsIssuedAndImplementedPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "NewAccountingPronouncementsStandardsIssuedAndImplementedPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements - Standards Issued and Implemented" } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total non-operating income (loss)", "label": "[Nonoperating Income (Expense)]", "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)." } } }, "auth_ref": [ "r80" ] }, "daio_NumberOfCommonStockReservedForIssuanceConsisting": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "NumberOfCommonStockReservedForIssuanceConsisting", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Number of Common Stock reserved for issuance consisting" } } }, "auth_ref": [] }, "daio_NumberOfPurchaseShares": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "NumberOfPurchaseShares", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Number of purchase shares" } } }, "auth_ref": [] }, "daio_NumberOfSharesAvailableForFutureGrant": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "NumberOfSharesAvailableForFutureGrant", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Number of shares available for future grant" } } }, "auth_ref": [] }, "daio_NumberOfSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "NumberOfSharesReservedForFutureIssuance", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Number of shares reserved for future issuance" } } }, "auth_ref": [] }, "daio_OnecustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "OnecustomersMember", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "1 customers" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "[Operating Expenses]", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Operating expenses:" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations", "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Operating income (loss)", "label": "[Operating Income (Loss)]", "verboseLabel": "Operating income (loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r202", "r208", "r212", "r214", "r555" ] }, "us-gaap_OperatingIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLossAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Non-operating income (loss):" } } }, "auth_ref": [] }, "daio_OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "OperatingLeaseCommitmentsDISCLOSURETEXTBLOCK", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitments" ], "lang": { "en-us": { "role": { "verboseLabel": "OPERATING LEASE COMMITMENTS", "label": "[OPERATING LEASE COMMITMENTS]" } } }, "auth_ref": [] }, "daio_OperatingLeaseLiabilitiesNon": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "OperatingLeaseLiabilitiesNon", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 21.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating lease liabilities" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "label": "Total operating lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r387" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails1", "http://dataio.com/role/OtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lease liability - short term", "verboseLabel": "Lease liability-short term (Other accrued liabilities)", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r387" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails1" ], "lang": { "en-us": { "role": { "label": "Lease liability-long term (Long-term other payables)", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r387" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails1" ], "lang": { "en-us": { "role": { "label": "Right-of-use assets (Long-term other assets)", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r386" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Weighted average discount rate", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r392", "r560" ] }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesFutureMinimumPaymentsDue", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total", "label": "[Operating Leases, Future Minimum Payments Due]", "documentation": "Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year." } } }, "auth_ref": [ "r114", "r117" ] }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesFutureMinimumPaymentsDueCurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "label": "2024", "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date." } } }, "auth_ref": [ "r114", "r117" ] }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "label": "2027", "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date." } } }, "auth_ref": [ "r114", "r117" ] }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "label": "2026", "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date." } } }, "auth_ref": [ "r114", "r117" ] }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "label": "2025", "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date." } } }, "auth_ref": [ "r114", "r117" ] }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesFutureMinimumPaymentsDueThereafter", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetails" ], "lang": { "en-us": { "role": { "label": "2028 & Thereafter", "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date." } } }, "auth_ref": [ "r114", "r117" ] }, "us-gaap_OperatingLeasesOfLesseeDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesOfLesseeDisclosureTextBlock", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsTables" ], "lang": { "en-us": { "role": { "label": "Supplemental balance sheet information related to leases", "documentation": "Tabular disclosure for lessee's operating leases. Includes, but is not limited to, description of lessee's operating lease, existence and terms of renewal or purchase options and escalation clauses, restrictions imposed by lease, such as those concerning dividends, additional debt, and further leasing, rent holidays, rent concessions, or leasehold improvement incentives and unusual provisions or conditions." } } }, "auth_ref": [ "r112", "r113", "r114", "r115", "r116" ] }, "us-gaap_OperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "U.S. net operating loss carryforwards", "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws." } } }, "auth_ref": [ "r53" ] }, "us-gaap_OperatingLossCarryforwardsLimitationsOnUse": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwardsLimitationsOnUse", "presentation": [ "http://dataio.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Expiration years", "documentation": "A description of the limitations on the use of all operating loss carryforwards available to reduce future taxable income." } } }, "auth_ref": [] }, "us-gaap_OptionIndexedToIssuersEquityEquityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OptionIndexedToIssuersEquityEquityAxis", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1", "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Option Indexed To Issuers Equity Equity Axis", "documentation": "Information by type of options indexed to an issuer's equity." } } }, "auth_ref": [ "r45", "r55", "r56", "r100" ] }, "us-gaap_OptionIndexedToIssuersEquityTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OptionIndexedToIssuersEquityTypeDomain", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1", "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding." } } }, "auth_ref": [] }, "daio_OptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "OptionsExercised", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Number of options, Exercised" } } }, "auth_ref": [] }, "daio_OptionsGrantedMaximumTerm": { "xbrltype": "durationItemType", "nsuri": "http://dataio.com/20231231", "localname": "OptionsGrantedMaximumTerm", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Options granted maximum term" } } }, "auth_ref": [] }, "daio_OtherAccruedLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "OtherAccruedLiabilitiesAbstract", "lang": { "en-us": { "role": { "label": "OTHER ACCRUED LIABILITIES" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other accrued liabilities", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r20" ] }, "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other." } } }, "auth_ref": [ "r59" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other current assets", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r152", "r561" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r142" ] }, "us-gaap_OtherCommitmentDueInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentDueInNextTwelveMonths", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "verboseLabel": "2024", "label": "[Other Commitment, to be Paid, Year One]", "documentation": "Amount of commitment classified as other to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "us-gaap_OtherCommitmentDueInSecondYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitmentDueInSecondYear", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "After 2024", "documentation": "Amount of commitment classified as other to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "daio_OtherCommitmentsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "OtherCommitmentsDisclosureTextBlock", "presentation": [ "http://dataio.com/role/OtherCommitments" ], "lang": { "en-us": { "role": { "verboseLabel": "OTHER COMMITMENTS", "label": "[OTHER COMMITMENTS]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" ], "lang": { "en-us": { "role": { "label": "Foreign currency translation gain (loss)", "documentation": "Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r3", "r4", "r375", "r384" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other comprehensive income gain (loss)", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r12", "r15", "r155", "r158", "r164", "r378", "r379", "r385", "r429", "r448", "r597", "r598" ] }, "us-gaap_OtherComprehensiveIncomeLossTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossTaxAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" ], "lang": { "en-us": { "role": { "label": "Other comprehensive income:" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 22.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term other payables", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r22" ] }, "daio_OtherTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "OtherTaxesPayable", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other taxes" } } }, "auth_ref": [] }, "daio_OutstandingStockAppreciationRightsShares": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "OutstandingStockAppreciationRightsShares", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Outstanding stock appreciation rights, shares" } } }, "auth_ref": [] }, "daio_PatentCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "PatentCostsPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Patent Costs", "documentation": "Custom Element." } } }, "auth_ref": [] }, "us-gaap_PaymentsForRent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Lease base annual rental payments", "documentation": "Cash payments to lessor's for use of assets under operating leases." } } }, "auth_ref": [ "r5" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of property, plant and equipment", "label": "[Payments to Acquire Property, Plant, and Equipment]", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r81" ] }, "us-gaap_PensionAndOtherPostretirementAndPostemploymentBenefitPlansLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementAndPostemploymentBenefitPlansLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Employer matching contributions owed to the plan", "documentation": "Amount of liability, recognized in statement of financial position, for pension, other postretirement and postemployment benefits." } } }, "auth_ref": [ "r46", "r47", "r103" ] }, "daio_PerformanceSharesGranted": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "PerformanceSharesGranted", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Performance shares granted" } } }, "auth_ref": [] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Authorized Shares", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r65", "r492" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred stock - Authorized, 5,000,000 shares, including 200,000 shares of Series A Junior Participating Issued and outstanding, none", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r65", "r438", "r561" ] }, "daio_ProceedsFromIssuanceOfCommonStocklessPaymentsForSharesWithheld": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "ProceedsFromIssuanceOfCommonStocklessPaymentsForSharesWithheld", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net proceeds from issuance of common stock, less payments for shares withheld to cover tax" } } }, "auth_ref": [] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Product Or Service Axis" } } }, "auth_ref": [ "r215", "r428", "r453", "r454", "r455", "r456", "r457", "r458", "r545", "r557", "r562", "r585", "r615", "r616", "r624", "r637" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails1" ], "lang": { "en-us": { "role": { "periodStartLabel": "Liability, beginning balance", "label": "[Standard and Extended Product Warranty Accrual]", "periodEndLabel": "Liability, ending balance", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r59", "r280", "r282", "r285" ] }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualClassifiedCurrent", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Product warranty", "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)." } } }, "auth_ref": [ "r20", "r619", "r620" ] }, "us-gaap_ProductWarrantyAccrualPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPayments", "crdr": "debit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails1" ], "lang": { "en-us": { "role": { "negatedLabel": "Warranty claims", "label": "[Standard and Extended Product Warranty Accrual, Decrease for Payments]", "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty." } } }, "auth_ref": [ "r283" ] }, "us-gaap_ProductWarrantyAccrualPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPeriodIncreaseDecrease", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails1" ], "lang": { "en-us": { "role": { "label": "Net expenses", "documentation": "Amount of increase (decrease) in the standard and extended product warranty liability." } } }, "auth_ref": [ "r618" ] }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualWarrantiesIssued", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails1" ], "lang": { "en-us": { "role": { "label": "Accrual revisions", "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued." } } }, "auth_ref": [ "r284" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "auth_ref": [ "r215", "r428", "r453", "r454", "r455", "r456", "r457", "r458", "r545", "r557", "r562", "r585", "r615", "r616", "r624", "r637" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "PROPERTY PLANT AND EQUIPMENT NET" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNet" ], "lang": { "en-us": { "role": { "label": "PROPERTY, PLANT AND EQUIPMENT, NET", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r89", "r126", "r129", "r130" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property and equipment gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r90", "r140", "r445" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets", "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, plant and equipment - net", "verboseLabel": "Property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r8", "r433", "r445", "r561" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment", "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r8", "r126", "r129", "r443" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetTables" ], "lang": { "en-us": { "role": { "label": "Property, plant and equipment, net", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r8" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://dataio.com/role/AccountsReceivableNetDetails1" ], "lang": { "en-us": { "role": { "label": "Bad debt expense (reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r167", "r263" ] }, "daio_PurchaseSharesCommonStockPercentage": { "xbrltype": "percentItemType", "nsuri": "http://dataio.com/20231231", "localname": "PurchaseSharesCommonStockPercentage", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Purchase shares Common Stock" } } }, "auth_ref": [] }, "us-gaap_RegulatoryIncomeTaxesPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RegulatoryIncomeTaxesPolicy", "presentation": [ "http://dataio.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "verboseLabel": "INCOME TAXES", "label": "Regulatory Income Taxes, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for income taxes, including investment tax credits, and the related regulatory treatment (for example, whether deferred income tax accounting - normalization - is allowed in rate making)." } } }, "auth_ref": [ "r107", "r108" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Research and development", "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." } } }, "auth_ref": [ "r62", "r336", "r635" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Research and Development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpensePolicy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Research and Development", "label": "Research and Development Expense, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for costs it has 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." } } }, "auth_ref": [ "r335" ] }, "daio_RestOfWorldMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "RestOfWorldMember", "presentation": [ "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Rest of World" } } }, "auth_ref": [] }, "daio_RestrictedAndPerformanceStockUnits": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "RestrictedAndPerformanceStockUnits", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails4" ], "lang": { "en-us": { "role": { "label": "Restricted and Performance Stock Units" } } }, "auth_ref": [] }, "daio_RestrictedStockAwardMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "RestrictedStockAwardMember", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Award" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated earnings (deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r67", "r92", "r441", "r462", "r464", "r471", "r493", "r561" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r135", "r176", "r177", "r178", "r180", "r186", "r188", "r257", "r258", "r327", "r328", "r329", "r350", "r351", "r360", "r362", "r363", "r365", "r367", "r459", "r461", "r472", "r639" ] }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRecognitionPolicyTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources." } } }, "auth_ref": [ "r515", "r544", "r553" ] }, "us-gaap_Revenues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Revenues", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations", "http://dataio.com/role/SegmentAndGeographicInformationDetails", "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Net sales", "verboseLabel": "Net sales", "terseLabel": "Net sales", "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)." } } }, "auth_ref": [ "r163", "r171", "r203", "r204", "r207", "r210", "r211", "r215", "r216", "r217", "r255", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r370", "r432", "r621" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cash paid for operating lease liabilities", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r391", "r560" ] }, "daio_SalesDemonstrationEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "SalesDemonstrationEquipment", "crdr": "debit", "presentation": [ "http://dataio.com/role/PropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Sales demonstration equipment" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://dataio.com/role/AccountsReceivableNetTables" ], "lang": { "en-us": { "role": { "label": "Schedule of accounts receivable", "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r25" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Other accrued liabilities", "label": "Schedule of Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock", "presentation": [ "http://dataio.com/role/SharebasedCompensationTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Share-based compensation", "label": "Share-Based Payment Arrangement, Cost by Plan [Table Text Block]", "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit." } } }, "auth_ref": [ "r50" ] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://dataio.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Components of income tax expense (benefit)", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r97" ] }, "daio_ScheduleOfConsolidatedAccountsReceivabletabletextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "ScheduleOfConsolidatedAccountsReceivabletabletextblock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of consolidated accounts receivable" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://dataio.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of deferred tax assets and liabilities", "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets." } } }, "auth_ref": [ "r96" ] }, "daio_ScheduleOfDiversificationOfNetSalestabletextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "ScheduleOfDiversificationOfNetSalestabletextblock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Diversification of net sales" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://dataio.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Reconciliation of effective income tax", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r95" ] }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "presentation": [ "http://dataio.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Components of income (loss) before taxes", "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions." } } }, "auth_ref": [ "r603" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://dataio.com/role/InventoriesNetTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r17", "r71", "r72", "r73" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Product warranty liability", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r281" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://dataio.com/role/SegmentAndGeographicInformationTables" ], "lang": { "en-us": { "role": { "label": "Summary of operating information by geographic area", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r39", "r40", "r41", "r42" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://dataio.com/role/SharebasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Restricted stock award including performance-based stock award activity under our share-based compensation plan", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r49" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://dataio.com/role/SharebasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Stock option activity", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r13", "r14", "r49" ] }, "us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "presentation": [ "http://dataio.com/role/SharebasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Unamortized compensation expense", "documentation": "Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r94" ] }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "presentation": [ "http://dataio.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of unrecognized tax benefits", "documentation": "Tabular disclosure of the change in unrecognized tax benefits." } } }, "auth_ref": [ "r559", "r628" ] }, "daio_ScheduleOfWeightedAverageNumberOfSharesOutstandingTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "ScheduleOfWeightedAverageNumberOfSharesOutstandingTableTextBlock", "presentation": [ "http://dataio.com/role/SharebasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Weighted average number of shares outstanding" } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Security 12b Title", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r573" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r575" ] }, "daio_SegmentAndGeographicInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "SegmentAndGeographicInformationAbstract", "lang": { "en-us": { "role": { "label": "SEGMENT AND GEOGRAPHIC INFORMATION" } } }, "auth_ref": [] }, "daio_SegmentAndGeographicInformationdisclosuretextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "SegmentAndGeographicInformationdisclosuretextblock", "presentation": [ "http://dataio.com/role/SegmentAndGeographicInformation" ], "lang": { "en-us": { "role": { "verboseLabel": "SEGMENT AND GEOGRAPHIC INFORMATION", "label": "[SEGMENT AND GEOGRAPHIC INFORMATION]" } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Selling, general and administrative", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r79" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_SeriesAPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesAPreferredStockMember", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Series A Junior Participating", "documentation": "Series A preferred stock." } } }, "auth_ref": [ "r595", "r596", "r623" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows", "http://dataio.com/role/ShareBasedCompensationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Share-based compensation", "label": "[Share-Based Payment Arrangement, Noncash Expense]", "terseLabel": "Share-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r6" ] }, "us-gaap_ShareBasedCompensationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAbstract", "lang": { "en-us": { "role": { "label": "SHAREBASED COMPENSATION" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "Cancelled", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period]", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r315" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Grant Date Fair Value, Cancelled", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r315" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "label": "Granted", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r313" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Grant Date Fair Value, Granted", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r313" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding beginning balance", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number]", "periodEndLabel": "Outstanding ending balance", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r311", "r312" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "periodStartLabel": "Weighted-Average Grant Date Fair Value, Outstanding beginning balance", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value]", "periodEndLabel": "Weighted-Average Grant Date Fair Value, Outstanding ending balance", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r311", "r312" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "Vested", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period]", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r314" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Grant Date Fair Value, Vested", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r314" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Number of options, Cancelled, Expired or Forfeited", "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired." } } }, "auth_ref": [ "r625" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Exercise Price, Cancelled, Expired or Forfeited", "documentation": "Weighted average price of options that were either forfeited or expired." } } }, "auth_ref": [ "r625" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Number of options, Granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r309" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Aggregate intrinsic value of options outstanding", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r48" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "periodStartLabel": "Number of options, Outstanding beginning balance", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number]", "periodEndLabel": "Number of options, Outstanding ending balance", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r307", "r308" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "periodStartLabel": "Weighted-Average Exercise Price, Outstanding beginning balance", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price]", "periodEndLabel": "Weighted-Average Exercise Price, Outstanding ending balance", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r307", "r308" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "periodEndLabel": "Number of options, Exercisable at end of year", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number]", "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r317" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "periodEndLabel": "Weighted-Average Exercise Price, Exercisable at end of year", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price]", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r317" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "periodEndLabel": "Number of options, Vested or expected to vest at the end of the period", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number]", "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r316" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "periodEndLabel": "Weighted-Average Exercise Price, Vested or expected to vest at the end of the period", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price]", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r316" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Exercise Price, Exercised", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r310" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Exercise Price, Granted", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r309" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r303", "r306", "r318", "r319", "r320", "r321", "r322", "r330", "r331", "r332", "r333" ] }, "daio_ShareRepurchaseProgramsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "ShareRepurchaseProgramsAbstract", "lang": { "en-us": { "role": { "label": "SHARE REPURCHASE PROGRAMS" } } }, "auth_ref": [] }, "daio_ShareRepurchaseProgramsdisclosuretextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "ShareRepurchaseProgramsdisclosuretextblock", "presentation": [ "http://dataio.com/role/ShareRepurchasePrograms" ], "lang": { "en-us": { "role": { "verboseLabel": "SHARE REPURCHASE PROGRAMS", "label": "[SHARE REPURCHASE PROGRAMS]" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Remaining Contractual Life in Years, Exercisable at end of year", "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." } } }, "auth_ref": [ "r48" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Remaining Contractual Life in Years, Outstanding beginning balance", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r93" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails1" ], "lang": { "en-us": { "role": { "label": "Weighted-Average Remaining Contractual Life in Years, Vested or expected to vest at the end of the period", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r316" ] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssued", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance, shares", "label": "[Shares, Issued]", "periodEndLabel": "Balance, shares", "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Short-term lease costs", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r390", "r560" ] }, "us-gaap_ShortTermLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeasePayments", "crdr": "credit", "presentation": [ "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Short-term lease expenses", "documentation": "Amount of cash outflow for short-term lease payment excluded from lease liability." } } }, "auth_ref": [ "r388" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r85", "r170" ] }, "daio_SoftwareAndMaintenanceSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "SoftwareAndMaintenanceSalesMember", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Software and Maintenance Sales" } } }, "auth_ref": [] }, "us-gaap_StandardProductWarrantyPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StandardProductWarrantyPolicy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Warranty Expense", "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability." } } }, "auth_ref": [ "r617" ] }, "us-gaap_StateAndLocalIncomeTaxExpenseBenefitContinuingOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StateAndLocalIncomeTaxExpenseBenefitContinuingOperations", "crdr": "debit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "State", "documentation": "Amount of current and deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r603", "r626", "r629" ] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical", "http://dataio.com/role/ShareBasedCompensationDetails2" ], "lang": { "en-us": { "role": { "label": "Statement Class Of Stock Axis", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r134", "r144", "r145", "r146", "r171", "r191", "r192", "r194", "r196", "r200", "r201", "r255", "r286", "r288", "r289", "r290", "r293", "r294", "r296", "r297", "r298", "r299", "r301", "r370", "r467", "r468", "r469", "r470", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r484", "r492", "r514", "r533", "r536", "r537", "r538", "r539", "r540", "r583", "r601", "r607" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement Equity Components Axis", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r12", "r24", "r135", "r160", "r161", "r162", "r176", "r177", "r178", "r180", "r186", "r188", "r199", "r257", "r258", "r302", "r327", "r328", "r329", "r350", "r351", "r360", "r361", "r362", "r363", "r364", "r365", "r367", "r378", "r380", "r381", "r382", "r383", "r385", "r394", "r459", "r460", "r461", "r472", "r533" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical", "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity", "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative", "http://dataio.com/role/SegmentAndGeographicInformationDetails", "http://dataio.com/role/ShareBasedCompensationDetails", "http://dataio.com/role/ShareBasedCompensationDetails1", "http://dataio.com/role/ShareBasedCompensationDetails2", "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative", "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails", "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r176", "r177", "r178", "r199", "r428", "r465", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r492", "r495", "r496", "r497", "r498", "r499", "r501", "r502", "r503", "r504", "r506", "r507", "r508", "r509", "r510", "r512", "r515", "r516", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r533", "r566" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfOtherComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfOtherComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical", "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity", "http://dataio.com/role/OperatingLeaseCommitmentsDetailsNarrative", "http://dataio.com/role/SegmentAndGeographicInformationDetails", "http://dataio.com/role/ShareBasedCompensationDetails", "http://dataio.com/role/ShareBasedCompensationDetails1", "http://dataio.com/role/ShareBasedCompensationDetails2", "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative", "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails", "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r176", "r177", "r178", "r199", "r428", "r465", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r492", "r495", "r496", "r497", "r498", "r499", "r501", "r502", "r503", "r504", "r506", "r507", "r508", "r509", "r510", "r512", "r515", "r516", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r533", "r566" ] }, "daio_StockAndRetirementPlansAbstract": { "xbrltype": "stringItemType", "nsuri": "http://dataio.com/20231231", "localname": "StockAndRetirementPlansAbstract", "lang": { "en-us": { "role": { "label": "STOCK AND RETIREMENT PLANS" } } }, "auth_ref": [] }, "daio_StockAndRetirementPlansdisclosuretextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://dataio.com/20231231", "localname": "StockAndRetirementPlansdisclosuretextblock", "presentation": [ "http://dataio.com/role/StockAndRetirementPlans" ], "lang": { "en-us": { "role": { "verboseLabel": "STOCK AND RETIREMENT PLANS", "label": "[STOCK AND RETIREMENT PLANS]" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Employee Stock Purchase Plan, shares", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r12", "r65", "r66", "r92" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock awards issued, net of tax withholding, shares", "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited." } } }, "auth_ref": [ "r12", "r65", "r66", "r92" ] }, "daio_StockIssuedDuringPeriodSharesRestrictedStockAwardUnitsAndVestingStockOption": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardUnitsAndVestingStockOption", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Withheld from issuance of restricted stock units vesting and stock option" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Employee Stock Purchase Plan, amount", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r12", "r65", "r66", "r92" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "crdr": "credit", "presentation": [ "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock awards issued, net of tax withholding, amount", "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited." } } }, "auth_ref": [ "r12", "r92" ] }, "us-gaap_StockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockOptionMember", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Equity Option [Member]", "documentation": "Contracts conveying rights, but not obligations, to buy or sell a specific quantity of stock at a specified price during a specified period (an American option) or at a specified date (a European option)." } } }, "auth_ref": [ "r565" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 20.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets", "http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "TOTAL STOCKHOLDERS' EQUITY", "label": "[Stockholders' Equity Attributable to Parent]", "periodStartLabel": "Balance, amount", "periodEndLabel": "Balance, amount", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r66", "r68", "r69", "r86", "r494", "r511", "r534", "r535", "r561", "r572", "r602", "r613", "r631", "r639" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://dataio.com/role/SubsequentEvents" ], "lang": { "en-us": { "role": { "verboseLabel": "SUBSEQUENT EVENTS", "label": "Subsequent Events [Text Block]", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r395", "r396" ] }, "us-gaap_SupplementalCashFlowElementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowElementsAbstract", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of cash flow information:" } } }, "auth_ref": [] }, "daio_ThreecustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "ThreecustomersMember", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "3 customers" } } }, "auth_ref": [] }, "daio_TradeAccountsReceivableNetOfAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "TradeAccountsReceivableNetOfAllowance", "crdr": "credit", "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Trade Accounts Receivable, Net Of Allowance", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [] }, "daio_TradeAccountsReceivableNetOfAllowanceForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://dataio.com/20231231", "localname": "TradeAccountsReceivableNetOfAllowanceForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://dataio.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://dataio.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Trade accounts receivable, net of allowance for credit losses of $72 and $147, respectively" } } }, "auth_ref": [] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r109", "r110", "r111", "r221", "r222", "r224" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://dataio.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://dataio.com/role/StockAndRetirementPlansDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r295", "r300", "r366", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r449", "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r609", "r610", "r611", "r612" ] }, "daio_TwocustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "TwocustomersMember", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "2 customers" } } }, "auth_ref": [] }, "daio_USAMember": { "xbrltype": "domainItemType", "nsuri": "http://dataio.com/20231231", "localname": "USAMember", "presentation": [ "http://dataio.com/role/SegmentAndGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "U.S." } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "periodStartLabel": "Unrecognized tax benefits, opening balance", "label": "[Unrecognized Tax Benefits]", "periodEndLabel": "Unrecognized tax benefits, ending balance", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r337", "r342" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Additions based on tax positions related to current year", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return." } } }, "auth_ref": [ "r344" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://dataio.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "negatedLabel": "Prior period tax position increases", "label": "[Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions]", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns." } } }, "auth_ref": [ "r343" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://dataio.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r36", "r37", "r38", "r123", "r124", "r127", "r128" ] }, "us-gaap_ValuationAllowancesAndReservesBalance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesBalance", "crdr": "credit", "presentation": [ "http://dataio.com/role/OtherAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sales return reserve", "documentation": "Amount of valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r174", "r175" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails4" ], "lang": { "en-us": { "role": { "label": "Weighted average diluted shares", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r608" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Weighted-average diluted shares", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r190", "r196" ] }, "daio_WeightedAverageNumberOfSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "WeightedAverageNumberOfSharesOutstanding", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails4" ], "lang": { "en-us": { "role": { "label": "Weighted average shares outstanding" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://dataio.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Weighted-average basic shares", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r189", "r196" ] }, "daio_WeightedAverageStockOptions": { "xbrltype": "sharesItemType", "nsuri": "http://dataio.com/20231231", "localname": "WeightedAverageStockOptions", "presentation": [ "http://dataio.com/role/ShareBasedCompensationDetails4" ], "lang": { "en-us": { "role": { "label": "Stock Options" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(g)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "825", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "60", "Paragraph": "1", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "55", "Paragraph": "63", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481620/480-10-55-63" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "40", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-4" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "40", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "825", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(i)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-3" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "980", "SubTopic": "740", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481974/980-740-25-1" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "980", "SubTopic": "740", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481974/980-740-25-2" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481440/840-10-50-2" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Subparagraph": "(Note 3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481418/840-10-55-40" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-1" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-2" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-2" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "210", "Topic": "946", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "35", "Topic": "720", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310/tableOfContent" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//326/tableOfContent" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "35", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//830/tableOfContent" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-5" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-21" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "330", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r543": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r544": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r545": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r546": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r552": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r553": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r554": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r555": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r556": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r557": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r558": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r559": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217" }, "r560": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r561": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r562": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r563": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r565": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r566": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r567": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r569": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r570": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r571": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r572": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r573": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r574": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r575": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r577": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r578": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r579": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r581": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r582": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r583": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r584": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r585": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r586": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r587": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r588": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r589": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r590": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r591": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r592": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r593": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r594": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r595": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r596": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r597": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r598": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r599": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r600": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r601": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r602": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r603": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r604": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r605": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r606": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r607": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "55", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55" }, "r608": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r609": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r610": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r611": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r612": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r613": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r614": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r615": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r616": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r617": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r618": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r619": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r620": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r621": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r622": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r623": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r624": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r625": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r626": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r627": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r628": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r629": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r630": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r631": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r632": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r633": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r634": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r635": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r636": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r637": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r638": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r639": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r640": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 84 0001654954-24-003750-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001654954-24-003750-xbrl.zip M4$L#!!0 ( +6#>UA%]L"6F@\ !2F 1 9&%I;RTR,#(S,3(S,2YX MMSXC@2_WY5]S_X^+*S54<(>G[8<6X!NC=_O6P=[0D1BCWW2Z=_46T\Z_?_OZWS__H=K]?+R;:R+/\ M+7*9-B3(9,C6GC';:)QT;U*&2+<;,.V#];/&N]'&W:F^ MU*Y]BEU$J69XCL]5H?_4QJYUH@T<1UMP":HM$$7D"=EA<]3:0"<:>-BE5R_. ME\Z&L=U5K_?\_'SR\DB<$X^LP1*PZ/L$NW]V0DZ"5H6L'WM C1@MGQ ZS7F M%IP462=K[ZD74;FOSB,10'1MFKNNR5@LM3+IHV@_)/: 2/"CSP#G4(QB2]X) M$%+MHQ=K(^?DE!0K=I\097+F@ ;L_?/N:;][WH^$7+3F(ZS0/Y]ZQ'-0+V2+ MI4QL47E/@I1U$7O=(2KUCZ"DV"G;D0+? "7)FE+Z^3Q2N=_[?C\QQ%#IQ&,% MAH.,O?_ITZ>>H$:L.<[TP.+D1XBNN&6@XA)^[/)(MU+\=@:DD/FR%Q!3K%C* M^C%@Q?' ]7R7D:)Q&Q#3F#!2 CE08S0(*T(O)J5:MAG)"*3:!W*/D[G,*1^* M9_UD5WRP%70E2.FN$)9;#(04H^MO%=H !R+8B@4\MX*,YW8ST(K4S? 25\]R_?=/ *\Z!%#N++ M28HA068F62,V-;>([DP+E78'T["F?39=UV-B_1#?^97=#KLK+_P*%WB@7'', MEN KC7]X6(QE38OY9>C!DMG1,$Q$P<>XH:@I&ZVPBT67I_Q?7^ONU\FN)J0^ M][*LV59\6!=G[F_B,ZQ8%(2%&7RY"*5#EC))RW0LWVD@N->L6"Z\&KFNN4== MZCG8YM/VM>GP.5L^/O=;#+2%\9/FO[OA_'R1XMA MA=@TZ>;&\9Y5T1BS*3'[I4;\#8P[[68R^]9.HPFH#'^[-N[!1L$R7 M#2RQE\3N>@[P6!B%>%7D58+V*\_I,;4#B M2!L,A[.'Z7(\O=7F .IPK+?0): +74\7R$+XR7QTT!2Q "DY20G,IRPP(0*& MMM"'^OCKX'JB:U-]V:*P1V$\_0HSS&P!@S/P??*"RN/]TZS'$]*ME_=>GA,/ MDFOV.G?XG./:?$W?\3D_'O*E'$H<^ED=B]_:/.)F(JF(['.ST4*T(9 M"IP9["8)3#G$1_8$FX_8@7ZC1:.(J(3D+ O);'FG+_B4M'B Q7TR'ER/)^-E M&RAI+((]J+N>(),BV-=L,1-I58A&(5F)QWD.CV!?"JOS1!\8.M_@W(^7(M]J M$PB^V88E M=X$8)F(GQA?A:--00%3Z_V-NE\!WW6(E7NC+\2+8C?/EN04C"<;&)(C?NK1Y M40NY5*@;8B&G*:'X)0?%W6"A7\.D/Q)E+7UJB )EBT,&AP7:^<3:@,.! 3$_&$QO..K,"2NMXO!?1L3R3V:J.@NS94/H\ MMRL.:[?+P?=V'4@->;3F\SM,]K>(#^C=!EMC=^61;7(.4C"IX#C+;9D-_58L M!7QEN-7YZ)_?C8> TLUL<=_.2[F"WR-%?_E@H/ZT3T=S5Y4PY';,QL.U 5MD MCH3^M4U'FY19FY1;*Y==SW(;ZNIE5^U#U$U[KZHVJDM>?ZV%:2BA1#2W):^# M:-!)BZ>JHIZ$KXQ!B59N U]076^AD:9P?%WR"$1'!A,I10E&;G>?*+RW(#2H MPBUD%P[GD=OR^U-/ZOG[-)Q4A ME5B5&.4+#\KZ3XM/>R2IASQ8PF,,?]M7"KJE"I>;B40PE=KO116(=J MY]AZZ/35\%2807.5#Q4^[7195"I,18WDNA*+7'4C629LXZ-FC3 %1Q5&)3ZY MPH:Z2MB"U@BT3%Y12T()8Z[\41G&-H>H4_=-!:""1P7:1:Y84E+Y;8.N+D;] M*B"ILXF+7+E$C5*;3U0KT:>C2<6E1"K_PD-9D;Z-J/I(]:M!52&JZKP,T<95 M,[0R&4=U=B5Z^52I N6I"J@I1-^JKQ*D'+/]BA!*W-^!1/MF5N9>6N*T')E2S2S[:U^5P5 M]_>+_*_.W"YS50!$&%K"M7#Y!# MT&9:Y1!D5NXR!B4DDH<<9)"T2W2#!Z#3U9EJO$K \C6 "H] _Q\M\/P/?Q5C M@5::./7ABO^2_Y<.Q=N=P\]H$-AW[_\ MD[$PMLO.?5! M#("LA\*.HR9,8N5:R9U* 8V(QRDPHKU(^8[6>S>S'/.QKED@@IQCM0?&5EU[ M,L/Q&*V"@5_7JG2LO+]1GWO)$Q_@6_I$B,]@DT>8YN8.E2@[(B4XWV?B6:*A M$A'^K1O)=?FE;O^L>]X_>:%VI&,=%?;VU5,ADJNM@OSSVPUP-QX9>?XC6_E. MQ-H11GSIO$$>.PYG_=)AQ.?;"WY2X=5C<)H4:(<>,8NN0IZ//7LIMB-!6@VD M8'<2,&P]F-I-\CIF:,O9P'7^(V68B9,[;XGG[R)6#"S%_@B?6$[_!&E@JIQ4 M;H5%D'T(,]+/'":>OY[N[5'P'*=AE<9;K<%YM*8.[/_X-/RY% ^T]UP+"^7W MYSQ-T?, VB8B-0Q':5VIC/%F2$D[(VFU[9-P\"?-!BD82N]K=/QN#@#ITA6" M796]](8>!?QN/<^FAN?84L.K2C:<@^0N>#?DY\2S$++I#?&V8TI]KHTXZPMZ M$,\WPJ)*Y^:K,!8F5W'[FW[#;+-!>X>\N97C= X_9&EN8GOD\P&WW*"YZ#L; M!VJVXQKXQ4^)CXWA9&8\+/2E_GUY/9D-?Y?/X$H9*9YE!@;'S%XQ],*N'1@P M;SDY;5DC@" ^4_^5UF8!V)(S"P M_.96F:%-) ]O\-QD\)TOAL&/\+[F@J^4X_ &C/ 3(E3\* B7G*T@O3%,6,YV M0MD<3C7X#V_+C8D'K%O:N+P M+C"L#;)]1^2;^[,R\ULQ)O[DYM6FTL=D>.&DH[*YNN QF?L-X?6&HP3*FVLT M];>/B,Q6P:9BYC.^4[9Y)LXUSH7_.[1S>&<,-Z:[1F-7@ 7;#8L_7;&.JQ'% MY/JJ@]Z[H(7WJ'AEP@J"CK<<=+G ],^]LOU$,:R>U$%M3&QZ>67@"1!P63"D M]BML&4MM[<.]H9!_L_JP.8>H.6>-J MR!W4SK%K^T&Z&ZJ9'H#%Y&/46HP<9'^%; [9USY[<+'8U2BL*1$[[-(T$WN4 M2+][\P5O_>T2D>V^1EG,T%#UZ.K;"R%AA2KP<2(>\LE;-=:#)CE17*=5S49] MCGK8\1.F^?H+K!F\5(BMO/ZRB5?>'D0$U^ ]K&(P-!D.1@'<>C^(.%]-HDMO YH\ 4ZRH0#8U)W M?=ZMR<.Z)SGFDNE)O%@6TP\\R\E_E#![[UC-=ESWCB%7YT,$N9;$F"+B<9E0 M<%,T:XR:[(IPN=9(TW<;5Q MS=GVMB9NO'\)](N+8:).EE-43CZHQ@/;W#'(PZ7ZRH@'U=;P5@S6802C]AX: M8\@5ZYE4^0J\![5EYB++I\S;(I)77D8\J+;+9Z]86QGQL-IN""KQKIQ\V)EC MNW.\5Q2DW%$]@*^C^4E$Q7E0.V19<\Z$,J:#:O]@#'+*)JX=W+.SU3>/.'*' M9F@'U?46\9W&:S[RLH3#QIS/WU:6+-/IZ_]+'3_W@M=+?OLO4$L#!!0 ( M +6#>UAB%*-Z"0\ *BN 5 9&%I;RTR,#(S,3(S,5]C86PN>&UL[5U; M;^LV$GY?8/^#-OO04V =QW;2<\%)"\=6$F,=VRLY:?M4*!(=:RN+.:*4R_[Z M)>7+DOT[,1 H8L] M/WRZ/$E(PR&N[Y\8)'9"SPEPB"Y/WA$Y^>7GO_[EZ]\:C=^NK*'1QVZR0&%L M]"+DQ,@S7OUX;K _W3DD1E&CL1K]L'S.%Z-]VCD]^[3Y_95#*!4.4QKZQ];F M+WTZGX%GALMF3DG/.LWVQV;[K'V^&63C6?SJ1,AP(G?NQ\B-D\@)# \1_RDT M*'!CR= 7H_N#:_3G3K1PGB.T<$+&E-%]B4\W<_7P\WOD/\UCXX/[H\$>8PP: M(W-J7"7$#Q$AAHV#A$$A_S &H7MJ=(/ L!@%,2Q$4/2"O-5T@1_^^85]>:3\ M&530(?GR1OS+DWDJ+\G+6:O]T-;7=.<37\D G<12=K M*C:+B*[U^?/G9OK7]5!NY-MC%*R?T6FNX=#AQ/]"TL<-L9L*%T!F2$>PGQKK M80WVJT:KW>BT3M^(=T*E81A+>40X0!::&>S[O378/--S8L?'IRY>--F?FCU, M5R5%F1+-(S2[//'H #ISN]-J+^?]^]:@^/V9KD[B+YX#REYSKV>&! >^QQ;Q ME1,P#=ASA&*2CR.'4".V"5WY83Q'L>\ZP=Y A;.4B]J.Z5?F)\AX-GY&4;KF M"HE6/8,^M#V\H/YBCD+BOR!J]'B!AICL#3UG.DU\C&=VC-T_YSCPJ!LVOR5^ M_+X7!ZJ)-.K (?/K +_N+_7="0[':B>+A1.]4X'00.//J.F$<==U<1+&--Q, M* K71[F B\UR..K5W,1"+O)?G,< C5"C!'$W'UL"T\Y (AA[^ M_$F$J3^)WRV\./4XG*1Y1&6)+,BD"3C2_!JX]%T,+HQ1SW "A<.+L%; M,:]-UZ=%@WR4>D6V8O/=DYJL!%PT(4FSEN^[0N&EB 7],36 %T0-XCQ]CSWW4$XPW1/ M!5(;C+R,V/Q(T+>$/LM\@=B^;/RQLH1RLX7RLP;8TP$BJW(),?RYWU$J8*2'/K.9$?FH54J$ZV*N!@Y$?, +ZA4;KA9-45; MX'*"T.I%F+M80,2EY@1 V8?4'E":37CS1?IM )]&,%FUCAB MAU4&>=8, OS*_XUD2K(<*-,#FVW\ZB)+.JU'288S5S9I8UQ_[GY7K7IP I?R0./)=&DC8 M']*]8 M9&7!VR7KL' RL6J$0[= 0,X.AZCC8S7J4#((T8.8FT_5<*,WJSAX-65.-W)S M.]'82ESG*K9/G'>6 ^1O6R3C(:OFL[95(Y?\[@I2LJL[05V=@HE:6G=R3^%( MB(Q;9Q4*68J\;I;:1S-$.: Y#MTK)OFK7C8>I)%6]S6]]]"(Y*P;NE.5T M(#WI*UN ]03COS[Z6D$5M*(+(P6,(F%#PF=]="%_;8_7A6AL)?OW M[V?K=*_0PVGW&@JSO>V"W;F*"+2B]-5>%.].8C@3=5M:DV@5/U+V'IP@07+U M" >#U**O)@)6BX+3^JB#K1T<0G3!CP0I0E_MH)!]B'BLCQ8L=HH7(L]THI#: M+J$Q(EDP82*/IEN^ZROR%0@M2%/ZR@I@3<'E4!_=93"N>[Q$[^RG%7$:[I5) M3;&)0%K55UX!:W5/"=5'Q9GI=BA9VU'I81L*R5'O4PH M988B%I,O!97&OC9WF1W2GX_:)"2^W2C3,=2!=PP9'[9F^_$(#4\Y]QYE^#A7 M\6%/Z;<[7!:^S4M]G&P/$YHCWF#LI5X)12^^BXA-'9-JWRJGJ;8#*E\3^?P* M=-.H*@*NX[7YQHYK5+8@&%J-T1+$;H*DLNW3-1_@M+M@A4EER4JR:CNVI%K@ MC!S >WTLWT8!G>[I!H64O8""[GH+/_1)O.S:SM49E+[:?BNH\HI)HSY:W/#' MWV6H:TUT.HJVW*RM41UX(/ETA]'-V-XX>$61,BX]!V OIMEM=9JJ*I MMB6JJ,[RN:^/IJYQ1 &$RRJF^SZ-G) X+I,)XX(Q<85F=(RR=%]HDHI;KXHJ M[U#E 4HV=8=5X_O7SKZG&V!V#ON<[['(6P/H#$5?<8"94!>?LP4*H MSQK;=/*L[.B*9N7*8I64H.+6,KB&I,PJD\%JRKM%[E//U$/)C&8$1_-HT/P[%M_UA%P53 9/[ALY+H?]5S'[NT"I#\CCF)3:XVKDUU M7"_*"U:R]OZ=D+0?3;GD2IF\V@IN<867*-$Z^UKE)S]DO.Q/("_+G*P]'??^ M>3L>]DW+_L$P_W4_F/Y^Y ,U_G,A,IQ\+! ONO:M<3T<_UK)>1I=H(R1281? M?"J1J_=[PKJ1-_6=+LWM7[:N_A=Z7? <_P\>X.RKH%[VC"555>?ZB#H]UU]= M6_(.)R5GL.E;7'M,5.T9VOYZW)??NB5^XIO %,=KDO'5'J<=;(]J,=1'7=3O M1ZQ)KH^6WP6AZWY+ M_ A)+U&3\UADCHIOW2BNTMV7] O+J_X+^MH/G= ];$$+YRBON$@?YR+DI6T> M T(2]@)6>CR_?E$_0(2L=7.-H[000W[UX_D<20N-ATY:\7T?Q;69K3J6(]'Z MQ.&#KA6=H,C'WFZ8,M_<(/'2%F9W[H1/R')B9,YFR%4XPV/CJ/AVDVK$SI]D M%4U0]NZMUWA!29UEJ8J0^\M27\VPSK)4>>A:O.T,^X1'45?#)_8Q#CYQ TR2 M"+$6A_N[NZ[U>]J1,;@9#:X'O>YH:G1[O?%]^EGTQF0\'"P_CEY+^;@H7LU-(V1.=6$"R+0=54?XM/N;OD6I_I0H V-OYR/E,\QQ,:P(<\MI=;$FS!3EG'!A3I(OZH:= M:650XN6"7R:#/ 9.53HI1\V%Q+RD4C<;DNQ2S@$7**4YIG;HLF13#IZ+G8J4 M4S=\<6XBQ\[%54F&HM] -^%?"K8CV-]]3P*T2U:=#6C#7$G%W4/Q=36RT:L$?_Q&L&3ZYZ+P/GYLG'#7E4*Q-+H9+ MAUS?(LLD3 I153*K6P$Y M# A54*0"7 ,EJ$S[G"\30W@YCE479(4+RUS%^X@,2.K-$#X*U)^/R9#PI2J% MG8M+TX9HYZ<[7U=!%UJXI%BMP*XQ&U>A;XO0B[?<2O3M2M!W!.@O^ IW+OI. M)>C/1>CYO7@N^O-*T*MUA,/!_[(Q8 "Y% M 0 5 9&%I;RTR,#(S,3(S,5]D968N>&UL[5U9<^,XDG[?B/T/7._#=$>, M;[NZJV)J)FB9MA4K2QI*KNY^JJ!)2.(V1:IY^-A?OP /B2(!$!0)@7!I'FK: M-A+\\@"02"02__C7V])17H ?V)[[]>C\Y.Q( :[I6;8[_WH4!<=&8-KVD1*$ MAFL9CN>"KT?O(#CZUS__\S_^\5_'Q[_?Z /EUC.C)7!#I><#(P26\FJ'"P7] MZ=$(0N ?'Z>MOR7?^:)G/VZ_OV-$4 JSXUIX!_/UW^YA?TIWDPQ4<\Q MZ=GEZ<4OIQ=G%U?K1A-O%KX:/E ,WUS8(3##R#<TB@9O@**-"O>#HSC]_ M_GP:_S5K6FKY]NP[V3PO08QLX)FQ'AB^ MH!!;H)^.LV;'Z%?'YQ?'E^7Y1=+O?V\U"M]7T) #>[ERH"1. M=_JF&WB.;2%[OS$VD4]">&_ M:$H)1K/1"OBQS=42+;T'?FA[WA).+0O@!O8+@/.#MP0#+]@9>D5WG/@8S2:A M9_ZY\!P+SMC:7Y$=ON_$ :TCCCHP@L6=X[WN+O5B!\VQ3J+ETO#?H4#@FF3/ MX-!Q0]4TO<@-XVI1W&(ZX2615A2S*K XG0OH59;32< M]H?WVK#'8.'8QBW,5FC6AO:IPT7>CV=%9+'5TQ.=K 5JL<^IFD+<@%S9 /0 M(.X!XFVUL,V^._/@]HM);6SD;:S-SP'X*X+?TEY8QCZI_;Z\A':]A?:]!K;O M3I%GT!(/VWUQ\GO8 #.0MC&RD>%Y/F2=&1B-AJ]7Q(:/O0=N'A(;4"9BCMX2 M(THV=NF+FT_#*&PV:MXH*\<2(SE'[XM5GHST_)%6RY2U _Y8F8=8[8[:CQ#6 MALQ(SRUZ5]LMJ-=-2SN)F^)N@-6O9"'FC+':;V2BYHSRHA'*BSVAO&R$\G)/ M**\:H;S:$TKV(5^KEU9WYLP^*XF"!YK* 4TAX8&G>)@- MG8&4>ZR'=6&KU0L9M>&;&7!TK!K0BY3<\<;?^=X"9;/*(6M M%MAM4MY(#<>IAR\FX(W*]4*U+K",9H^V"&9&Y(0[&V-&GD<,?VF[-IHF!O#' M+=3@+02N!:P,-^J.+<,RM$/4]"SYW[ERO$D /E;BELK8F ,E?U8;8\I0.9ZY M!<5!2:6>7Y9@D+$> /-D[KV<6L!&J;^7Z#_B63*1(;"_Q]]5GX/0-\QU*HUC M/ ,G[O\[;),RDYHR>="TZ827GFOE?.:@7[)#5W[:ZNWGIL8Q,X+G>'!$P?'<,%:)A0 G#++? M;$PE_<7W-50H+]"'_QE@;"9MC&M[*A)S?+[#@#=MMXUU8RJJOXT:SBE9I^GT MPCA_)S0SWUM6RBW]GD<%[/D6\+\>P3GR#%+$$^87TW-#:,J:$S>$DV[B%6W^ M[GAPU_+U*/2C$LM[5D_/,8(@S7Q5WVP6RRJ3\%0:UNFJ4N*6T9$46.9CK4LQ M2LD#NDW=-9(V<&UYJJ'L2%;I@&19!77@&$GU<"FE'KZ?EV!S4T7F1G'31)L1N,C MF\_.=U),>7>/?O-]ZAL6P!X3CV9P%^*]IG?!2DXM)&:D%2__:G>@!CNI&G;3 M0N/AL6T:<= T4*-PX?GV_VT\[?((J:*304F,K&3C1-!RXRV7GEM3.U0BB51# MY2/S SJBEWX01+5TDA'(K(^,A\P)Z(@N1E$87_.VW7D-A6Q1R:R5+492U5R+ M#!=57&'-!5^N:,&7R13^WZ,VG$Z4T9TR&FNZ.NW#!OPC2'4NLN:XN6;GIC=Z M'.O:@S:<]+]I2G\(?]:4GP:CR>3G/;)'O>6:8^P3$V.(K\ETU/N?A]'@5M,G M?U.T?S_UIW\3,YP&9X7P2&S JBJ: VA M>;<"9S1;*RB'P(_@^%D;2NEB%*VI8F0(IN4\S:H0&J:I>)>::GMDK[J=B%EC MZ>LH/\8%EF;X+G3M@RH5D-K+I0<2%YDR!,5E5-.,EI&#O.WD8^N M0@+?]JS$/G00A+YMAFD$7'TU?"L^I;CS_!FPP\@'U.U,XZYE4VTS;L7&K0D, M?#.<"' QA!H]RV\'-9@5&S*GVK&V7#G>.P!QHW%6U"=?_ZCF-$#K4'ZE5_-8 MC,%W0M>QK1)1[S;.*=W)K^:EFQ< UG;-A6W^T9 M*SLT''R1$AU 'R6P0S !_HMM@H1;'9C>/%%1S#AE'\/]RQ+9#G]AI&;VBQ@S M@PM9^R$I@HY9(-VP,I2K[W)43 M[W(-WMQ)ZB\UCHC5R8-R-QC]QNG NV9)WAP3OZ*;,W: CN2@GI\5/4_ MX@/@_OVP?]?OJ<.IHO9ZHZ>XS*'\+R(<*RCM(SI'\IX$"M\>!N? M^8_C= !N,[HV[>M)#@T:2+RPTJL)YZ#^4H+ZH.K:#33!VSAS21M.XE0LCC@I MY85S0,LK$0(*Y3E^TGL/:,C &>I>5Q\YB117?3@'K[34_5W;@;)6'MX M@_*BM.Y,M/O8%I%IWFM(?N.'?@^"OQOICSP53RI/G -;6H(F3S<3N.8@O-HW M?K//CB6)<\A+2Q&[UZ3\E'7,*3MPIV+%.=Y**U<=WI)N.7'&4M4XQTAI<2,X MB)Q14TL>Y^"6EKR6DT)7@GWL6D2:BQOL%YB]G*;E9^W7&L56ZCS<$A@[VP">^"'.=7 GS9J@3]\ARNT%9GAR$]/ M&0BYZK IOJ4E$^#PRTMDD'L#I-X42$).>-[AQS<5FHA-E2A(]C@4>R>=[ MDG\7DLY;T,$>\LP)M0'6FX&) 1T$8G8L:HMO*O"DBF[5V](G,\"EY()J&:L0 M^-5"Q3642*0X^,V2P D"S1YAAJ@>(1;HG<;5PRKERT GD;@9N!&(J-H/%52DISY/HBA*W;1ZY MP(R"T%L"G[[_P#44[Z8<,QP:=2X:O')E9<0^G$BF."R^9Y"O_*:*_X MIO*)%LM&L[TQ*=13RETH8=WL<0B8B[4^J!\[[BQ(9-2@E$5,+]QNF+DJ M91]1$M3XJH7UV=L<^%(64C5X;N.7^3'<'/[RE1-:AAUG\3._D)MCH,XU%/$J MH(WJJ_)=%196<@/Z$#4_1,WECYJO4U;3@NKA^]!85@3-:312Q.A M585CZ52=")I7&QR3DCH2-&]?31T*F[>J*G%A\]["=@UJ_'&KA?C8"8M1;:SIP"H M00#"T7-2/+7O:F]FG ISY_G;#G2V":.48VS4J40J;<2GV */JOE79/O ND/2 MA;!>$.P08K:A'Q1S$_P&$'O 4E\@!W, N9Q%SL">T2H[->I5(LTW8U1L1<=M MBRS 1'M=%"O5H2#2$#M9W?5[DDC%]9D37*%Q:WWI>0%%<;BV$JD&!U]LR<1L M.8<3ODX=,J6&$HF]A+U8P'!?QV[%(C,L@;S2652IZ,S^XO&$FB\L;-2H 7,( M1Q["D1\T' G=+L,U;%'1?4WZX !(=$Y;.9#H5Y_M *[=#EYB?A3QV=A.,];L).U;MFF*;BHR(\_!/S;ZLW M5XA/4-!+:E11B==1O;EEJ]Q&%7.9(@0=S]PB::*R=F[HV\\18A.A2V'[* +D M@_BE"/\]WTA=HJ@T>:@U[5>\SIDC'4U9%7LN.TY6&SCYQ,'.L0>GE'6T$/X6 M_0+$K*!?W 7%:<'%*HLJKE0_@(I1APU.H4EJ&,8(19&L^0; MZHMA.VA/=N?Y=Q%ZQ^T>>A6X(8B(&6EE400C.XT.32NTD'N260=,#Z!N B9MU$X9-KD]XRID F]R*Y+LB,-7I$C;1VQ]N7[*./QIN] MC)8HK8&T6)/;RR)W"@N-'DXC2#C;V27:S?2;35N-D MVQYKSB%*'-;,+6)RWRG4LDB>F:%,&?LOOX"0W13??Z#''A'>T-^72@2B],Q')JBHFU9F49FSM^P('=S>^!"S=J#D2J6DLH MW"!,KARD8"M'5\UNY-1G328%OY> WUY15$AH+UY7-6Z6X5DH)@-T8H>+K;U$ M>-"8LL4]U/8_;'(_QB;WD/B-46W-Q.\=P]22Y EW9%^\S\1O46&-0^(WW\3O MRX[NJ+=2:]D2P"DDXGW'W9*,JSEK=H3%R;E7?1_5K8E3&]\W3=*;_^JKX5OI M$7XNSRXY**J[+VCT*?%FT7!+T8A[L:G)31F*DS^"OCL&ONU9][X74 M_H/=J!\2,LG(S&92!1RZVC%-3R[CS_!FPT4D^NN*DO:WL MY'&%M;'P&Y0,GY;!*O8G#=&5I9HQF*13)KP!,T1>%/K5'CT(=@0_D-VQ"Z51 M@G)7S2^=R./70,28'P;!P?PP0FF4>RW<_'+CJ5!$,',EXJ3&O6R?Z !^(.-C MEDFCK'3^MA?4+M,.-&M"G6Q/$C66--T0@^+N*^ MZ1*S5C>$]9'LE:^D)(^^5^_=Q-AO4UP_D $W%55FP9*&'ZNW?YVR8&984BBH#PPWB6,/Y YMRFVS,I%AO<;B(*\W @PYYW _$!VNY-\,@-= M'P!T(OM^O9CGL^]+CX!79]]?'++O#]GW'R'[?LU%SS&"8#1+RN]1$^XI)%+E MV%/X$!PGS0.JRKC&M>U$NGRE914ON&(8$9P-WTP/'@B M^S9REQ/4R#&AUL"F$8CWVL@VE<];I/$@:Q0\R;[/U5F/:_5.%X:;^IE#SWV) MMTC<4GOJ0Q!O,/PC@_6E(FDN>R6CVX?[(@RPB.!@?QBAB'V%F1^?28!(I/D5 M$1S,#R,42:\05/*9GLZ+M4 ,B(,1XN4BZ04#=G>C$&V,EX%;J(D[P_:_&4[$ MXT2Y570'RZTI,$DO+=3T8#IIU[4A'HQ[%ZE)>B^BII/420NO#?%@X;M(K>.W M+YIZ8"AYM9/F70_?P;9KBZQXG:,3)]J7F!/MZ[/Z)]J7/Z_9VA_X*QSX\_K@ MKT2 'QI^4@$2Q\1%?2;6_7%B)JE].37>0$"NMG]]603>'T*XFC)5?]X*(*Y=X?<6$$95(W!-*7%K)]34;RHN]H<1.%9_84/*:'LHHJ<.J]!8$'BWO MH31)CCE5U[H'WMPW5@O;[+LSSU]6/&9Q7:[TJ=T_:L.IH@YOE7MM=*^KXX=^ M#_)U-](?#\]:''*./E[.T7K,JU&X\'SHH@V-)6!YU0)/(U76$8T1P6E'>&AL M[R20J#J1BE1M<$Q*ZDA64OMJZE"F4JNJ$I>TU%O8KD'-4MIJ(7XSSF)4^02E M+?A<'G9[FJA4 >;^+I_XB/#""&A7:R"?) @.";R;JX 6X M$?;%T;3)IH5X63/OB3:@Q68ECN!&P4#OKB=6,J!6R,4VEDCH6/QBT_+4( A M1>39WR62<@:YF'!&.GA(?X_^07?Y_OG_4$L#!!0 ( +6#>U@6N46-/5( M (]$! 5 9&%I;RTR,#(S,3(S,5]L86(N>&UL[;U[<^2VDB?Z_T;L=\#U M;NRV(R2[W@_?.6>C6JKN4W?4DD92VW.N8^,$2((2QRQ2AV2II?GTBP=9Q0= M@BP6 +4W8N;85F4F,X$?@ 20F?B7__6Z]<$+BF(O#/[RP_"GP0\ !7;H>,'C M7W[8Q>0ER$YV$?2!@V+O M,0!8<< ,^@6L_J<-+I]@M(7/$=K"@!@%5B_)3WM9%^'S6^0]/B7@@_TC()\! MF_/K]0/XN(N] ,4QN _]'5$E/@.;P/X)K'P?W!&.&-RA&$4OR$G%^5[PQR_D M?RQL'\ -'<2_O,;>7WYX2I+G7W[^^=NW;S]]&_\41H_8GL'PYW__WW"Y7/Y,?\U(*Y2O5N1GWQC_G*F#R6/OEYA^[BJT:>-* ML $A!?FO\XSLG/SI?#@Z'P]_>HV='W!K ,#:(PI]=(=<0)7^)7E[QHB*O>VS M3U2B?WN*D,M7Q8^BGPG_SP%Z)$ CGUF2SPQGY#/_+?WS%;20_P,@E%_O-D*K ME@59*=//DJJV$WZ+(B]TUD'VE9X,+8N55;[7S]\G,$HZ-7F57[$!#V$"_4ZJ MYSD5*WV-NK7V@4]U*^-9'W5KY1SG"91.J@JW;EI>F_KD3U?XWPH*HM<$!0YR M,A6)@)H9E\JG$SN5O)<=V@6I/IF[PZAJ=XRE4HDQLG]Z#%]^=I!'ELTQ^9=S M\B_49/P?_[@(L0.PLN(D@G:22:)&_.4'SN\_%Q4B=*LHTPHOP0V&I10_VR%> MX)Z3J/O*ZB%DKU MV?J8@GA1*#C_>O_#7RD-^#VC^M__\O-!RLF[>!TD7O)VAQX]\O4@N89;Q+&# M3Z:FP^M4S/J=1V- ]]>H548!(P4'6D"(-6#A COLV$O>X"GI]5_1F]"J"IU* M- B4+,*A1&0,'OAZ"0"1$@-*#3"Y4DAD.[@'+)%C3_%G-0#@J93U>_XW [J; MHTZYE_=;9$*CM&M7^+,.^?0G'SYRE"_]KJ9SN4IEO5OXT8#NY>E3[M\]#2!$ M&J;S7T-_%^"=U-LGS\=>LW!2JM"IG,X%2A:G\Q*1 0"HTTLPG>^) :-6BHB+ M7101N'JQ#?V_(QBM X<Y3S2H'1Q/A$0&X <&?T$ M\PMA I0+9&R \6G T/T6^GYV/BZTLT2E$B]5@)$4-+]+84. M%#QA3%Z$VV<8B'>312*E&."H5X) CL(O2"Q\]1 M^"UY:@*"@%HE(FH5+D*#2VH,1NJT$X E8P&,1R-L4G_H#CV'48(UND]@LA.O M(B)RI:=2M2J7#J>XM,9 IU8]T5%5ZL'NF0#CTG)BM;\"%6QP!'1JS["X2I8/ MLPI$!@"D3B_A\18CUKFAH?OM"_SMQS 2+S\E*I6S!U?!XJ11(#$ "F*M!%,$ M)049K9:)@>VO&1X_X;_QEI0:6K43A%#9\B11(30 '4VZ"2>+] @DG3,HBT:H MD),8.:#D*'7 I*(H'R1[,N,@4M:L"2#TC$P]/%(/*=QNP^ ^">T_[I\@;I2; M74*C(;'C(W:K:IF4^JH2ZI<\UAH. Z DK:3(>Z6<@+("Q@MRS!H0=KNS?,_^ MY(>0%WS#H5&)'XYR1;CD"(Q!1U4G 1@8(:"46I:>51#LH,]V4C7S9I%,[:+# M4[&\XN1I#$!!C5K"M8;1IIM:/<$7$0QBCP1B-^*A2JHX*$.@:B5 HT1G$#8$ MJHD#-_;T.C'RR<.+WC991U$87811A&RBD2"T0X9)M0/;I'[5EQ5Q&(2E1B5K M/%SBBFP30'G!@5E7' G9N5_OME;-%7">1/7!25&UZJD)^]T : A4JCDO 8Q0 M0Y]O CN,\)1&DX#(62ZZ"'=!$F$OVQ%'"3=PJ42&E %%L-2R&(,?&2T%D"JP MTA-Z!%)F0+@UX.P!OFX7^GX0%#(W MRJB%E2/=6!G)8F5D,%9&'; RTH>5"_RO-]%#^"UHLC%/J0$G546Y*#F0F8:1 MBF8-""'TX"8"A$,?/J@;=1/=1N&+%]ABWUA$K@$I I6Y<"G1FH89OGH-P&&> M+T9.QJ8//;=AG$#___>>:_=5?&(-R.&JR\5-@=(TU/"4:\ ,8P&81_U6B4QT MJPA! 4:*/RM*TN"HM$_,R/UF0,]SU*DD8-">QC3J^W9CN]%JYWA8SBI)$ 99 MS>EM';&:?F]6-T.!F-( 3#0J5T8(80 I!\BQJ#^339409.L7?E64N%E5:)^V M>?C)@$ZO:E-)V4P[6'G^??KAK.J26/D#A=+.+2M6ZN#L9W,ZN:21J*,S,AV= M_-K$V0 M(%*KS7M!ES"!:>);S6T]GUQM*$2=RN48"!ZM 5B14$\8];#G(0EH,$M6[!$\ M+HPM:L0%,+ ][.2$+)Q04'BQ M'>OI(=;%% *W-GRD;_\Q'$!G--*(P.X:5XX:;Z[O;ZXVEZN']27XN+I:75^L MP?W?UNN'>\V 7,4Q2N(&Z)6)U(&,KUX>3D4*V@WV;#&%8P. 4Z=;9>=Z?V\* M&M*I4@H4%5K5V! H6X5(B9#VQFPYF[JN,4BI5;$RIWR]NUM?/P &G%\T(^<" MQD_D_]?_W'DOT,=6Q'<(F^'9"7+(#ZO *?XA1REHE"-EJD-B+\;G$7N40 J; M,1Q-)Y8!R.[1E,H(P,3L50?R+^C =MQ8<* 74H /1^S5@O]&_D(WK6AEVR1T M%IM@(_PURT?7"+L%*]\/OY%W&CZ%T66XLQ)WYV>D9;?V.%D*MA!]&$OW%\<( MHCT_'2SLI4X0]V@"[WP# 9C2@F@O]PP$*"%/G-G1+<[?I]E%KHL!9O@!0_",'K#+228%(HDZB9JGFKY M>3?_.UM]Y]82+0R81L6:52ZM4TH/]9DEWP4(-\D3B@J>C< X'J$Z4(C5S$.C M2L6V?,O%8#(U "!-^I5A0NF!G99P@I11C!=5;GRC^\XF57=BV:I&99)[X:79 M=R_J5YGT;QY65Z#HN9NTY9.Q4-L63PX;)DS6?*W*8/B=D9UE1Y-]/@32!0FW M4?B,HN3M%FN98*^<^.'/Y-A+O([7LZC#B8SJ>=C4T:=[CL%X:L+9H[RF97AE MG&?@F?!27Q%EW."<>)GF^ ?7N(]E780\K18OH:JLP%$X$-*N6BZ6(\N$/;F$ MBGQW0;N;(%X#F+R/H*%7O?Z M?N5!R_.]!&\,\4)"ZUX]A;Z#HI@L*LE;PWF_/+LZC+0U*8\B65[:K]">S.=S M [#63>M*U-QF]7%SM7G8K._!ZOH2W#_<7/SKWVZN+M=W]_\3K/_MZ^;A[^:@ M5>X^JHY!"R(E;J;$U+3_K/ER.D1FH:Y63]$=50YONB^JLM/96_A&3EL;-KX" M8H6K8*VZA5612TG[Q[&7R#5A-R.C8^5B/#LB?V9,)[G]1$'/3 M,81DBJYD:E3IQB(B#]MU@.G*7)D3AM-%5<$"2SEC^@5N_OT,T(E7 MN@!OB+A M#I]#J-3/$:A9\G%*5*Q3AE/7G1D H";]JG>UA! DA++9OU&Z;9';KK"KZ('E MS%5Y%XVG;DU*UM_)Y78JQFV I0W6N^%M@9SATH!!6Z=;Y2@O1]S7Q9U@2W+S MC$C-QN#Q"L$8Y;Y[S=^;U-,KVJ3(*+W?K=01,Z=N )VYK7O;(J]FQ2?(.(%/ M6 WR"JBW4C1%XOY-P*#8_:Q5N^)ZLZK*HT>V4T+.:^QP\GB"M,7D[$1K M-'6')H2C2"M:35OZ\F7S\ 7[1;J=H=:W56;<3[6[D6JXS1DM%J,)- !/LGI6 MTGG-NV6ZC=+C(6K3K]#?E3.]:RE51C@)%2T&-E7(6)208\T7)J3$-2I8#6/* M#O!B^E+3.5CMDJC88#,C_@YB^X'0&O,#V=[1RP*CP"PF9OTV8^>VW:%Q4N'A':@S$(2![E/#W"M7=1BMDJE= M/'DJEE?,/$UZNLC:RY\,H*,\ 3 "I#8?A\T)82R@=#THP%6)M M>388# 8(.RKG A+.S\6)83]QG&>4NX+U#"?0" MY*QA%& CXY5M[[8[G[36)7+Q^!.MX3*,Z@ N;T8>\LU<:5KP:#(P86UOJR_G MRBZC!RB5 3XXC/5'_6?AF7)TST5N(B/TA(+8>T'L+/8JC&.:V?4 7\6'O.VD M*#U%[V)@Z8B]C8CT?!O-;1-VTD8Z31HOU;DE;0&=DPG%&G6Z5\_H\,08*)2>E?"//VB7D MM PD(=D'U!_CJ[D_X09T-MRF<'EH>TS&R(6JHC;:W,I)J,P?].\K:K6V-UNV MCDDQU9T!.3+LLJ]!T[JK/[K]8@RZH_KWQ:D>R&PFG#*+1!JJA!74X]8#HQ3, M)1N/!T84<*K3K7*ZF=&"WRFU,<"XPONY#?Y7T>T+CU #0"IJ@+,8@YL*'<7SCTMEQ]>HU J=*KP$_(J6Y,"H3LT.-D3-= MF+"-E513#"K*!VY<0#D!8=6-+7KTOBH>_W]!G#KI4AP*\=6L> %A8O+TX&PZ MGIMPVBVM:+4H;\TEBK[*6[S('4E&DVIJ58*DI+C2#;#C3K1'2W70EU\::Y_W M@MSN/B1N@*M,NFZ5!:I+[Y?+G,P!QDN9E,3SHG: MZ"J^=;YG%WP'1L DF7,C+ F[6@XM]\0R@*LA9RG.<#%", MW5S+-D)&K1%?185KL<5(F?NSL.VI"7Z:E)+UF$J##:#DV,]#&KGSW^^*&F%$AMO$U,0):4DK6O)=P_X'_0$&1P\PG0XSWL)_#T*%71RAZ\6P4WX>^ MV!L2,ZA)H6YCDU*%U(=1<3L[&%@C68F M($=237$>+4KY=%<1NT,QPBU('B^YQ$Z,']*JNJE50F^GED>EHRBA?-%[K&%( M*\#-AQ,3_((6JI91EK'2X![GP*S]YM3'XAX_HP / A_;M7*V7N"1<4.>^ZC' MG"RSROO4-N84KU9E.%FQ#W<\U_IPS#$Z5R]TM+7TQ'<<),2AW;KG_&185=ZBR9M2O%)KYDM#UT;S MH0D52]MK7"U!R20TIK.J.::%7A!?T3?RL)ZK#7P; \&%NPTUZ?3R-6SE)7?F'+X'8C=(\ MS33VEVPSJ)Q">@39T(1K)@D5*UN_/,]^]Y>R:=\ 'K89GW#'W>^LV',\2/)P MFA8M*4[5\6U2AE1CW6K9V$WTTEZ.33AU:*VPH#(\F]. 19FRB8Z6B]>R&NT+ MVZ<#XR,*D"!P04#*'GP9#,?3DS^:O63=%*!'4L*G;BV2TE58I]10[ ,.$.'2!6E4O$(.A+B$+&AGXKJ."8Z=A(IE4%&27#%, MYM+AO08KVVH8DBX]?Y<($_R$U/K05%*X#D\I*3L.&KN3D0DA0E)*5EZU8T3& MHNHWY#T^8057+WA+_8BN=Z2NQ(U;R2ZKF[=:RE"'P$[&Y7'92@ +C;6LR<"$ MF\\C5"]C.!-U#IDL8-&),C8A<5!@9CKL9#-76TO1CN$F R50+!*17D.BR9]]>>.*BB(W/J;20H*&TE_RAG&+@36S,P=DN4!+5?==>.!; M88S:G4GL->2=26P,.I.H*Z;^ %^;@M%DN14_)"=O4.55N696MF(X0]R6!DP9 MG93F/W',*X*O.W:MSCQ>G(!/GY)?.?^QBQ-6WE5T?]:+9#-PW;(A9#$O*3:- MBQP,9R:DB?5ND%Q0"1.C/:B$8WC=DR UY*P,T60V4_9,:^/1O[2VG%HVE8G- MC.57HK_D&T%QR:0^@7;R*V.Y6DF-.E:N%8K0*EPPL)J6H4NN_\X,O6W(;3@Z M/,0IQ:MEU]CV>4X)QBQU<#DUX92C@\IR>T2R133P^8V]OLZQ%6@M^HUZP%.-1FCE]VM>:&/&@74>UV[Y7 M27:R>EZK;*C#7*EK[$!G.%.58_2,(B]TL)<1)77'"F(EJ_$^/GF:X,R0V[_F MJMVZ2G6WQH4))^EBWMVDCY6L?H&(X<>*WT*(Q=YR2X2UO/I0:[B MUV?[:(0*A(\1RM95N$ #$RK^]VQ.=3]-G@2#A#$&'OW,&0C8&21)9OGF)4]D MD-&28V8L8?P&^17Z.]3_P&DA5ONX:=T$$L-&6B:%F6O#V<",H\X^K3EJT)B_ MW*RWSW[XAA ENL7=\ 1C=(LM[K3(U$G3/D1D#99>4,2B6,CV1QD?.G#DADG(*SO8+40FMUA4JF1I1WT GTZYBVLN$..EE 0TS"4.X3W4+&7 MH/3U!-9<=\@.'P,JA;:.:HJ D+1Y4G_F::\PJG(Q,.X=5:6W'> MB.1S*IH>B6:RWTL@\V(R7;K*XJM0U#:,>:^?Z:G5=5%_#0%5.6M4=BMCX"GP[MD:W*VV+GLNN@MGB*6,7.%R.F'HHO M%GA?I"H+7:[Q&Q0U_4A\'YYV >.G3W[XK:FP<3V+EBA"H>J"X,$*/7O^83Q< M6B;45937M$TZV>K^;^#3UY]34 =S"-SKB5Q$> M\H]T1W &KG'CX4U!5J=2=V(:]@8CA+6]1.R?FV#_,DMZJMRPG6PC0&DYU)9F ME2JD2G*SF(?E=#[5Z? ?JS?OU-E^(IC%WKWNR@15HU:V38Y>8KRK0=X+2?24 M;@\>JTY4BDVIQV.5CV5FV]9X:D*!G?8:5YXIB*"# $RYR)XS9=-5MKMDSR9X MP?-Y2 J2RW59CH%:/IXN1\B@XCHM-*X6\MX3&C=9%ZIX>C069"P5JLJHZ30Q- MB@NN#QF#&8]9M>G%#NVAV=?M%Y!#0WW;&FUE9Q.&S%0(8%+,VY)EOA/>4!(/ MB)R-VG:T0\Z5!RW/]Y(VBYN<,!.<8AESY=SD.DFLP.-LN)B;[3C+V\!):V5. M]#,3P8[(F1#@'Z08LIQ>(G8Z>H?P2L^/_6MD8O=98WLR5I7QV&DAK=6Z>LN1 MGAI'C-JX:4K0<6U;0>_DTQOZAB;DVK9057;)W,,PE6#>'I>?U?.8S-5=X'3P]B0TY^\]_#!X/$]0M)5;[[1-H,]A["54 MY99;$!ZKWFE49$K33%KF2Y^>78$ZQ Z&/JA84E=#;MC4_8A]BW"JD>=F3HX[G$Y5W>_)O'7627GNO0FY MW'M.)0'K#7S8D;M +_@1'%Y'A7N!^I]*:]GIG9M.\2-KZK \-"%7M8O.W+?; MB!1PF\?OUPR_>V'@($VW]R>PFYP2QT6[&^ZQNPC2#F@),R6 72.%U6ERT71B MQ*O41^I?";?>QU2#3W=*ZMP)H1$AZ9B MP.T>O532&87O7IBV)XXE9^/CUB)V13P:SQ;&O)#05?G* B3>+'B9+.,W"S4= MWKG9S/2M>L#QT(1RJ5UT;KM9V LS?[/PR0M@8/>P6:@5I!W0$F9* +M&"G.V MT7CJ&KQ9D-:_:;/P:7.]NKZ0WBP_D8)JB)]X=*Q$14E(_1B^3T@Z3APK53N=6EHO2'HWA'>&^9S* M!Z0O:+$^\@6RB[+9FP Q^<@9()\A007,777#].7LF!7SPY]B"4XO*"(E_DQR M4CFSP'%S(*O;8"W'CJH%OJN3VJA\"R?5S609[Z36='CG9C-S3>\!QR,3BOAV MT;FMD[H7)N>DGK!_B9+D_\F>_@7ZB&9*9#57R0^KP"G^(4?)2GJ5KR;7K[:_ M(_54\;_09)X[F*"UZR*^OZ=6 _9Z[W PG:JZ/6E^]E!C U0S*K+8&RT,O M%\G1#_T7=/B\[B>=@;UN(%,.$.T 4T_W\0W3XL;--]Q-<%07";K])%]2 M-U^!C,2[VXTJ!I9P$X'BQ[8?Q+F*GRP2Q+I:(][IN M&&UIK9W3W*G0HR7HI>\43G3D:L* ,C;A%CW 5Q03$Z]134&E"J'23 Z!FJ6\C1(5 MBW.QYT-EZVQ#ED:M?ISC-E+#-"$,NE\C8C:)2:Q8^(!>DX\8VW]P'18I3G:V/1LNEJH. M]V6*0790_13]JL:W;M7#G5I*J7^M K FG#>W5+>"SP,[./"#3 #XG8@ 5(;N MP]QJ/3B\2LLM=2(>Y:M=O?*)F44C.%K(!=7"?,.&E46"3V'>J*P1A731)B9V8K-P)PMH /I:JEM);;Z[ MN5W?/?P=W%[1 XCK2[#^MZ^;6_)(5S,=0*K MO::5XFX/?UO?D>/7NZ_K2W"U67W<7-%$/"UNN$RE5LE9HJ,HUEJ+@3,QZ!6F M7FSIH>>5'C9UQ$ _3:?C.$HSZ$W841RKO[!N\VVN;G,J$N1D&KH7N2)!Y4VW MUV4B=<#EJY?'8Y$B?19Z:-LFU'NKTZTR5V)G:T5O)Z_6J_LUN+CY\F7S0%\6 M5KI.LO4^*R)'+2 YRQY[9O%RBY#> M?:/ +JRZ#(HF\C@,T^<+X5YBU:0ZU'T;+Z57(#;FATYOI:6\BM MU!I6>SK23@)KC\4"#1W]RT$?)G3L4G,\SZ:SOK9"#/,]^\:N"0=Z'=6N0/4@ MAA[A%02=YO!.L$[1XG TM33Q(IJ#1R[S:E>L1A9%:Y>DZOM5K($^O5Z?VC-5 M[K)P/6NE:27B^P%OU^D%*MZ^;^[6- " W*IJV-D(##GD>"88WA;7&Y5G95!&A@4IBL)*5^(4FIEH/-&LO9T(BRC&UTK7 M9$M^N[Z^7SUL;JXUP^W@@-$:NGN;[I!/7BJY".,D/EB]?^*AP9T_6JHZP/;4 M 'E$'RF2;?UF[GQJPOESK\9PQ\1YWX-"M.83+>_0<_HPSFT4/D9P6^__-[&H M6MWE5#\LZ?7TK-;[=#%S=68YM=>4"Q^\@M]^O;OX&[F0N[V[^7RW^J+#_>?; M(>5_2;/2UD C>[10U6^-[G]'W7OHR?YG EGOOP6WWOGA!.C3[_VWU[?J_8O0 MIMOYWY=N:9$56<.AH7*.;%:DD)P]:+UTT%+5$4>=]R.M:#7U#OLS:_"P^G=- M=RYWZ''G$XB^Y>L!D5H(;[P>J2%G+SK#H;U056Q2XC9%6M]N':-DM$MTD;S5 M*D=[S]@RX;9#1LW.H(5B[P9%E5>7(M#/EX,7(\;'XJ.$ +O5O?+IH7'&;UY_IR24YR/R\)C[, M[=\V%V!S_>GF[DO#3EI3%TKYI*U%L#SXV1)KJG^-ZL6&/KOZ='.+[):I@Q0S M9IP3PE7_5JJ[WM4M52,\=>^MUC B!<+)PQ1T#]FPL1*3*WS*H$'EPGL$ EIV M@@87%C0A\U].RVKEP8_WZW_[2O"U_E5YX/+^\F=GQ>B?.SQBUB^-=P!"8G8. M-EG:RBH.RY2'E-/VB'Y15%2]H8=DS59;/KTW6)FPD6K6L%H3/>, C,6D/,YK MF-"KKS2!* R$+R=R"!6^D"A4L_ 28H6*=LK @N[4A'IW3?I5GFNE]*1X_H%# M>S1L$.-=OT.58?O_YMC7.A:5D:[-JA?C6L7T;-V UF*L,\*PO::58BV1%]C> MLX_HLT0%.9J!]C7& V4=)QYVUH7/N9:)U(&)KUX>/D4*V@WV=(20:P!@ZG0K M0P33$FSLJ37CXE,8(>\QN-A%$0HPSB,8Q.1]8@Q=O-&C_^FSF5)N=CI"GCJT M'6UT'IB=A3&<3*9#VX2"GCV9489[*A9DNSZW5UGX\%?YS4_=TS'THE^AO\/K2?K>-O0W09Q$ MN^W!1M$(EN-5.,VV,:8PI#J=:J@4>H+"RP=6#36[]; M8FT3T;)2"M >C55U3INZW;7*BHHL>]IW$DT=(VFNEEK=QV+)A!6H44%A?>[3 M1:"=C\V<4=&1$5VT[IZML:D8+02.=1[WTLZ23## M+4RP:)JR4@^W1FI%P0G-"N^#$,2D:5&H@>/J?$.WE9(5J% ^0!FUKXII>*#L MJB@BUQ"<+;4J\FE9D6,K0Y2;A6#"NA/9O-)ZK"UFNOQ8\UH')K3@2>4XD@+U)[ M3#OV07?DF;+P,?#D+T$E^%3&MTL:48QR;V!B"2,SB!8FO&7?4MUJ[#ME!SE^ M[16WXQ@A5AI:#G.U'"IK<3(VA7KI'@9(S&E-;"P\):A;1D1D=-*V3+8,F;PX2J,XQ\!%@*H M%-WQ82$]96&!XG=>_,=%A!PO(?\F"DRJXU :F=VD>"DP6T3.0@+&(Q>:@#)I M1*(39T>H+(&X "4@)H).]*K"B^<,EUROBT>@[!4%CEJYUQ-R MO[(&G4Y&<^WWCC5Z54OK_[JY/!\N3]*IU^C;X4P+NW$!_E>;EK"-]P= M(8?<"6R???H; MY,-BW5T6 \MDZF@]^>O7BEX@C[\"\&?Z@WX?%9SAXV.$'E/W)KV9>R !O1)U MFF5XE59CEC>F5'.YF3&]TEPN7!."6#JH7/5*\R*(4QHQ(:>I!60_(6?GTT+0 M62(LXPTOW 5U%\<*E=B# MR=2$J_+>#*D;$*TF;"4@V"? L.3TI-EME.5EF0S6?#A4=1$H4[6KD_+F)IRU M[;Z7X/F\S1S3Q,VJ M$R^=L652W&R #^08@Q*Z)LYW9N(&UN^ZDQ:];***URW=J8 M"@$Y*>8MC@>;2_%JF=9O+1$L*T8'CMN9R$>SG P6YP=G:&%")OAQVG.66"(# M?,NB%;.9^,V(W**TR&CP2!-4]A9^(55(9>'<29+J7*1.AE9SE%J)R0#+<]-N MMP8+"YE00;FKWM6:W,_I_3;T@07Q;S8"\1-""? .+T2 B#T""Y*0P;H&RTJ6 MX7PB-$G%^!1&E;=I5V1M>62W_"N?CBEZ/\#/T*8)'1_IIK'-6JY0$;9K==!\ MH.KVI=7&3%M+\!/F+9HP;YN3,*\5O";TFAZ'_4\[4YBU'=9A?5TEC?23(/?- M,UIV"%AOM$R5R?ML?H/<)UA)5F@D7MF)]])^Y]U=L(ZA?6PS\,=I5ZEL45K. MX<2$5-6^[:F,)<(/0BH P%2 X0/D#L5)Y-G8CZ7:?PT\/,]\@Y'3ZVAI_15S MAD['!FHSCEI^@NVU9\YP:$*ADY,:QREDD H#,1ULD$C"NS+;WSGD? 'O .D& M#7=[ZNWFZ;(Q"7:!@R* VP%OZ_B.,;WG,F;L?@TB5FKH/ZOK_748O.!F00YM MU;8W(T=(UC%&CVX(_KCL+):E4RVMQ=*(.FM]&U1Y[B6 VS!*B-3B:$%]9-8W MQJS^AKS')Z(XWH3#1W2]VUHH2B>>^&:7Q"1I 4\#M6.@)YG*(UJ/,YX3X-I- M(,M-=D;.2&=5B!.84JD:D1:376Z60^,6IEZ,&82M8P M7@G"@":.X<'AL4*S'WQ:_L*B'P*)"65G"P:$.YC0 JF![?D>]?):CHDN(G4,BNZF\T=%>WFLYZ3 MC V4?2$W2HP9$Y?(15&$'&SW*HY10K)'NL<@MI2F8R1T,I@_"%J)8IO.P63@ MF!!&T(L1=1&,3BJ6+@F0"J8!U2:&WN8/$G SI(MA?!?Z/O84R0'"$0=.<@)U MGS.U,;OY>$E&&H72?#YSE44UM#]5:F]'W9#8Y23389$Z2.8,A'OT2"Y$[] S M.0 +'C>'2*"/;^F/+:Y)VDG3RJ>C&<.4.CP'^$$=4 L^T6 M1F\$^.$^-#(?6F:]@4<4/D;P^+$;R*0\@#"=)*C M]WV:&"T>\ 61 U#>22R?3M$1>9V2^V-O'A$[_[4=.-7I=DJJ5ZDSFW& ^Y.5 M85PY\#E!44/G\Z@4=;U8P7W'5TG2ZJK69*R]VYN4J]9+I_0G[/+[T$VP(T>> MU_T"O2!!I%@":D" !).JZS)9]0_W84T<;"FW9GK+H'?1M>)VI.QTLYD3T 2G M$[J;:=FOPJ)=_HU=/@PGR[FJ>!>I1V%XRE6K[)VT2NX3"=/7<>E4/-73Y=*R(A^NBF?:R8%(:5BX$*!-V\1D:2)A2RF=:5?B/ M;P_X$/Y.R%$GNY')AP)R6M:/7.*<=(*\&#CV^ \)YN M>W 3('L7)^$6137> 8]*T;0C5G _XU1)V!W&TIJ-M5=T:U*N#((AV).?I,,? MOH42'_RHQQ/IVJ3J]1\M#M M'"*6D#\;+*#.2&I)] +&#^)#*,_*81(3I4"%/#?V7*_'"P' M)B1+5C6J[#@Q!3U*M,F_D&J +[BSR6SRA'R2E 5<%DL,+!C\H1L$N:=&T\!. M@>$\0BW/Q9;4%+P0FU*EN0SN;*K*1ZH#3Y-^=>_ IC&RIWI8;+M-$WW7>\"R M-!'N85\=N;)'QQI5SCU!)J1EIT?(GFN-,6VG)2>N&C.F*9V'"2?-Q]$]P02) MYWC^CD2SWN.M7$0#^=:O)#45.9]PAY*P\%V2%G H/S*ZVA)/3#2>^I&MW]2>;?-+NHNG_AS1,UQ(KFWD9U]S.OD)+-:',XG&H_8Y+4L0R>E,V8)P^J M^G^.PCA."Z5S)XU:#FK]9#X86*J*BDK<+[=1N=QA#Q%T4/]/"AV_0DIU7*N& M4+JFG0)W)E2DDE13YO3H+$OX)+6JOM'@$OR?V?O4Y$7T_8L&N@^:]AKB^>TR MW%F)N_,YYVKUX&PG0R%6NQA7@&X; >E3DX.);4+YVB-4+T.<%! %L !E)Y68 MFU:U[SPJQEVCI.VLFF?1.:=65:^?40_TZ=YQ:"]U!NJUUU1Z^=;WSH;&'"L%310/8O2)Z4:52\])B6DSU[Q M=NL=QR;4 M*>FJ]Y$+XQF@(C&V=2^1<@U BJ[@F=:KW'!V%V,:O*LFML?W008%RG@V7BZ, MN!TZ2GM>!1Y&9_"J>Z2O;L\&DXDJ;XGM(]=!#ZML4?E*OB^M,VG(%G+_/NT= M_/8%^QB1!_WX&B4W[AV*4?0BG&MD&-7-+O)FY*'8S,4"?NW!5&L&25=]*W,& M_ :V*9\IN/LMC/[8!'@[8J.X'?#J.#4@K]D0+O3$;*PRH3-;#DT(!&NM<*4* M+^8[]X+S9\9I"OX^>8$7/R'G?%_8&$[T9%]C9P*-N=$LIGX=0+0-[]&9J6S,33L%;J%J]S84Q M>@I);'J.43/0OD#[R0M0](;MV=?TJ4-9'8,ZB#6KG<>7F)J=RB XM$U8+F3U M%!9C.DU-'I)#G6>5#!1XQ+5LM)O; U[ZN&1[1E%"'PQ,9">@)B:E%VT2ZI>NVFHXV%9DCN:6"7%, M;73E% FDO#0_:X\V\$@X=9]:V_9NNZ-/)U^BYPC9K!HX_G:114KTU2BICJ13:+*[#AU(CW3$YC%3_\[_ I/(L?OJ5E+R@T M1+ WK*-G%_8.6HQ4]:C$7E%>8;DIKR%F3LF,ET>HP.PBB;J9AZ=:'C_YW]GF M:F0MQR;L \6:E8&1I^SGH;JC$7&357VF6]+L28&W^IC=)B9UJ)%3/X^C>@YV M!(,>P?_KD[K1OT'RNG?RAE?0: ?] M"Q_&L>=ZR*D'GS2W4N^_C4&E95&&E=4_&$Z(+R%;Z)D8PZ1JB*5(O4.-2K+%*PHX,QVYMIK M4C?H5LE$)^1&/ =)-:&3*,H_ZI3.HAC,U[C?ZAVR-A(4>F?M#2NX:O+LS!<: M3ZV1"7$NG17G8E17:GO'7FMAM^5:MJTJM%$NU;VUZOQI!3))!CVD=M3\8M[4 MH@2?)E0_:ZDN+Z2<(C$GH"9:7/DF27Y/Q.ZVQE-GKLKKE,S,E%&WLCO/]N6D M3(%929GU_21EN_Z]=TM8F7",V*!>96!C7 8.C!QZRKQ^35! RBEEN^I,#$CE MZ,X0X5MW2T?8)K C]Y MFN9RB^H[$;[1R*P6W99RL!NBY6"^./F^6#['LHW*E?#G;$*Q?>AM=7NSY;!;+(P=RVKUYF3=DZ80(18;0*3EK*6'C%"H_%$U5F:5.JBC+(U MVRQD4M9B\6(W_K1+=A'ZX@7>=K?-9K/+74/)M[9"=-W*RYHGOJ5ODL#6%3BT MIB8\47",[I57E0:CR?O ZB9X^!;^'<%(Y'UUD&,<8JM&=@#M00B[(!]-1]"( M6XOCU.= =_INH$O>O.H'O#E))L*W8F@W ._%L/5W,AXI"]WL!\(" S@@GKT7 M$'_"3=D+AG."#(1PQ$-[1NTGE M5<;*"CU)1$-TTKU20CA,M-=J:=E_W9K!P-GF6$":$/[05M_*R?)> & 2 MS@"3 5(A^]-C@,7HB8P@R5T("8+]OP:.%],"7%/,R,==>=D'54U_?19BJG+0-P;L(YRW':5R8X M)NX,E":Z,Y [_,Y+!4PL8')UWYD)FD%J-'])1P0=AT'Q-7^I/7'A3S&#RGJ? M36H7*TJ*J-/^7"PG.E\S;:MGMPYSP#A!;\3[B/=<]';XT]> +^@ MK54Y;*_^K.IM\:I*A[?$#[^Q^M!#-#[]TR6-;X>+M*J\%4X(-4\6]V2Q?<"3 M&)WH&N)D1<3J)HEZ=?,3!)\R'71SVXA;:1D=*RGIA(_BB)ZB#9@^%YW!XACD6,C>?0,N& OC=#*M,F MC)^PL^4Y-,9;=-9@0F+M/W=>A!Q2GSO!QKT0XQ-LB8>]1-HF\6^(-!)R5GB+ M!1\1;BMWYU]YKO!IPZ-$JDS"/=[T8FIN=WEL\SF"$R->NNC/DDH>3LH&(.,# M$=KB$7<8&084>"J.]Y*AE^E)]!U,T"W";2ZYB981HVM/+6^B>(O=+(.=R2(T MFYJWXVZK?2.LLPL+@#^B.UR_Z,!=A+$(L3Q"75YS7DVQQTRH:,] =XYL$YZK M;M*OT5.V,8MNIR!S\K'S1_8!"P#*V W& ]IU)TKY?D8/$BW&Z]A*A# SSO$>Y%AX1XBN;?!B;%99X: MU:]4=A)RL+A =SE8FK#!::-K)2&0Q"R"^B0>Q1USC5Z3AV_(?T%?PB!YXD=1 M2_"EQQ<#9*O*N9*YGVJMN(D)5RUZK8/]NF>&7@%H1 1%&V6K\8GT4NG ?@:2 M$%@(W$+/.0-DB@$W05U@HA),XGTL#&P/^AOR=,B.*%ISTR2D5H>\!H7S8!.0 M,J]S/'<&R "022G)>3*.,8$#%R!LNF>X9U*O=1,XZ!4Y#R%-K8]B4F _>6/_ M6P,N66:59P%MS"F> ,APL@C[Y=R:FU"GJHO.E2*)5 9(A8"'$*1B ).0_<, MK-XGH?T'TY=[8UI#IW#G+U*RL/$O$Z7//$_G,Q.6T0;U> ^=882D2/J=L9SF MNGR]??;#-X2HAK?8YB=RC8>U$5^A-[(HNE:75'U_U=Y SY)E%\[0T;DS:Z]I M!3PI,Z#<(&,'A+\G+/7P5HM++M(NL/\8>=:./AZ$U4M5C\@):T1?&(+16YZH M-D?@6*$JWX/IP_SB"S+'2$SK=+AS:,*A1)^VE ?'9##\\,>/X [S1_1A4G / M7\@[IVQX;&%"GJ9\!'9.KB&OV=QB'=B;6W1;=1MBKW=O!OXK^0.B;43^\!$% MN!D38E7;J\KIX/KU[1:)'X_@E&E??I6_*J>A*CI3&' MES(D&=/Z#3.XU!FW<(3*E;W=00J(J7L%]Q)<;&7429#V]'^FG$'?2O%@ZD( M$+HIJ #,I-#0,9?E>S\202?%&SG$#0,Z=-+GAQQL!CG9("4'L1L6>S$)F*AK M!GD9BE'8UK@*(&4%,.?4FHPF.I\ZZT%U,4R9O'3SF;XWQ<(! M["9P=C9U1E*#Q$NRD%01 !M4W>-,0,=.D1:V-=)YC"^O835#)&/*D'+*I5.@ M(IV$D?,KPEZK\W&7? T\7BWC;B+TXJC)M"9\B?A9KTY&EK+G2MKB3DYS:3RR M!9:6U@"CP7!Y!EZH9( W'V"7RC[-AH.> 6?V?(&OI*X+B2#C.KEB8E5;BB9U M#WL($66:<#0?CI>ZP26I(_\&Z ":+6/L(7I9 )+LC)=A/[>BI^&I\)'[&*,4 MFR+@M#!A#R$)'A;"A*8#2V?UY&[:5AZ5S4[RTSDI[VF=U/1T9!L>?]7,3'22"1AL"O7Y'MQ>@V\FP^(/ATBN!0 MI^0>##PBUM*3A:4?"LWJ5>(QT^0"Q%C ,^51< B5VS:R8XUL\]A\)%+#JN4@ MJM$4P5&4D(_%QHVF%219]9K M@Z@X=.H@)50R#Z0*$;N03I0E)>0WJ57*L,3F9J#Z'H1.#^]"OV:"?L.7) M1(O)GU:!D!\^$P2O64B!N"\DV-CSVO.!LU!UF"R1I=!:[THQM%0 ?2TM M)T)W;0CY;FS?(DIK/9P6CR,3(A1:*2L+0)#RFQ)#=X]\+.[Q,PJPW^]C4U?. MU@N\."&9RR\HU;9^36HI0V'0;Q?C"@'!;02DQ?K'$T?GD6,/JE?RAYFH,Y * MHY@NBM.R*-(]R$<8DRB_+3&'>G/NOF3.%)E3>DU2S BMZ]RZ= M/:!\G*_(*Y>/="?W\>U DJ:]K[[!R$FO4'+Q5NSD07Z*..(C+-1A,1^ZJB*( MV".A>'\;)>WGF-XL%1_VA(S_#.0#X"STZ 6!.0^/G@QLI^X%M754WNV(-"%! M\'2659\-I\X!%03R'P.YKP'K#>3ITB\"^LFS= DH#MLSP#ZL??MR9$O22_EX M$]S2J?-S%,;BDI\G^-+[&;$U#=7GF.5\AF%[.79/__J.@J';:*#$\IE&DIPR M4FC]BB)R_\>-7ZO2J(T+JBA7#@?:$Z2% AU+V0ZO*0I(H)I$K^\YW_F4^RF, M7.21*[YX%3CKUVABH==L^"$[(>54R)^4@$[VVVFRG^6XJO:62K#8S7P)B#+! M9.9#J622<$M"X0%,:.(M!B[AH#FXU-1W[O*T1;&FGGQ/#M#[F1B^ T^HM<$G M/89*YP]R";G.32#DSVW/J-X?P--=($G=50[PRK=9?X^1.U65F:]SY6LP7WX+ M3_.N\5*7+G-O"$;?YP(G!*NF#OL.%CCSQK\)CXDH-UC? I?3Z7TO<+F5NO0T M1G;22?-53GR<4/=I-K]/I]9251B'^AM\>?M%[Y&<9RE#&2^@S'^:6WX9\.KI MO_>TW+V3V<"(R$[%]JJ+*=@_<<2?4HP/-HA;7?Z>8N+H4P.#)H_^&[;5!-+? MYUGR+8)36V?-$^V&M_8E>@EYT#\!9&9IG0-:*O&.IH%.S=OK3-!* W:Y-QW, MG'>QASZA[:WG@S]-,(R&W<61.ADT7ZAH?*4!-HTCRAG:8_M[V*3TV!2M)Y?O M/$S'Y/VU-9]!5U69 -4A/?+6'W76]J<(^U$-XN,T8A.2.["@JL1V0T*$Y!NE M->3_;QA1MU%A% ;>D[OX74Y*0YWE[4UK!T/"EKH?@[^_T9.[SC9D]$AJQ)Y/ M0XO%4-5VRY#8)_E&Z7JJ\V>,CS)GY996ZMVOW.][[AE.O]^5NW4[&!*/]1XN ML*WFWK):GV7()FZ]=Q.U_/!$&.A3P?T1_B/U8U;-8)TW>SW1U1$/W M.2]U4(,---N>CHTYB=79 /W,-*WV$UV:O I$&XM4X;J145 M4FI6>%]224R:1EE8,ZB]N)*LDIPJW2E?^M0HY7Q?Y^OK?^Z\Y&T38$MV-$R/ MOJ?^\ 2#=$Q>AP%[9_ $"8-M/\["'!93=_"]I%0=UP)U3X,;N=-3B5!=7?0N MCK;?W[!_UY57.UM\BI-II@S(:0.H.GCC!(/#N?5>I7=?K;6Q]8N)*,H[O_SY M[V'^X#>IFNFC^&U67QP-Q\JNVO5,(756EZ>1QH2H=XDY=D*D!W/%;[.KQ9DU M'9X\&GG),!>@1X@5T..DUAE?AAZC_6Z7$CX&-?7$][&4&#:LC3EH4VFP1C\T M/??W L!T>FUJL+_RHF>6W?7=KF!" M/.KKDN]C'3-RH+_K,, C;-:XH.V5^G[7-.-.#Q?SL3M2%5-VVE#[X^RONS)X MSZF?\JU2NEFF1R&7V/_X!+WH5^CO^HW8[E$O=O)EUG(XEKRG>)^^_D?&0X70Z4Y;V8/!OQ6WS?6K1QXXS1WAR:<"R@RLSR OP9P&T8)(03NCJR&P,Z??)*T M[B#^;D16E M9[>OR,%,\H3[1R!Y/GQB]OM/X(FV<_1/_2!V'T 71 MP:V(Z4*Q(Y^@M?#(?HJX&NSO(?W,2<92WANBIJ?A&;PF$],J0GF3LGO(B@A9 M7=;1?#S6[I/*J5@&4][U3''R.:_PJ\C N\$#8RT;/YN\>#B*.'ZR:P MPRVZ"N/X$T8D*:+H!3NLULTS2I]8_(CP1(,8W0-\1?$E_A>\,-F"=C]*HKHA MUX/A^4%UA#B6PSA;#ET3-@>]&5*Y+OKI_B<\ #(I[P_WG_!_>H_EG4(? HU& M?H\7CBU7>4QQ9C)^,EB?\ 'BWWK1X#% MQ5ZOT6S"!JVBR!U@Z6[F?E!T5X*\XD<>YA[+$\?^(_5 MG[N-<9E0W4=M"4S0*G"NL/0>T-Q=G,*#LB--+IR#=93%LA_' ]>(_7H_5E3O MJ[%4W=,TVSWU,$UW$*1PFNYL9F&:;BV%'6,N%HN!SBNXOO07;+TU0_AB%T4H M2 16"9JBB4D=-.74S\.PGH.5P;? UL+#'?]SI?&)"Z'8K9ZUS(.>EJM^IM]AVLQ:8.F-; MU1[Z!456&*.K]EOIHJYM]L6FG#,5]_L",U=)NILB[N$.:_-VX,?^8E.;]?,- M#:=-?38.%_E]?( M6(YE01.VW2=D.XZ:S/95G:#)Z #,&,JB D_>4(15MYK"Y0\\PB=B_W[CI\<4:1B2C MLN4ZT2!*^]"0,E5B,-3*866R9Y,I-"?"Y!@+1+$E3$\' QUMR3^\%\\A+QRS MY<),K%^'@8.V=_9^"1QKNT@("7'Y6'V_FND-5&\4V!RNM M#:B\@$!8S)SW:KOSB 8Q8!8['5)-.*SMI'2E1OC:=1&>NEY0=G& !0)RO@&* M8L_2NM\YR8"*/@.K;;@+$CW/R_1TI#N;3R%4=:2;H*C[@>Y>TYH#W0_IB>Z/ MS9OR$W;-UR#:EV[!MJ1&<,>?@)0YF\YL,%,UWB0?(Y'2MUJ:ZL"4/S'!(RC$ MW65.#;F&CI-K"Y73?T](,^$HKTF_ROQ=0!69NS,6/?.Q0'\\.44(>[4D=WGG MDP1B$EI]BP=;Q#*;,>UM&'O"4)(^Y++@#'ODNB\"1M&;&T:T[*B@->H8U,U5S6KG\2:F9D'UMN-8)IQ:R>K) M37&AT0>9 $ 2)(&=%V$LT*Z\K9>P$/&;X&LL"C)H(\ $((K,D@-FF9MM8P;3 MZVK_2\L" DM M$=)YM5>G$V\&.EF%WAOWMS#R'7$G3G5W;H-N MO&*Z),"-,IRDMS\C4B'M+19W=9E"43_S%=MW[A.L7+W MIK0GZ=CU+L*^24V_E@@4=2M7K7VO%GYEF?3.8(PLW9U:HU=E@:6D6O:#=^@% M!3M^1''V&SNZ7Z#Y3-6.K_%^D:]:N5VOL;,=0[_N=%B%TWFHQE+K71[(V*9U M;(^0JB [B5"21CTK$2/[;4ZA'HR6OF#1K[SF9[^PAP_FB^%4U:F51(OS5*MD M3-X\K*[ ZOY^_7"OJ&5S#5.9JB_"[9:$[8?V'^3%LQ<\^(*$U5^M3-PUM/_@ MU[P]NM&=T*:OK]'-3+4U.;-XO9)_O=C%2;@%:Y^6OJQQKI7UP$,$';2R;1+0 M$M\A&V&=+1_AJ?#&Y8;&RW.9TRNRZOZ5!?80=[@8OVY'R/$2=OY"@MM342#: MRSH#M@_CV',]4GP]SDYN3>CB6YA@34@H9GP;^I[]]H!>DX_8T?NCTJ]B4G,Z MLU;'QA&6_\,5_C?\Q^Q/^'_(B?Q?_P]02P,$% @ M8-[6&QA1F!)/0 MC5D# !4 !D86EO+3(P,C,Q,C,Q7W!R92YX;6SM?5MSXSB6YOM&['_0UCYL M3\1F)>^7CNF9D&TY2]%.RR,KJ[KV!0&2H,UIF723E#/=OWX!ZD:)! A2E "Z M>F*Z,M,&P/.=@\O!P;G\^W_^>%F.WE":14G\EY_4GY6?1BCVDR"*G_[RTRK[ M!#,_BGX:93F, [A,8O27G]Y1]M-__L?__!___K\^??K;U?QN=)/XJQ<4YZ/K M%,$LY'?_+_;40^ M,YI^NI\L1E>K+(I1EHT>D^6*D)+]W]$T]G\>C9?+T9STR$9SE*'T#06;X991 M_/<_D_]X&-\(,SK._OPCB_[RTW.>O_[Y\^?OW[___%W_.4F?,!Y%_?RWKW>/ M_C.FZU,4$X;[Z*=M+S)*73_5==W/Q6^W32LM?WCI&1-5[7UN/_[H%'^_HIG M9Q:]O"XQO,^=OAEGR3(*R"2^@DLB@<=GA/*LF8Z&CF>D[0'/_#A_1GGDPV5G M0FM'Z9?JQQS_E^P3V2RX7S47B+]X1G$6O2&\Z),7=)=D MG4EO&.Y,.&;A8Y[X?W].E@'>AB?_6$7Y>R<$K('.* .8/=\ND^_=N7X\P.FT M/JY>7F#ZCAF"#YHHQ$LGSL>^GZSB'!\W#Y@*/T*-!+<;Y72J-V-G<^2CZ UZ M2W2/\B8BF9U.IVEZ_^OD?C&;3R>/3934-#W]^P]I@O>3_/UA29@?!V16OY*) MP\$:GKZG4SC#FW.*I9"N4' 702]:1CG'Y&KHU@-=ZWTX?KI#^.#'6]M+E!QJL_O%]/[+Y/Z:8X;7-NYAMR*[-IZ?JYNAUA>\4^"MXD3^E\*696^QN M/>R4A;ZP@#^:UWY-TQ[X@I[(', 3X@LBV%Z?(W\:APF^4W&)C:]['V>SEZ%_ MK/"W)F\\:Y_6_E):0K_:0O]: ]]W%T0SZ G#X5AGTGOX".;HVL?*)A,O23%T M;L)8?W M 5Z]DJ?SF6ELUANY>I^92NTD*K4+4:F?1*5^(2J-DZ@T+D0E_Y)O-4JO-W-N MG976XQS4-"YH1I=ST-.X=!E=SD%/XR)E=#D'/=P3G:/KV6T]O =;JU'H5+^F M*,/C%)WN\ \..J ?.8H#%&R'(?3S^5OE44Z:*NO_4T>?]CY^GT9%R]$#?$*C M\LM-0=66KF7B'Y"R)"YFR9$_%Z$DPZ04CF09\G]^2MX^!R@BWGTZ^4O!LX)? M^!^@^.[8R_(4^KN']27TT+(8'^ V1TT^GYVF28Q9]3Y'3Q'Y)KX,PA=43UI] MRT,*R](IL7GU\*=ZY/_'"UWX@_3Y(7&J0U? MD@9RR^S#G[HF>QN-*4B\>J,!Y3H%V4R=O5O< CUO/V ML 472S4!+*T#;#Y>\(II,X(&[WE!.6VIJ+U:8 M5C -4 M!]]=1-R% MCXU4R)WD :51$C"5$DI3/F:+N/DQL0F8X(7Z>8UI>$I2YGYRU)"/PR(N@@Q< M0F;Q6OMS":\_%:Q$6Q$:- CA-]GYO?I<9\W!9Q MDKAX62[>FK+9*B\"QO$!PCPDF?WX)"#B0LF/6H P'E;>,O)OEPFDV,AKFO&Q M6MP=L@:3D"UE',PEWR2IDEZG6#=WR>$T6W7//WX1"#B=LF/6I .?K]Z\=AFP'(K MOE<8<9?)*B(!;"5. 2E>9P5?BGP U\1Q.\7G=\!\JFWHR,=\<<^*7+@%R&,! M?TP##+ (22"T-<]Y:A<^&8B[?C9@%<#]<1!@+F6;/^ZB&*DLSM8@]_EQGS<%G?QI.(3Q^OB?)FE M#VGR%JW3EC4QO-*#C^OB[J!LI.)8_Y!D.5S^O^BU29^I;\_'=G&OFBR4EW63 M(,2D"-+9?-B"C[$B+J)U2"[*RJD?IN-5$.%QQGF.LC5;Z)=.5GL^-HNX;#:C MO*QCVIH4NH/J00,^IS015\L:'"+X>+?)F$3P]#9*7Z8! MDZ/;)GS\%''SJ\5R46X242X?GI.8:4ZJMN+CJ8A['0W11=GZB/Q5BH].5?,6 M)#RBGJW55GQL%7%YHR&Z*%L7*20O9H_O+UZRK.?I41,^AHJXG]5B$3)))S_\ M9Q@_(?IQ7]^2C[C MQU\FD\7CJ;%L(;;]R7Y*;7X 2NF5;Z,80XGPD9>L M'PH906^;[CR]@:E:CE\Q)UX&WCC+L%R:@1RV ZH&51@V+9+*5.QWJ73A\>%B M8H/;AZ")D\QF6?,*Z*@Y<'4[-!PYY$3A,D,B-#3[0#81@B$)R\G_2*:A-[A$ M1;8I3&'DX^V._*)(XU'^0:DE78 G#0LLW3;LQB>)2PJ:)KQ:>?<#?A^4UV%> M5(/!R4\*/1C59A6;A>/E,OE.3K?;)+U)5EX>KI;;IG4J!QZOZW (E,/O>$) MN!?0^X! $0M^F[KMO90XOKI^RZT "GS=:[2'R":ZTV@2M&F(A;&S>:(G2-\65\U+XSZ]D!3 M\?JHCXH)6"4L4IZY4\ZIQF M#%H_X%C6X 7'";$4ZBKH""($UM1MJSU^CMJ"T%3-0#ZMH>W10X-5BI.50\5K MH]J!T#-4?>!Z 0-6*;+VHG\[ U0T>?*4081%RZV)]8EW^7**1;SAK(Y6@M2 M?X7+59UWY^YYH=(8F&HHC2&8@]V49Q,ZKE+TL:C-<),3J$$XQRV!JGBN(\DC M25?)4$&50I1%B&5.RBG$*)C -,8;<88O&:N7U9*XC>(;?>1'C#VON2_0U="! M%6C#$ET+F*4(:$&7Y"UEV^I;F-7/*,ZB-[2^-]XE658X_> +)/,&W68@@%Q% MKZK&PQ)S5\RE^&LYE)4V2@IPD>+"BME@6))CP"I%:7^L]]#N[Z :IKK27*+ MZ"IR;I"E:/)3)X 4X1L/!5>?41[YYEPD5PO89;-PG5)UA\1CV2.NP#%"T)?DL";3@*B M(A)MURS1=9.\X,L1XS)?:0M\I/BR6#&;>5U_FZ>C$BR;1T3*VX\/#4%?$279 MP98+]$[ ,*W0EN0H8K"]?B5QX#K-UGQ*Q!+EL8VK+XD(,5Q)'K09)TKUM:T= M/+'QGX<39YW*?+S*GY,T^N=>D6\R+Q_W Z&'H">-48Q3=NV@"0X//D;AL1X<)T4M=F_N(HZ:&U$M>X 0NC8JB0!FB>+Z0B3V/C+EG4L M:)A*O8"B.XHCS7O;B<*J W8%_B/KY/[ MQ>-H=CN:/4SFX\44-Q!A-5J;XW>D-AN**!V [5IN-3G#I9[>"D]9QMUVVP)8 MCN[(8@]J8B7E#>T(B5C%[CK)L+KY)4F"PGR,TK?(1]ECLF0>.K0^>(_V721) M9',G\7!@$ZO1?4F3+'M(DY#U'EUJ!!PO4.PABZ0.S%Y-&]9CUL[#1[N<';]C(I J\WQ+(.*T8W\IKG M0TF "*3='QB)9+4AT6Q1CB$E,Z#EZB."+P2):Z1B'R]0=!&)JN M)*;UCM)LB51LBH\*QA8;)]!,U;*'O?3HH(::\F.':.]9Q"'3?6. EM7A[T$ M6;#VN3T&+]<6RDZU$S#"$&J-Z6>')N<*/+&Y0HI$KBC+UP1NT-TG<;*EO"'M M6'-OX!MJ&$CB(LDCD%I)MD):RD4BY,H(HS@CT% VBQ_A$O\1-N6$H? 3G"WD-DE1]!2O@U/\]Z(B*"QJ4!+:">E7*,1MF.[++08!R+%M M3S;MJ*U];F/T1%[P!*YCNNA51* M@S*L+7@;O?: TN+)^@IFD4\7:&USX%N>ZTMB>^\L6#8TP:E4CHF[B9:KG.4+ M0^D 3%]SJE$/ Q?5,;A2:A41POH-*]W/F)[Q&\;WM*G -0LK+B$-:ZW5,$ S M+*-ZIQZ88+M!%IR$A4+T9E*V\(MJ.1!FI1I8DGC,]RWR1M 5AWH9_*@HP<%U M3E4FOU/5]>SKPWSRR^3^C/YT-WM\%!V;1XN(;A6BUS0(""S/ M, 4=O)T47O-J])$,BGV08T?SXSL;Q/,,W M -"1;[B5%^*!SX:VX,7ZB;&HK3.2+M=B"?Y[E>7K\#R&(:J'P8$?F($KR8[1 M5K2MYT=;I@@/0S@&T9PIA=$)F$CW3%G4MCYDS0-V[[LVU'P+I:V3GG>CK.%9 M7!H>4? >%[/KO_XRN[N9S!__SVCR7]^FB]\%:W;=DMUQ= >6:4)/E!]*>@&GGC!-"UDR1;Z>LAAMC2J4.1)O+">7F2C3V)RU>5, MOE#7#6B^9@>2N*AU$A03E>! _R/:FO(PU#8'T-552Y*'&CZNUYN)F>!$9\O8 MQPHVY6&H- 66X=N>) <2F\LTA9$"2'"*W^._H%M0E$1%#EZM7*>J M=#6IOJ(T2L@U-)XFB2&LM33IUF05 MLW=?_'V=)>L[3(/"_'.;I"&*\E7*BDLZ>6B ]##4)?%HZ#1C>D$OUD9*P5&D M-#_+_. >&;@JM-"0-Y0^P(N-'&;.\LG+ZS)Y1ZAH]+!*_6>8(5+?N>NF01\0 M(!1:VD?<*C@P"PY 9LQD*O'==@7J<$ )[4"6XN=];@7-B,6&*>]?];)%,@Z" M(DION@H.<<834JBW*TR3VR!CU'?O(4%Z,TU PY M]Y=!&/J&+TF 0=LI=3'F[(.Q!^/!X^BN)9T'#Z=7S^/OC/E'1FDW"("A:R!)WAD[2/<$Q&+=B6\0YK$?%1S&?U^B M@M5Q,'Y)TCSZ9_%S^@KEZ0U,2[/<"KP+B_8$ =6NXU;(3[)H\RQ2I/HB4P0;)#>Q/<>6C4:[B25]B#T M5?'E+?M>HPU8]V;DH<7[8%ZD"..Z0>L_I_$N9G%C[.+*%\XY!O!])=1$5]#L M>W)TP"_6]%PEN%ICIHVXJ[V!8=B!*HFS9 ?Y<,J9 5RL>;=*ZC1^PYQ*2(*< M-J(M=0-(]1U#$E/%^61:A[BKF5C*_;VPC1919GE3BC^>WL#T+&GR&Y]O6C" M[PW(PY\=VQWM ;Z3[8Q<0WP_76%$^R+"78X&UGC =1S3^O ;2RM6",X'6J7^ M9C.S-\5)VLR!HZYXW;A!*$E,TOG$34/=V3(NXW91[(KW6'E>;XP=-PGZ*"#T M'"_\8QPN; 8(SD!:-[]?26'K@O3V>D2U-PA=VP\EL$$H=5.@@YL:)]G5::4N9SOP!Z66ZVB/XYO Y(>_7 5%$3#_&<9/:([UK4D8(M:!=%DZ0*#JKB[) M4VW?TU<0*TL)6X:U!-8X9F$9VRP^B8OT>7Z&CP'#44)?$B-BWY/YG/P2G+[F M3#/L--Z$KJ$'7&&F,%#REFG^8;E?%!MLA_.;&==:Y.Y%.%B MJ]?791$2 )?;D(#)^@<\<3@JF+*'5;7AZ*]9 SFX^KE!:;OL_ Q>HJC,/+)T\?:?XID^4B6D5^R MWI0#,9W1I]%-E/G+)%NEB$1E?OOZ=3S_O<@H/OUR/[V=7H_O%Z/Q]?7LV_UB M>O]E]#"[FUY/)T+",:N@F@\!>A_@N&I051XN=+*Q1+7 XK_"W_T[XVSCZ@\L MI"JRY"7@D$3]*=8.:I_E9"ZYBJON\:5=MKQHW>-%NUF=CZ/YY'HR_75\=3<9 MW4\6 E?H(0CN15K?#7A0U:J3^+* L*Y]G\28G@#MB>18IWS]@>&YOBR6&#YA MU"[5EFCW2_7RRVUZ_^OD?C&;DZ.LNLA4Y7B1E=L+4<#6@1;O>Z)X8LVHG8#N MNZ$ES#^R0A?'4F+U H'A>O*X23>SG:)@!J4 MI/PLOW!J%W(GW")/P[6'-35XJ;PNM>-U.5O\,ID3)73^;7(SNIN.KZ9WTT6W MB4KOJG54NLX(#!L?"*)]LYI(RVFXMD5_5 / MU9WK]!UY;2>N1]$Z3K]NY>J5E8O/TW%AU;F;C!\GI$KPU^FBR+TEXC M,'"8 M= [; =WVU;!BP3]INZ%Q]6;Z>'TW>_PVGRPF?UMUH, :#BN]4B M0F)./@ISJY;K3@@'N\XV.3)9R\NH/Q@%+ZH2T7A7O$X*ZQF*_8,-L7G-M1H& M( 692C?+*DL#*$\RKK-Q=ZZP>X+0]G1/DMMC-T[7K,\6N(>Z+*]GQ:/$Y/Z: M8L8QC]?D88_^WCG+8FIZW:QK"PQ31:(N>UQ3CD,';3<.T'T+J:(?)YHE4N^< MT0WJ4!?:ND (\3?)H[1XW#ZHKU%>A MKV$E-O0"FF*9U2)\9Z SV/$KQV+Q&*<9_P [^VH&N(H8'GQLKEZAG5 .]@5 M5ELFH6Z!V94%]LMX/KG"%[@;HFP^3.X?\:5N=B\D87)MZC\.5RUF/P"UP/(% M97?9L[J([2E5L"B*(I+TE-F>_%U :O-I>>+ 0+="9$MR:^247^U1VA!@T]MTT/'U)NEJ0Z/B=WY&NEL< M?*T' B%4D2TZ\J$+^VL.PN[H![M"5UZ&_K'"@TW>*"\26L6%YO';U>/DO[Z1 M53GY5=2+Q 2F<10_D8CA0H%I/A=I/8"CJ%JU'M2%KKI' N!QVJ9U ::.9Z/H M6AV\W*X]#9NQ#7>E\817,,(LM(K+#'^8Q>A/VX'_[0-$7%BFHRN"/+GO85Z8 M&#;OU@FK.G2U+8"^[Z!*L1'I(BFV'*Y=HPQ8Q\:32S] ;:O(8:+6*C37H$Z5\.GJQ MA:HVB0*.L_5P[[$\W8'N:XXW],VV%=)]$2LAJQQ&:5$@?19ND@/ Y33&*%Z(9*YJG.["M(!!>/_#4U=L*J=A"4PL2+H=GX-81^B@(KTFH7-V!:A,CRK"% MV@ZIZ-I2FY N[AV7U@/@XT2!DAC-NXJN$=QPBT=18WZX)<\[ E8U@U"1Q%VU MZTQH#79?.*K'=+E8P$*6XHG.2'/R9MH KE0]29X:N;/73I&#L4QRU,NTU=@5&Z!JA)#G NLJ6'Z7@:D=W*,L06H>& M<3HC)6S M$-H#WV';X"Q5#AK:_60<8!KR*"-UEO@4WBU?V1V!85F!,7 [$2_&4O$@(1I5 M#N, I@&^/ 4K/_\-IBF^/;TWZDZL;L"WD!8,7'Y\"$L5?(3DBS]RK.!>@0T= M@>+8IB$ZD.Y$"?)B/*UL3A\OU43A7C^?SZ/L[]?X!(AR\C?F0S6M$U"=$%J2 M5'8\X9VZ$=]I56XH]IL;?/%)L\(GI[@5A?=Q32]LKN(P);L=RJS7A ,N\#?*G\AZP^ MK OR?%KKP5I)'=7&@W4][$?P7PU)MC!!_JN8_?#I*25%:(MIN#$>+C@3$7-U M!X&E!L*SP?'+H58;;8?T),=76E2/_XR"U;*(9]YZ<**@ZJF0%_]IBNSI-!@P MR!N _'?">DGV@/LDM]A&N5+UZ98BY1P'*PN6K\O_N,PCS;:0C_UIA>?DIY^2 ME0QPE,S\,AR)_:;H#Z$"+4'.D/NIM:41JV$HNTM@X:*[JY[4*F__"8,"RW9< M4ZY+:X/8ZFVJ/;! :(;_C:\9WJ"8J[:2(ZZ4ZE_X:NT][[_MN8$IRB%D-Z-V M%*[]ZG->+99W!! Z"D22*+(\XFA8@9QHAQIBR:H-0%^XE4QS314"A*[DLY8* MP,R HMR\J-2=XO):2H\?V*HCR0,)OR!JUW,+M!(6 Z OQ$I&.FI)@%-6X$5K M UBVKHJ*5#Y0O.J$T%9_98X!H.(A1_3C5AN9-&NK?(#[/"U%S9 CAX2#3)*/@C5CCK6?C =2ZT&GEZ* M9.+_>2B4W?3Y2E(MM%B''08#JA$ZIB1&08I<:A??*5C%YJDXI#F;A6LHK9*D M\X\! E]3=$G>RML(N -$D?MJ?>IE^J9:239)2< L=$,]4R9F-7 "4Y#O7?E% M:$\:\=>]3=)*AN Q.="?-H78EP5%Q7-#/<#"Z_>JN)FU5YTN2 XP-%6'DFSZ MG'.E00,3P;V/H/K78R]2YJ_#P[*QGT=OG2X#7<<&#G(-]T--SY-9(39!4Q.0 M.<+LB/P" E 'XU7GP8$2!,B7Y &HG^ES.B].RD35Z!/S&XJ>G@D) M^)"$3^A^]>*A=#/KL]DJSXAW++X4-,Z"0W^1;L,"'UG0E^39H)/\>^7"<;HJ M0:G[J76OQ'ED<^<>]8 MY[WK\C#?86"@F(I5?<"4KR+ 5GB-[_6G,$&LD>OP9I;$Y,ZU1811; *CKU", MPJB#XT;K04%HV;XI28!J#W.C.P-DN4E,PA 1Y70_M>;)Y@1G?&+O $T ME&>AWPJJ!4P::PJ=P16I/IKQ,7A%:TY(H8O4&XU[)V[9Y4]&0S[D>(&74@0JXH MO0S/A.+1K-@3&@L M*7G& 7S-4=K,ZVI#H.BZH8F^N';D- /.6=+=/"9A_IV4*HR#KY@RK.;"V$?- M;&_L!Y10=T/1!VY'*?"CJ^2F$9(HFJ$*;5L 6PDU65(=,I2:6B6H D*8%QHM M/]LS<;*;QL44>4 I2>H'G^KN#45JL_K60'$"0Y/%!8Q71#R A/HHM[F.[^,/ M2_?QDU(X;08>J1_B1F[C#XB^_[6[D=N*ZENBU2Y^SO+0!GXC5WS7DJ7L M"X7#O#?R+93SW,A;B*223_;J?8$_1[FD;WHQ.@&HAT'5!B>_D'@PG>/J?HJL M"('4BSP-U[X3L'1H"[_WM. _G^!J )[E?C^+D;_*\N0%I>RK3[4A\$VDZJ(? M7UHPL*K!,4"=Y7Z_^)[P<;O:$$#7,C1);(C=N,T =99;_@+_EG-VUS4%R$6A M)DG)H(X<9\$Z[1)/LV!5\H=5*-_?E%2*--H- GQ;1YXD7ET,-:G&[-4-YW"# MT5K.!=K<+S,%AK8E2UTO;N&W 388*\(]28E!O!'KK F55)==K F[+WP$JP+$ MJ]FI!!Q=:!W"[)FQWO!O@:&%^@!*M&^Y6+^^RD#$.LF7"D9M7+<9DZ;2%JB& MJ5J2A#MTE08#UCF2+Y-\-YNX6_*0]P:7Y"6OB'^B&:CI/;"B"E6WDK!V( +@ M!2?6*7R,(071LM::%S_+DA[]FB M&4Z>E=S)U(SG$GAT]IOR7/$5'56>9$0!^I(F6;9)#MP&4;D?"$Q/E>7NQ=.)*M8GH]\SU504VZG,2IDV MU5-W4Z!8EF%(\NS#)XP3MM$=VJYG[2M*HR1XS&&:"SQO']+D+:,S6XQ:8NN) * MX*- ]X>_][=$NS=K=5$!)O'ACB"HD!C#%%8I@E(N(R;4_-5[#;%0F>@61 B25P:3QAM<@0'H?H"#5\B3);7ZB]#A0GL.9K CQ MO4$O29QMW'5W'Z>XI#!Z #6TS%"2!+5=Y<&+4:Q"0D77L)C8_8"K:Z8LE=1. M7%"<2 4;VGQ_];):$COO#<)L]M>Y;?'?EZC@=AR,7TBFO'\6/Z=B8KXS]O(% M@$(/(4D>RD^<&KWSY-A339*]@'E98?4"NA)XQL W\C8X-P*T/N"5AAF]4JG@ MQWVW$1RSD.@8RJU Z*H6',S.O&5N[6*MQ25A"7BZN<"H M%'!AU( _P4YPT2+PAAW"Z@R[S(*@E,=M]/IC]P.V@P)?],6_#>]KUPLG2+&7 M_J/*X@56N+Q>PBR+P@@%C:+D' "HONL*3PYTLDS;HA7[TO$K7*[6K-V^@A/[ MT]9\?P67Y$=TT7)U!XX/0TNT+?UDP;;#>I)]@74Z% 7('N [(^RHT@[XNH+" MX4J #4JL#8"":+/,\0RY3V*_\;3C'P0@Q=*K==<&(\L3$(N]IY\J8TZP6&LV M;-%&\9/%VQ+L4"_P[/M%76"$4:D%TWS!Z!8:<=$K!C15PQ>DP]1K7&WU46 @ M2U5$&\_;\+J%^KD#-_@ AAIP#P5MT]A/R2WJ!JW_;"O_^E& [VFF*3K!PIEF M10-DL3<3"LGPO7@5;RW=33^@:8:FB'9:/I<\CT$.-W:A'N#FGYA-TRQ;[<]H MWEEPW!\SV4#:!YT-5+!B[TN]G=:>XPWA1MOMM%Z#&VZLP:%EDR3YB?)B;V*8 MWBN5ULA;UKC(N78W&3].1M>SKU^G"_*6)3@2H0#%D6;ML!W0 B^L5A0088?/ M;E5B_;<^-FU9QLH=TXP%!<7Q=MIV=+@\,RSPU3K*6>D^AIO/B> M_(Y@RM"B6@\%\$7>DL7WZ R2KD$J5C_FIYLDV^U-W+O!@&&;EB5:=SJKP*M8 MQ7H-#L>[(%0)O/HZ3F?A=\R M-,;[![&BJ9S!N]N9):INV:IUR 3F2ZTZ;QC1;48E9HL7.>>V("6CN>?8_F. M(>C"V;&$JV('GBJG17_+S=J%0X$Q\+*MAF6%NB3!0Q0.LZ51A2*\;.LTQOL8 M6L ?XU7^G*1D=X4O#55;Z7T ]%3?&*"(." )KME:3V%3T596+P -9.NB8U#X M!=!"<$< SU*U]?HYBB&SH&6I!3!=$SJ21"ES\>R0VS0XIU5H/?U P>3G"Y2^ M%(=CL[]CJE[(]3GF/0('] %J.PW M1%"B8(ROY/ )8;#A:GD7A:P,OB>,"A3%1HXD9V#;"=$+<)E>^8^HO=D\7\PQ M6S9567FM(,TC 4V!4)/D:;"MY#N#%?O&?WA672<90Y[5ME@)L71;MLM%IV/Z M ([@C#P;C0$?'G/F CMJ")"O.:XDIN2VTJ!AV3^C"PJO:VD]K)3R6\?726@S M+ $;Q\%U4I1@1'%1NKI%AO-6PP +NGHU$OQ")]NA. N?JT?D)W% O*X8YQBS M']#54)P54=Q)7%$ M.[-XJ=C[?,2[Y 9>U'4NLF3D6"LG.$EF*:Y]O%) [G$QN_YKD=)L/EE,YY,B MIQG)<];7AD[+L5J/H2%@NJ$7@#;4@DJ8O]0O/T&@!<*+O;?A+<\[T!;4P-^! MD!:&GB3UORD3?3 MCYH"Y"+5E&0//LMV2E&T:'S8RK*;!8%R:9J\O"Z3=X2*SSZL4O^9O,1B+9WI M'=#0"ZC(-$U)'J5;KIBJ[P OV*U\A&6T#LF3*K%UI)&W*C+J8R(WU*?DBIX6 M:?=A^EYNU!25=-JXP+=-""N1 ]*8VK>7F-JUV!-TP6F!49RMBRT4EJR'!&]' MN_LX_BGY 2H0D1]2DT&#<,@C0A(7 MDV23C3K 5!"%A&2DQ@=(%F7DG:)!3KS# !/YCBJ) MU)9*V1GN2.0)$>UAQ7 M?D'ZA@;F?D=I#; J8"))-.)6LF@"=.QV<$:6%RL5!;\B?$X&5ZO\6QS1L@LR M**>- C0-J;*XE/:)YF6I+$ M+[53"!HA'4>X]\'X[<5T+?O2SKEQHX-/M"H$'#U!H"A>U5%^ ,)H VXCEHJ+ M=1]G_R$=#2?\86/@Z)KKRO9FV.87VR?"-(^GD!];!,_201CZ5W75- M@:6%/ASBML-$LV5UK[;#0\VZI*&M%>NMGL9U[:#V!BZ^W.I#O!BV!;B5T>[Z M?E$'($+D%5ZC =XC7U&#X978T?)S?$B?-A0O(1PDB. /':3D S _S_PQ,2#R8I0L0K)/+%B%.Z M 0BA+8L_%X\,V@CO"*)@\9&@(*SIP"7*FA[Z*TU!J&AJ*$E@*Q^W:P5%!R8X MTIRHGI@)S^,XN$%O:)D4E8(G/\C!BYK$Q=$9;SZN&TB24OP$ ;:!NA7I --U M/:(E'N[I"XKQA7&)P8Z#ERB.B.Y%//(W>!O7<:MA@*KFQ(76MMI:C5&30#NO.7INIU&E]:1>4IO1, MUW;?18'1S>PNZMINJJH32)*HE).[/-?V+:R!7]M#7S>E,:K4:8\L0W'S5WP?RF(^:RF@UD*N@2U8R <>TGSN_M0N M0(6NJ4GBAM%2#+6B;$9ZVN/?RI?"\R:;QNNRR5_2)&.F5>S] M8T -(53^H).2Q8^S^*>O/SOY@5+B]T!S!CQN!CS%-P-Y4ZC5RXB)1&PVO%/G MS6V2AB@BCA$DQF[RXS5*BQ%V4^E\2[CQT\#U#=63Q'IYZ07-SQW1"?H&K,;8 MEN*YLMD1A*DQ6V[T6U9[6--Q[;:]7G'(S\GU@_SH@K.4EP)@:1!6G:'^&).W M-9.Z5CO\P'-ZH\H0TY>@.5VA $#/5V2IAR[)G*8SJ74QQ@\TITLK_2B7\59# M+URQ+Z),L @ 80A-*(F7C4 5@XM'^P"=#VD_R5K=X<\TK?LC GC(<.!'M;>< M@4\G!3J)GYY;4*)G:"LZ@.DX7OA'G:3=6"7X6>OLEA,Q"L-)9 $5:HHG;R2H M6%,8%^<^SG.?W JO 0W=E3=P4 J%=\NC4NSA'^\*UVS#$3/13Z,+*+[A:'_0 M^=\3Z[;+0O_7LJ@S TFU+#CI M!'@<2U?P1;]KA8MUT6QF"7A=?,0Z_UT3I' MQ!L,_[S(!0G]? 67).^+UK 6+DL,@$Z@ZT,V! KBUW;6BRH#?R+TUD07E?/B1([03S@!L[P#,<"Q'=\8\GND('YMY^WN M'B1-@-Y.*R@'Z+GM _2TCQ2@Y[FF T4=L-T"]!3;UO2*2ZN4 7I;[M:OTGI8 M P_04PPK<&3+G7?(8;8TJE"$!^CM:+M>PBR;A>NTU\R8/&H7$#B*)UTIZS8" MHB(2_'I5IJLIRJ[:%CBZZABR.?51>5TK(@:JLZ2>G&,=.XV(OKTFD*@PS#(J M] YXL=NF)8;Q15.^3^*VX>IW-C;$M M"4 -= 7)MHRK9UJ_UL[.7/J#QLTU\NO0QTC$O#ZD 2Z;2-)2HG+,ZTI3#HI M[$[B6;DV8F&B%P,_ T\+\/RCW"&E7"XM M202VKZF>O!Z64MQ"^;EX4CDRB2?^X?U'RHG?DD000-^UY0T"D>*BR\_%D\K! M23SQ2^$R4L[Z-O0!R[04SY&?/,71/VO3*6Z^>;9/ DWWD"RU0CAE7KL5G9]#^_?J#S7IU@HT MUBTV/R+M&/[8EZ4#F-#WT# J,HB9GFRV';]&2W.H&76'FMK^4#,^TJ$&H8Z, M7A/V'FE/AU5R2R$J%)\YWN[ ,$PHC6,I'Y.KWG2MT9YT(C3Z-8YCLKC#)'TA ME8L+![]O>'W3"FPW=P2A;R%%%A-J5RFUP'F.%-A'DZ14:( F&$8/@%3-ER;S M84_KIA:@V'S9M2O[)EJNB.?L\?(>!_^]RG)R*Z5OY!T'!)[JVMHPXE?JY=T3 M_N/LU=+H)?PYE%^[Q"\!W M4=AK:S%55UUSX'0\ZA$)6/ M^(*VP@1(K3U!:PXT2W<<69SSNPJM$=U W8^K&2.F,9Z <1;YY[+A-WT2^"KR M_"%/F(MQZ%BYN^1IOJXOO( _4+8Y<^M.;OWXY)[>X_-Z,EJ,_S9YW)W60L[H M'8 ]?)HNX\)#-7P'4G\ M+R\Y*X[QB]46.@"8_,",P51',4S?BP?J^P3_%A]+25$K'A]0"$NQ<><\RT>! M&@2*(\GM_I+3JC6#Y%(8ZJJWFP:7QB"H8GOO.H.&-3E7D'%N1Q=)H!5GZ K% M*(SRNIFW:TH>NV(_6D:^2%6P;A%^.MPV0(7 M?;*T'PNXEFU9DCQ3GT&VM7/H!#8)ME(0+[=Q'-SAT?N9,5U'Q">Q:1J2E%*_ MU+PYF5EBWY(V.G0_.TWKL8#NNK;R1]MINK-);)G4ZU5*V$@AG#XOV/V :_N! M(YM1X\QS@),E^\!9$?*^V;@=MQ9X0T>@A5"3Q4_@4A+GY4 M64J9?^-\<[V6)#*\9%4SU M%QO$T/];#@24P'.M =B>NLR(1M R/%94J+Y^)J_HTWBKK. &XRQ#>49>R-<2 M62Z3[\1AH_4T:#$V4%7?<&0S)/0T,[KP0:R-@ )DCEYAGJ[_/@LWM]H)3$E2 M_?:[!',TH/C(E25=1M\3@@^YV*L_A?3[A"B1*S^/O"7:G'WU#CHDV*?UG&@W M/# -S;4DB;/O>Y)T9(58 P(%2Q$=O?M1_-20FK_-* #A6[0K20!HWW. C;AK M\JBZV^5 C0Z!H@>RE&T]7?@4<%VM"#E*I;(AU"8"L/AL"&*"_WNW(4#7\U#% M#GH9,-_B=!=UBZG;S#+&-DSI $);MU39+'T,9MP&T?DBQJ>/;K8W1@Z[H+)$'8W_T:,A0C7#0 M7*V"V?*TUT1S) 7/+/PM29?-=8T/V@'+MRQ7MLMC.Q[306UYW45L#A^T = R-5>V) WM M&%P/:,M?03XF<_2&XA7++77; EB&YVB2>!4R=/):/:,"HNN+9-4-0)"5:I^9 M@<,R]V58;2=8P>G^>(@[5U6VO(V'$9, N_B4+J.(K,S3"5=7_ MS;="F2$IFU2F.@>$^NG/'B(B(S5@;(,0(FMU5R$I,X8=>XX]?/P_=X-0W*HD M#>+HEW\TUC?^(53DQ7X0]7[Y1[/=.CW]Q_\Y_'\^]C-X#!Z-TH/@[I>U?I8- M#]Z]&XU&ZW>=)%R/D]Z[S8W&UKL@"H-(_?7IZO.:?3R;_7SQZ+LLD5':C9.! MS& 9.-).?6.SOKGK#%)/E5<:"#ZO]^+;KXZS5]]JF'&\/$E@>V,[$*W&C&1^ MA1/?7V>>VUU<#60^B-).1 MI^Q;L/";^1/@K^;1J2<=L&]LO<.?.S(M1H9?@WN>GUH)_.IG9:CHAW?>\8^E M1X.9C^[RHX%YU%?!;$###RZ,#Z)\,'NQ?I:\R\9#]0Z>4$G@V1?BZ 'OQ%%] MXKU$=>="9?<=_&H1+HVW-QOO[P,A/V%>R--Z$H>JP)>N3#OTM/FEM&,OSJ,L MF8>'_&/IA3Q+YBYF_QW\:AY,DZR.VY^Q$OM3:62 U\0+L\$)[VS4-QKUS88S MUOWPXT!E M4N \=?6?/+C]9:T51QF\4;^&K:X)CS_]LI:IN^P=4?J[PX_O>.Y.[(]%FHU# MQ;_791CTHH-_YVD6=,*C.'5P=UMO M; -K6#O<@'^V=H!?[7U\5YIQ_@*:<#(^GLY)*'L/GYC9.DZ>'71B("@9=66( M+,]=TN[:(7W[X-6TB.=G)T'JR?!?2B;'D7\$./-]$'F_=EC'[QN-!R_ X"JO MX!)^C?T3^"[]OA7LK1V>_.L[)\?M_\#4^VN'^--W3!ZULT%VG"1QTHKA.#R4 MWD^ '8V-^['C))$TM5ZC9E 'ER 7%"S+;V>Q=]/NRT2ES3SKQTGP7^67U]A, M+[JPKDVSKCP*^ =^;4WXR@L&L(9?UC;*:P/>MK-!_YC5F>4\V?+^5P_QOVV M KQ4'NE,#3HJ^98M;"("?,<.6O%@$$=/"MVMM<.MC>\"[]3B+O(,E2?4D!]K M==MKAWM[C=VMO<93+V[KVQ<'7'X?1/]>8W_>XLJD;=:&2J^?A^JB>Z31ZEK> M-=-496DS\C\'LA.$009X=RT[H;J&A7X*81_?SGN [WS,< PC6CMQ M*PG@ZE M!W XV'#%:ZBZV3VR=2"37A#5\:D#F6>Q^2()>GW]S2CPL_[!WL[/L%(5AD/I MD[$$8(-E)&8-?45O-':&=_@]J U#\Q/.7D\!NVD)M)AZ5PZ"<'PP>SD'&SC( MWW]J[&Y\^/AN"(H(COP^BX!4%?G#3/3C__ZV#JG,19\^K7T_,# =LH_A_ #S-F/$3!)D"P M@R9XI#SB:V*K47M:6((U6B'$MR'$YJ(0@O449Y-ZSLOFT='I^:_NMCZL52?U MO">U^8PG]14B-M]/0#"+AS^^&!NA!=?0O>Y;7 ,SY M=/2A([V;7A+GD5^'KIU2WNU "8T4A .TZ,N3=#,-XA/<+Z)<1'M!> MD(DP!II+EP 59ZL[:X=_FX=6DZCT57V)K$48L;&]DE3W? !%77!)*:]+_SPW MY9U&M_ A3L8"]$0Q3&(_]S*1J"Q/(OA/JI+;I:#!A8B#[Z?;6F-W;R4A]++. M8?O]^Z6E]^60M*UX,%112O$.0GI>DLNPHN^OBI':^YV-E8302SN'';PI75(* M7PZ)WD2B!N,U+"Y,*KSZ"E[M[JPD>%[6(31VEI>TET-X?XKCFWH,$]?1)>6K M8:*\0(MRT-[E((8E_9>^J+#M:]A6Z>O/?PB;"^6[+U"8G\0)K#*"5S,1#U4" MM!WUR#,F/)DDXVZ*_K+?7*VK_<3MQ M;W^AF+9BLSR:/ZZVM=AS>($BGBA>7WDM"95_)0)HP6CW"/%(A9]^9V?*0SPK M,F@EJ/@5G.;NE%=VT:?YO3K&R\>K%R*#]FJ[.Y5[[_G/8;^VN;]0&^Q[=8$7 M?%9+@1$O>6NK-,NJ'M.R6_5KAW_(,&>WO ULJ]2_1U?_WLR4[/?J?_,"S]Y6 M1_.X1S-3V/_(T;Q P_XZSF0H;##Y*0>37\L[P4F-2\,2MF +?IQW0O7UX_A: MB.;7AOX6+*I_#8&V5MM2K\[E/@W@':7P'GY;:GXKCCRJ9(&_707IS:5*\ O9 M4XV9B<2;3B*QR8*G*B+7(RQ\ !!223J5^7Z9)\K-D#X]/RGG2.^N'7YK7GDS MR@(_"/,LN%5MY>4)A?8"ANDC.WF (O$ M/'2/WY+O_7[ML+&Y,S]/?J*0 P#OX&*(#Z2_)A(6XY_)NV"0#ZY5,GAH,G=1 MB0!3V7DXP[H*EE_@PAK9^!Q(I'D7I&M40^E@:BHX?N0XMA[Y.$K4<9PG\5"E+_PH2KMXB511 M'<-24,.7=O.%'X'=P4ND@@K\"\/^KUE:OX)=(*/Q2^=(Y6T\YJ&4=-W-A^NZ MFX^EZ]YC%E4G^"*LE:_18*4JKP8E5N>X&O18*>DOFPZK\WO9]%>9!R^3[JIS M6TYZF^>>30(OT^6EFQ@4O]R'U\Y@]_A."^]@+[J\[K+.,GM'+\1&OU>OK,[J M!1+>0PR_ZF!?H"34'+51'>:CP'*E;%<9#W)Z&R0H<_@/V M]]HHOSKR5T?EK1BC*]HR7 F&/K6;UT;!U7&N!'5RZ(AK:ESFP+=DJBY#N2(6 M%0>6W+_'UT*^U7FO+GU_6U+KDA[R21#)R MD>!J!=43-V2=,J=?@GJR.;]DN M@>8RTU8?MKS[E*S'4_46JR7L:2'N)4C9!/X^OQ MT#W%6;MY5:18'>=J4>=T+9N7>YA3>WE=E%D=Y:I0Y46T.BQV>B^OBBJKHWQI M5#GW*-MQ-QMA/;7(/Y,!O(7W-?Y(FFKY#;PW./\ZGY>U>DV M?3G,5/)RCW-Z ZMX?G-E9D6=*R!&YYYN19TO^_SPWH=B*U[N"<[:PBJ>X?SK MY^H,EUY*SKF7:GI>/LA#&-._R/HJP7K!B>HCU&X5NZZ7\SRGLLWX AG7'T?P M,2W?6CUXG\M^FS7G'*]4!KJ \DV)YY4XM-F;>J$G!)LC+KZV"43IC.&*CZ[ MW"=4LJV.C*'VW%?U_2@9:+DBQ!KZLG+.0Q67FEDD*+ MT$O],E+(N" M,'-WM>R6Y;P4Q>J$TYZ$?OVD\F/]R8DP_N 6(N4]2LVN9Q%=>_7V;II[JLR<=PI_W _!=N9DU==)6TB?D@LD//U(S^1EMZHM.]AL; M/\/T62?V 06Q 7WFF^<_75P='5_5/UU<7U^<'8B=X9U(XS#P/U!;;7KVONZ',Y:V,N' 3A^" #F9F*2(T$:*XR^C"022^(#C:&=VN' M?_^IL;OQX>.[H3/4R<7Y=;U]^G^/#P2-)>B+D^;9Z>=_'8C)T<19\^K7T_,# M >-]$$@R=1D&O>@ TT54\@%@DV9)'/4.OYR?7A\?B?9U\_JX_?&=_G8Q<[>/ M6U^N3J]/C]NB>7XDCO]J_=8\__58M"[.SD[;[=.+\P4OZ$^9]L$6S>*H)H[6 M6^MBW]!BUCDJ7],AS*:@:5[PVSM\.3BZDQ\Y'[VQ%<"3VC&>X7]Z.]I M)2\BB8+#5\'!4>Q1C0I,2%HCGA#"L.A]'T8XY>U#9&80S[OROCPC[B M_?[[[=T/D^@@RHCP+O-= #TM7)KGYU^:G\75\>7%U;6X_'+5_M(\OQ;7%P)8 MUC7P)='8$A=7HK'SQG\K+D[$]6_'PN%FEI,U6]?X?\SGW<2CLX63.!%97XEND )ZB;&2B5"1KWSQZ$1S2;KM,7MU2E1SX*/U M# /W?3G&):BH1#;O@9D<*8^M[ZU&3>!$,_CI3(2;JZT\MK")DXJS_KCX3&24 M!I3?^\W<]7U#<]?MQ^6NCTYT!FK75\WS]BDQV(KWOE[>FUF<%VS_BRZ,(?[7 M_4=DQM.P.&'_'T1K MAWA/%*3H^@6!"9N.A19< M-/@!4_.1\.-*]:C@?Y1A!;^7EAQ_Q()(1A,@DHF%1*AF[O6G$>95AT,NCR"Y$C7D<0FWZ?J+25/_GW=T1C;R?KB^:M$N?'D[1:^W'O_+S5;)97\W[ML)T'0(=PKD^] MBA;\>9%T-O^WL;.YD--HA=,E&]^&*B(=,U$R6DP-M8.MS=W)H'X]L?/ M$=NDA)?].)IETNZ!2;NWUZCO;F\_V*9]@0?X1J-Q#>5XF*.@$/\-AK!>7]7* MULK??]K;;+S_D(IA L\&0Y!(ZDYY.39W@R=!-L(Z9.3#/*$:(EBU%\(=6\(1 MT^!O7](=[M?AV 9 )$$6P! ,,96 23?,DS1'0R^+!3Q!JD-C\TWG+4(6'6Q- M+UL:->(EVWE;&X]E*>;3UO+83T].4P2223='@\Z MR.#5+&_93%YQ;[I&'S%$Y\G_-A:>W$)P*<)ARFFS+4MM%'>GI106L:S8XU/;%C>=(@ M0&J;80OL[0!5-MM'S7]^Q#H^"+K?DZM>D_=^3QRE M=AKYZ/Q1HC,67E]Y-V* 86NCOB*O&,+5<>P'H F+$6@]]9L([&B1*ID"4'SX M 1NZU=#S[ZMN$+'?_RH'[6)[8\>"SS]4]8W.^XMK9> M&K>:*U//+I[E5,2"C1-[4H OYZE&<0;?_" YJXBZPOL\FUCV0ZC8OTLM[#VQK9XV\V>8\=D([P>^??L -\GAZ% MEW 5>AP,=$II$;1(F69B?T/XFT(BP<)9S@(L@Q.785PEDDB[,J??MH&.G "\&E$;2,D?L51MZKZX2@^RHA/0\P,L'Z#W1(J.A$,[\% M01K59_Z0#@"589;$, @XU\%01N,:\EL8#I@4ZMD]T4OB4=8W/Z\#^U6T-E*L M*&HM131%O^7FQH17GJ'*?3N^GO-Y\ZI.!)?5X%:30GT6/^6AYMRP5?64RLZ>?9 ME"(>VPLQL:_'&+0]CS@?=YI'$CRTVD]Y"F9@FGY+//G^QMQLG6=T+3IAY(\7 M;9JT -[<3*>X?.AAP@W/?W0A/MGOT'.B&E!,R,*?^EQ^WBV,%E*S#9K_966 MVN*5?A.&;\[-F'CF^/*GUKVZ]^@X>),Z4S4+NK/L!+(. .71:0$J=)ZR?@33 M&F$>J0$"PUC71!R $2,#X85R!X9ZO9" M7J8I"!#\R@!6=;N*#!J4+!2E!V]B(ZPD@E-#JD[B4,1@+CJ'60C-'-"C<%IM M;VP[5]9MF70D#%N_N O5F/P;;QH[XLMZ&_.TWV_NXOWV6]QXL4OME^Z$P%(< ME.D&R8"-/[ 8AQ(? BPC%ZE/*Y:Y'V1Z7>OZX'Z409UZW:2)X\9)LX#N22A[ MW\2?MN[G3R\=?[LB+9Q9<#+?&M4PEU.Y)%"@7FJJ%*5F#-? I.@1]I3S:]IE MU0W)DP5?>3'8[#8D%1EHDJ 3*T;,N@WB/ W'!K%FS;IN"P="KDZ0CD$H M,+ *&)H3=TZ%J-3Z8Y!->3$YFX ;A>,T2'4H,.IDMZK>D2@G4)*H*&7VA3XA M^(E\J'9V]YS_D4[%$R6IZU9*0)[=(D+8R;74ZFV-]8;&T?U!F#E:SO: M6>Z9M ]VO=$BQ)L9MT]S?1!O^8[BL4P>7,CWZ(/;\S-HC?-M->XOFKT>G!X> M+YZJRL2M#',**[F-26JB7H#>,_W1XR@+164D!8"7*(S<:UWDE#!2BNK$!%I( MHMC_R2,EMC8X;_U _$V?\@FY0^$E]Y@GBE=-'>TER?>3,);EW.B#*!_X<>8K M+P![=TU@.K]"YY+07Z7T 2L.T3Q80JIT]#MKAUL[M9W]O=K^?L.#AN_$P-3E2 BL384!-QGI'"30A!3Y_)Q.N+QAZ=Y?:!>,!1FF)K MTWMX\6%IRZ#7*I4CJ=F4(]9C6U& M=;5OK=[V[2G>3U)OA*)UX?MAIY\4X'I(T+[^_OKXK^OZZ?D1$#,?A .1!WA7 MAV"NUSN)DC<@D3-,RI?A2(ZQ".&#?;53JWX"K]?#LSTPC9M7-)7+[29&/&*X M^8^AP.-5DS'G\ -53!9Q0%0XCDN[+?M*=:C)"5=Y^A=6>3HFY^2,LDJ+KQWS MPLZ=2SQHAB MSY$&\URLJUPEYJ,4_03U\9\N&VN'ES+)Q.G'=W*1\>5+/.9*5*)Z*6/.!_:' MCO1N>DF<1W[=B\,X.?C)\Y3J=F>$F^S,CC;9>X3(BWF4E"1.8G+.\\?W%%((CEAM1SR<3-C8H,*S)<'C+-/P;:FQNW%42-,>19$&-C>5=E8' 6I%\;8#*^BR8HFOYLFG_3V;KAI;N]6 MX?KNA1]212I/*K[>/2GSW]'R9F=Q\@:F/./(;LRVNYJNKZKC?H\IHKL&3X24 MN$KAN/TXQ-2L,TP,2[C<*A=N$I=YXO5ERJ'#_*Y3D.:Y1%EU,['J]+F,H)Q+ M>[N:W'<71^Z[6*=/)^*>V-0S+#13T61%DQ5-!N\U3;Y?'$V^1Q$\E4:-EE_. M/=10KC:=-(."<%MQY'/*/#YSI=(\Y*35BZ'B'BB5K*WHNJ)K(#(3D?-^@1$Y M..D_,3$GP+S^6T54"E^$YK/CWA'-3IQG0BOC&,?S7)3[OJ+ M7Z#*C)."58L5P5C>4E2"_XP7H!595F2Y5&1IXMGW%QC/CI->4.&,TX@KK@38 MS;(BR(H@*X(T<>S["XQCQTD+C14O;F5"]9=.X@2@'(G_<3ICZ_(UEXFZQ;*< MIU$ZU(5N*A*N2'@Y@XJV;%!1%57T[*=4TFIQ MDM;$L2UL=F$*FZ%QUXJ388R5\,6O6- ,73'/Y7W9J>)<5YW,EA&4\PG(5O98 M7&D/FK0@U993OK"BRHHJ*ZH,&B9/LK' 1$F%A>C"*1G/QA245Z59#*( MQ"<5*1"K>(W!OY-T+:**='C0W-#=BKHKZJZH.VB8],O& O,O<5)#QT2BZ)Q7T?$RT;%)W&PL,',3)[U, M@L@+AB"&G3"#$Z5TZ)!*;L'V?39I6U'IRZ?2IW6Z;ANGZQ^5S_6Y#ZDBE9?L M2;@*VR:\,O:UI-5&T^#WMIA&Y8O MLV<,R-R93'QXMNX,." -O71=@B;Z(75"0!W1&)JN2&*JB]#,#)-OU7,?H[G0 M1S5PN2@W!;FF8Z N=+ V6T(7'UT(&CP9]7]GKQ1JF-&\NL:&&3,ZI3SVM)77LPYS@?4(9J@HY]#&)TVUNX%J(:G:9_ .Q-%9P,#U]4&+Y#0 M=3](13.*M(/,D0=M$W6%0(KN_:T+!"@?4+12G M'R;QOVUK/LJ3Q<0[00V_]$K@-YL[#UP#=IB,:[/ZDW=4&*@NC^MIOSM@23X8 M\O@#Z5/3P.)5@QMMI00.L[GQX>SI$O9IBD;C YX D]\UL!KNPVB816-#YH# MKAA*:E+[544 DG!E26\6!HLW&K_,C_J@:P;O_E23WUSDR>177U+]S5ONM]P+ MXP[@WH!3RT,E\>87RSU)_Q8CKHB^>HD<# #-:J;7^ECX:AC&8\0XYTMX]#9 M+#<9=$ [L1<0*S@%J19B=9F5?"^-03D]+[NL#B^V*@!C'1>^ E,7*?)(:%8.09CN\^ MHUMS!K34H(=S^HK<\MBZ=H2=J>&_M%V%'J;YY M$&GN]7%_7ACGR'T[L0X;QZ?Y5<-PBSD,X^<].XQ,&_MR[(IDH/@HIV:%,*4! M"]LQ"D8'"933Q;%!7LH-,!+;AV.JB9BE$>PPB(#]YLZ]LX6KER@?24$"\$%A MXC\)FJ@L#(GZS4" -KK=K5XVDWV)SEQZDK#R6()*!1C80_Q&6M$R(8E [@ " M@*89]=)"(,371B*8/$"&YJ@? (R JL+ ";L$< ((C1/X&W,8\RUC45_)V M7/"R!S 67)*!8)P$8%C#.G##0P)@B<5:I+@X/BO4%S(] CC)!JP3MXU/HKY. MB$M!JB7$U8H_[K?T/:P-%/P21NARE8!O#-V2^(=C")*22&&+'9O>9S:^SCFH MLF*B98O=T_%9VVZ)4 6>+&]_Y1B;U6Y'A.-#+"=K!A'I3Q"! +0,.6 D M&ON[^XPX:"-J8YP&Z:+CD]]O[+_?=!%VI#II@()/TQAPD(?Z"T:CT3K*O"!> M]^*!-O?7Q:H=AS&J6A=_G![5&_MB9 M1 .-/LB:(1@RRF>]>032%UFMKV!X8VG@0%U0RN)1'7%U,)0H2X'? =>QX]-W M75AY,;CQGPQCF!P$@QCF&8GC4 */ +X\ 'G10VK@I::@1ZJ2V8!Q1#F@/CY+ MVC>\WN5(P1HS1A"W?53?S I(4^O'208/:UN EP P"6/O!G3Z$9A6,'0,G%M@ MR=\T8+C *"T@2*E97*I(ZJP<@S(4P5GM9_+?&$IISI1Q:,5I9+/&:J9$#!9? M;A*)C0=2L&XRI /0@$"R]^4M$@"H-%GHTA%*, !3KI']"CU?$HE!CU.#9T$I M[';Q>50\7#3%A+ <#03IX& >:6^<5F;0_=,;(_;#]Y%54$X-YNM5 %DHL"'' MH*RN([60>^]661(F_83T+] \@,A@#59,V*&(OH=)X)'UZ".D6"4C39D44-P# MWPZD/##REQ#=A %93LI?!_T6X9@C3017\K6K@T(:[%&WO(*4.K42E=32DAER7QQ#BAK]D? M"YIOD,'S*88B&QL<.%Q$8.#MH9Z)*P7C0/.I=9O!$,(PB57%:'49W@P)/[<& MT5@!##V)^T?-V4OR@%8". 6F!I:!XB,PZ-F=T$L]S)IPN"*=:T?U L'@5^' MHVFP5]@R7-('R:W"]()Z\M7+,\@2@IZ6JC,8& MJP.L]9ZB9\9+@@[BLP3"PP-"EY,KED"H)?FP<"*@#[*.:P*J3X!@V6@:U[39 M-5(\% L[M"D3ULA_Q)O3UO%;?/F8S"#8]!\* M3B_$GX[_>%OCC5@F3717)X.>S5]59L%KA5/>[68?(ZB(<$@4NW_(PW M^!@P.?*1LRY@?Z?UIGC@B/=A%XD"CX !AXQZMI'J6M5:*RNOG,#642JRK&6! M[.15QSML5?$.SZ*"G^KK6O')!CBMK.J-3(7=@JA#R"A@/RZPR004/>.=))]F MS8@VI85IG85IR>5'8@D'2S/2\NCBAA0P[3M$Y\;#+D?LS1L[7-'0+;D,::&9 MO%'H9WQ#3D)]*\.W1SA1%VR&]*WQC:(GTOR-\XL@8]$UY[JN5MY;&/<<;_=_ M\L"["<=:0TNSNB+C@F[3'+DGPS364%#%)8\C,OHR\44/CJZ1R0R0KCHA_J;CNE8DKS&X>LZT%FG]Y/@EG=*R@+N)G;O!59.H;].),>A MH,57H\VZN*-#!6(BD#Q"@NS&7JXC=O!0BAO&.9>*,>@P=DST)W1R-+9(HS4& M1 )&HU]P.>T99APU/5"HU< M;X;6^O&,1S#10N UIZ:0R4T+0Q6HR]LK=5#H#+M"%+>JJ+Y'AB5. M(RDNP!K^Y6-)2+LW1^8'P!43-,J,(0X']A]J.3">8*]$)33!RJ%W6]_B636< MF'^).^JK2V0C/7*43 K*FO-F'^!%CN NV"'6C'WG,#U7DFKK##$U+&Z\#3-9 MUQT@QB5)7,'>T M AL)@Y<7H*:6]4K-^'').(AF9:GJ%6T77';H:'NC.+G!8*84.2QI#.A:FMC* MC MK1TSYZ,6)AT8&FJ :T%%5QE)JXHY>.F2I!W(O(^$XE3,2JA?#F"]7E*_U M2B_N1:#N^!1JIGD53D5W5K.B\KZNM:\>'5],*"4%VIF@ A,F@HJRTF=,4#&G&SRY2 M7+;_$&R"$P;=.ZJO0F#:23IS>T5 @D2WC"9P&WI0!,X5.AB/ ;8:8CW:9>CUS[!&],2\[S>^-J_Q MNQOMD:,Q_'CHA TX^ZK1)6I!BA31^A"?FR30HL;9G2/!\R&L#2RYB2WL/& + M9+VD=*' YU8ZJ&ZH[@)]4L2NT N@D#>3\:\OH'"-:,9J"S6=&0I77MK6SM>6 M1F%5,XZ)@ #0X)A"^U:DE'\/"I-&A !%[7J$8:%&.IC@>R$Q>EW+".7U([I/ M4G=HN5*2 .OT47Q;6-Q].AIV+>BH96V5PYXZSK7X*O*Z@BL83J"O M*,8ES9 M9\#N#-P7AXY>OI0)O85*;C M6]C/&#/.F/!7:U.,/UT3?O5&%LT7Q3J[*Q%J/[EI%UZ M"5;#3.2\>7XD3CXWV[_5W/B^Z32!5%'4(#WJ1)!J/=$$BYX6+@@=Q6T=9O8V M!QDG,;VN3/$ZB>Q*NJ@'D:DCI;5/@ BD <(\BUNP1W:!:CB9$ _!?Q M]5L9A'QE$!%0C;BE!BI:;EG)1V>*1*,FE1>5F+%/,#"]=7%U_/>?]K;W-C_4 M+$?)(U).X*U_QQT 6Y8/8:EQ6!/7,KT!GG*C7R$8_ G2(!ZEAB'@WHO%8G*' M]/J.5/FZO:XO#FE]E\W?[?(<9C?]FGM%JUE4P<:T]Q=8D2-GRPH5#C[E1R\/ M;88EM[FK<*"Z%XW)NZD=R>BZJL-(Y/5$;#8>(E@"7F&C$Q23(KJD>6GG%Z.C MD^IANW#0$!R\029%HGHFOFTB6\7A#EZ0>#EZK]ZLG;9LO&UM(N_EH8DMQMVN MC3Y#GDZ:!3%PH#U]QC8(VR2'E%\D5<7#7O&H,DCJ5C 5_J(C-4 "L%DV2C@: MQ H9&:(6G_4'K(.X4DJ+>'@\VX!UB@ M))@E>K[STN_"M7KYZCG&9)8(=&!0!AP+4P#-*V._YDG"03@4LF3P18."_]TT M$)4FTBC-V?@.B-X0.>Q1D2&%^$DEP.F5(@*JF(\"=P%-.AAQ0O$D-IXZ+4V. MV[*4S@1NUEJ,"[JWTK71T>OZKW1ILZ)B^_:QL,&M15(B,TCJTN2RQ])AJP,O#S,R#@XF?6F-CMEC"1%[+_ M\]0WZ_B(6]O_/P8T[3T'5V-VTUC MYAUBNO)$Q0[1(0Z^;^PXGUZS1: M'>#"#W!KXR4>X.,Q4AWFKE/4S^%9EN*>::%*HC%M@ZG$8Z((TS\+?0?[Q)?'Q5F0VZ4=L;&P4 M9Z/_^_/C.!8K5EJ=\4) _B0,?8K!SKUT??F1AA@GQ1>_'85Q?L-$I9S]0%%6 M;BE)$\F I3>ZBOM"F,(JV),V*Z=Z'"Q3*0,',?3O1(,'T]<"^FTM;?P+?T. MV'RB3)>3I]G6YON%;ZME;'#N%^T>V;=%U[PX%&W_H=,@T@-QT>W6L?BC>&/S M)=X^(^[^6(>>+:U;.]4NW1'2\: 3A\07][8P1I'J6Y[(-+,U&2@]3R7 /S&, M5/GI(\05_MCROF!$L6@T-LOQMJ!,+,O:MO"L34 IQ@[V4OUAGCW; M,LTJ3]JBS<&TSPZQMDEBTO'JB&\VO%R?/?[YVM3:?::#\0')BZ_*L M3F?TBWA8[AG2#;!& 4!7<3$]2@+?/,(LJJ'I,+!U)+P82_-)#"5_]CVU,,CZ M+],<65BW*I?)24T0-B952(_JKIDX=I,U5A0R>/S-S#T[P MO\.(GQUA?@/5Q.&U%(]/V:FF<$BIS<(RK?S$I%MA%I M46]KAG3?A1+KW^F44*X>PN4Y"_IU2/O9]]<&-&:KJU0A@%/%YF<0/_NZFY07 M3HDTG"O M:P(T)/,9R"]/BJ/H9*)K4'9/"T5*'AZ-K3:ZKK)W&B;=*>C(M64 MU?C7I:]_B8+_Y%C*V&:D35<5HLPQV]3,)(\)S/(S?7TR(>DPGIW>/E%9@U1E MMGU149%#YX"9#-81YI79 @@I !(TK9A>/:=M"QKT*3!:AD.K:U!#C1 MB).FE3\OG_#YMW2ILZQSLYM*J7H4-9<3KS6V8X4OFY#H)7'J]&F+5(9E;9X= M$JB^$;(SNJ!T\8L M\?"F@FH%5:+[QT2W-O(OK4G_M/USWYS'45V6W7B/>4>R-7?FI^5ARZF''-]E M:&(A";DT8ZL=&'E6,PY%RK6.1U%(\GXYO(O6AX).LOE](W5!"+(E9^?%NQ4B MEL0_])F*7MARJD:9>O9U:8Z,%2.H ,DR&*O'U%Z"T_]U.;5^*GWKQQ0@4PAGXB+E:>(L[E6[7HT6Q%Y. M?3%?;,FOW_5%2=MMR!A6J7VJ**H/.$/EX-%0T)1WULDI,H_JU.Q#)= M!'ZZS8Z@KB94PWJBVG;1^I)JAQ9M#G4I:NX%3$58$;<.%EZ:>)$1SI.5ON;R MLLUOB7C6LX)(GK\DG&[&KWK"@TV U!J ;S2CV,ZCJR3WKE>OR, 0%V:^PA?< MS[0G_.)!>]2'Y@Q ?\_2:QZ]ZM#7ZXO91LK'9[.+V+P8X"T88,=G[0I>WP O MMZ9]BWZ$G!_3,<'N!8P;!;]$8Z+_@@5&LY'0Y)V!0!/X^N:T TK M QG64/E,L?N-"\^:[E""F/IGD"B\4E@9&#\B-J+BCK5[Q9FKI[T<2#V!KO$2 MV9?6!7>?V-520IWSF+5?Y;::?#F8H[U3C46 [%.< !N2280-5C_%J=>OB68X M3/%?U%KACR#-%&8&_!YCS8&:^)\_6K^K:!3'?DW\)O&B!OX;9!CY6A-'*DIC M<:TBXGT9C!#12\TAB!5Q*2.9(A.L 5'W(HG_2;#7"%;12D.)[Z<8[_SI7T?5 M*3FG]/E7@%#K7S3%9V[.][+%W>*$W"?3Z\*_IT;L*X71*3!'C$[E M"HU-TS.1J^F*9HI]0<2;YE&S_;:FW7X<%$\Y<#JO0_=9=YLK5J#EF)+$]KKE M3$-"0:IC[_1A=MRINI>W[8>##9=UYW(8(>Z1 ]=FT\SHWEVKCL"15,4=FFEP M(D9!M/PRY^E!\X<,^ M,SG>.K:GALWA/*4CCRJA]>##(4C9KGRGEPC^C#-FUV?5>V;(PA>A51CO4@G%5A M5[YDRGW[PVP.D0E+K_5*!LCEF)[0DP1J01D :)_ MLL2J.=494!*&@15:0/S=H)?K4- YDFU2EI98=L5/9P&\ O(3>F;C$698%*HQ MP FS5.AOS+$HXWL9L!7\=-43C78A ],F"^M>]*IHJ8J-?R5B)":R.'E8.-T' MTP[95F>Z59$?)ZEI08OKZ<59(*D5;*C@1=FC[M'ESK3<@[B(X:_DWE?EWHQB M''-"$!\QM'*IAGK=9'R,-<-- 71<>IK&Y M+GKTF.D=-)EOV?5DN=<5KF!]48H=A\--J, 7-G&?K+OC^M%$ 2SR&*5N^BQ' M6ZL!5B!"[T_14]Y>>LSZ4?<_#S$UOW#T#2B(OT:QY"H9T$1Y%* KJ0/_=K6A MDOO*K-1,^2?5Z Y T>&JVQ0T3ZUT<=KBTL:$R7/7\0'5;/!,J6Z8;*A"_JVT M!1T"/W;]7_B4+,(("W];:A]W%D>1_%E,;Y6C\4?]F-;HZ0 Z @'6KL)R+:5E M6/C^V5>1=G1TS-4H C1%#5R-X4O8*"92E5^'J0(,>D%8YTF$UA+H\EBH'*F> MK[A**%&H^K#R@2F#X^8U#1DYK-9*F&I*01C?7P"8L6K)&4A8>I^S?7: G@E M+AR+##$>0#CBTG^"2_]-DD!Z, ^;$.^Q3I).(G.#*@,;@,D5STP,IJ''I4K" M6.%DL-TJ&>SQJ&]N IB3G4E/^,J+V;ESD,/N$RQFSA<@6=_@[8T%/AM'Z>]W7\VEBEKXU-WR6KCIS72TKQ#"E%P6^"4CQ9%(TQF#!@QRL MSS$6Z*$(2?*E\;!/-]@Z0J5@=GB*$9PCJ(HP&/'!(O2E*",KX>D89)ND__@R M[7=BF?C"#])A""16$Y&\#7HT_-N:P,B8FACIZ/120 SQU(F0F6_B+2_JZ"Z3 M&+U1B;U)*>E[DX6AJ/BF]B*A3A,AA?149-YWKQ_AY&T"]*I"[[0(!M*NN1FE MF %FVC]G[DF).QD2*9?.?060PBA2=(KJ6J[&*5G0^:T"C96Z2+X":$S9-A/E MHZ6I"C55T+'P(MM*"5P;GMRZJPHZ$^F0FMJSN+(GUW*>6J7^ 36'U MPC*8-"RLX/LN98B2PBI-:-:ZVJ8RM1&:>"38M0A_+ PEGB3YEX??5DIK#D3_1C=$BX#*8*3L9;6 -.B=-'/$*$(#[U=72 ? M []D' -Z+?Q:O']75RO@V%7&.5643Y:G@EH#&3M^,?;GN":Z0+_&(NG^(S8W-+;!$J6N( M7W26! H&;$GBNP"+# *9;VYL."5@M-B(<[;#J.K+RGE;KTME9A*E&W$"G^M1 M.7FLQ0Y8U]CXF6E5XPMI1>2G9W)#A!H#.2Y-]\U%JU(3SL["S3F[*^^CIQTF MZ#&57%;H'$ZIS50]S9 7WC*W[Y>Z%,\%%)_#_I0R.MW'V#B'GZ$4#7*265!] M?Y ;=,V#J)H5^5Z13>B )V"?;R&F=^K/-K+,%>7N/,*W-^W\3^N_3/ M*NJY2XM)J[;=USAS=<0K/_-K.N+EMQB:Q>40YH\Z'G;GWNSY ;G,&/MP"V)[ M[F9FCS%[BS\O 4A6X#"VJL-8FL-H/"IE5(KZ?QD N%=1-A2K\ZM2$5[ZS*\I-N*5SEP=\/DMAOFI"%^] M->G($(O@+@.NN.FY5A+Y$AU$EZZWJ8:QZUM;'%%O8]0Y_ M5=BA=-@//''&3;2I7]!1@&WO.CGW:]7/+B[]:C$P^%/IQN&T96HOC^EI1=L@ MVT[.BP>=(+)=EOP@49XN#(?=OMS/10:76 M=6XG=,XE*%K64X/[+(AR&89CH6YEF.,U,:Z9I_;Z,HJP";#LR2!*,_I)W<;A MK=,DG=N!D0CU%591B*[VL+S/LK)2@..>![[#) M,'85QOYQ,;;*QB[JQ= !C2BPYYD K81Z G,[*O@4> $V11O@B@'F<9H&0&,K MUW;IH;V\OJRWUTTOGW05.W05Q#:+QDSO+0)#3FT(I;B52:"R,;6T+N&WVV$/ M1XM'D>@&*O3U

6'1D&J38)SOKB[0?#'%]N%9?Z4E#HC<$@Z$AT1D#-,PR MSFU3+DU9M"9,EN6^9YA-1GO W".@5:#:-_ D".60FN2)OVVN[]7$WQKK>_08 M?-RMP0[2(9-F.#8SM6%RFZUKZ/GO/^UM-MY_,'OS58C]YY2OFR$22A-GPJZ: M?25O01G !N-AKJ@W,^R%%DQ;J ,T%#&".,G21R/[!R#B@[-\4:=YDJQ>D^XV M[/238CT/R- RWT]DQG5"L .=_#AQ??S7=?WT_.CX_)IYP*P$M???FA0V!#RN M=X#_W]1E%\8X$#(0*+"/-.VG@!RB,:)Y?50*; M'=,DK3ZHA26-S@SCB@I7_6-=<[;L &$E,VX;*[9W!87XX:RN''+'-1LHC3_, M$Y"3J2K+6902,)G4_4!!D0.A!-,AOP;9$_1, M:-;63%FR%2Q^/LRUL"9TWTXY$"2-<06 HF)(W-#]!.R\,,P8E-P='8\R!/]2,%EUTU M]G 2 NASEBCJ#HVG'IP4G"'C-L.E*SW"]HX:QQK_T,N0Q& QF9[,!L KS> U.'T0M>0]H'2&@:6A:UG<#,R.BX@R6Y/I.P'8$9 )"]@,] M%CLE2,#A3@THT,D#8.B@':I26 )RDA&2+LD7#,0/0%W3KI-T&#.C8 ;XPR( M0H]7$TB12$N(X3F0_XX3O7 &>JJY'P&'S2/@CR%+Y5N99E/O%%R@M/65 M0V3CK 1N-E1(W"OLE+PF6K/[-*:^ZQ=,Q\#%!JGQIP0HU&1OP$HS:T;(R]$7 M9QD=>C?Q7:LHV3EN2=[F)=& K%L[0MRU\-\PVC !K3Q!^Y[Q%'Z#KSQEWK\V MW+Z&BP\2@-QF/>M3TJ'_E7/(2SH$;U*&XG MH&SN#!0)[AB)KBL^HY%P! L.8^F[+QQ??#8OE-R-$K3N04S( M:;5&DOVHPG<*^""[N56Z0""P%C/NQ75SY0#(;6-6RS?5D3L#C4 M"6&L0J5WSA6QPZ&<8N2.58%)%2C/P?YL?KR.9E7010W'/)!8IL!.4N8AH 2! M7I&C!H'^[!R5"6!G_BY4."' _PPR%R8][X@CF/M%!J:3(&9=+3?+U/IQ 6<-)]!Y@1#0'58 ^I1VMEYI7PP[T 7^U.F M?9@B(V^<+]IH[/1E4&,7J)GY$ZA;A3H5QAZ['(BH3]L78G]CHW&PN='8$1[& M9'0#Y3N+CO,LA<5X[+OTM&3JQ*!<.. Q5\Y=V0&=DR9PG)#DFX -D$*#-#9& MPRQ SSN:OKTQT:@+;+QFC/.T D\W-'[<$"%#*: S;JX[@,[,(.": GC$;IP M4?O*(V0P>*;P; ^=)JF^4,/#3(+TAAA)7]*]/+FR4"0;<)7\R2J2'=+<78L: MK.5X",@7_)<9GUX&K0O@F*.N.!FT8-1JXE\P7:1# 0P8$97 3DU=V%@'F)%: M90_2&=[L.\/EJ/N1IGDK@Y!+^:*[38K(%L)"GQ(HI%'! ;5+/.^0W\&X(T#U M1Q3!DPN0&=8I*@" M@\,G[F%/DO00TG0[G0%^:(9TF2CLU^\%07T#P2!:YR )-E%D[F:G6HD+W4A % M@WS M]IH8&KO80THCQ39,.@6!UYR=-:,TR9-8R^0UOHV:$6,JM@O.JQIQYK0 M:L;%C>"GZQG-9H@#::Z#@UG^PPJ,"1VH:?F ]*4(JS::\914C8 MJR7VW*Z>LQ/U=%+?4"J:<]"JXA"Y"NKJ->?62V*X%XW.G M3@L/>%\"7[6';/V6D>,%O 7M8*"<4='1,AV\H6]4QA.(/"$2#>>U(I'-^GQ( MSI )P=)A+8VP&:D'U0BD!09N25:X\/9 F\]#S?/LLA"X,'$#(;Z_ : !VF!K MEBJ=#,V= P_E^JO,,N!WO!\ER%DY,1++^;AQ1;"$(W3LRV MLT2S)==#O4!B?M4A,WM5R,RS&(I7(-%E@MH?AB:S)H&,:Y4-PY+J:)0S='_< M@@E'Z,#HA+=WW#FQ=A SR&NF@XI)\S-J&JX\4UX_BH%Y MF5N[PF;$F[JH3Y+61@&;7\W()SP?.BU1%J,B%@-S(_\'O(586Q-%+ O)%A-S M$HY+N^'+_T(/XM"?D9UR(@!'E5Y&QFEVPE<",NSA-5I_0/?)J"GB#30[9\A M-@8%$9EV\UF D39IXI6UY$0'59("")&_@X+!ZJAS_:#M,V]"846(^/[$7CPY MY*L, W<3)#YQD8@V[;2IXQPLBEGX'8VM$&,D/'9$Y]ABZW9IC'?:W68PSSFK[AQW'=H=?$($.;1= M\4 5B>R2Y[2TUC8.I<1Q:)2>Z\LS^'#*OF^H6SP$MB?2<> MHD9#_I40;SYBH[B8([0NO&(;-082J41DM3H>OIJ^(QZ;9_0MVR"/C*UM[V!J M+MEQ[/ \ -D;)-=EHJ+; (YG$D?0)>YR $(30=85V4@&8Q K/7.IQK?>*>P< MU0]:!P) 7S@8BD(54Z&!1$9R.>6@1&+3=GC)Y4TA/@F,G1K7#T/!+,UZ:6%0 MY&W*Q.[$8>E&\ZM(3_HV&TC$:ME= XA-X73=DJWMTJS+'&_VZPEKX[&;Q> M*\*T:!U;/\,R=CA>='.W'"\Z6W&_FK>8(CBCL!]I*^3P0GN=^*R_EG28@PWF52#6 :3"+D!TJ $+0R[PMLQPX;LF/J*#)25P'4Y M3.A\DISD=*> RI'11WA#1GODCP+Y>A5'!/.@.R8O!U&WM']2 IC(#",)6R"FXF3EVW^S9TB[*P<*88W MC3YYY7C+I*.Q[QM9MPE> )&?X5UC6;$I+0.91X!;RU%>6W'$HGN@LG[LKQ[? M1RTB VUFF$WB--.!]F8.,9F+H@3U[>:;,K3@I%DS8[VG9A6?MZX2YQY(VYS! M4:'Z<*2"J^#,7EJA515C?\YA"'CS_?:'OYP'3D*9]EL75\?.=]%(A=9/*@XZW,'*@WJ@\YF M(5?CV'JKH0\9]NAM,M[)') >Y!\ T;B5([XSXE15+XPIY5-3G G-92SN&->A MT;X N@!\Q<&YZ@[.)$.G951W1I*]1$T'!T]!P=[]%]'"% H>VT4@X8$1Q!3- M=R_D_40./'V!;B;[S00WCT#31_:@1RM64(Q:XR17DQ&A;_8=\U3';^N2S&@4 M3)Z)<#219LQ)9B[0\(J/!S[? 4:]LFA41>X[-6',L62=ND4!LT$7?+- U$-]OO;5F]:SEK<[]V(R M(FV6257/KDVAGN1X&./OL-MAM3B4 3#R@&_=91I'7(C<"&.\Z0:C"71XF; T MQ=G2-!]PI!,SPR)(51_'M\!_BL1Q,[0NC@@O5JN3A@!NY@('C-$@0XTM!Q[3 M4:3EA]I%!,#%:S2MW14)Q?H>)26Y$NG;>KKX,!=O-D?&6/,X^LQ+.3!7C;%.D9_F.P8@8RK!PW,1;0L15S=?%;#@.)%C"63(8K:^[< MARM\(9G%F&\##S4V-@H]H(;?L 32;E!:S"J13I*2I:/.RWD3Y\B 4-U!HT[Y9#H& MD\9AB?:-^;")5X'OJZFTVK*]K6>3P;;NM5H A33/WZN;X=L9D2X>AK@[2 MD4E/*\$8164$HI%7UGVNF?G4V%UY"V>'E42*^%V39&0SO:R%R.^R?+$JJD = M((A,;B]9'#K:39SHH=JF;DLK7J^)SYF_;N.03]JM"Q.(+$+90;O:C+TN)I03 MM'1M@)9SKC=1/ (\Z+%.3EB1&GV\R$O*;&@_T&\B.1"GCM('M1V *>4CP?'V M QLU1XBE.[6;P' PTE$?=YX"'&#IYH26FU@W&3*"CF(&, M%$9&&5.LQY3=F> !Y%Z%0\J3B-5#ROV(T%P(32[\ZHKBXB8#4:4=$Z]%J/Y* M>:!D]]AT@_:OEAI75E3;%.* \I8&0>;XK\QE37&G.!&O-HA]@!IFV N EAO% MTF+RLTKOC0)* EXDM;2%Q^UMC\0LM(%"DF<9"*L#5D,6@;Y =).X/ROI\T6I M^+L<##\X9U<3S@EC_DD4WVH:+6E>]NCM9YS@),!!\.OC.XPT09HIA % 0)<6 M*$17JHP<)4^H*2$PL7=?HA;1"^,.ZCP<3T>AS8735@_)#*,(/5[9^@-_EI(= M9,**':?F.^D-?$>G8_$(XZ23T(%1<2%FY&)9 ;P=H]1?-L/*4D"G>2.*L,!R M0M4G0O@B,#$3#.H.Y+=X, M.ZZ?&H";2V-1U!+F9*.FBIX]F/R_*JJ9^VAR@N5#"I856"B./(DX^L0UK(Y7 M,+&H Y@ETY&BQ>AIID@H(K$6GD46/_0DTQ]'2<))]..0 N]L43NZ_,1?0'D9 M8TB<(8D5)8QF6LKU(?T"Q M]^@V4*-A')C4!M:;B\WHRCR9C79'#A$,T!>KJ\49+=&:5 6C-Q&T-D!")Q2, MB\0:XFU1[&:FE(D?';SY0.DK)HX)!P:&CGYT%/?(-YMR3#I*F01'4X. =D\< M"9ACF*-[AZW2@"_M1I)(-&,'&.-5&&@A1UHXZ?JL6V(=GJ[2D1S65U=LG31Y M,%@TD-@^:-KD!9W4;? "\TH2K6T4I8=8!!0*P!NT@**WVK5']1W UM<'\T;+ M"#*XM#; I>U*J4BHTW[0U9?,3V.^7$(N1T$5;_G<9RVIVTV5CIDA#)!)!QVR M%KCD:8LP.QR+UDC*9BD7VM-3KJ,52 N^57V@9IWV5SC5V;(B\F7]'$;Q4&6B MT]#Y)3"$!8899])TUKJ)YT2#3T2".]0+I^&!++I2'I6<*KP;A"E>R#TE73&( MH.KE 8H,0 $>WV1&%"5"M:G/D#/#%'<[QO(+V)+AH21G0J5\!J4Y42WP',^# M@THK9["X:KD.M')T\UY Z5\H#@V?1S]9: + N.J.9EJ%O5C<7Y,\UM=>Z0R6 M;2Z94O>.#G94!UK &S)BL61YC'>T+_%L;\ MQW&H.11HYCU4+7*?<51OM'U]?*8YJM>/ H8'/;NR:G2+N'61MZ)<^Y8U6)0* M.A&DAF8^8E20.;*8ZT@P8B$AU^;GBQAMS8W%JCF M%1-=(BYM#6"7XHOK L,\="6B ?"97&>@3%P]I_K:Q!2) /$MLVWVEA]$.PO!EDNM M7GR#S'A\R#SQF(_$;2SV+'P#KZ2M*]!EE/5C,'::@TX"YNU3@_B!&WM*3K2[ MN22;? Q>@J5A?!--UNH'JBNFU*OO1,5-,,J+BOU@RHAHD-">=*()^Z3MA1\CHYTRL;<_D9T)7\ MMU*WXE=R\"T)<3XI!]I8DDT^PMDQQ[DN O$LRRGS)O2/'&/Z@*)0@HKQK/Z8 MR\]XS@*O+U4HK@,? ZZ6A"J?DO7L["S))A]=^=$.6)W*3-:8C3;Z9$(22I5^ M2GBZPHU9)SP,XM\QY0%8YW4-38[YP!CL/!$/LG%M=&SK M^*)A*YY@?])Y/QN]5F\ MME&^3,09IB9&=I"ZI2J$Q(Z-$-$JJQ"0@$VVW8 D,8L+&YL?$> M%X$_U$2?YYW -8H,YD1,S,"0/5Q4)JZD'[3'J<4\SN42H>)ZY?H^FR"!(/%] MBI?%-HL?P.(47_<;!^2R&+O=0+3JM(P0ZPH M$^^OBS<5UZY^?#D3[J/7;6Y'349VH M3I*CP89W2::PKPX&RG0F#U4QY$@9"M\?P+(59R.*5C $\(>QYYZ)G:GU^>+W MM\4!:99 A:%IM10X$29Z )E&8'[D*%I3TJKQB)UKB# ML86Z4L %/06:314UL)BH@<9&%3:P4/W!]0].*0] #_^3A\2EMI#=.8&[T_H9 M.Z8HSK;F].]NYCW,A&SLFG30CO+D0-TS5J&(3/FZUC&>$]AF!UD*,IX1\W"4 MN46D;Q#I\"1=Q)X=8F/1S2//!,8;WE%*ZW2"FD)@X=10A<)+,270DY2*7\/^ M95F?I"7E\FN%U([HV?"L=>1I(ZK.8V5'Z^2"(B-_'P^ TT\J$\!3I=^AF%2L M+A$&&6\!Z9FJP$8JP_#2['1C0_B=^3&O9[#T\^*5MRL7KJ2I8F9A Z:B:9'.9I6 MO%#L;3$-O%*T(5BY:-&28^T>TFULN?K^/)<./7.O5^<>15XOI="+K$1&?;][.Q^V%RD&-C4EPZG3C.5)9@8/P-5D?R=/&/SEB4>G'[BV-U+2=TBZNT V(RT=?5,2S*-7F7N,ZEJ MZN!XX-V\>#/+M!(ZS26NU9VDTI[(X0WC.9X8=FJ<(Q7V YB'(Y/+Q%(##CKB M)U:O=]F$9VT6[SF3X\+&T*SGQUPZ]["?V69\:7S&B5GC(EY>8[PPV9ZB>:H- M6*^/'CL@7X-:)\ !5.M PJR_XY0[UIYX,!J%%@\GV6N:\TQ_M5 MQ:!3 WI$IGU>[ J]E=,%3/#O1S 4(S,C/>ECSBB=V$&.J7*8<+.FGPO\7]:" MAEPSMA\05&_-O.T'*2C!XX,@XE=.L:-?P_:YN\):32=<2>7C.QSNL/C/:@87 M?RN06Y*4%73S:$"):R1QO&-YLM9N53@R=PG;#$!2FOA7!B= M"5/DJAA3CZP;700?G8I9*64JH7($5.:&&"ELT'02*J;3S1FQ+C6S;/CD-#0/ M.5<:JRIR&0'8.V )\;BX6""^[J93%47=:WI*LRUG:C?_7&^"\P)KY2YG[NYK M$VTD/=23<3$35 RT&4$++K0%"OG M2I&Z@$W-U&_&[-#ZV!2SXE)\;&'!R7E>3LHJ%2@S'2AK]?)@ 9+!OWG-7N-Y+:*=NO. MNU8VZR"E,- M)\IE=^K+C$TW-\'PU(4\S"4 Z:4VL_GK$&ERL=KR6B<[GMV"1%Y=2L.B5HCF M&6 @E@,HZH%P?KNN*)$/J:$48=!\2K274-Q^BDYBDC#I*I".7NIVF@!TTW+% MR;JJE:5IJ5[*#-&:]BFE$T4E["28XRP6AE)F[0P8KK@$O'4-X"]NC*&H+0P53\0ISJFIJ M[NP&D,"!''P:(FO+LJ*)-IC-MW3#R"8W O(S-V3%-ZX4%7-OLGQO[._O+)J' MO.Z+P49U,?@\S=1.V[^+DV;K^N*J?;"ZIJG>UW7SZO3DI"V:YT?B^JIY="Q. MV^TOQ^T5WO@#G1E4A(%U<\>$X98E <@5Q7K6S,K510E2MQP81^K@,.] %P## M,*46]CVL@&==(:L%[3^-:>PT,3 U@Z( 95$[HV(J^@Z\Z)3>,J4[:C:C?;* M_$1-.W-,J-&GNH!ZI'156U*D>G'L3_3OUHLQE=;IT9(,I7I3A41GBU=Q\:O2 M$0*0>G*JT6E"\5B%MC)VZGU0NP2]:+<^B;9*2'UCEZY?8BR2$N1]KI?'/73<)FJVH[T% M =$+CZHN*_;G<:%$]]*C$4Z1*W6-/HPBZ?S^C=,FOJZ2$- 10NN5%K;:CLA$&LMU#401KAIOI2>+4ETJ5'&#$)K64Q#HR&"L2 MA(!ZVH'%W7S0C^%@P+I6E^TZ\*0LCJ:Y[RLL<::;)U"17XTS7*.2J\EA(4MJ M2YB8(E[KHHV>IJ(((Q7=&L2WA:>*['K0:UBYUD6HNWG"ZC.U Y@H?>E+;D+8)!KO_XWK=IX%")BA?=5Z<6.WK!.L MGU>"Z&KG1ZM>G:8+WC77QFQQ@]5R9N!LU?4.8H0*T0^S:T>O;6GNX$;D_1 4YQ"[&),*?!V$U5-+()[G=F&NV M42Q%P&LA6/0-LOUU=5WJ@;R9+(1;=-+F#G4J)C?[1*_H67&ER)1#I5OLTKX" M^[N)$+&:GF&^1ZP>4%E@D-8C&# M-1T#9N$K826%P*+.C1FHJ1LU)=!LU) ]\ &-K ML @XM>,PBCZ7A^9.PF[/\LF+0B/C2!UN)D";1;;2LB%M!$N/. M9-,'A+7JBXJSIB\Z"D#N= %TB3[<,D/3:BXSORY5 C4,#D^PH^SQDEU)]^E& M1\7^+]1JT-/?<65=.3:!G[:BI.W6E0\!ES$"&^B_SP%.D7G#+)!KKJ_>T3U4 M4IW((,0K"NHN)+E%I1NH2G?G4_7SR1!Q+=RR)3OO&GHEY9 .G2WA=KF[7PET MZC8.L?.#[@A8,U*!ZA:/K980V'X3 D4[5S2EQFK<4\EV5T=^2W6UBV .ID6= M/ECT!D]-NR!*]M(5Q_URO 2&JBC)G;'QD!.JA%YF=W;0N -L6NED@CSBM;AM MCVQL')EOU)7'E#77B%70O_7KN(AEV8<.1CE8>/'=^Z]'G+=#U[KI$?\^C M?+TJX'=>!Y28AOM2.AYTXI L[?UP27D1>6ISSDI?)BU,6#LW@UVC\G&0Y3G M/CI-6,/SN&4$&&5=:?'/Q?JBEZRU(Z7;Z=$KW-16Y>RH(B#=BJLBSJ>(IT+# M7/M64]73S;W8Z,9ZU'5>Z%ATL<,OYGS&Q&!9C^)T2[XPMYVR2EUF@Y0Z>, J M(I\74LSFQETY#MDD?5#)A4>IF<$D$E#>Y\'6$A22>/)Z$2^1C!)5TO%=O-'] MPT5/@<[%C>M(V])(MB6.8+I(-\9XLW7TMB;.T-$G/J,)(%KHU'QS]KGU5I>1 M"M#.SLY8X^=QL_\:D0&T76" @Q=@X(XP'*OK#V;KM.9&X M.$,?CYN/]*9]=OT67NAB_5Y8_E_UA'RI'%N(@>>G* ]1*X0G[:9-;V4,HYJ6 M4-R"IVA24+1E=3R_+*^[.?=4);HU]N,Z7W[@X!SQ ,.*(2$:Y-SFK9^"6E= M-V]W/+/#1-5=;H J<9QF'MS,D=QY MU%6+E >3[G\/BW%SG#K8EZ3H[8&V)C87H3Z7?54*<*0#*IGPIJXR@A7#ZLS1 ML;E!B!#B#5&J6_L.L;-CL6=N5(T.3]TCC HBZ#9_MZKBA"^0$SKR^(2DIJ-O M T4K7_</F<_&"KB1&41A3:E6%'B\,/:0?#TW/ M6Q3\H&A0K4OKZW(S3K75F\4>IJO2?5H1 6#?P+;,'?<^U(W1__#D45RB"N=K M;%;A?)7?XO'4#--\S#H"3$4I5#)MRS_3_B\S-\TQ-9_3-PJED!Z^Z5:5M'AA MTL)B@BLV8 5XB1 5=D79'-)^J9*GR:@9YW^<*>/K*1ZU/BICZ4WXD>PU6SG' M#3U$N"[=R3Z'I<9TX>GH0&#AQ=9Z]6/NB;Y HI7Q92TMUJ$O0"?[JB MG;W0'%$LBZ]TT!A:/-2)MRZI[@>@@KGA+D=]ZJ@B3)$S]P;K"U)A%G2WV<7; M2T]&>/-H'!4%HTZ*ZQ*,,C/7,P.\O4ZX)B EG'%+8P-^;9BZM]LSA]014#J1 ME%IWU\H7'N4K-&0JG&R'=R5X3SH1$*W\B.=X K-K))YAEB8[-9-4< M=X^?L)O\_\_>FS>WC5SKPU\%Y3OS*[L*4D1)UF+G3A5'DCW*M25'DC,W[S^W M0*(I8@P"#!;)G$__GJT7@* 6CQ:00BJ);8E$-[I/GS[K\UB61]B1/$68Q2XA M["2$I>:4%J_Q=K$\K:[/(X ;DNGDPX'/$/KZ!8^"67'AS%VRS%+$2$<4W@=? M@4+8U&5-O;V&259H&E4JLKH4/H BED M.63<*5?+>21T6.U*RJ>&Y?7/,B"U92[F:D%7Y;A($O'VEPXS/ -4 X#53=QI M&%6^Z<;BW:]R,>%$HANH1B58,32(I1I7*Z#\)'P]IFP-5<_@E6DJLZDU1*,/ MAW)38)NI YIA6\?=TEG[C(E2G$@Y/C_U]CN\V-WIOS7(QI,-_ZHOH2[VY M2U%K5UCN2'[-QEHB(KC%)=0V5)HA"[N[&XU4PY0/DIY44P'' ZKOV$PB\>5+ M;+H@G#*=Q+!WI^&,901FI:*X6O&C-1EELBZR:?I5Z7NH'SI6BB]#+Q]&HT(4X\W>:6>@BO2:Q MQ-%)N3$;>EGHRF#C["E,1TI3L_0ZS-.S2U-(Y6FZ@D[;L;9\4F=&J0TJ"TS4 MDIP [AA81WEQ6<)):C!\9(M"37^*@6"-9U:FW+E042#VCV-6CI*6_(1\3!TR MK#IC*KHKY'ZCFDS3X!(X!YV>2RW4; M!XP%L'B74V-.2'")#U;31B_7:5DP2,4RD#M0)=2:P] @_/*TB._:6.ZGO]U% MSIOFY3C4^B3(/>EV,("8!UJ?F2,I72V-30%R6@7;!YX,-^V0ZY&H\\.<<3"0 M0N=\=_'V)0MM@H-IPSUCK-L@%V 4H?[6(1J2 _!_B*F#4.=T@;+[BOR W3\55P $M1&U$6EYR5.HJEE@ NADU-"W,EJ%.!2ZOT-94H%N! M2QTZ!=R#?RHDO$!9PJ@4,7#!,TC4-1U;_UBSL9%P4[P8*QR(',5Q1/Q*F^T( M_I_YIL:18"UBL!XS2NH[F'!1H=%8I*ZN?]R)V-*)6,5X7QB*H!2B;MQU6SIM MRUI7=+"L(J!#5A70$504>'/@;!3&W+5/9K!L5JIXX*(2H&@(O6'$A^IZ[A*# M:T=P8]5K0[>ZVM!6!L%_Y^@?8:4X@ 'D;&F6'[I0++!:Q%:)0ZPF?$"Z:GL4 M%>+U+V6(^VX9*6?5*HM%"/(86:7$:#;SJD 7;MJ:%))><@= V'V<@(X1%X#@ M DL5X[NVJ*ZNG/DN5_>@A&5+."57X<,C"Y\=6&H2#"8(/IAI>QVK4B_%NY7& M94?>.B-^V2RXB'Y<$0/;N5KHEEH&^:-LED-"R9V8W9XOV9YC1$#:@RO%D_IH M(V4A409B'4B:@.,NK;DFY.GZ>>Y]THG"DHD"&<^8>3,UN!6E7MEK*9QBUT4" MA%SJ:WH'NNU?KNTG=\B6Y6B$$0MGB=L;1Y.(2R6B-'/@+;O=7K+==NH/4T:8 MQH2GFF!*'>'7ZB=?&)^[X-QR;K?3E( M_%323MCN28%M&.A.!^#S%[F1")]UP03IY_\,=%D:QUMTR-]]*P(-,@T_3LC% MSD9*D"_+ &M#E? 1C1HVA>8GF'35*N/4=4XMEN!JA7/N&BSCRFY,K92)+M%% M9 +-B7'\Q7RG&1(] 7$JHT MSY0ZZ;K^J7%SRM2Y')UN<_RM[M]LK)H3HGCNF8B, +E5WA6G4&%EP5!W IBU M,BR$<2IM?DY#%H,[4L5,M!@T5LJ]K7[ <,.$NQ/ M(4!D%YK#=.$;E#U; MP(-?*W,J!),>:AOIQ"9 _*)O'S&!WZ"[*SCY%L9^;A!T@FRW()711P6O&G=R MB 1I6\H\ '\;IL.2HK#/K<=@L7Z!^%%2\;>I;EM]55]-%0 MR$.IIVCFX!@28*EW6;7S_JN2AE3>E[DNQ"I& M*XNL4^+CNTC>%D"H@@LI+1X<5L=K4\+OE1Y8/C1"G(=CC7"'0(%/4[=F4? M2$-3R;XAWB?D'UI>'8<)D%^(ED<:@R,FF CRE&\IV^^&C2&:5*$0Q#;F\.0^ M+:$(TL50LC/WV0K]3K]I3D9\&9H7HSG9V?K2-)S1GX@M!\9P5&@*GX&B#"TC M[6-6EVGE.0I^4^Q4$PKISBC#>,I&E7 +-E%:96I::F4QS10G7=/B)I ,-_H4-<=7>LY4[X_?),=(1(G --P-?I;'E#RVPG"J7)$F.2_!N3BN,!1HDYUHOG'(T$H/X M5_;(]J(K/A.#%#LYM4TE])]P+#-2=$:/5!LC-21!X\9J3(.&O65"&9-@E4GY M\QY0#;W!Y0O7C,CV^&NRLQ4\G,)^^-OQV:'WI7]V\6_O[.A3_^+X].3\M^,O M'4T,BZ. @;BEFBH9[H28>[*1KE[#KRZ$7;U'B^Y**B?0&P13BP:NTGIZ M@I"XMV#5@@U%-;-HD% A/]91UQJ3;NQ*HIH+&9 +K&]M)Y\0C=4-\S+(WIH% M$&R.T,Y$52:H)X*!/N+>H$!5IJ.\%DJX0F)396;&M>,XBRMTMAH=%NJ;4M,Y ME%0]=K6XI)Q2#7(@% &ZJQW>9XUG1HLUR-* 7TKKW(9YZC"F@QSA&/ :$)8H MSMQJ(3-;[5GMVC7V6.O;>SIG?2!ABNZG[9ARS9**83$F$%?VQ-XW>:_+NY/.)2CZWNY+/5MH]IZQHHD ZK +1 MK4DY&2#;S,ATV,_75N=CN 6H,X^3F9;PT>7PNH4P6E>]58>QB6['>$=T3[P+ M"-77)<*T) !1C>N5P5H8@DV%*^L''N@P!-7]IT[LM,QM0V2%2-K!#KH")XP. M!?EQ*J+ #VPO:)E8F8VA=B;\0&"*$AJ$Q+WJ6)+X&KL2R!S\L+T"59"0WA^A M?<:S(?42):.XI-TG \O)[TW![QLS_MDTO599(\Z.L=\MN8#K,1:FS4]+*UZ6 MW!0P:EA#_)\3SC/M,Q9[@D/YCM#:RUA0P.H7NC%.<_L< U98^[%!S)>C ._. MTJ\!8O0&4MHP,S!&M@W-D(KH2+X06UG8"WYC 3>IG%\'IJOQ**]^1E"'KUW2 MVQO4I,O)0L)D6"<=\G83LYUFD1,'RT6VW.UW3"27WE;PW"SS7ZXTBA;EH;1V MYI0*=CS*$T7(&!AHM= MS*88DQ)H,I12M-;!WV ()$0SBACVDKBHI['[PH*<:0&Y;(85.0?1Q&5O #8F M+US=AO/)AV.%*:6J:J [3\&63LA ;OZ*7[N&*D,3/AHWEC.PG30?LQ*QSAN1 M?\:!S65P=];<)6E#^4'#(1,O26-NUKF;L1;"SA49&=V$@Q6[!D2S":+IQ=%( M$9B>*%2L*D3T!J)PY!A;D\_,?YPBS(.LI03A94VH0@,C> 1\A\PRY42(NOY3 M8@R<[FZ<5"PD]_QQX@1-"B89,DQT _2VE"&WTY/X4A'O"E97C3")5'G0=&YZ M="KX (GY(&J4K =?YH>*PQ>/.1IRVM%,SO![7RE-L>W(%-*KYM7GL$682T+: M-:9B"HO@%;1RVI,([G52/!UBI:.O!104(E:^3 :Q)FK0]+T5"\5QV4*]TKH/ M7T 226U&6;B&3V;=@*RY.IM;]WXYEQ?H2'(EE:/O?YV1)J-'/[ 6X:MB@B?> M 3C 06.]4LA\OY;SIZ>PNERF0%3D+SZ$S!=DPL4D5)-'ACK7Q5!R%^-)&E#A/HOKA%LS MA>>;J^ZLOYF;))(Y,;<]$TURN$[P:K)1LHNZ7RJ57KYAFJ5"1KYGR,9A-T9=3N)J"]+7B"?,RQ+=I0KC^O9:<$570]D5Q=OTZ@Z;BF[B?;XNV?!?5 MVHV*DGM( @'#B(='MRN. VY@6BB3 ="_Q\ ?05>(J5KR#PLB!'ZW(Q*KI&YTGA6_]S]&%=W!ZU5OO I5Y"N(67$59 MB=YD%EW)042W3VJVHD(#7D@TYI9M"9#S)M,! 6;6 U_[(\,ELQ-D^E#.2K@: MZ-J]"G2AU==OJ!.5S8:A^T:8:Y)G@?O)%G%R$2^5U,,HXCA6B,1SB@DX=1=$ MF5R7#/*CG+)0>[W-$(19ZM9X!:30+M,NEFOS4\69]%B" #*/H&L$.(5K9,_) MY' 8+J]!8X,IJ%'9PJ;\R5.F>L8J,*VD07UV4YU<[$CI>5,((4;$]L!$YJH8 MMLAB-[0$>.Q_XM\OLY2L0?0F,7F:8[Z\EDJKN;P4S&'-/N0D*_:34;S'=\-X M%F: C2$="AAAV5^EE*TR=V; Q9!GN%:D:_PWQCU#)X>BNZ:]T84^GV*I7H;. MSZ5*B,C6[J\CNFQNF*I?IGT<:?($>2_)%F53X"+3*XI'2SF8B2 HQG#G< DY+BN& BX05])F:1UA\UOI'"Q:NEC;90OBI3H MQ1,J&98!7 -!SCJ(Q34<0QT7T_O-Q!+FT:"$':Q\L.6N\6*KFC9ZP3B]4HM1 MW1*A6L27LX+&PMU3;.*]2%M1[:Q5^ J<[B."^+ !IQL3::MZ%QY7%DZ;^F*< M8@$.ENY_I\,)"[._\;/O[6_]3#((_V!H- E1V$"UX4'!0" =L:ENQ)DO>J3U MCQJF0=:X>Q>B3U9-5G$ANC[N.),,N2Y*&YMN>"Z=?5&N2L>-K@+0J%A^S"?3 MZ;?HH%^6JC&TRK)^E*=_X?#O^E9O*;3 5%[X9H#;#OX*&C@D1?G'R6V\R"@ 29$!ZZ-XA M2?B8AX6?Q:K^N*:.ZR8V-TE559)K57P*] 6B,,+0I+5G.EB*)<,I,!Y.F4@" MK)BY9'1X+1V5&>PPC(X>&I;X8GC8U!!T6[YD6TXY2L>U'2/4/G.E!CD'"JAI MD!UJ\2TU_'2%EK9F[=K<=YQR&+V3C263C4GDP M6HU&@#.+TF@__I<*J]^FX M0QU;OBTN$W9L56AZ-:@ [+($I9_6V B[W5VRW2W 91R-) (??._.Y]+MX"!: M0^LKDXP#E4>:GW!2Q4)%=+N[9+M;Z6' EK0B@!](7H>Z"JD"4YS"SK%:VHV6 MS!!XRAFVR$C6QDW^&5&@;-LPC6-)3@5#8E_,):>$09=N^Y=L^ZD%.1*<@6*, M>0K,(@\H(D,@@ P6PWT3#OTS7=S@='\0%7"09EAC['W!G#-1NO2'12<.2R8. MN@ @#T9*$OJ"K^-RO7>F]S+O>[\%$X0[ M#+).8I9,8IP"7^4692' D?8X4(OO1!, M$%^7\(I'X,YC0R-6C)FT6J16C*G-::.E!**MBZ-T 96D9]@>BO!_J/FNTRP. MG?Y6)]>@[U/K(6'V(D;HP,LQELEQ2\X@D/9W5K180"'JM8;3[+9NUZYQQS'C MVL5@PMY9P,B*5.=,?>,S@:_1ACJ"DTE3F'K_7=3,241= M-QJ'R?4+*IZ@?OS!D7Z\4^%K_4F_FI=SNB:QB:]P6U78K_#&&H[38:>5)D,# M_G!PI'LA/-/[4/55$,,>[!!$XA1 ^YEY'>)#HU*WPF!F6@1FJJBS( 2RSFXE M]M%7+E+ Y0QAXD,N?A?2(V,]:50#E/??@C^#+,02N7,N4L83J)?P+/WMW.R1 M-']JE%7IWJ-B(^Z,<7",8"+X7>]03\)#376):1+88<1+]8ZE:AQ.TF?88.QA MEG >5NED:>P=&9S4U^;;^V\<#:2G@H@"#O"6@-;*-O)$[&J8+E.[B?11)]+@ M+%V:2>O/C*'K$>O9%* NWJHZOJG=+EN,!JHABZ1UF_L I$&AJ8%\U53'[_5J M&%&B'U5&D'(D!Y1P-R@,FGB +PB\_P,+)*W5=L4,:.H%6U!EC:G[G"#1I"M] M45T1X^+.JAC7V+J(-Z:A1I=O\TMISZ4.BYTIL%"S*+"&4ZV M+ZC=A.#CMAOX3O=0$7QG-^ 5Y08=<=K)FR*V6V.O+X?3+T5F_ MZY##,O]_ED$&JC">S0E1(TK.8E$""W'XC9%:5K6J_[1Q10K%_<]7U.Z,%]%_ M>$WQA_)75Q=*+3W9K,%P;#[M="G%A!X(S\T9Y%T:AJ19Q[GJ@Z(^ MS>LCEL M8:&+@$H66ZT)=8REE_H;[U5_R&U6?42KL.;K=Q==7Y\UB,:OM8M 6( MGI=^@$;^T3WL$6%DA&1 7E$=LSLV?EO6B=O'5D]KGKK=:"ZBAM CE)E>NWC6 M=#Y2VQ>B(XFJ:_]8JOA/(^!]%\I=LBB>[4#%8;4KBU@,&,QQ$KGF)P,J.BVZNOR6D)_]Z2 WF$EZ=3^ MDJE]Z85P^9HSC;(J$0P74[5V/^2.P'1[OVQ[[W2W(*(%P4-5>>]JJ*NZP0YI MXZHHUT22$'4U'TLG QI D4%MNNU;LNV+@T&:,:V'()DX)[G;S27;3>M;N84! M'.#K-G-I-Y.JY>+8Y)@--J-C=75ELDN\U8Q>@+Y1HF)O$GVG\ AEJKVK?)TB MQ/0/ TK91KE;'7 =V[6"F09E$^Z;9SR;9SK+"X3@Q?9.D<,U8 )BT* MBI-IX$@7PZB.5R0^$1&8I.!*9[GODI\XQ7%@E%VIV-=!DU$PC!ABMY.<)9.< M!HS#\%)U]_;R;:0%"Y &13JE7Z .--Y7UY:VI-)@'2Q,9>O=7*W^LT-&4J8J1?95L>3R M,J7^; .K7& %O6%G%/!G1FV7ZD0IT:OBYCME>E0W.:"NCO2:"<\)<,O6QP=P MK\YT33M7CZ9/RD7=KLIIP_+DC:.<(,AL;2FL:TQT088TKU(ARS=7H32QI"X) M)A:E,3?5T/>$;!))CR+=C;VJU=5Z/:.$VC?"^;6DML(RT^<@1A;-0B7"_VFK MDX6HBHN*C7FHR1N<#\YAH2/O'98CXRB&^-?.0VX?J:'FTFSN8ON#H>GJI=)] M["Z+,68<.O2E43+_S#K_C//*E>IBK*">'\\4+8OX&/(\I\B;W\?0/T58F9MR M;T]CK;6F]1.B>B.SE_ 6A7)JN(F-5;>[,E$'TPHR@Z;+FEH59!GU-]W89YFA MX'-7$4*&(4<()4](I55*Q^8+2W O5>6*W" S4]#K/ >E76^ M"EEQWH(7J]^PHQ&70%/ JLDT3F?JIG8B:UZMNI*RBZ&[P,7C^+I^ON[/]]$Y M2J?"_(=F();5$LA6RJR?J; Q"X1U,:.PLX\%>A/=CH ""UH/ ]ID")LR76Y/ M,\2""EG]L#%%(M?,U8'O8WEZG )][D]#?UE/^+,8'M1+8E[:(1H28C[?G#I+ M."X'C$\JOZ3K0 @U\<'9() L&[8 '%WY.2DB[]D[G:UW)GV!G1^/T M73J.P8P8?[AM_ KU>W8I+D691+*F3O.M8?/CQKWYAX^"*UAVX3:7YGY'F6QX;B3R%UN]:5?A$K6XFKBL[ MCQ>K4G^O7JE9$.%M9:ES-+^3/DIR$05\C'!)Y0,@+09_8555+79M3='$,S<^ MMRR#3\-/'BB5^/6U,A^F2PI/,7P.8[T.KR12:3(UIO%ST*H3->'$"'2W,7PB M2#3241.ON6RLZ8CC+79V%JTN1+C PMM!8?8152]U0ZOZ_:E/>P-/K['$G%=B M0!;PW#2#5R7089$21B4V%0IBB3M!G!;1?N=4'BSS->RMQARD/2#B,&KN8UZP MC# 9&W6JK4IL6=%=: MLI+J 4_YPG>I 50)U9RI5>#.^A[DI(I14O6E)M^2@7!Q6B'@O2!, /#O+%- M=@V=;7%&'9.$CB^A<5R;0K?JS983Q1_9QS7MQ.E7U)B63'XX3I%4P3?4>-=Z@N7IA%-IBJ,9"%2P9IPD""" M844_GY;S6Z+#/3G?\K3V)C3'3J5O?5.F/_2U4P]O 6NF>=3SL9BJ)9CZ 7T1 MI^JP(EI=ZWS1*>\G5NZ(8^=+C(O3<0P<8UZ)1/9F!D?;HT#[;>!$8)$CAHHR+T3B MTMS[K2-S6EJ9R%!6I=HV3\D!+U?JF[L YG)<.7O6X9:7\SCW[F4B<)"L*Z;E M((Z&N-A38OU5;.. MW4-AUP$&$:.,%%[*$;)A"N\2L!H."@-:PS,%ERR$E4-S3D*2*Q'V&@ ]@1>-%S0OK0QR>, MXA(F,J/;Y1HL4Z2X-[46*W#Y%Y5##!5EL/C&WVG@1X,KY M&(%(1YA\P6+I"N^:8WVJC. ;A4/;;)CCW#)2E6;KA@\[OT^QHOFVEI4&17',>=S M;"QP681K'=ZE@X]90<*'#:HR):A/.H)=B6IKU_4Z3:2VKI!HO7M^46K 6+"W MVX+E,]?=K Y41S\RN^B^ TE4172JXC4O2/CENB"MKQS@V9S9G*H%!L-BF"N/9!#^Y3-40/P8)4H6P-][.4S./T3-XKA M@!S[>/B1K8?Z3Y)<@'I]#$ (8T\^A$E(.2S\5.9!H!_P[BDK)P=I&3T7FABF M=B:,[H[7):\#NENH ^D%:TOAQ@?TJKAPTW%P#0[')1HE"9YF,HDL<#3=I'!# M7=%AC-0UK9R9)/F6PYDX+L;NU1*L)@C[2['!%17JJK &11&@UD=5:HL?J@M^ M"U^#KX,;H<(@2VII-/&+ERJU[! JN8I@4.[$%PSAC=@<0QY/K +K(%/("4^E\[;. UR+$2DT?7U?&]C68IM<2XWZ#%(P\ MFZAUX=S/S0/^'F2&5>2'-1HY<97UD1VJ+B[G3&,,7[MJ9KUB0-,\Q5"^WPFM;5\?F*SOC2X!#>X/5;2/O. ZBB;$O.20N M96RTUK@49AW Y.9;!O,1-?;W)*5Z'51F!46';=E&BD;F* O@YD O-'.Y%DSI M U(,\*"\:J[E:@KYG&((=YJ3- 0E7H&]]ZN+)E$%]1VD K?1*GJ&YZ+3!=^% M*93BMY@2.W<1J-(]XW1JJ"IG;@7C<7S3GQU]_/JI?W%Z!G;MT3^_'I\=?3XZ MN>C,6P=GWQ41>VTLXE"^$])S)1NUJG%(JHJ5!(<$%WRMAYP;-\'K$YD<*M8M M79^T8+8=T5EEG[>#\W+S] X2C&)*1C?G.*K1)RS:1 Y-R<"QUBL%_!ANWGK- ML>0V=53T'5W+H=)?$Q]&PE.V*=[\4$R'W*;?WGO@;0HU"R<1 X<(R@V_D8K7 M!2%%=,F&DO<5OUJ4<)<1HK7%H77MB&E)K"5I@O:,NT^ZX%<2B6 VH"_#$08J M$.=$(D;E)@$&Y.:^_H3Z\F67G.QU)2=/GEPY#[)! )I[[?1[K&;(T(JOO;FQ ML6EH_,[M"25N(:U*,+0NA$"OX8B_T9'R2AD)FVMX %%=&5V%52SZQQCB*PN= M'7"H9_T*7(<8M%SOGZ4QS ;HC]5F&Q*)2A^E1::WR=)DS7YIX1-J7HFH.'^42;*V]KP84TV MMZI%B'H/&SN4: 8AK!":J')1S&T:A;UI6^T-A(M'EG&$->0$JT+RPRTLP80= M50[Z1Q-:)?S3MJ=P+X>NC00+O,SL"@^IEH0AYSWRA.'_N7<.%B^R0LI%_63C M1%=-\I828923Q].;(< 266A9D^\E>*;0'ERCE-I@;IA&+4W'L7\G_Z8;R3*P M!2\3R0"2* N9 ;E@XOBQ%Z*$@@W6K_YZ4@";T46) *%<.POB,C7D2_8[X#N5 M855D:MT\-PQ$90?R1'R.7W4Z*5TZU[)HW#(0XPF*CTWV\*]B3NIP,&EHV(IX M4.4R$'8$TTYYI7S0:NYI(P*#C4=T+5(9W&F"4+ M%:Z*CC#QO@Z9$EP'I 99-%#9#+E#;/S ;/A @.<'&A>%;%@?;<\3<'4 MS54ZS! \T/WQ"OKF=_-1/QJ'Z8;P8,D5^I(*UP$XW;2"79M9$.<\6N)-V2ZHA6$JCWFV#)I3--EG\ M0S5)A[B:0^],Z2I"LKTO4[Y^PC]2KK6S8!ZR:;;L@ZH(M8%3X1B%9YFARUPY M10Q)B55 \@)UQL!UKZ]I64'IA2G;&24L1W!M"E+A.G8>X_,EQGFE0;MP8SB\B-^'-",$=6F#(UT)97TY05 MUL9R@PF7*;<4:8@<\VVJ%+#?Q?K#QE;API15ITE,L?. VSH4'L8TYBB]GC$6 M8FB3H/)L< \*6E7=<<;F U484(5AU7)VS#XII'3Y'IW:>;!*,=RK4Y2%);&Y MDJ(+LQSGF$@1>5+.G+6I*3Q^NJP8_PZG[)+*KLE'T.>CON!&1,W;S:$"P$T1 M(ALPWW-7>A92ELP7*ZSTQ&Q!G*?5Z]/%:<<-)3=%??>MOS7D:O)"YP;@H^!< M$$*:DX/0#,>V+!X,]F^F,#%J:$JRRXW5;W \1C.N!J/J%ZG@A4WC+:X<12MN MLKM8'&5X0LL,)^ W#EJ+_).^HPP.[8Z]23"V+SV@TGC4$#'GI$$]&VT]%2P! M5IG57'CI7T5"/RP)M<',C<2EF<0"R=\ )T<92R*8#*++TD"7:/M=)U=\]S&" M:E/H:)84^BOI72#[2Z'0Y=SPEB,E:JTS3;<FOK)X)H?1E%Z],JCVK.J9/K@;+N7:73G[^D ,E5$Z+.OA M3:')IH6RZY'KN(/T^9JR"5=R,A74U(T;Q9 =CTS.VV=A,L EG'U&P&-J&P\S MM(5Y+QVC0),.@WV% U83JJ2I=46Z:W&3X/G4/"-OZ*@EJK!#E8%!![( 39Q[ M+G8."A86I8S=<"X5+\3IH%:VL&I28RI?[FAH\^>B\+]?1;W!*QWZ#8K@\I7^ M-L;(XV#V+DKX*\<@%U[O5[VI7Q$:&00-!.B\ ., H$<)!5#6/^QFFDWQ!/H MQ,@1H^%]Q.A@O5HR]$*$IKG\\N/IOX[.3OHG!TD:C*<=23>G/90-*#/T(T,FINC4BC9QT0! MYRN*0IF ^/PTT& VP\54ZP%&&WQJ39"@S*307ZQ4ON&@,'/&,9)J9[CV> R, M,L^F6$(7$V=]KGLICYV2I0O;:?'Z^.(- \?4JNLB-4(CS_' "$D%V2>L+>8L M7[GW&JM( MD]D;VR-(3<.P9^4T1*3=2CEKTRBX=&QN&K\79LDV:>@=7]0*=D &X3OLQIA5 M8/,5UH>=/#AU"=/5$>@M>]MFMV.3LVE1V@Z@1/CNWT:1-N>>X=8QW7\ MMU-.G'#YX=@-QV,&,RPTC,\4YS["MFMV(IM6!>NE\.KUN1^EB'*IJB_ TZXL MZH*I3=*$6Y;8^:+H+(4J)Y$-6V(]Z-"&P]'D"B.S!-6)V3W76\UE6-95,+T9 ME>^-RD2&L.Z%TT%DZU#K,JD'U.=5,8.U[F\6CF$LV,O2*?>.JQP.(#]4[$.2 M -AE$^ZO'9,'N^;OH"B[,@ I ]COR@!:8)I@9P@\Z*3_D:KHO/[)H7=^<=:_ M./KX[Y=@K) 18EUAD]9"GYG*TD[-^?M#5>[FDX\A$3RU&2@PM#&UQJ*V]TF39N^X_N[EG)>]W@G M,% ,%XK6V3)\CC^K@XIP10/9.Q25D$>K9!QPCSE:<#(1[=AS!7A"S:P'-D1HX1L_$19"X1^,>3K'] 6[ /Y630.)]I%B) MDR#F]AGX+E-I5JY8ODTB,/QP7S$6FH0(DRN3KO:?!OS1-?XH7,412"\]09F: M.S(G31*Q6I BQ]8,Q#7M59H,%_(H)^,>,%F48*$]TO/TCT+$O=1E8RL7ABY M[S&W*S4+> K$CB#X$9&+W-H\*^<_US4'(3QB5=(@CJ@RL2J@T<6"1$M7-O+TJ0V$E508$TL?=E?^UBR@L GL1WPTS%,E=(3 M$[Q =:8G?%<!C-*L>C_P!;-.+J"E07&* M(N9/L^RPN/&48Y.,N&] $ 53QSA[6*+%G-$8*-&]?S8]HL:F0O(+]2%CR.F%Q(TO M+)H%V15X0)7#*FA3]F,5A)K@01NS$PPO*;R6%!Q"R:>ZH5)MREN=,161K$- MV; P--)UP-E_"^--;;K4LXV('?I;J*719<(0,?\:C<)KK)K@1VU6"A,\H3JH MCK9RR@87N$$VJY(OXCC3ZU8F9+'](P"9 &G=ZE%=^P[AA%1V>G/#W][90) 3 M0N\&"V]^8T="J6 'L:>F+N5ZY%-0_7!EZ)&WYT?N[?O;&S\ZM>]Q.IDGB$Q7C?+'%."_DDOJPL#6# M6NBON%B 0%-T=D'P\[FL0S?^@5G&S80FE.'H>_&5$C3NT"8L,RXVK0-$]\DT M/ 2O=^(=;Z*"FWU:T&O8@RI4$TX\L&6I78@9?*^M+^P MC0MO,)1^=IV.:"J: O<[D=Q'&,&5R"XG=:%7^WE\@6:ZW:;FWH9;700-D[J" M1QZ/\$U'UY.SR^=\^_Y:@L[\]MR9ON=33,\/1D/.@Y$":3RTE5WS*F,EB\Q/ MX"SVLV\=:-9I$)%,\A+!"O7V]_9]!V>JX(]4'I1K(WT.2%T:S&Q+!(:1 M;#%_5G^.QE1-L9Q0<4]UA25LU?;H)!4>(42P3#+2VI1F="!DKKD)+50"TBUA M/JIR$_),#CDV^(<45@,!@#][RR7@"P8Y5TH2$9LF?B37"J9=5)*S+_L%Z3:< M2M25>/F_$/O9N4?L9\=T#5*K)TC6!^-D8^'G*D2 ;O#=@N?PW1Y3:.YGAN[^ MH!FZ^V#1@_F@$@812H;EP6NE3XS=!-7OB.:!3JG29\YLP.C4!(Q6P=Z\13=\ M2+-K+.[_E*;$WG1>2 XF]U;JI%X@M6B?LV)G5.N.5@B\/5P-&VO_HXNE*=]$ M"Q++@N1V01R"U8D*$JK=Z/[+*"TX=LGWCL#LPE743:[?YT)#3VA/6,TV!3BK;]9@FB M%%)U*1R$8PM8Y+OC88$-T1CKAGG#SR2T*+ZA^1IY!Z?_.CY1/B-X"N& M;_3.\7;SG9RXQ9)+9UP-'NM3)!1(99 ) ME]Q[_0FL$9P6FGZ%"\FN&4N'82JH+*F<7B(=1]C(=_.>EU8W]]N2-')(-+N= MO-<=R 7?5[FJ]4S,;82+JQM&%G'PO+?E=AI/V([\'FG]J"F).$:(_4KV.LC@ MQ+B;C85X"35*4X>7^96\ R%E)<(4B^L3!P7I,X/S47C49U1OTK;/=4HHQTBI M 4/< ,8N$@\?.LZS0,6D$7N@_WX+)@@U%V3V$Q6H!W?:\"L%QPCN^!)5"7PB MFC*'!]5J\3RU;.O:+I[C91DQBAFRF?&6:L>IX8P[I]F -2S6T9D:H8W5Q3?(8PEJ"BJRM(S'1K%9B)8*?Z9@S-NGR>BF)CZ_Z6VJA7JF@I "+G0-4DB%NC!@'J6 R8FPWO5% M+BAF@N7%&L*(C65=_ZA,P1_A@R.OD1@EE<+ ->_ 7NGZAQ)^#F=?G?.P' MWE@QK[4E Y;.$('/_+:8G?X46/$PD\3=+<-/]P"RKJ^%A*#?**]3,.L*D$65D,B!#%O$(5Q"X3 M@"ZA1RH$OB^XKL ^GWY&EI-YN#X!!MMO6A:5SB?IZE :!0]+DRH8^5SASECW MI.6%/XL9'2K01#(#OO'E:O*=*<":Q!@;)7O.6(9$!A&9BA NM:+.(M"$!/2_ MJN'/"\*$Q9, 2Q+'QA!@'0&*+G, 0+$HQ(E]CE*$4-+(.1"V\ MX@A,T-J=B S6R XWS%(C6K SW"K!,#*X--@+4Q'J 6'@(NZJ1OQ:]TZ)VP-+ MS]G*Y]@_H2$9T>>GPE9B_PK8"6@C^LQK1_TRXXK#),QN6-695]I&$.75@IC%=*.B3#BG@F!R]!F]R4Q M,L$FH"',;H#;AV4%C B;.1OEP=*7NAG@(@O %-,. (QY+<_">O^U(ETC%#1# M"H3M/(R=11T?4_##G/UP.$/%?S*@<+9/1_F.R8_)-'Y>8EPJ(:69@"4038D$ M7-2[=%=8:FPT(RF, ?Y2*L"55U%&OK_V?QC1%[PKR[Q%)Y\@\)B0(0*;H9S: MTFU'/Y/3ABA3GF[BU!C^# 4VA(@6;C.Q1KJ5(>UD0"R$#;ZR@[2%6+JV- M7A),KU&&C^$9+-FZQI$3O$6+1\(+)AXX;%423 A6M 1I2TD_6%A(EI'C]$*[ MNMCJ1ZQ.AG@UXHKX(84-W$.2IW&I10B?34K ?83;S\5P#-(U9AFUJSB8=-9K M;6NH&+ 207@G3+?C@]#6-G:TA_79-(KO9GKGFRZHDD6@=&"$-[ M\0*9AIM08?,?MP#+;HE42RVI[)#+6XO0A+1\!+X"VH)T)*PW^N2X9VDF[*\5 M756!O#OG]?\;(RS*SYN8)=OM_ MB(-\#%?[Y\\'OO?UPSEWN=<60*>S>34-=.JJ*893!Q-3-@[O6&H,A!40G#GN MR=!J &_JM2LXHY,*U"QWE7TC!F,*T>7JDL\C=@,N. 0^J@A?QR&C>JNG9FZK M?L5ARG.U I>EN?"VU6-KPZ/S4$M5U:;]J/Q'(D3=!5=-0 MZ9OXCNV"K-HZOH/)S+8N@P#):EM:0E(OVHP3UWE!^%F:=L6BTW;.8&9#O $E MS.3M%^T&5W7S>^=R*KG;2O-8HXSXYA-BN%?8&NR*8PAS&.1\Q .,ZH)^?#B MR_N!SSS1@:K@OGIHG'*0;;Y)6@Q5=[F&Q%YP39BL3'&F;VM7[K =BI1BF43_ M*96P86BA-A"WZYR)0HRNK-287])41_#_!B859-72$=C#1:%&>-)EA;#-WE1S M+0JG?*90(BB&;BY!LMR"F&):^5@AP_8PG0P(UMDT^MF%(*@("1QH1NY+:AP3 M!\QA9HC5]\C:F)/@FXXE65KE_.E=YY==AMWKRK"?!^GH[/CB^*#_R>L?')Q^ M/;DX/OGH?3G]='SP;^\?7P\_$FL@ 1X=G5\I2*L<_1W*/5H,8B^)A$745-8 P;J@\Z$^ULG M!UVZJ&^(UE90I2KK\C_*\%(C_C*8A47^-UPNP00GQ!D80>9QN*E]'3[2E'@Z MW;H(7)D8J>@%R1>B)WK,3F<>:E2Z$ NM.0X7E2 ;W0P0T5.]R#DOQD''J)53 8IL$_D2RQH4@P MUI@;@PGRVB*B(>44+! 4(L5BG&$I-S9EQT:+EX[F5'-\DMNB^439L)SDE#:W M)135Z@OL;JR57^2NT/+3=**FJ$R$Z:T%T^*A+]TV6GN_N\E9-_\VS+0)[R@3 MPRQDCSB%5UWL*:,/^"S;9:^0"E3T&LI.DVY[MW*I D.(*XKDS"J2=^8F,V)M M%O[<\!P<$!N;A#1>]\\/WG@7B!7E[6SL^!Y:$/K1G$ 2A2!H% ?:LB8#@KZ/ M7WSC%GH16[GRG9MCC9VC$=BO:WFAIH@,Q:CS V5XMS&P+X1YSH#6E-=.7^'< M0V94':%R]"KW.YAD!P;4Z0YA72$E [F!>H+'9 9 E.\A!\1&PN2:,T7GCS&# M3_D]PH-E^#NFEYHBRL^_\K=VI^5]HFL#=<,(0K29PS M82NPV!V\04-#@XF@1:S:7>'D2Q+U3\)Y)X] /831COD?^?Y#V$&*B4PPF/>G M('H(B3!'YITGDH2J[]BQ;AZMY?^P =V$8Q^VH,X,:A3D_'#D*Q.OCO#9Z!<# M"8PFN@W=N:1A/@2[*S@N)>(2L]L=(!RED!K!IZ)<#!278$9H+/CGIJAO E=T MF54PA$E2A7&-NKE6CPWD=Z.G_E1&16$^QQQ3;9]F3*Y4.>!--7,48#,:XE[: M[EK74K%YRH""5'0F7+"L6M&.;1K9$1"R$Q%8.F,2,!I9HMHF0FGM0 RR,JQ8 MB)@-6 5)=%X(:::Q\G*3W25[E9ZHXTI.^2/R@ Z4,$E1'%'#8$JU& <.9PP" M2DD#78C(^1/Y&)+K@";GA<',H2P8S =/@[ZPX.7)^%!N"9AC@UAPJ@GGHU%+7S5/3*<5DQ.=/W4EQ)CZ!9W9 M&'+-$+$NJ"70.'6H OC&)J&$?75IQ4%H0V=!3094Y+2$VS>W6'9TU ?44"N) M&-P:^HM^5W<1!9W=+DAU(7PL3X@9E)PKOO7J5+;.3E53?CKA<@S&ZJ$M%#EH MLBB4$Z'K;$Q60%>NL$)1;C1G>1572[KI*4<<6K.V( MB*9\[ G>AKIE62G8_$+#M+3V5&%UAKK/@A%E&KYHZI)9BUATWH$NT*5D!F6$ MQ3DG]M%H4'+&DC\D@,-48^H*:>[T.53:, +=):1GKF\!<=J1CO ;FBH"ZUCOY4LUV,]W3%S'ZF"S^O.!8,M##W(3P8E6=5?RL'FO5YC*8P M+Y-3D3Y_<7-1P=R*+-H9"N5)_6V555V[;)1X2;@IQQY()KKD9\KE.K^R.$&] M:Y5-N&TRUYKBG,)WG#WD2NK&QQD,05N%S3R",?LEM(HL8#OV)VR-1UD9]B!=)^ OSZZ(J(GQ?MB;/A4K$NUH/ABFM\PXHXF\"GWENX MQ0EUU_C#E$23?32 7KY#U6/\JI735!@?N,;4^Y <7K.:VFI%9/KKQ2[(6-UT MMUH5).AG;EJ 'J!O4;<$E3R!A'J3\!:"BU_ BA=I2RD[D H40L#GHSP@3&X" M/7?L?Q-Q)2)1N()]!]UYLH+PAXTN)$6&"L*VIGN?04$0G\^&]7$G* 4NQH:X M%4R*P_89;XE?_5B&J4:GQ$,W.$8JM)47- 3Z=;)/6#HI<2PYXV8#.8T$AL6\ M1QI13GQB-YW B/Y!A, M00S*AY(DHGW)O#"88%FJA ;GQ^5HF07<$ N;"\IIRK@EIE#'[#^(()Y=\@)+ M2_TL@"BT0&[HWU4!U!5LVM1<#]%P>0VR*KE9X^I1.$"_AQO/T@P.S'0-EQ-? MLY5LG+VKG&P4MY5ZEI':?+J:L,"GX0F/T.,V,-<"(,R1/CQ]5G]N;>#K[6S M=LS$=:[[)%W]QM/4;VQV]1M/?:$9JT/Z0)UX(Z/&:J->AX\CAQZ#FNBQB%6J MGR9>5\#/W9\;_1.J"?*/R)5HHJ:V)F%82>JPJG:2[&SD MZP"5QIF2M ;<$0FVLP:25'63\]+H4(UA:CU'LX1W+U2BP7\QMEQF ^YSD8YC MYX':4O?=&"8^BV...A'&A<:,_TM9 V)TS&8W@ %?N(:J!+NCO*+Y<;HN:0Z8 M-.DW]O%L.QI=&:Z)$>4Z98V!3G2\^UP8CX^S9H9D#22^&L<>)2 M_ 6=*4!%(4%C)X([E.2KWG7IBQG9WW#N@_".=/QO9*UI,C2CU)8<(%3S'ZFM M-;7][ORVX,TBJHIBG@+!]PC5**"P.'4C4;N71U =C;4N%./CUG%;1RP!(F>- ML/.30C>4@,,L8)1I):#7SZ^7UXQ,NAP[DNS2Z3JKD.MT2R=38"NV->W-JO9C M:O$_UMK0R/H[[]B68^F4#NFR0F3X6KO-J"2(VPFS7)B+Q:N(=(\I.PIQ2 M* M0(@LF)S2EPX^Q!3%68#'7(L3#X(]BM3&N89\/OPWO#&I4*UJ\#(^) AH*:D3 M*<7FWC9."8-"4]CBF&./\40Z)3$9+6EMI-\"G4FO8[\[T/QVE$V6+(>C5?F[ M6HJ=3!=<=/ ;=YIN59U3_$8OFI QO3:8K442F(HLZ$56P>9P%Y?*&[$L9=9T MMH.*#Q(JR[7!DZNWYV#V6X-58#4XAW/=WAVWEYE.<:!/.]$74D)>3Y17/!]2 MIFZ@& L :U>":12ZY&-.VQ-=0UJWN0 L+CJ__)PY$36!B+NHE47R33\'DZNP M-?B23__O.LC8'PXS.&Z-5UZ O^-KS@0EN<"B$M9VT'TTOC\6FU+7*W^1_7JGB=:;=!*%+W$X&\:F$\K .>A\ MJAEI#F#+*"VG^\F"-E'SK\*RC.D8XS4"6569D=0:LZ[AB24$3*7KR&!AI')Z M,..2. U$ R9$QE%F6UOBMO_$T20JC 7B%.PM&H"5Q36*P#7\)1PI.*X;?3 D%@D$2=!P^.A:N*ZEZ+C@#Q6[3$([Z M3$/C2$H8W&*\0@8NIQ\QEF35ZF>>*?43I6*CZ,8A.TBCMX5!6.WMZ;HZ460$ MH,S^L),BE2 S)IS94?8(S\,M_= / M+6=C+,5($ UK,'.JM'$I_X"K.@=K^5&JL]NFN,X1REI*;UU0X 77&#G0%"IQ MOA=P(YZV3,F)J'"T\VQBI-R#93Z MM4_ *#W'0'7U36\^@\X38S4J'N],-I\L>Z:ND%07' B9#,/)XMO]-3%TU^\5 M+1''\@>S2B3$GB\[57!'"T5+I=Z!LKT&)^2OSZ'I]\=%_K_=.M=+>U#["U M!U2\T6WN2FXN-FJU;&OO:+355K5('V RU>OC-85JTC('5R)_TRA[?$G^_(12 M+T(X&K$0.A)3G13(W>,>NZ=_]6[1NT5_ 8N^6/^]'X!C>IFE91*NP7*DV;O_ M&@Z5&HV>6#'V;P)_;,,2-HSG13)8E[M;;W8J4*;*/7]O8Z>%R_(2 M1GZP3=Q8?_L@\O5S"Q:E7>>CM^?O;S[[^;B7YAW1?YY8\YZDR=J-T+LM.7)W M\XU:H 4>P'O3,OS6WWR[=R<_ZOE/>WLDX0F=7KU1KS?6=^[L\S[RBOW\9JEV M:T7/[7ZO#;*P?([ 18IE.\MV#6W!],.T',3J_:.8/[<-=R^;<\_?V-F^33JW MNEMET<:V3%'])6'HO5W?OY0DC/]0>OMU=GRM/6/9,04N.1\_?W9U+TK5:SSZ+*?\SM?AB MSK@E1VOY#W5O8WUC90]U:[9CU5[W)8[\4"=N=WWK(0]<^ZWC8T8S95+JEFQF MNZ[_S;?^YL[BTO"7<+J6_USW-M<7%Z O^TWZ[-TOV]N+M69G'W?V\6.=ZOW. M/N[LXV[DISQQF^MS]8]/9B!W=8O=V>]&[K:X&_DE;_&JU"T6LVDS5%E75]75 M+"[99G4UBTNU75W-8E>SV-D>W%(7'WX!DG 7J+/>ZD&=K?:F;OD;NZU$R&V_"W+1 MOJK094;IZU U.U3-#E5S>:I)%2A=ZB& M:C)0F;?5\SVLQD&V92321AK=Z31+OQ-W;SSS>CL_^TA9^]/FWGK/@U6.HS3Q MB:\V(%+U%+^_Z2,K,"PW[ +R\ 9(X%O&!5&9:I+Y@W&4!%X^+HLPO4X\H5,? M15E>>.,@'N&'^5F&?-Z0LA2+1M<."T'?!%<3'?/V6P4>4[^4*OI0FR!9) MQ--IACSH0O?N,=DFO'28QG&0^3#>*(=5@B? NQ1>6&::FSG'&81F5O@CG)G0 MT1/Q/'X4ODF+1]SH\0@71QZ QD><7GJ#,H)5**>5A\L*^%XT0;I@Y#BN3KR< M3N.93Z,A\S).64WP7S @D4BD172E/!6K(;Y3-.17C. !2)LZL;]>^N*FYM?MV MJ8^CMSSRSFS 1-^'Y5ZQ])6D[?F_OV4L87NC(#X?WTA'E M/E[)YF9O,:))&Q7ML^1+OZ@,+?7@4F%\+=%1[)8^I M>:$C/]B)VW[82W75,Y>NJI*Q;GW&N1A.*;,8Q8- MRH+?@C\\RN@.][TBR*+1*.<'I8,\A56".0\5#[W^9E4S.&VR.5TV9UD\BF[1NT5_ 8O>_FQ.Q64(79?A M^5>O=9'K'?_M9M?NW0H5\L-[N+O"W=[/?3HV]CHDCBZM\]R9VZT5/N&MV8Y5 M>]V7./+#<4>M][JTSMW#]8ML;N_U__NOO$(T LE/"EA.E8P)G24M89>^1SEU[TD&C!<4OH(;42B:I?T5)=Z^*?BK2 I_ M6@W'"1@QEQ&\UI"BNGKM#[F_CON^KI7NTL,-A)TLU"6>1I@2SUJ:][#1+LWH M7^<*%L$GZ<&1K>AD$Y"@O.5U8*=Q6<.RRQ3M%.C=%CF.!Z^^7@^XI)>XX8V1>Q-E'63><@XU""IMWC&.P[O M(EMC5C6.$LJKY@KFCSU]LCFT)$.<69JA@&!*UEV&ROS.ZYVB8I73:TSA6 M^!'YQ5&L\+4EG=HO82():G3:XH-Q-(6]/X6UFMN_40R#E%='/WOQ=KQR>'1R06O1&.68?M.8SI;,87-7!O M,?ZV%HS@(>^\(+X.9OFK7^Z<*/CE[VKRR]\#;YRIT7^_^J\([CGXQ07M S96 MIPA_58 /%<"C\*-WL"/^NAWUM,G]N_[>[K,W.W=9_Y=^PK\0OS<% .=FETDN,O@=%O;97!6>G.[#$Z7P5D6=Z%;]&[17\"B MMS^#HUT$=*3229>K:8SS[S\[KN +'?FA=G#[[=X*!W*?]W1L/7L:<]5C?#4= M3>$SB93]4$S.B;T)T)H\+8!-QUQ2I ?,J,[>X4GB]@[L@PAB;#W)5S=V=G)P M^OG(N^C_[]%Y%S_K_/ N?M9M;1<_6^7-[>)G7?QL61RC;M&[17\!B[X,\3-R MR8K@N_=:RBG>> .5J%'4H9TUA0M>]_87!PSN,[4W+5S:Y8N,O=[MK2\NM+U7 M9*R-&_+,LKYS W39#\CZZ@>Z&I1IJ'1MVF#F_;2]M_\P"#7ZL;5B-)=9G2C0 MHV(\3F."GL!YP8]_VM[>I#D(\D2FI@&R@A-T!?Q^&.1CIJC.RT$>A5% _\;!<7?O*Z]W9G?>MGD+((OHJB M0AM'$"^P8"6Q1.AGT1XB> C]0&EHFS_*+,K#:(C[G\_'5N?W!V4*JQ+)-Z;2 MQSC--6@Z5,DJ'OKNU6J\WVGG#,@ M!)?%;.DU+G09%#%90LV'3H(&,Q>PH:9IT QM>2D\'S_VFA_A M7WRZS7.+F4 IT5N@&."N>>,H1R'Q"7$H&I9QD!$,$GT93Y[O,;L('.7K,5+; M3[ H56!HL&6C<3GA^J@(I2B?1$)Y5Q&GZC58"GQLE M(1P,G!:\_S7<8OCG,)A&A90(7RK$])G"S RT#N,Z&<@B5$H@A(@@E3+6$Y&B M1).HD/T8II=)I+7>PC=!183+%\B:X.\:Q7K5%)*MPAW%\K*P%@RK1:KD@VAP M7O,A+CG_EK5-->NP0@MS3N7=N!AN 7I)DC.8S5]L>'LRC!4*>T)'4(3)*EGP9$&2Q_(]$&*Z$ _3&,ZJ%TQ0B\ A4E_L:X'F3;[$3+Z MF38X' TLI^!/O#GJVTG#!G0O>)<@_CE;#ZSBW*O^I\W-GO/#BITR_Q V 53H M7#5\:Z%A\I#5-40Y@.7'T* L3Z\1ET8)5=I-.3]=&9@[KA?U3 HP4BK7AK[ M&S]K!!LD M*M?J"WV.?!WWVUYEL/J,#4<72(I(BJ0K.4]+'T*56\JU%U6T ,'3Y6.P($#@ M0/7)2?<>_,S?X3AV&&02_W][IS$[#+*'OB _')_T3PZ.^Y^\@].3P^.+X].3 M=RM[^>F7_G3\SZ_'\++_]OHGA]Y!_\OQ!2S V='YZ=>S@Z[DH$M==B4'W=9V M)0>KO;E=R4%7X71NRM_WL<%ZM&OF9C\>N_W9W_[F79=7+&?K%?-[1%_:)*!E&TR & M9Z7,AIQMB*/_E%$889XQ3?*(VFPH"2'$+E170"DD_ MF0Z^"&(.#.EA^0!]H M&-2FO+'8X:?>IIL&QOQ#K[?^5O]D<=[WNGKQ5-.Z/\$)IQQ&:)EB* 7NU"^D M\.@KA9E$(38A%IBIR@+-7#-"(IP)_.6*$KW, 2(Y28S:1RF]PO8Z)XRWUOHD]4(U6#U8H'Z,_M0EIE[,B[J<.? =3)_$9H,I M/0<2B80MTSA(IF1Q&Y.9=(,.\.'HT! M\N2HW*URP*$YO2,E.YSAYLEBH063O( :@:Q,N_"0+KX#?SLZB7%^WFEQ(I2;K-AC+<6)Q1AG2E[9RL8*K1. M3H ,*C=F.4*%GNB3&\@X5J?U(I3!C'(T*4W1D MGP]WR!2V >Y?F"3*']=VE3F<,5]2OZQ/HZ$NCY&\I.0@?2].KQ46S40%_2K7 M/RE 58]&)C&/ZA.)K_ '*:*GX60Q#:Y3IB.;[I8T*QP[WQ[5A@W3M59)$\^S,?99#SE@:V<9"D$ M&5=A9(HHZM_UN"K#/+^/%06US^3(1R;4>%RL5ZUL:[KD)PE:%#<3<$$9(ROJIX:%V! M-7C&:&8E0A<+"$/@"CMIP+HD#A0*"TL1'FRSC;"%KLZ/$J8C)/LU&([I_*:. M66I>B8XASU *,[%>)<.'!"'X9KE5FR*M\&SP ^#WNE[1MR_DXU[R"Y%[4#O3 M[B$K<[:MM:9VK)$D_!L\)E?JF]U'9R5D!LGERBE;G6<__?!A[=?^I_[)P9%W M_MO1T877/SOKGWP\^GQT9F R?I\FX7H4QBI3T>C-0&* '6@%,PG MRS"=2=]<69$[_ZU_=N2='7WY>G;P6__\R/MR=OKQK/]Y=:7M,"@"[_AOIV#: MH0046O_5[P!#):JK'[DXWS1%K-JZ:(DX.3U9^WAT?>KWPI:\0;W[M@P^A03<&"GQQ:/&M&0L;AP$% MQ[_#&E"Q+_#RI&";Q8UF;QP49)21W*>@*;'D,<-TZ;H2JCP![A]HS(F'YL]63*=:!*TLIFZ#++0H4 FNP;7&]QW MM*_0A2UT7"Z+%>\[!K8G:X&]FGC8>29)7@" K>51C?JI5IO->FR M48K=,_F[MAR.NQ>B\IJOX:?>(96Y_@$EJ/@G?)[VWG:EJD]1\K;S5"5OIN@; M[J]_8[3I:*YYMVKF/,_JWUT!=O+5JI)*+5]<$GV#('7ELZNTUYMMW>NNGK:K M,FS9R"]UT=M?VGD"EK\ @[S&;$M;CFF[JM>V][I:PO;LQNN>W]M\&![<-S]P M3I^!=Y57 <,4B;[)#43W:W;;D*#? GKN/P[>!/&81L-^W88#&Y"DV+[@9//;(F$W"U&U *A M?8 HEI'FC3F>H,;@T4O2%"]1#M[NS%F=;9"#MMM+KW[AU&2[)+\7.O)+VN*VFP<-CM#1?!5F&U:R MS2)[#X.CHZY=@3WGK)HC_*@+U 9/N1.43E!6PF9Z]4NM[-N_N8>E MU4=@"]XI3,M!K-X_2A#@MN'N<_-N^IM[MP:#MSK5MFS[VO,W=^:@X=JPKZN. MAV6Z(8]^K[8^GI[ WP^X(]M;\\XO^B>'_;/#<^_X_/PK]DF>''K'G[]\HD\< M':YL&^1QPD/^HTR4M[G1V_'YW]@6]\&TW_4M\=%Y$21AD(6Y]VL*?WBO/_3/ M?WWC17E>PG71^,&O4^SW]E[WS[^^X:?C0&N]+1G+CG.,($DE-X*O>0>9"J/" M^\1,5:\OTFDTY&]L;>Z\6?>J/^"_1+G#R/7Z?!+$LSPD1 V$+L#EE)-B^J:?F$0-X24>OT*6R1?R8)29V50>2XU M5&9J%,-BY!85:LB+ZM!_":0#3QE!4)#I"M?G&G9O#3F>Z-IO>( W24,5,]2% MYF_)8+&B*U0D!/ 3()"&Q3>Q'9V1W6IB.0G"E-Z6L6&N*\/D(DH(8O&/("F1 MYT50UUQXM85?&S,F 8$%. @9BY QAFD2"C3&8C ,IMS#7CAJD&W ,O#"*!_& M!&&TNL #/Z183TXOO'\?7;P0!>N=(+0@Z@]&8R35"DK3Z,SSK_2;M8U=[]6Y MNB39L1J+]9ZWN;?QYIUW;($*"8"%/T8=DOJ;AU;J7@F$#9Q=[, N86S$UO\ MMVCBR&@5JLFJ1VZ_Y(?G?H4;DM&<5#+&[N[0E7D(NC)H\P.%_KE1>O MZ&U-*2?SG5?.526PS1H&OZ5?Z[:O@"(GE:F(.H]T#U;%P-(V[/6.LU' MR3[!@RL^7*^\SE^1[$Y,G^-.^SOV)ND1Z9,A[#I?_N_(7(NC1+V2ST7A?[^* M=H-7VHT,BN#2.)&P7& /SMY%"7_E&);1V^UKJ^6?)2)^%81#1K($/XCUOQV! M]OJD3C\3:J1W%N7?X+Z$P7^Q?ZSF[7D"5ELPG2)8)UQ#G<19B=N[A\#M&3Q" M(6RMVYQ5 !Y8/82NT1L!\,=9PKT'Y(=>AM;1A;97NO@W5Y(EB7W0[6 MY;X()EJ*?D T-N\D&M4Y%.GTW7]MT'^<[95?B)+B2]F8%./#OZ82(NFDFET*1#K\A7*S*\N= ]CM(LZE< M@JMZ\9].HX0@F!@KLQ$1]U MX/T>Y&/X>I$B6*[Y#:/U50BF7^.(@NPGH6(+[<=#W,#[P!SU@MSGSM39S4HD MT:,-S#/V*X"EA>@QN8#\#)\ 6.8Y.]V7O[.GCS>O.- M]WJ8QK%FPL!@M*!$I[B8SE(WR;U>]W5P\@5AG,Z*O_BDP$KFA+T<1%E,D/!@ M0L0VX"N\''G]$1H*62_>@68KOW7'[:J9.'&$?U1CQ?BCA]PKY#9/">@0,_$< M^[=)@JE-$ER:;$*@LPDRQ->$#ABY 33M_@0&'08KZV+]&N01+[W(T4O2JQ>$ MJ]EX9HC'GB48&>4C 1ZOG@11/KFPJEB>G-JWHEPB;QD3V9NUEONM_KC&&0V( MWT=B4'03Y";.%7C31U$V0:Q/I"_*!.2>1OO"']6GVOP&+%3#2S!2 M(1Y4S2*#5U$<7.=&O]@8B)>1VN7$W649BYJ1_3JWW\=/''T?$IJ[#+X&$UFG)*F11DZ)NK*,II2NTXS"1$A4Y;&7GI52?2:)/LZTE5,@\RP\/ ^$(Q[_5C)0*L""!K<(LRK_E"\5< M[TC3(;GE"/CN :U/@>LE\#Z3E _*"DUEW3O'?7(^;%Y'?0=/GJF^4+$D%^M<(T$[F'@S+J.U2,B7>DKF4%EZ@?%.#0%=&HD*'BD%7^;48)]%I\N3FNQX>CPYTE%RE\978 M+6161N3.@5D'CG5RR1R#Y> /OK"H% E#"K'Z[OU1AI=R (5\4MY*,UHU[4+N MA:EBTR"(<=GI%@8G,YBYA_&F@!5XU\$WE:#F"$ =I[%BM2O7/#S:1V7CS$<4 M2[-8D"3XHBB8>2I'=@',QM=FT_P 5".)JQSG]R:50AEBK:*M7#UMHR:$]8CT M?=&?I&91K2LVJ<#603Y#28H\'10]DG+EL&T#8I_,F --&(!Z-YT0W[FL+#L$ M%P_>\I+6P=0WH-!["7M:ZGR4[J!!#C)<@!3G((EK$Y!#/'7J^Y"=W) (*_* MR?*<83#B=16I:PI<:C8U,/ES87'354MJ&%"O1:C@G;BF PT'6*,( W&WOD^E M:(5.7>-!6#F11JUF:8TUA8DXQ-IZ"&'GT-9CM6>J7VY?U4R)@;-P025V(D]D M^]4U4,5L8FUK'QSE1D5+^1!:?3"?1T!;"HDY7PW&"E<6\#.$5NJ[P\W&4PUO1 M#S4;:,+1[Q()4 N0^M!PZ05,;OJ'1$?SA6ESN\U2,PO/S%XU5I<-M^$IB.[;D>L@?IY7Q5+2ASOY3/)H,TIIGM;;TW M)0WS$WRTTHY%EWG*L1.Z2D-0^<%P818B0.FET"FETJPAIDTU(_?$QGVM=,A' MA99G5:>9YV) ^J14SX9/TS.N"EW@!4<(*2\P! O/F3(7[5'..L2D-$5@),(C M=S<:!K# 0QW#KU4?2_S)GG-[EB>F!)J&OJ0H(V9(,#(DT1JE$Y,ZJJ*#F8MN M?\N"Z\R13.-<95>TA'@'@"YW^GD6/4S7VT4)WMTSCN49>UV"<#"Q1,5@I15H MEU@V.3"J5##A=TN">,:6E]VF]2>IO'DP@^(.RO!O^=^\OT??WX$C<5)2(I;" MRO#1,[SO/L!#N9R\!_\M4OI[;W-MJ_?*2X()UCJIZ%V?;:(3^ '7.D7?K]9Z MVV_W=U_]\O&L?W+A7?QV>G9R<7KB??KTY>]_JXSWE%[?D]^@NJR$!#G4M0=S M6D5LRCQ"$=S4P4E7.]E[]\BM7ROY. MS[ZW3H5=CESU?F'2M\81QA!=%G1F^T MHM_<_TT?U8=[+B:]YZ//>C%DA:N^Q"_QV#0;-DM*0%DI"UY0+?##P:/V\9GJ M.>E=?GJZWKO,H!.XORIPRTJJNF*0:R^5K[-;]&=X]=;P%6L]U#\_;W:K.O'H MSN3+6/36G,F#KV=GV)[-9_)=&];F!8M%M^BM.HMM@8L^P.96TY&,]5I70+CO\[ MLLM]IL!DB;#1#7_13\+J#YQ/OL+2B4E08/:N>)>4DS M0C6,)@&\F?P%WG5M MZY57)A%/Y^OY(;PUO"%,8NO5+[U-?VN[I[-[^FW:N-V=H-4%;:]1T#9;*F@] M_VUOHW6"UG8*V%>_7&38V-4 S>M3P2#B_%8JJ:K8P/#KGQ9)T.[VG515&$3I M.YJ%-%^#X.@YG*CB=-37XS^ F.QNSHD(W4DWO,3.78[!D[Y$;WMW[BU\W5%. M,!HMU73/32ORD-IQ_V%E^T.:':;EH!B5L?[H TC*6W]W8UY66K _+W'DQY;) MW8V-AU55CR.3V_[^_KP6?N[]:;__=&S+E5LBT*M\E'KW\;+TULS@_#R(UM[; M?=NZ$_)"1WY\4=N\CY_UP**VX^^^;9][WGZOZ90Z&W3#+K9UMBV.M0HD?P]P MN+;NH\=I5_NTF0>\M0]QQ/9O#TNT@7"P$]K6".WV?6Z$QQ':[=L-D#8(;?O- M]HO3B_XGKYJA;->A:\W9>L@C]/8^>O^A3\_FMK_3VVJ=6?5"1WY\8;M3B/C1 MA&W+W]O?:YVP==SL[1;[57O=ESCR2]KB]EMZ7S*$=$?O[6V_W6W<\O=.3' M%[U[EIT_>I(WKWJ-!Y2\GH[]]?5SR%Y7_^30.[\X/?B?WTX_P:UT MKDE9C_[Y]?CBWVT##.@D>>47NMOB3EFY* F.LFH+5$(GHBN_T-T6MTX+/4NX M3'>2>=-@ABUG;5BUI6G*W^W=KZY1UOH++_7#U9SU_,T6YA5;-7);!>A^M8J/ M)T!;.SNM$Z#VVW"P(5FI0N*644E.! O= ;C7 ;@[*(4L]H&SU@^2>]O8Z&K# M6S+RXXO;GO[.[I+CXCR+G7JH1BK+B-OJ2B5E6^W453HJ]RKJT?MS MQMOSL*9)9]NV9.1'%[K->]7C/*+0O6TAY$/[[6$IU!2K.(Z"011'10>1\A0G MYUZ5.%S)QOOTR6[30YZ@[:WV=<&]T)$?7_CN58SS!,+W=G_)PQG/A&DU3"?* M*X+OJJ4!X:YJF8[;O6!4Y*3QYE[@WCX(P.OM09,V%"QW0ML:H;T7C,HC">WM MGF0;A+;]AGX51L4I86C7R6O- 7O(H+V&ANRUNG2YZEESQETRW;.9% M.OSFK7G]LABG&3PT]+V%UNQV<[YI(5>$#'*.8YR/@TSE=I@[!C W'*.6'X&D MOQL;&_B_.:O6R^DCOA:'L );*ZNOM.Q^5<0EVK5G+\7.O+C"UIS^?%"0I65%[3V>P48\H$M MI&O8]X("_A84H*JO<#ON>B^_;8XRW1#63).'OJ.V-FZ[E1?>0HO?ZU[E]'/O MQ>/]A7?:]SZ5[?-P[_6'KS2 MCK^U-P_2?_-K;;9$CZZR!F^NY[]=XAO4]X\5!6SZNUNWLS>\J%U?97EKKEN] M714]F+SU_+W]U:E#>3K#H3\<]^_##!?.'G5>"\G>U[8.3JPCUP=YFA#SZE>7ZBBM/11?#]0>IQ.]B.3J+O)='-Y6R+ M83N>6**WMI=#HMMO[3.FQ[*4$'2GDT[GO:*RY%6/TSA468[4YL7L(:Z4C3N! M,[3A#'9RVQJY;48P6W"K/(K<]O;]WL9RR&W[/1:^.^[#N]?B,[D2_+C;]RH( M+508X(Q<5'41(DPRB(N9J)&MK^_C?X2AL6MY/BE[#0W18_ MF:+Z6S%(PQG^B=!%SB ?3D\NULZ/_[\C\,QQ%(]^\*'_^?C3O]]Y]7&\S_VS MC\Q]97@:2P\T2#,P/>EUH^3RW0:]#[W9W"BR0AL; M/X.Y"QLT#4(L0L1".7@HOTBCYGWE;NYX.AAG=CXWZ^Q7-[@.@QCTN1/&\2Z. M_O=B[?CD\.CD@E?"68@AZ%&5O<=:RSN-Z6S%-+A4:X-,!=_6@A$\Y)T7Q-?! M+'_URUUN'7D:*O# &V=HK/]7E(0*?G%!^Y"./.Q69CT?_"*Z_G8)^>MB>+,< M.(L7JU'QB'*1QC!J\M^O]E_=\1+^\#/PA^PSO]X)U^.>)W/E^9MWT=)5XQ M3LL\2,+<]]3WH0+YGZJ,BWV]8$*\M6_N_\*/>I,]]7T]#OF^-INX^=1W]Y/; M1MT2/[7[MKK'YN'R4UJ!63'9>6J5^2'-0&4J[]\JR'+O""R=T*NJQ[^ZH'HD MM\6B00%WHKODHKOYU**+::0;!:DQ9_IBKIY5V^O-MN[UCLI"-'ORW2&_J+B*2[8?@ MX=O<\S=VMEO7D->JD=LJ/_N-\K/IR,_"-J*'DY]M?_/_9^_+F]M&DGR_2H5G M9I_]@G+ST&GW5 MT4C?V\%O2%U,F>+!D]/GX0/0N93NJ;7SL^5M'W5(F#58U@;+C77UQ::Q7*\O MUR Z8%E_4_RWP ]#)OZJ%P]JPVIEU =+H+_,%K;FPG+(1=@$^U,\(. M=.3-PZZUKB O&78ML/WWO W?,X/%T_@+QI'-;/E]<2T5JF[\2P? "D4(W=1^Z!B>F2;+?LD>,Y M880FYY,I5:5C9.YL784@"?Z;(#>P8SM#[/(X\@)6:08<@G8&U-K#./^ N MH%^V!NNSVOG9\L"9#K#6WZ'H^A%H''\NMF%84T/6S,\=**!QXMB59,(RD@@: M)[6SECG.-!!>!<)G^4?S!;3+1B#X%/I9_FGZ*@*]#/#-UT$_.UXNV*M= M!?W&]X[\?*%L3BX/Z5CK0$<^)!+K;QYV\&(<#R,MFR_HA\X2S,+C=>SE M'WL7R6,NB+VUY/>)N\>I+Z<]IU(W!\4HX7ON"_29QW&KL M!X[U]W$Z:47">F0 *.T263_A'7IQI3;,5R:/K7WE/LD-P.\\3'JA8SM6X/!2 M3;G3S M&Z\'94N]P%NO.'-&4@,'21OJLZ!R*[) ME@U)_2UUK$B[/V&?2C24/5_[(!F(56[2>(%26#JTD=4;B5NL=!]+WK\N1M?: M1\4EH6O>IF[4&LUY7R]7TNB MG5-]&KB7AO#I9HYQ C40M M1:)>K)WU,,LCDC!&IE9:IEZLG5VP(;Q43JKNQ$K]@Z;$[2,+QK(>.>N1V4H" MU=Q_V;P47CN?0!&N+>AV,\'&KK<#P1RWDRB,+ ][RJ]BP=13G*:D\GGMXGAY M>NA!H:+*>%P[I6![>#S3$(_ZF\]S@MZ6]K00]29W;/.\M79*P0+>DH;4'(N] M@KLN:O4S_2H?'^C(FT?DVAD%VT-D!>1]RK"O&$*UY8VJ+?<01SXD$NL?*/B5 MCSX]< Y[$,'SD8^*@W+<+#0B!XYG>7W'KX]Q7^MGLM+"4UGPM'_FH21,YA^S Q/8ZF!>GY@\X"6"^;EASJM MAU8V-XK2;' MK>>"/$]E"+/N]?]TCSHW5]S>$/7:*#/V"7Z#F0G+<^25F_ M'"&OA^'+.$AMGLL'T09QH)\?%K& 6^]PC_PIP49JW(>HPG M9SOAV+6F'YCCN8['WY 7B">H;SY=M;MMUOGEEEW>WM_=WK>[G=N;7W_!-P$! MU8N+@D;3C;F\O7FX_=J!I5Y?L8.QZ*A/PG!'P_76-9&5=BV%?70%HHZ=;RZ9:6]=:/( M;/&V_;;JLDV^7;/.G2]"*0'8SJJ1JMF[K2>I>"9.?! MGMT9. <<83N83=<_K02O.G?TO>JL?1;V7EU;UH".!YI\O=?WC[66FKOI, @N M9P 4'8T#/N1>Z#RI2FZFG]4AG:;IM-'&J-+&J,JO9N]:IIK]'I1INEB_MS5J MA/3UO)K MI8=7H^PRQ_C+>#O6CV= IQW_%NQ_\SXW=_-!K7_*O?N#-CX?N[>5__?WV*S#IP_]AU__]O=/] M1W76G;GS46/\9Y\#+U"Y%V:-P*J,S$V0 [FF8+;8;'$E5FRVV&SQGJ_8Z-?J MT=1LL=GB2JQ8YRTN?$]K2WY6N]^?C"8N!L$-T:K,%X>HL?,CF'MVR?O2'XU\ MCSU$?O^'85$C5PW1-D8TR[,9Y7T:DNT+R;I^9+E&K6J#CXIPA-GB@]YBW:2< MZCYD*+8O%,ND'1NR[0O9R,L:^J[-@_#_&+.B,M[ZUFH=/2SL.68*6>T]<=N4 M<&*(6TGBOKWB Z?O1(7N[!CZ[AU]58&GKXMNAQH:[SV-K_^<.-%4,^*:TH*' M4)#%;+K9=+/I9M/-IE=GZ?H7V5+7)#Y;KN7U.;,BEB[1SIKU9N/E.NT'C..5 M@Y'+2Z+,=)YNA[<#)($H3?%/69/BGR*E@V*-WXA6LT4K1!2I$X83;K^J[>AI MLU&KU\],4=271M:SK.YY_;@D,*5BVL)!*J'(3K->.S?%=C,C)]C84KFQY9CL=M=;JX>?C,U\UIUNJ-^<[(FE7OTF!D7674:2&DI;+A%M75VZ+L MNC@[-X)K'\%V]A+8M@*=QD7M_*2E'7I,.2^]/8NJ+?<01S8DWL[(OQQTR,E M_! VVI!8.ZMH)^%;LE&9]6P%=L@<"O?5X&L1EJ>*K)_LV8F&:,*"=Z[#ANJ, MW!+/_C8NFK6ZB='I,G)9^'TA[)??M&,3 /[=\1/P6J[&]2MQF3_MV M[#$P%^*R4;@)QSJAZ=+ ^6\>^+85#HO&@HZ,9-5CY,T#.+_3Q4L ?EW$VV!: M#V3M/Z876PN-M5MJ'))-H&-A^S>?5'-B2N_,B'1&+]#QNN1V/7GW(N2LFQNTG0'UHA9W>NY>FP@SI# MM8080FO+IPN*W/20(C;2^C5G"JU:\]PDSVDR\N8Q>[S= X6%D"TCR:@.R>CKQYU)[J<0&T@T;-O8=);Z5G?]MFT[ M.*3EWEF.W?$NK;$362YQ+#'L98I?[_F?$R>$S7W@P9/3YT+FWO.^_^C16TC\ MEB%E:XTSDXVHRCA7-OBWN P(;"A, "QT:A M5V+DS6>!-U=/2RCFIKT QU=F?-<:S;JY!Z8OV!9C;?5T@K4])B,-JS?R%J1A MX5Q/((JTM+MF&FDT'-A*^?:*6C /H7F^2JG);?U MPB')K4-'Q&)QNWK*RU(W:)&9@'*9+B)VK9^;M@<,X@WB%R"^<&[,BNZ6@;V! M_6R1\]7M*9;5@.6^(LC@\P5S(@6;-.268BP]TYVTBFDU M"R%3AU8QK5JC5;!5C,%JA65I?H^U! MUC6-^L5>H-"TL]'[I+UJRSW$D0V)*S^R(7'E1S8DKOS(AT1B_4\(3,<>C1** M6_GIFJW4<5MKGSKV-.MX!ZUI\HWU&'GS^<:M_ 2X30!X)]7Y6V?FIH;&P%R, MR_PTM9=P:3KV[!V,J@S@_'RSEP!L.O94 5G[C^D7K(7\[+(<4!^R3:#C=2;3 ML<<$. YY9$/BRH]L2%SYD0V)*S_R(9%8_\,&T[%GES&$X_P"CYL[7=A4QYY3 M_:K:'>C(F\=L?H'&C1TH;+0J_[&!K1XC;QZV^?7P-GO>8!J=5'ODS:,VOW;> MU@\9#)"K/?+F@9Q?F.^5!PL'9AOH>.Y@.O9LE<%,O>;]IM]B ;F!1,/]J(A_ ML<)A[2% K>0T!>E3%?.!'2V"<'CA;.O34=>PYYY(T#\63UK(2M-NR)(7E\;M(.-!EY\Z!W =/;1 M#B95!FCA!(-#%(OZ'UV9#D![5!_== RB"@JEU=/H3$=@ SB]QGQA7-M3 <@ M _M]@_WBR^LGJZ=0[$T'H$9C^2F$Z0!T&# OG$1QB*#5_VBL0 >@END 5!(C M;J;6^LE9;JWUU>\]E=,!Z*)6;]9KYXW]*+UN@*P1D,]+ O)&N@8U:V&0\W:Z?'J71);U3/L*]&"Y32_,6"Y-_1*E[(MTS?HH$&; MWSCPI=MXI4.P7FOMB?%J^@;I?8Y?M>4>XLB&Q)4?V9"X\B,;$E=^Y$,BL?X) M;+_RT:<'SF$/(G@^\M&JI],G=#39P/$LK^]8+HP(']"EJU]_@:_HL+D&Q8>P MT8;$E=]H0^+*;[0A<>4WVI!X:Q;E+U'/MZ?XK]5S>6J0+[?V T M"J,/OK2_=;[^XP.;'8=]:]__UKGY@-;@1Y8*_^(%>V&03*? MEXWKC V]),F*=:__IWO4N;FZONF*G4AM1!\,7A[ /N!Q1X$Q4Z086X_\J!=P MZ\>1-8"7?&"6^VQ-PS>?BK@'\FUH:5ML&&#X^R^.9W/X0Y?HX _8)<;?R2"W M/DFC?#E"7@_#EW&0VCR7#Z(-XL)W853O_[VYB#E^B;>T/G.D7:8,H\3X4.E9 MO^*<%&:MR'J,)V<[X=BUIA^8X[F.Q]_064H?W+VK=K?-.K_^C"/]^ Z1[8[1=VV7[X._OR M]?:/A\JL]JWCL6CH3T++L_$*V*K+VJC6VK9N'MI"-\>D:FY;3V_=#C);O.V8 M6G79)M^462=37(FI!":GVQ:,7_P !"-GW6?N/G'V#79I&+)KL&YLEA63K]U8 M-6(Z4_KE)&D#X7V$<'/;$%Z:;9][0>%@5%#5:-W4E=:[%"0[C_/LSM YX.#: MP6QZP>C2]FY^)2XR^W)_^XW=WEUCL.#F-]:^['9^[W0[UP\?=+L"=JCH,9NN M%@Q=>\3O,+^S13$&IN%$(Y%]YKC>8* MU:(W?;U])VEHJ:+>F(06<*!1WW$Y?'4_)*8Y[38C&Q)7TF@#>812J&^%0S8. M_"<' ]6]*7L[P89ECO>.^6,>6)'C/3(4WD].Y/#P@PZ;:U!\"!MM2*R=H-J) M$77%QV X.=3KA%F>S:R1#V/^VS13W(YW6KB2W*QKD28<_.QR_*'MV>T4_4IP M6D_KY\9IU6/DS8,QO]Y; 3]W2V \.34=DE87\5@]88QN,HL"RPL'/ C !J5K M6V&$2:&/OF^'>,QJ:X+T*O-8X;Y]BL=LR_&S#G;]2Z#F[> WI.4# MD+($=FO5E]?$.BAT5!F7^;WU7I#].\3EA>F8OKH:,!W3=\9;A?NMY9;M_#S; MD[*RW28/=.2- _ LO\]: <-^DP \T^\X5']C'K,!^D/+>\2>029>?$C!Q ,= M^9!(K+\5"::]S9G5[\-,HA /W;GSA+<[==@^G7%:0A[*V=JI3!VO'W#0XE=< M_-OQVI*"]S$!RTQ/.2M09'/?ZPI7$V)KISIM&V)@0-8URH#:B3'8\9ZX%_F! MPT--$+K_O+&8-0HW.UO.&BG"E>!+G3>65W8_*"SL/PI?D-#Y)\9K2>A28#@O MFD_.5S@SKF1JJFSQ.PD"/'8#2/#(2.@M\,;:#4,T3! 4;!,!RV21X\UR MB$'8AFR _-/;M81OF0!+TG7T.['5WXQ6C@H;6U,J5$5Y&7M< M7WPMAE>C/'E<&KP2T^!"/]- ?VM,1,D;WY-Q ML W9-:?G*V2#&MFM$=1*/&O<#M3.5\F9K*@)/?9#)PHI1.+/2&H=X]Q+Z@EJ MP%(E5#Q<;B>5>'8I(4 <5U[FD-O5A8&TXMDR'7/GP%\D,3]/OP,EP:939&S' M5"RC!7AMI4#H(4!C_T'Y@I.Q]HGM-E"9E]98/VEJZ614#'K:@KYJRSW$D0^) MQ+K;CV\65L/NW/Q^_:![-6P#XLIOM"&Q=G)J)\'5NTG0'UHA/.L/T+4%2S.: MUMC8M3")V+,95P4V=-C/ PU(O>!JK%WFX5 M54HJ_;#\OLB+D:D]/44S."6<7JQ=#6++.*V?+S]N*QNG^ENSEXL#GX[WQ$,3 M^-QVC.DB/PMI_;RD*[?BFY>8'^R$"M/ANS9B89#[LIZY3!I M%ED_==A_$U::=4U6SC&E"M)W$B'X>$?BXW9P2>AX0' @-%3@Z8L?4$72\ \) MBS)]E=;)\H*D)BQ:7?RNG%"J&7X;I]L/Z^MO+;\0+ATX'E!+YW"I84W!FF6G MEGY1E-],U,MHDL.&:]DYIQN&J_:*8R?NB[HFPM[:\J(('K")>P>8C$$_8$;& M$^RCI]N]-VTXKL0;!A=K5P="IL+_72?DNN=A%#C]B-OXA[9G9S](/7G' \>W M9V\-7?_LNQ,;>!)^H'K\]U;$KP<#WB_C\/O\;(6"%(< KOV']0OZ8NVJ0ON" MZYR**[7FQ69KKJSKFE0,OMHR3M66>X@C'Q*)];=8A92F[&$NA3<+0'K+AD'P M!V&^ZK";.L/V]2K]HKYVW3-!Q-M!6OW>>J]2]*56$5RA:=>>1C&J"4M+,W++$>Z\B 2S(M;C\!T/8]QXIX0L?DTP?X@QP\7L.9/7V0YO!QMR M^\I(S6_43AJOS,T_!+%N()Z&>"L7X@U-(7YNQ_4G/Y>L=??QU-2Z<&ZX<-CS.9<--!,[+8,-FK76\O*?%+!NVC*:I#F!/ M#L TV@5@38!<;Z^_:LL]Q)$/B<3ZVZ'JYLS#9#QV.69D6BZSG;#O^N$D$&GI M:*$.7/^9.9Y0!B"^S2V:@P3T@8Y\2"3>D^CNV')L9D\"C.-&0RZ=9;16/^BP MBP:NA[#1AL3:2:0=6%$YY;@[7M\?<;R8I]O]B8U$/1>W_ Z4 MPPTOI>32F7[M8[4:65<8O:8M9?DP.BEP_44?L;JQF-:^O',&G_LR[7UYYUYN MK^Y6"+R,CSX]< XB(X+GJ3J 1V?65L1M=;73KX]Q7^QDW9JD"^W-]VCA\[_7G]@- JC#[ZTOW6^_N,#FQV'?6O? M_]:Y^8!"YB-+&6#_FH21,YA^S Q/8ZF!>GY@\X"6ZWB/'^JT'EK9W"ARA^KU MOX'1!@0:6S9>M_E_;^HH0<5"%ALJBKC#<6\8)/,I8.(L.+3MN2#/4QD_K'O] M/]VCSLW5]4U7[$1J(_H@1WD ^] Z7M6L&EN/_*@7<.O'D36 EWQ@EOML3<,W MGU8PTE" 6VP8H-'Y%_1!X0]=HH,_8)=H 9._/H+ONQ3]FQCJZNYN>U>/[ NSNKFX?9K!Z9Z?:7JF+6_LHB]V2RMDBU)$XLU MV'_\Y;S9:'QD#]^_P7O^P6Z_L(?.;S>=+YW+]DV7M2\O;[_?4%.-.Z#H9>=Z M%[3;ULX@,\J1Z GPC_U '!F"?(EB;]8_X!(,_TJ^-CS4F/_^#SWYR.PEF M/_H>RD_>,9OC!82PQF"6DX'5QPT0K7!#4.0AEIEY#*S1"(]IPFD(?D?(J-I, M;RJ_RP/Q?.H%@;BPY?(^<@G0!MYB3_I1^%XLBL&<1[[OQ2Y)-"N$5-B 1N _\32,BT(^X)@^X[^P'[*)!FT; MF0@P!;6EE_!5?X1;CZ_V"VPPB&;:38L\7YK-LQ^X=@T><\ R (,!5]4.':O& MKB=8%Y\6A ^VB>>L#$$3 -#=C)B':##9Q1I>J8:%5]]S>P1TJ+$_K' (7XI\ MK\:^>P[^^0&=7(&L![RD,[2<&KN$IZSWPKK*IQ[(%T<8'_%;OWTEAHNDEST7"$6.-JRS=H4P6-'M(%[/#IEE'/"Q M)4$.6[R 77"5>$#C1%.A@ZW8E4!-I$3<(P=3PP(&P;_SL<0T-4T-8863] ):N=$^H[#">CL6"L:&A% MS*++HS0P+ ]T.JK04=N-*)=Z(+]%F4PJ.$C9MT.0P#FS2Q(W0 MTIFXN 18?2!*WT9#/TSMUONJ^4(IYS:%"2G>/Q0(F*7>ZO)!M+D 6B90>;R5 M<.CQW"%O*0J=(W^Q67 ;2=B7WV07*'9R%4V$MO3>.!X3LVVK;)M?U@! MV+A@(K3[_0 4DT'=2MO7M7ZRWRUW(HRQF)G-+JZTBU3I^JAG86CJ$OPP,*:L M&54R>RRST,-ZU4XR#1VI+WX N/'8)85Z^E/61:?4U2L>D5_'MH!3)5>G%M=- M.=QMSTXM-=0C6-'.]RG0#9-T2D<8*$87R46@ R% MD7>B7 9I9(%'TO?#:,;E*#ZR!;QGR4&SI;_ H7RR8"G@K*0\F"FW C6%%"&8 M9>-V"#=3N#'X#>F[.*'HY!'*^"1P]B,,#[9-GVP;$7RF7AY#WP604Z"XH'Y]M!Q/;C\92?,S@.U-JINI>F;@TF8VG2J<+? / M;>[YJ?".VET1:NVKO94."ST"+'$D [,P#TD:>/WL=Z?I@-+<4DSH2$J\N @$ M_7"=+IRLB;A[57EAD&NS]57U$&VNRX9@H>!A@@.3LV676,'I8]ERW);!) ]X MV@'U:;ELA.=[&&8"AKNH@^B:ALCP;BP$0'H[0%T^7]9#L?L?'-[BT*$/Q6P7 MULX6HX^L?\$ 2=0&&"ERHHD()RT)7]78\]#I#R438]B(3MWP*U^XC;$P=L7' M?@A^6 ?_3$(Y4HM2L4=/;\*#F\(IDX5>+/7[)?\3G6P@VEGDFI=> ,XRAX MC473,=IKXM *#YG<6)K5\",Z.Z(W_\8#0!U\&OD1O-MF;^'/8'BYN"'OV%\7 M):4W%]3[>8&%BJ:>GRQ(/3]]\^GT_7SJ.2UC\3P;*Y?>*F&>Q^_G:T2@-K_B M?3[J\8"U&C6&NT63Q^G44">..38 X.[T/>NB4B:R*U)G# 5"6" +78B#182) ML#3"T <&BQ378^ 9GA,&62U1:[ K8%R$XE/Q]='8G:(VI.\]8C\NC\+!8YG& M@K-\G+A6>D@O"GP7_D+3=Q3HS.EDQAVPG(!<3@I>?XE%(,@JT!8CK=1D_F63 M(EX!+)+6>#N(5YA:H-"7.U*3E^#!HIK*:A\Y,Z'OK XBVQN9"-EX&?..#/6 M?ACKI#$8SS]E2'R E'XB2MOP/S";X2T.]KOS@^@H FE;F]'7'B7:Q#;[D(<\ M,SEUAKI06]22X\\ Y M\#,YVZL.Q-:70/)W@8,"()YZ(8'P?YIB>8MJRSN?A MG?#T8:?DGIB4W$1RR;1)*];UZ=3)G*3*4^MD<-K<8E)E,;W05CQZ'S.N+GJ@ MM78B;#>P; [^TBU*%;7"9($[U0-X$D]^B/1\T S/D9ZD$5!^4WA"9)DX//92 MTHEJV4POF;:6RE.1IT,.^@_ +-2ECCPR2G9A_"D.1..!.5AG(G5-!EC"E,;" M-#U')RF=XVGO$CK!# M*];%$5K3>!0OF\DR5%=S#NO8 @4.LTNY9#;')X'I1"Y2/+G>-/XB=0ID8.^C M@8X1.HMR(FM2 XL_PV*>K< ^#Y MHVF%$;Y*)&R9]FPB%[:IZSA%YY!H>&_^"(P!Q[!<,?A MG!%%$FV^$-YJDVHS.#)=Y^XG:1:S&%6)C@R M841,*7/5FDI+R.\!3XH-@\\GZ6C",[ E*I9![J2?AYPV=LIZG"H23#P$/OI, MPN#Q[*3','I+P ,BS5*\1/!<..D/4V^5V$F%.;/X6 A>X]H(%::.@3W4GL[(X*)V_UG(:B$OQ*0\!4Q=^(7X860*T]/]+@Z)$@2 MD,6Q *98HM %P4:/YGHVRBL"&>@$(=8(J&4 M$JYD3B;[$]^"(3)PF7"1,N4;Y"@0PT[/5FAA3B+72>VZ4-(.YHO#:.)?7"F] M.4"&L$G9Q:@4G&G)DP2)W'C@4P$%LV=BYEFN,D8<1_CSFHC M79KK2A>U/%H<&,CQTO20-LGNC^/=YVJ*:2O(Q49R>!"(%SD"_RE.O3@Q73=Z2SAF%-MS\1)YP88A0FM907-M[M&$Q79J,_EXW14'?B31[Q$ GP0RM@1BBZ0 M88\.!0*(A]^CVK+^*![7F-.#"=/5*F5<<#2>*)M4.HG%E97..)NR$8^&R?V@*V $P:SQL+%GW?.!<\C0H OC9"[8/ID& M=(I/8X)F)+;I\]AIE9[ZB([;GU2"G(BN3M-V2;R(]%4D%3<$HTA='D]"H'9J MNFF;.G7JIXXCX0$T7)U09NF(LT@5 1:7P#)7FN5I8RT]P[SQ9A/XY*N<$*]K M]BUYPQNV#%-XP-D7MZW$#O5X],Q%,!#A(MO?47Q0;#+\Y@@-FDGT]^ M^*LB:NQIP&<]-4.P[4S(4\IOD?G^.2?S71-9OO9%.$8P=IO0@7F/E) L;R#T4_-E%A[1"#$\ J=79 LJER2)-"0N31Q#4/=+ M'P/E0J0$AA5FAU%R)3?^D%406!,B3%V8R+R''"CD3"&34A/T@P%W9!F22(F[ MN0F"=!:S2YA=YHM)4TS%+M#_$\=GZ3>_=(_UI<..7V;.X4T6R!:R0$Y-%LBR M+!"9ZY&3!5(_/AF<6=IE@4B]H:V^R[TOK(FJ6[LPA%Q4:DTO^R]Y247'@]/C M_O947E(*XD&>UH7 ?#;=RQ=)[NV'RW>LZX]ABT[KIS5U"4G(]DN9/B'3\9,B M2?@U?/Z=,/5MU#8,O1\TXY.J$U)U#4#_'X%G,V8CW^:NM!*M\=AUA,V(T==^ M=JPX022NWA*E:EC$HRJO)TB(DBK;@$H-S]I$8)+\!1!(+MT:4JF:F,<1YQ:( M0TS\TZ6L$R-,VU#.&6V9R,5,!I6V$E\%G5'$ 0=5B<%+%9TE?RFT7%$$01A% M838?@SQ!F:" VY9-E"'C7"9/)T%6V(D1*?-'G\X:8 P>4.6NY&J8LMW]3.Z% MW-CT?TN[%ZF+?9Z*KRE\94);,M:65.P2! );"S8U3*+/,^"4AT@#L.-$5#JY M!^-AX OAG 39R D&E&OC@,&(EUL)M1-B3B M5.'FQX/&WN'\<.(@7<7D4@O#,-\(P1N O3Y^RJB,?8-8A$E MDK\DFZK*-L3B@RR#Q]7GTCR.9[4 )C1":21U!]ROL 0.%J?/"HY"Q$)II\#)/G+5?>>QUQKC8, MD\N &Y3"@L53029JMT4W?G 2279:-B-?U7N49]PB5R;>2N+Z\41%7M3B5/'$ MU'T9F:DXL^*< /EJ3P/Q65=M=;T M)N*1!2(FWI#L1M38G^"#(AZ 5'3G2>U.AG3)5.GWC':EY$4U=%Q>$269+.F6 M5+!4'!6G*PZ=4*T:MY:0)O)^:' 9*TBM+10[F)@3*HRLKD_!M (N-KMRY^O= M82+=5&125"(56R,RC47NVAQ +BG%B;D@E+B-9'BU*1LLLNG)8_H-L?HZLCGX*%M%YE"DY MXGP3BQ+ ?B[0")E#BE3-!;2E1/:^+"U+CPG9K$Y,AK"_SR#\T< :1.*G]%[7 M4I8^JLS)&(\CY/&%O#= QZ_<$\H2" ]&9?8V-OHO,B *6XD3,LU?OE%IU?D]Q@HI>F>U? M-IEG1,"S*J5!UI?E>1AYS7T=:!/^;+E >PS1R3T1A_WDD- N"FS!CH>^:R=T MD;YQ1K8J:HBOQ!1"T3A6:6%A L7D"7#H8;.":6TA35($%\)'F0W/?O!#/)BW MP@R0GU7]*D5;4-]@#$T31SB=MV8]!IR+',3DNLJL0]6E1*KX9$MI+*$N LS( M"XG/,:Q%2Y22/X_+Z; VCS=K1?@R[8+]M?'^5-VF%_?4&^_/,Q^0II.Y?W,' M;S$]Y<6?75#O)U29829R%I\(;\U:LR.U4)230 MV)!24N:T/O&,3Z7N(*6R_Y*2R",>58_V>9155X<"$I3H5H\I'==.=IIH1+D: MTH!3R2,C)U(VKY 7M>QCU+XQ76@:W368C(/1E PQT5>6= )9(@67NL(DA.A\ M:O*\KR^J-?5$ED6^IL>1:"XI1YZ\3U=5G$]"CHLTV0M_3.6"KX [QYO=CA0. MQ7BINV'R(F.J,C!\"%)+VEHI#T%\M3>9IFZ@I5[T3':8S,05T9"X6C+E^!%XR'8V'U2)'@!7Y(E8+8UPB)<,N8Z/ZX(0R;]NZ7K,J <59HR4D3<^W/Z M"0@ A\C Y%Y/9+R19[*#PE3AW5D=)7.&9SQOVP'\8R9.3]QH3*6:Y&R>JJ)# MR\C>WQ&))HNX,GH05(T*J,AZ>F +"IZ:MB\"8L4FPJ2'4TZ0TX^+! [H: M\RSDH!KY;NY:9R)=L]=2:<]F?+VM"YM=2+=8.?5E38LDH#/'K(7AU$-S4?$I+6B2G7[>+)" M< RX%7Z(Y^CZED=^?2"BVN@0 $1$_.DC>&N/(+O$U=STYS$0;3[RL5:&3,B( MT[U5V@7Q1#)UP;))]%(:TRH")"\2J',#D!4>1Z-'S"1+O3"VB%,Q0GR5<-[501--TD->%WX^72##= _P M.:'U^(CA2TI4 M',AP"*%J<2:Z7JT*9E@Z8>;\SO$E-UJ^ 8$O] M:@M,QS^USL.WFMD,[T]QV MX1;%76_S]RI'^*'#A;E+_^_-ILL!Q>(6X9NWJW?MJZO.S6_I9>V@@;$A[2M( M>TG^I"%N)8F+D5+-2%O02MQ$(X&LVGA+$11_$H*M'[[3H57X?&?T%&*RDZI: MEW2SZ6;3#V/3%\N_CSWPA!^I?>L1;(KW?SY_'41ZF:1ME27TU')QS>?%A7K;IP7+CKY3RP!\,]XLVFOO]%IYX)$ M_[!H6>_6@K+>K3>?&J>UUG%KKK*WAO0]A)$WC<;3T\)UY):CD2I6"&^AX]'? M[WB EJ;UR-/PZ]Q\2>'O;A+P&(!'8/@VSM\?%\??*ES^-PTHNB=2ZBR_1'HS MA8OF+J54JW9>UT]*K:2Z!_1_6U;=;=L:8_J5SHJ[.N*U<5ZXD)Y@(TF>[3#1 M>:UQLH*D/01 5!>*IZ>E0;$L/=]XWSP[<_E]-@%XL *\![Y5P1+"<*0L7-Q-,J>C= M]NP4M;?#HZW:R>G94A[-/8(X)$%N\)TV7PH7T%P1WV59,R?O+UX'Z3VU< P\ M2?SFPW.A3;1;\5L_.]\+\:M_/(7N9&FM+UHP5=N?]%R^GJA9%G1<-EPYXH)LLQ45;%)/)'?L]Q9?%#BX4C+'V4V&MRP&2!U,O4SC1= M5<2FPF>QMWK9)M5>,ZP5BN""&'75\6%_2*"Q:1+8D]JM7.42L_JJ$; MQM4^U?"94D=IFU1T$XL'4R6'W"F5)X0GX_;;:)E.97GO,*H^*%LNU5+=UG5M9!296^5"O$ MRH8)W."I!$^R CN5,%9UN*B\.HR$96C"=(^U3#$:A ^]JAW%KQ!U &7Y-FR^ M+6F:=&:3U)7E#Y*2D+):DGA\+.H,A4GI?V^:?2(IZY^4X\.JVO9[]N"+2K.^ M6F%2HC !6Q_/+%VYF+A0$[7A 4K^2Y;J%J"U5)TI*BD8TB^R$#1B.^^5*).//&J4&<,/_L%:BK[H@TE2^\@?'$W" MF.=B5D_UORDKGIZR>_9_=R:9!GT!,9)@]_9ELI8/,V![0FQN!,(/]&76TC0D%K1 M4HE#4179];W'(Y?F(OO=5=8$X,)*%TI\EBVP5IQ#.R*U)S8X5,T*)=V!"]M4 M@'VNRFZ>.F/*!ALD?V<>65!D-J?MV9)"KL"48-!3A6K? M2X$^LPFHE"M'?[2 $@MXH-A1%@Z6HCB65[4F:*+%%F#2$588C@A\E)&Q(NJ)P3ML54H! MGMB\!4=HBK_$=@T5T\I3B#/M;!6FE&:$=RC/ 'V Q+]2O! J4[86^S+I+R4< M31(U'&:JRU-7VH4&9TVM3RTK:VZI_L")19<8MJDES;TE:9])JX?7#"8N?&/ M,Z:,G3$CN7(LJ+:RT$A3]4;)Y>0F+=9\M=Q-C56(:@P%FVO3!J=*H5F$GAF; MG9&S/$K'(&2A5_[3"1/])Y"2#+T("ED+R'0]C[L(AMP*4#3!-EZ!E>[ZY,MK MTTKP%6ET8F5MSTZMZUJ(UYUVR_)IV5G)JKV_I,T/.#\ MKXORR)KUM1MGI^8LT5$PHZP^DU#VJ7%Q6JO7ZW-Y9*+%P^*IYR=2%DB!*W'J MC053!P-S:?L)39V%G".P^.=,=Z@\> M#Z?;BHXIPIY4[^H;#\M1WQLS81D1<0]-R*K(D?Q M_.(0G1KY06;*%3/$C+<@9.ZU%6#T)F1OO_IA^([=856A(>R>-L*W<&FS6>&K ME@9+HA7IX3-\)FG)XVUW:=M1_H1# =HD4&8[[H3Z%?&!D"J8$!K!W&>[[RY[ MJ6P0-9X@"XFC3&2J9S)PN'UD V0TZP><]'4\9X)UT1M!:2=(?O%3H]5:[,(M7L+I MJA[<)I=0O\A?@E*?J%U#)M1/X3Z#JBO/6'93]3$8#/HO?(FRZTQ'#AKR6D@"&]]S2 M@8T^4CMM(H;2!KARJ#UX?*: OBR82D[$[IWPAS:&0.'*9[/L!8XY!@[$PG%) M8G7XTXZ,@"]T2D2]-;$GV$1F>,E\-Q_#"")Y3F6N3$*9_90L1/"EH%, 2ZFI M5)54"B0:SP&8^#)S!F,/L)T_XP-3B8_ZYH-9B?+1)+D"1)$80 MF!!>[MNDET(=TV&[8*_) _ 27T=]&_,50?Y: 3E+(Y6% !N^.(K9F#%+V^'M M8('J_B*&D?G$X7T\Q:)7>4\67.4]!5HJ@F>[9@(/O[Q_>LRM,R# M/4XL=*PY'I]C["+@,C&$ CDR^% >EOX( M](M4?DJC_K>8.,M$F[)6K/$8G%#Z".U2#1J:K7R63)+AH3\$CG#Y[> RM?1Y M04'A;GQY;Z/MS41H_ B?^H Y^NH#2GH0GXACC_.3/6Z EI0/D<<-">;4SK-D MZTV7)=,=S9"VL@VTJG0U\H#;!)E-U[U$Q$[J.-\D@7!E]^NP<3JA=1:AA8MS MM318RR&.7!GZF:)D>B.I:LL]Q)$/B<3ZFR/M)"T98Y:I*$31H+X.^ZPSH$NH M79Y_*K\LDC+Z\PNN\5:BL)H_R;!O M@9&QY?0&=-66>X@C'Q*)=;?EA"[ JRN>"B9GCY6XU1_JL)$Z([8$+5OXV%4T MFKGU>!P(S&E\M#'MVUC>8<88<1K"JW";@1W#ZT1+X\X(XX/BEHO"5TP$MW2? M_=UPRPH=48TPU@=>^=='%PKCG<&KI8\P-I;Q@7)+L[ZJ,!X&?$?&RV;YQ0!L M0^)XQ1Z?.P188_,"N4A!>G,]:O9Z%)9BEGU8-+D<5;BO<@:Z,TN['=SPB#H5 MBE*4BQ.W=4S$CXFB<;;]RE=$9[+M%Q+,)-J7>-R=M?M@B]G#PJ9+)NW:9-0; MTB[+J#?)[(>05WW FZY[=,.DE&_2V6QJL)9#'+DL^C5VO1:3AJ0WDJJVW$,< M^9!(K+\YLCBE/!5,+ZRIM%Z(NSE?!,:P!;E9.$B\; M-QJ=51MSS.AJ,[(A\1Z;8R;W10^U6EI6>,GJUJ2Z[">>2DL#/PSSS8C;0V*/ MT],5Q>WBQ-RRQ>UF$[\,GEZ%)^\7:]>K62MUS_0I*Y2+L"#]8LT^91>KYC\< M7I\R3;N17=[^WKDZ:EQHD^*9WS=Q>>.0)\=N7.RTY5A'=%6LL1$VL)(=G6PG MP,KVSHAR-.-:UVK;V="RV1@[5=DUJE+]+#NKV!Q>C_V4J9%[G"%ZA)"BEMC4 MRQU '[^?/J,6$_'+\874/0*W!M3RTVQQO('JQ8[WM\=B=8L,L)YD5CAD._0"M@;"6F@+L"29M,MM_ M]AA@T?-'0'BP(KS0$?L";[D<.IXE&CN[(7\>PE:87E99CKV! 60R/@+D+H"= MG(!!)KJG'S'5C2]DG3"OEA] MV[-3R]:C.18(BO^<>!RD1>.T1MR1=,I(438AY&]!TEJ@?QQZJ538^#_O2H ML0Y: .*=<3N,Q@FUPVA*[L\;'UZ)*U@I\X%+[ M,M%#$AL9BDUUQ::FNA:(*6/O'E %%NX/MN Z8]BW;)]6BTUF 00IX<))9:P<>%_6F#%!%,F M.Y.DVXLM_-K0 L;P(])KL$EX?8&F0-H!7TH=+.:;.E SC(DKNK_Y@!&I*ZDG MFA4.V0"TGVC:D'P;1HV(LU%W]6$BX&*&IN'1*Q0%NP':_8-'^BJ,]>J_78&@ M#YRQNDVR4'O \F'U;<$@N[8F;_PG(0R%64F* E1 K $>OC.Q]#/VYH$_$B,D MXE<(<=8\K[_[P("2 ;Z-2 _&G'B,?"7US:N$A=[('DT@B 3R(0@"%S9& DY M>I1B."74Q+L362\<8O%R8-RD75,T#/S)([S=&V+-1#O-O-AN%6S45%L:]8JX MA?S[S,(S2DCUJY7SG=0GF0/AB+^I*Q+'UV7!<$*2QL3FZ^(/DJ M).F !V*#8!D/7+ W':_OCSCK6C]C&R9D9\=Y^$\>S>(>_B1 KSRBA2!WQ!LB M' Q<(=#8!%B7VBB)+KZRA1+V8Z9VP4 ZU['B%D;I-X /Z-CO,\MY#;+W *8F M;K?[N-UQW<3M7C8W9AO@K=#M5%KIX(#>^!ZU($RNSN_: _T5' +?>_QT<]N] M9DU&S=8:'UG[\O+V^TWW@=U?7UYW?F]__GI=8S?773#^Q/-;E/W+:7.27W&F M &V2F\:*2F#W\? KNE! +^DD>X]%"+8O=X[-'=+=W"'-OS>:;ON99:HU]\K< M,3;X6(*//6O]M?WE+C7'\2HH/[3L^S>W.CVFSZ867K@A] O;IS0MPZ M;-DK$Y/^NKVDK[-"C;MG?97$WOTM\,/P4@0'BK;!;BUH@]UZ\^FD=G:V0H># M0Q [^P&D9I$NZEN$46.51ADZ"M(MY>&^^?05>\9;F#."078*(&;.(_5B@R46 MN@89E"7X$,NE=CZ[+9+:BKA?_.#*G_2BP<3-J=)8&O>=-9>R7JXWL7O9:N"\ M"S@?KZ0[M@SF1H'&73J@><^L]!K6-=":%UN =!L YO*/&[&]E@U7CJ)HO([N\\/*'NDE1)+BA*D[$F6@)'M3>FPP%,\ZT072NEIEVF9 ML&)T;^4WVI!8._-J:V'^S_'UDI[EHM^GPU;M3^Y$O?P#L"V=?&E 4X.FV3)W MN6AJ[!A-YR8?IV!<+75;_FW L<&=Y1H[KBRV>;N0;]:^P747^$]."._*X:'U M.0%^Y]O!57(Y8F^Q/B;YK9=,@,-K#6!=8KU[ TL-XW M7^':L[4-@U&5">[>UQC@Z@7*N9PRXKC2Z(5!10 MZQWOB7N1'TR3TH):%?QJQ06_.C>_7]]T;^\[UP^:UOA:.WJ?U/B*R2%OF71- M02]3L&D#N#;%O0Q6M,"**?2UH!M[-H>2:6(Q'VH!*K/INH?M=]"C]\VG>^LY M[ANAPX[M3898,.CV\$]#WGP-!MM7,LY;=5:3?W2$;0: M65,LK53X:TM8.C^I:XH F*>40HSG!>X2Z9 ,8-"W&?2=KR7' MRT'?:>UL#;O#I*(42459^Y("N'-C0-7TSK6\J.W9UW].G#$V9-0T->4X3DVY MN[^]N[[O_J/&[KZV;[JL?7/%KO_[>^?NV_5-5^>N=&NG#2VDESM:HK\71\#E<@M*^4)?K/Z0\?CP30=D2B-56H79Z8:H28C;QQW*^44;AAW MI^5 MDO_5*I" J,-YOL&N+M@ME,:X%>S63_<#NZ9)2]5-J)6R#1<>*)9E1IW6SDZ- M^:[)R!O'WDI)@EO 7N/$F/#KQ*S#$#LW3T83UXJX#=L]#F#'26UJ F5C!J78 M;J6,PG9"V*L47>%GE^,/P(GMD0]3^C=]OI!+2\E&/*XOO_NI@]EDL*X+UE?* M7]0*Z_7S_;ASH?]!@*(3LSP["2[5X)MZ1YBJD$#<6NDT=B%'E9-0W*BU3I9W ME]$AH=B@<2-H/%[I6'?C:*SO2?G/0NGM6TEGWTY.=M>/+#?CQC#^<\R]D#/X M!).B;>I7CH*,E IBB#U;(?OK0N2MG<2=MD0*HJX^ [I/I_7S6KT^?_V-)K]X MSOFE$@M45R]CSB>G]=PYUX &X9C#+T_ZNYQH]"8*5*, MK4=^U NX]>/(&L!+/C#+?;:FX9M/A9-E/_W*1Y]^M=@P0)C\Q?%L#G^@\IO, M'[!+!"OERUGP*GQTL?@J448NNF.3WYR@2!5W6=;WSIKB9-'MZ/>#";>_.E;/ M<9W(X:&FUVU.XNLVM]V_7]^S]N7E_??K*_:UT_[<^=KI;J(NK"YJXS8:\@ C M84@JYB:T0AB$3HBQ,4 I/ 4B$:LY8P'XOC\:^QZB]L.+EX#6OK"5E*V=!Y$I M7&LN>.S=!0]S&!JAAS,9NN9]QZ=Y>!8CMRRHY8./0#,*]X,-)A M!_?F-L?Q2DDNMV..*5_>(^V_LI95KX>,07"D)9(L0;"ZOK::U!-_AC:& 1Y/ PZ,@+ ^I"9 KS$(KI7'\ M;KD3.ON+>Q;BS6A5RO.S:'E:QN7ZY^UR_-9]V3&OH&R[I@ M>:760=O% WF,C=MJH/+E0Y+ MMXC+(FT+=<#EP=VY&7+6'UK>([S$\9@_"=AXYJPVE0J#MV\PCWK*K8!Q#W.% M63I_4%[-"52F]9+DZK4S]9/DZIECH_C WZ18F[39O4N;-2G6!BLFQ=JD6%?1 MV#:;KF?@8CAR<\-"1[XH!8AQWJOGQ..5L[5I'/-G<\<'R[X_4#O*< M#@+]6\I)H7[,=* C;SS[XV+=0C%;QN39V9XWTMF)D:RH@SAR1D;&E\5.;Q<+ M^=.2A;PUI894VQ;KJUB;[S2@;)4Q52]91I<'J96D\AJ0TM^$EGO* O[DA+!\ MS62LR60BH7Q6KE"6OSH\[(3AA-LE<%)S.2/ID-!D,+UE3"_6"FN7>-P:II>W M WD1TIO6%[L.6\OD!RUCUA7,:SH]R[],O)+DW]+U=1W2F P,-P3#_3EOT0&& MA;+I=I)=MZAX[,FJQJ:X7)6I.G/ICT9.1&[:5>?A\NOMP_?[:ZSN^_GK[>5_ MS>2BT7".!TJ[#8C 7_YYT6_QX[,-)ZSK=?OAFEW> M?OO6Z7Z[ONE6MY3L'YP-K2>.U6$5!8$';1X CWA'?53UKJAZK C.7*1X2!6] M?9&._QAPT8>\QL8!,', 7$.9DP/@5#\0_3#\P<#I70H3@6'0NQ?*WOR;1+^//(IPS+%W,Q*0O3"K.)F+MDK=F4^>)^'':Z MXGQ!9:=O5C0)3,*G2>+;QR2^UL9E6SQ]0:68B4I9@:B4F%)W)B?1Y"1J[Z'H M'V< R7"LPT[M3R+32G62LI9$^&4"%@3_!O;6:#)2YRM7$UY>Q;'S8U.Q9BTN M.-&4"W8=HRZ/<\[R*SR]CG,Z7O?9_P?X)64<4YY<[#GS[$J%G&H"X>HRSVG^ M;=M7,\\PX+PL]FFT]KQ&SZYTSYDF(*XP^ZQ4H[@P^WSQ)T%9W'.L7\GXO= ] MY^P_K-'X(^L.><"I[9PFF#[$-(2%ME^A,H4K\E]"\2S[_9L'OFV%PZ*<=[07 M*37Z:S)JJJH7\VD>3#C++ZKX.K8HI8C*:6//;;D=J"-!>6Q9ZJG0+YXG,6?^-ZF*VTG$V7KJ2_*5J&\ MDA?8-LX[B9ZY^\39"/9Z&&(""BC3G%I@GHT_-+/MXVOLV0K97Q#[R%O@S*(;GN1Y7C<[G@@\ZG*V1<_>!W2ZS- _W1^<5RKYP"PQ+.SB_PE E_V,7&I[TZ0_-0G\0A3EB1N^GX84?;2PGTX7[\&' [6 MA;%DSEU85)?/+:]YLIB "^>=WQB\ /W*F_=Q_KS?"]DA8B_L&?_C^208*'7, MIG9**F_-G@249E:8H:.A%8GSY][IH?.WTSR_R!456^BN _FX%#J7E MC97ND6"-&!(L< @MMO@T"KB%8 .B8BZFDB^CL>_15^,' ][W'SVP!6P%RC'= M:R>8"H&%'TK1U.]/@O=52V/](E6T"[8.N+9L9K-J<@-&8\N;LB'L:(0G3IB? MJI0\):1B,= AM^P_)U8 Y!![+%):IR ?P(SBG*0');0*+O4](-I@XA'=0^;Z M?4MXV>R>VR!:[!K[PPJ'\*W(]Q00;F&@Z-EGX:07.K:#KT_-!;[[#6#6'];8 M;P!4G#,.^(#*;F@Y-78)K[.P;.F38Z, B(3L>O8#UW[&CT+L759CV(?(P73; MA7-7CX0I&9H56^!9A2$*TA[91;2Q,7RE,,U(,@'*@G+H/)^/<\30/S'O_)^T M\F\DH>?N'LA) 1;NBV>QS'-TL[6&0#K/O[.9(X^VM8ZS1OXZ\B43DCU#6U1' M5 TCUE2H7>P)3Z5X1[[\CM4#,JMOP3_P:F$VBS\''!@;9BE?U11Z+(+_6H'- M (A\;C0AH7;NB;R<1+TX:5KZC3KQ8#^0Q(_@N&,>$/77$'8< ND<G=1;B MFT Y#) IO5D&ID6_[D9\RJ8_G1VYP#4%-H'01[P%W:9R7N0S1)@1<7QSXTN'NS=D!EYGCK=B"B[%?"OYL$YLK- MX5VY.=W6E1O,XF'75OH*35[2U37;_*I#7%\,W%L[U(J36;;O*3 M9GF4#O2._,'1!&-'>*87LK=??>]1'&O(J@+TN2X M1$O#?LE:C:PGCBX*==G>%HR:M493OP;O^B>D?]=G%_I=W]%J9#UA=+%:\^K-HVC/Q>UN:F7.B%O7E]6L M0-HNSBXT\G8U>?N*&UPQIY3:Z?>L;DS>:IFH9#J).N=D"TXDSP];ZY[)MGN_SEQ FY_P8J) M +\GS'Z.+._1 7*0FQ7^(6?7%I,#]VLP<;\Z@^P]O*.0]S_8DP!+*()C];YQ M-DM+JJXH$M]R%ZTN%8FTG0DFO"9+GD^+>H5Y/+.B*SGP/8Q[QX,^,5W"69V; M+RG6NIL$/.:MH^:;3_/58_^6I!BE4SMV7(UUY6-K48T5O;ET$=8"A]4[*+5Z MEI1:[?[]^OZ@"JR.)T%_B%+"[\$3ED@6%7GD3T R5255MJ)''J)\W1KF6CR# M"J2<"W+:TR\()_TA_@4HZV 2!^6"VP[>R$W2/PE1"'OX"$3]#XXL5J/A;/[$ M77],J7M)&5>5>]/&*LZ/XC/*@(<7A8[-01+EK\<9,"L>C6&6(:;>PW=A_B'L M"_S6MSP1@PC3&>\#YR>\$[/UQ3UB]N<$J_M3-FSDLUZR?S9,'%,0,:D""!C M9DTPW106D\KM0:I1)OU )/K#.D+!]VIMWV!WF36WP*3@+28$^Q-X)C-SV%[+ MQ7+XE'V-.<,BJN+Y$27:1M,QFB4N)E^%F&9L>>RBSFQKFNQJKH9Y1IS85/0V MWD!ZOY6JS8OK*9K@OV*=JZP$H;(B-_#5+EV1^$8W)-:^;=)JYF?42LI:CBW3 M/H]Q6\4V+5S8\6J7_'+6]<#A^S:F6JQ_?Z:Q=$4]/O4].ZYBO+&$UO5US=IM M9E*:INW9EZ0]'[G7!V[55/.A3$G_UC.*110[\ 0FXXZ$*"26C#6&;-@G[&3+ M!H,-%<,D LE%7U:WYD#]>):0MT2/LX\PR!A$ON^A-K"=)\>>D/1,7;!ZA%% MP6#1<'_BVD*=6JD+,W(\/AAP$)HP+[S& 0IPXHJK>/%E!UK1P/% R.,7QW[H MI%6"?ARZ\ATML@8?(N Z8,Q[4/0!;?:="_K/CED37]C+8\1!9;^&*RNR6.>76W;I!V,)%)&5?0LRNS<)64?=S<$" MYGAG5#R3?(SP86^1Z9KUC_15_(1^;WQ\][+]FB*$G#'=UAB-8 2!4_B;G]SD/X[^=)]-US5NEIET>#Q@+\^6-A!SW1 M6*PW0>DA1F-O)V%\,5[U8,E0Z5T<%11R1UT,S++J&=WG9ORNLP-C\',!V9LE;HPG1 R/+YBD$S$Q(/A^+I+M)@ ".T)2-IRPOHXA'@<'4 MVJT4'.!Y-!9%;QH9]OS!IXR/QJX_Y>I>,/_)@[X3TMW'/GS(_\2;L7*P@>4$ M,J["GBQWPM4\,](/@(B?V1B<@+^+'<3AP'$"\Q1M7B0*\\&8!;K#I"@0&U\8 MEI-7$T^V9HRK2XSBGQ0^$7ET Q8Z/V5 -][MS S4Z^4<2?;2!GG^<\Y8\7:R MMV-L(>M/0KP&F@6)(#/*=<* >.?+JV1O0_04Q*5L^D1@+6X!A&\#("NRL"LP M;+&U4/B>W?& V 25"<&? ?]$["U@[IT:G<;$^\NPF+$O_ H:[(C>/DZ]PNH/ M'?XDY H\.:OI3D1AA_0W1MQ"HSJI$P,CAV)DC)O3!?TG#E8U7J5^!C1%>$D] M2M65RJ0HZ7OAT >72+Y8SH3!FP 2)_6_*23"C.2H8EX? MY3)C?A=_RWT-7F)]X3T8=\N\*X;@2^]\86Z[]\8.^])ORUSZ77;I=^M.<3%7 M4#I^VKJJUTIZ"VUSITX04&U4U&G]'JO.EQ8?^US7#W=WRMVJ,0XOPP/>E#4R MLJ;)R4OB9Z$BG;4V0/4?464C4?#S">LOP,<+K=U6X=-I4<%"+8@&5,O!U>08 MONK/PCQ-^2#R(!X]N?HVR82,ZY\'JSNU5LTC@?0&)_-(\>?&VE%18 MO#L;%.C9:&@JDB2"H2J>] K6:3;R@T@O"X<5JS!IMN23VO'9X@BPK/66"J)F MHL 9Z+"J&5*K'8>TQ^, MEIH6[J0%%;9RE0Y1A9;O'QE8CZT[Y6%*6Q/H6=$ MT(8,(UO&5FH8]NI/Z&1 !LCP_!0##OC3 !;RM[@WQ%$DP#% ML!F-(X-JTMG&+X@(73K(BU_&PXG(Q40@^8&< ;P')LIQ>GTK'(H(UR0)J]@. M&E<<0S0]'CUS[LGXQ'RD3@ROHIO9:)]Z1DP.@YZNPR=D1HKG5.!#ED0"@SH3D ?Z(!X\\$(OH"&3R$:>\NIYX"I[(&..J("L.V4.08#E- M"MTI"PS>,DX=/BS1QX5.) OE,(G4SF2CQ+E^BK<%:[_:2EUT6$ [G"94U>1F M4:62)%*P!_+_#D2;A'*QY(#061J>>\B43I3M)'>!^6T.4@JS0D/+Q1)SJ;Q* MR44/7+# <;WQ]L<[)1,Z&)G ^JGW,D)^Z=M<\=GWC -4HV0EI^^,Q46J[^\? MWL\$1F@6TNL&)CF*K)]J0C#'L1]&Z8^< ;OW,3H"4L2%V:&@"2>]?TD5U;E_ M $$_,RDWA_/":ZSFET^I$"Y/8LS MX#C*0FK[!92LU"CK#O"*.^#9E(5\!P(HB#4)?(H?" F&'WSF'FRQ2-7[FMP/ ME;=ZX?&5+YO-[^;Q^3J@:>8W)5H %/U6W5S0R\%ZV9#+ $K'NT*%0[USO!QG M@E)"4&P+WPL/!CLT"*OR,T8B53WJ10G=.5FC=LON7UB[R1IMU).TT;^W[Z^/ M/K;8BT$0))'3.(GSH$8^&R=&%K,2/A9W$X$7'%-E'%M[IL:@^%-K> MV%X#+!7IF(J1B$7!V)ST91@LF6!*_;]G8D*4*C8:6TLSPP?2\:-[1:D]S$Q6 M&1]D_"WK "0,D%#ZZJ$&17'7OO'QT!_"AKLS\@(%!=![3E2D[XVU72K3#$_+ MT"D]./N6\/,450"=^)OZN@=7.=/4US50VL,BK*:^;F5):^KKFOJZ>UEMQVRZ MJ42&%C6E^/L^.& @>&T=]FUO2D,UCPO[2?'%']QR<'"P[5I^5Z]\WZ>$LE$Y MV9 :4MI@;!9C^9?+\E*5=H^QL_FLM5U36O_RNY@B9@58GR=;:$=3/MF9X; ! MWBJ>!*UX2Q&K[=E7":FN16QRR]S6/)E/ M2 ;(E(\A5E+J#;UJS>M MOWW^ &"B$FSR5JS(L[ QFP)//_#(41/\%POG:,"2)02V,U263+MM<^Z\M9QK9JU!H7RRN8S[)7RVB6ZH R MOWYU@?S238*R0/A*!U 6*K5O*J)LO2+*L:F(LJPBBDSXS$D%/6Z<]<_[6TL% M;<.D1DEI6$H^IT)8BS+ZGI/JZ92;Z'B1GZ[)'E*MJB&W[$SR7[@T^V\F@9BN M,R:W]B1'36"N 8P;9FY ,A123TXTE9=GXJM_ZN^BYE==YF9RNO:-C;E+7 MSAUZ(P"T3@:4ZD2S?$!#W7*HJYI,'GFK>[DCU@YTY,U+F,+MUW8@8900,4+F M4$;>/-X+UR@R>#]4U!V,4M7_U.?2\I FV"GN^N?8P8:^ODE,7"(EJ[;<0QS9 MD-C(_NINNC;D-B2NWLB&Q$9TZF,V[^2(Y8OH.JS;$5RY_U:&,#D6\#0JV MC(+%@:C5.[IM+?_X2]*TO.W9Y'B+GN2[CTL=/!.MB]A%54]*WY.#I] ABCFC M[ P*7E)VA8OP&V5GF,@HN[T_Q9FK+L$]6\^Z$@5ZGFB&][DIEB&B6[-M'^4= MR)WY(#NXFJM#QY4]88EMM@$JQP(YUQ;>N[_B:X!_R+I@MAM*\SS?6B\O--5; MSC>]E?DFKJB:*JC:Y<&HF>&AHY#W/]B3 T14 SO6ZWY?E:&.0QSO& HY1>+ MT*$ZDC&4M&.)O3.4SIMZ&4J_\Q!E/$5F>!]^[/KXD;&?]I,?*J@BYNVG_!SS M\J*=VMA/S3VQG];-V*@FFVK#C-5,#SK0D0V)*S^R(7'E1S8DKOS(AL25'_F0 M2*SC\7G M^Q;G,A6JMS"RIA6JS_,[A>B&5AE[M7HNWWU45@,T'<+()6-_/IIZKN]I],J' M$XN"K(U7'E(?%.(J@_6D-;7'_:?8W-".YKE>B]WEDUHYX"- MJ/R>>!J;_,:V.I"1-VU;7=3U#>TL#F6:&,Y>C[QY@=[:"X%>IOEQ46N=G1BI MO8_61_XQJ,9@-=;'@8R\\XK^XTD]S8&R]HR;_.\Y]#;,!).Z;3_/1BO>"* RV*N#L&?_C^4 _-7E+:MZX?V*H6>+@H8 7T08SQ(%X0Z?;-9'E8C M?D)D[G97#1G+(6-SA[NZ^*C+L/\ZN&EN"S>D2L+"1>.,4-@GXBJGC!TQZ9##0A/IBWD9#'G2'EB>#33>^ M]T0' :\^F3H]/:DU36;,ML^FRD!KJ_YR,KQ^:)T)U9/60*6!.F.56.GB\ZG6 M^XMC@V4]1MZ\M,Y/)&AHB__72^MFJW9V=F80OH_2.C^/45^T;EY:'[\_:VF' M9=WK)0C0.9[-/17G)-+HULRNDAHGOW)A7D*F-OQ,X(B;M;Q"^;3.SVH-XRKH M,O+F%5;Q#GR:@GT;&JQEKN9J,O+FI?]QX80X31GB-=*_5:\U&R:)69.1-R_] MB[>DTQ3LVX@V-?63_KJ?<^3X+R*I71/.VG^>?KM8@^VA22? 48(&:YX?URZ: M*VBP50))[S3 S_XC=[$V*ISEJBMPMW+VH5\T[4!'WH(HWT/[K#Q1?GQ1:UXT MC2C7%[F+17E^O<(] NXVPDH7^GG:>W@PEZ3"]M"H^^(' M ^Z4H\5:Y[6SD]6["69ZJ!O%IHUB:S3V%LX3P.-6'!3]PF4ZC&ST@= '>V@9 MEJH/+M;J+FOT@:;Z(+]ZUS[ >3OZX#A5=D,;?:#[\3]7'?(7 /6_5SD[F/6A:]V);KG!53PU7?'(&&F8^ABQ*]H4U!O_! MJKC.$W>G-5$A\=F)AD/NVFP "V4.K #/!.%)UY*-9H/94H(X;$C]9\G%]M3G MLL:B*JX8XI?[/@@;QF7=4Q99/^'SV:\D!1G9&,OP5JX:(XC@HW@/;"< &OC MF*DBC41_1J!@;__C+^?-9OWC_3 7VVIM8+AMQ'LE2&02&H>_:/!"DP-G]-SSD#!P^2YCT M8 %7$@6_-;2>.+-8Z/P\HD$3$A+R53%.5?*6X6IF5R$F![^E1H#)#[#,9#)2 MO',O373FS7].K"#B@7KUS!N7S9W=)44Q&S/X&?>YR=U/\60T#M]LPC#7Q& DB.0D^\$S(2YX4;Y0 ? M"6-K*U+SY=*E:*AMHE1I7"UJW!L&R7P*5#E=6ZN MKF^Z8B?RZCL=GZQ:67$,UO91+^#6CR-K "_YP"SWV9H"O%:HT\A'GWZU&$ ) MT/D7S.*!/U"%680'%O-&V__77RQX%3ZZV/0MT;Z>01\Q,'[PS^/&6?^\O^&* M6]GBV($J; Y,;(U\\.[^#=*&RS8 ;##!4YMLP6+\HP=2'WDP^;K\LJQI+ 5U M&/I]ARPBDJ,3Z5(IFX>$6RA?E%=Y&?X6\-U70SY=V9Z?KX;\W0/[Q7_T<'_3 MONJE'T:QKRDJW&VI K) YQ$^]<&:1+[Z@%QX\8F0/.27)5M@)<<-GGCPY,@HQ-RASJR1[$>6.V](1__@,*(RM-?MDM.L MM1IGM9.F?L"*\K2E_[3JE96V>G(V@M!KY2?@%(B@;8T]QU/C%#^1'^-S+[?R. MCW5KYW>@(V\ZH?704DHPOCZGACQ*B(M/E,-,!\I)*)(' MT &91'1,C(TR4Q>W)!XKTF&*\P M=YT7+C:7X:Z$?&W/3N??(^V(=*_@JT:K66N=FHXZFHR\!(.56J[^]K&0CO*. MKPY;=J#UVA;;*^O=G9VQ5U(70U\C2IN-Y:4%7RR<=@@"KD+PW>@&Z0"4=2W; M:D)6&V16TQHXT)$/B<3Z&WQS 5';<2=TS9!TO Z;:,ISR9@Y<:M MK@3)YX)7;1M36[#\SRMLQ(M:_:Q5:YR?FQ)5!N6KH;RU;IKA]E%>/%BK \H+ M91KNJ K$@L2Y=6M&(7WN^7@2](=6R.\"_S&P1J'MA'W7QZ(C^,)>;HK<=I(@ M?PVCP/<>/]W<=J]9H\&P_DNC\9$]_+U]?\WNK^^^WU_^O?UPS>[N;W^[;W][ M^/47^8VJE3.ZLB*+=7ZY!0O$!NQ'<3T=2N@,8AJRL2"BJOFBRL;$I4NVGBZ[ M"+)K:^E[_HCE=/Q@VO'Z_HAWL<#5'?CB_>D,3)GD4)!UD:R2<7YZTC_9%8"; M,8 [-Y>WWZY9M_T_U]7%+*:E^Q[62,&,98>(I9*1>QRTB2Q.]N'%G."U<9*D M!0NR0H^S'P_DQ6\"$H+/&VYJ24[VV]!945# M?Q*"Y1F^.QCTF41B0]J#2B36);CW_?W#>^:/P0G6\#Q7DVOR"SMC->IKVV7" M OL*9B!^YU*8Z&#>W,:DF+'4>*ALM8(QB*/6S+5X%L*BX'/X 58-<_G_[7U[ M<]K(MN]7ZG%01FV28D]C>MC.Y<_])-5)C-!$2HX=MSJ>_ M:W7K!0@,!$0+^M0^$QN+5C_6^JU'KT?MW8=&;87.;V7O824M%2W=D$I2*M(J M37V[39_ECR>,S"=IL70?@@M^V6&L5?,=QML![(@DUN>T#(.I.!I%ZBN2^LIA MZY*0NM9:O4.9])% .U#N<_JN\T(9"YR04O-QWBWG)E6Z(FXLM6JC0 '4>0T\ MZGJFY5!OW W8$'ORX-L]U[;AJUVTG$$;W #;-ENJP=0!T/4"(R:_=<)VQ,WV M"7O6R*G7WBXGMY#"US5[#JC>CSABE$5)C?RC'G-8WPJ.D;I\R^?W:(LOR_(5 MGY4NR]);N_CB#.BN(Z;T44Q(790=IC];792IB[+#N$U1%V5[>[3EN2@KV(U[ M%7H>[%.^"B*)&7&HM6/4IN]@Z27T1\XWXM8M,?Q+; M/<=6RC/J-^!T4A4:2DED:]>&5D16BLOP'$A^"&@@:P.875\&;I"UM/7;+.(! MM1WSBVL4S6"Z?!QVH&_>/O2OW.1> OK4+J2CSQ(JY5&$@"24KB)%LE)C[0N3 MZ% +YL?SMYN*R1 ?H@A<&@+/#]->QN+8!8$WF^4@<%4*:=_U-2T_J&,)R1#Y MT>0KPH,B[C9<1$ M%H3,@1[Y/%"F>/'Y/+?V3?-N30J5P[#'-+GVQ?1N[0L9:'+I>H&%9RXL#L2? M'W@?[6"UNE98?1(X.NH-O'0^*\0Z3I%\SP9IFM%_R&/G_SZ>=&^N.S>/8B?R M0CWKS:7>F3F*$7UB)SV/T9\GM ^#7!)JO]"Q_^[#TM&:']ZSX8?WE P\).A_ MH>Q%JT3])IB9L7[,PI#X:/S*6B#9#I5JY*S?;8:7DZ=/,W0]=ZVX_U3 MHFT3C\%[##>!!GU _ZFK] M1FFYM3/BTVR93CS!! ?O81+W$XM1Z3*'&=6NTF7> GJ5+K,]ZE/I,NIH#RI= M1A8//\9KA5B>&'42N4Q7V>.C5Z]C/F.&3JI>\':(AF3Y2VIKK1"?O^W2HSO1M?^D=N33I.COXSW,87]A(S-1-D [3"'V]I7W MM2,FY[#0U8 Z3ZSKQ*$&\$ ;C])/3KT='_HF-/::?,DN!_KF[9/JVE&54I!J M[5R^O$'Y=?VX3+7OAIX!HL%D;(C_6,^6R< "$)J_)"RPS\RW=NCD'.:[9R,: M>.+GVWYTS!WJ.9;SM(FDE-HJ%=X/@43VF3C7#HC<$7&>UU:P.&64!3ORT;O& M3]*C/@@ .#;TV_$3DH3,R\]@"RSM7P]_G.2P&Q=OOD-X3<]FD0^6=S;]B,=[ ME3G=*W>S=7'UQ@IZF/+V2$2#OQ[N* L-:HT5D@'WLOW,;3!@GB2DN]RMOP3< M5$1R26W3M[G\I)./G"=>_GP3KI^W52@9\DT49-X=1?J&?Z!*Q(\E]SZ>U\"@/;_FU_/N[=QB_"GD-7V=43/^S]S8P 7V( ZE#+(78Z#=AD$S;J@8GCKK5T? 5F/?$&3P[H'O?LF3DA M(U>NR9/+M(M6LX*Y3[!H]$:3T,GQ7ASF^0-K1 Q^>UDA MO3 @5I^\,&):(L4J].D3B][LLS2:PB;?N[;]2?""2HX[S!P6E1RG M2*F$Z5 JTVUOC[8\F6X%7[ LD4"[<^?OP30E4INN EIR>/3;/+6_@C8I!AN! M+69C_*D,^UF>C-3&>:Y[98X+;XZYLP$77EW%():2?IK-7/K1BJ:?6DZ.Z*Y/ M4?;0DIQ;OSO/&%00^8QZC/?$GY8]?7\IL,WVJN'5@RA\&Z\>'= MQZXT')(?]AT_:WCV+O:W;>)"1H4-RDMW\W6!M:,^-D]VFZ^H*S7ZRQ'ST3;- MR.6>WFM,>>)MBLYUO-.)NBGCC98D#*)"N+(R9.W8D968.>K"L!4IHI6C5XZB M>6EH?NW8%&EHOK:' 8T[B9I?X#!BCBFMOV@?0\:FZ] N#N'9HH]I#>92H8M[ M1(HA/]KB" M$88\ &ON:?$K'P..R1FNX(GZ-@H=N6,28O QB\-R9T".I7,&&N+_4"'D+'2=SJ M6SBP3YX ]C T$>=)35R&'V $*+P^7@*\U4E7RA^GWPM"L!TO9DM MW+_82-@1$2<<#&@ FSC$D$B\Y>2EO]@K,(A#8Z>\'9H,8XVK/.)8Q!WK_!1X MB*\E0E._@2B"'>5%VWQDUS:';QJ'^G8=0B/G3X4\4S!L0I\?329@6:]6=1$R MK-7AR,:@46>#?"?GQ=^* ;R!6 5P1,C#B1G_RVPL,5L03^.'Z]/H-QN1-6<\-/5ZS^:U'(O']C3$-;<=LS/ MS'T"R3^PC*XC=!)8DVGY!FPG[ 4.W,N-.2V&C-\#4+C.TX>;V\<.T6I)Y\>' MSN>O(-U(^^::?.[O2+=FT^W]U_;C]W;F_=GT5?WC;,!N.'$?0LC MWY%^W:2U-#(0L!,E/O #"M2$-WQQWA7@?2/,!)N;#)/E*\"(3M@')3+T\&ED M(9\*B3SRD#Z&0S[*V,>,2\)' DAOLTQ%[Z1CH&?P%>9#4P-1P#T"J-@WG_" M25_IW^[$S-TPP!6E'4MB4,)Y<&L;Y#9CZ?28]VP9"!VCD>L%.!M $1C" M@1 M@>"?&5 SQL[[@!NV+00!N1H O(!L!8(?@/KBN]EY^Z! B0A[W-ADTGM(02;# M# '84B$)!>*"A.;;C;N)!S'YIZ<$*?#@@Q2E@>K$=N)WXDWC8AC442'+36:# ML(\E>WRVF''A.O8X?6M<7WCB+#'A@I\4R&H\:_%T!.<1N< <\,CB[YNH8%@] M+"@MB#/ZN\>BV'ZN?/@<3M<0E:-$DLUNBNGR"<>3!P7&\?M(ZCT6 MO#"0J]G&P\B&HW.,,$EFI ME,$#SQ 5$ R]+&YWYN5SK%UW+CDB8)J/R/O3U:E?\Q!U9N6*297DIR!W.H:0AJTU6AE_?'MH?^7:Y[2I%!5EV,0UJ%XYOU M"4I)34L7D2Z.FK3* M^?D*E4)E!%>.)(N*VKTZL 4F6MI=)9A(G(N_=4:ZJ-2;"I8E>?/V MJ7#I2M'%4N%YI5XM>4:?'+KR/89*N'WRW?5L4Q*J5D'K60Y<9/D^FL)A'&WR]B\AZY7F MQ=LN"0D.5I'4-$DM70FJ8)+2*ZW6V_(6J557:'-O )9>>AIZ7N#(NFI4:F?KU!_6$:$S>BR>T[9RG!2;U9'O(<: MV[L/MYG" 5B[2;G[#XD^#_3-AW3$)73/J<3!E77\%;-4YJ9Z)>) M(''%M6; M<*=H\JGZ4KU95K):,>VD8+)J2$=4LNM[*I%PVRE<<]M%U6HK9I LS.':*$/! M_.'SB;Y4B M,4MN>BRP[&.BSO_7?!I;NH93P7VV^DQNK5<9*$Y=Z\MM^.[;<@_QS8=T MQ+*[>=]]Z*)+P>I;O-0]' P+5"+?09'H@;[YD(ZXA-Y-=;._LE>FOJ@K[QO7 MKFT._)LHR*17:BWYKENE>K.L!-18U$ZW, )J5/2:*OR[L?MZ?/VZ6YA2_1BZ:[5DH_N M2J@)3Q;ER: Y3[^2#,O5!2GGPM;;Z/_FI>CF-*IJI=IX.R-3AJM01<+2D/#% MVX*D.!(^KU3K;QN5,E"PNLS?]\O\NKX(W+?& CIV4%B]TK6ZMM\CRJLMPN1M M4I[67!U]=W9]?Q;U2S[C[9L_Q!./^DO/_KZ!P(VU>US/*=6\3(_KL.>S?T*P M$SK/\!]_?A?K;0:FI&M][P>>ZSQ]N+E][!"M3GA#=^TW\O#MXT/G/]\Z-X^D M\R?\]^']6?0DWY="-K^8'>@Z9.2Q$1AGV'T="Z>"?>88%K:M#VC L->X7^%_ MN7*'(^J,R8#ZQ&//%GMA)J&V37X";SB$\1,EP#3& )YY9L0UC-#S\*%^P+R) M7M($:01&!3'A]5_I,+9M?_0),$,OW0RSE6N&_C=P MKX;A2QXSW"= !T0C^(-I^8;M^B%\GS=P9DC"7 .%L0]M'\:P/4;-<3P G$1$%&X8\&%N<.]QS*OL<7U*!G](!H^NWG8! ME!RTXQ?U7,]D'I<;P%2752X8N(B8>4LD:JK5?P.B@F@>X98Z3__]KHKZM9 ( M"YH3QSVB1[V!E\YGL4;_;H'"T;-!V\^89N2Q\W\?3[HWUP"!8B?RNCIC7.82 M[\P'/S/$PX-ET &+W3LO_NPC$T2C<:&']Y3,O!0 OT+G4_PAT=^ M#FX?B05QP']_1F$H?'2^J-V@/"]6:KW'.,[XC?Q)T(U<#(MTG4NPV)AG6PX* M4_X73 M)X]%'/UB!0/2-@PP$0/*6=R)?T61@E](F?4Z@0D0J#"I#^D_^RE>;UR'G>[; MHGZ%_N@J!-A.*!!8T7-M(9'O/-=@)HJ: R&B(WI,.L_4#JE09OI99<;(;LTH MV9J]([IO2$]<(_##$?.>+1_W A?-$0C_ %HL&*O6*-DF-_0(O JD#6)5!6L MV2$*6/Z7JX'%^J3SRHPPL$!=O>WW+0/>@6.*OZ7 %?VM GH2:$3\*+BJ K_U M^\S [SO,]_&E7)EE&%/.1W)%H'HZH;?/CAR!AFTR4*!$LX/[$(2:5J,G6N.( M'8NF!_RCAAE]%":;TWDU.%H#!@?P:#(CAE,1/\*$+!>4!Q>,>WA!;PR?6JC2 MCUPO($?X"-I!>O6W#-%=PX+YI]IOQS%7?J2HKX4C%Y4Y&L0; X]'!L/J&XQ; M$G5YP"$KF15,3::R[&9RS38Y)4*%6@G*AP^::Q0_&GIH01 ;E%T[7MUUWM + MWB/.'"?NPF[S[_%=L1SAS,")1YHS?Z;',DHOG#(N1YR!#[JS#1^Z7!$?6@'2 M6OX1$WYP!FJ<9D7,QO?Q1S\!?'SI7W!H^_PW>$&+[#&$->4/_K1VBMN_.W0X_!#LBNR>P @J&XC"T.4_A M6PQW. P=RQ!,YB[@8TYFG5M!4I]N.;W0$>S#R+/0H(0O4VP$PA=KC[GS"($# M=^V)>GR,Y%!28MI76^^H=TR^)AN9G.^]8'TXC"[J]&C011*7W )(9-A4/ F[ MMG?RY7:"Q@1?^0!MOA4[&IB/!H/E#V*]=D@MT'DMA_]N A4AQ5GQ#D8L01!F M,\:PE^Q@1&/XXIDO^6,?-"#!3EE. LI^MLPY\!49WI&?)CG=S*IPUCT7Z%XH M$8 <@>M-\H)MT9YE6\$8'\F9-A^#BQ'N-DI$6ZZYS[?M-5K;*/1& ';"CC 0 ML_BLN?A^ O'I :>.\2]LQ($@-2* F6'HD9TZ8;K+[C(>Y!Q1VC_&[03<>:(+ M !:7*_ &W1#<9S$"X]BPV(P$0'R[+"E?G#;F@X9UC&("*3TF,4[YS.'G!V"+=H5C/% +@C 7)-3RX$>PWFT@0B&/@(I]X:<76XM&@>M; MXH-("Q#)'O%OAB#US0'UDAMB';_!B2CI)M?CL410HY!R&$IJZHTY5S,/I/Q2 M'/4+O%.)6!>F!C-AUBCR<++7$6B'5L!I>')C^;1[#,<9 L*!A("WY$R!AL 9 MH&W0Y*RF0"?%FNF3@[\6?7AOG5X*AW BZ/Z,7,B)#A$P(SZDT(G7SK<=- E! ML!42 E((OW-,Q%-K3P ZHFE^,@;WL'+W.85-!)1# A#J*W&=N9[5?=58VK8] M(QV!DAT7-P=O%0:@W+TP>"H6DQ6Q>Y:#?FT@/]L"WA*$&6\2=WF#; (C L\W M@O58YN+Y C\ZB9J>&@\&=1+2X;R02S^<)5![X,CFYC-REMF%'&$^_(%_L._* M%1*\[R\RH*=UF*6UJLA@G+EK2A4'F,A/83I8?C03856 :1_&DS(\B[,> WAT2%[<;V?Y$BO:K4I2YS#P\2BUO5S"!;*M\5G MME98XLN?T N,DQSZWI'Z(S\!QPF3-1/3Q0'=(-8CX<\$P]OR,>V:Y@G0M?.3?,?+Y(? 8\!S]XC/0T&CP%!XFX>.WUCR@F9>B>XD M1SP_!%8 <,Q>V1#5&G\(0S$O0W1BHJBT]^%8^:_VF%,C@O5#-&R]6D<3.3J) M!^KU8&3_Y/;59F-N#V0<9V][9@3O'G)K]O+;B);.==W()3>S M!P2,O=CUM-B5RA4ZC):(]3A4T3GP"><>?S+2'\:@I_Q$[3)P9Q]?#6#W[I!^ MY;ZIM\I]T\?$)\/#%+JIE_) ;IJN4]+^)Z0>ZM=@&@*UY@A]X)?8JD-B=H7F M(*9,31?M4/&+&WTHM&J:?([VI?#'5'N-$PWM92[$J.,>7RX4=;K[;P%@W@^YX]H:<9T?[AY'\4KV1XQ5B%5ZYR;@'N$T7D M$QA7> /V!Q"4;UJ1$X0#XIVPJ8&[N(&$?S@0[KH!=8J.1J 5H<%8(.D==GC2 MA0I/VAR93Q!;LL>3J+,(1$B$(AQR1K5W'^[:]X^DV^V6FODW#\9:=04PUJHI M&$=^ULJLP>]'UI0WPE='W S%,1%VZOQ-=CORX\0V QBJK^,T,A5OU403JN@N.W(/#,'0Y<$H M?>(/J,<&KFWB,0FOXX#9W*7SE8Z)UN1:5UW<1OF\F55TC"9!$\;B%CF #?H\ MC>3^^@$OVZ=G\V*!F=UC49!!%!"@Z55B L;%42IC1KT3T/U2O]D*^\@2TG-C MTIO8T%@KT_!M=Z!GDFZ\BO06SJ C_K9XWV?).3+3TPFP#Y2[+&A12A3K)%2H1(8[N(S,%0#<+>VPXLMTQ$S=< MUP"II'MV.Q-)LKJG-'.E0'ZR<>:Z+75E3TP:;]1PKF#5V\!'=G0?RMU0%O?T MXMT[WK'!:KBK%R_1XQEG7SHV\0\_L)ZOA6P M$.SZ+KAK.N\\Q\H)Y[)DQ$_RP1EZFT M/*7^Z'6_^(R+!*0>PB]]04R8XI8J$EA3I.8Z6?K)7*T@V85.Y,D29IZX"H?/ M/\9Q)XG4%)%:SSR08@PZO?"!OU +'5M),,O$FY$7\-4Y$H;?M2;,GXTPPWL, M.#ODGA6>-OS9&)F]SAC\Y=-[YD(D/3A MV8E18M%LQ1.MD_^)I7WO!@4Z0JH2!VNY5(:=0J MD0J*YBQ/ \B!+NW'<;73\UQ"X85 M)R,2 I@(GWX(7..G(&IX!4;(^+-H43[59:E,YF4!1#\, /G3Y1.-B#..5[T3 M!@JLY'IO<+RW(XQ*M8%%O"5AP"=*()Y/MAFEW&T.+S#,L7 MSHM1&B3."]#X$0JBSR1"(_9J"1.&B=,PLJ;YQB'"^N(5,B.3 4XB;D M1(]J3*H@""5F(>N%@1\ -W 52+!AA;SP6(P@RY#+]$KBI>X*K^ZE*.=7**=W M3+YS/L&\99DQ.5G/IAP,LS106= M(ID^7WX?L=?X]F9B=)Y2)@P[6'4X= @ WE+=VPJD,MF+.B=J;)[B)/SV9AP% M[L?^C]@8/M*.R9$N69EG:4KAKEY=$?N3:!*L1YXW[[8=2>U4;TJX*8?PYDT= MX7FC5FDU]%VO2/86+8O$@"/B6=\0!37)Q,!!E4K7]$JC6I6QYK@,I"")-*F? M7K0DW!3%F=ODS!,9F5)^H^31#:@M-=GF56V7C&Y_J=*[ADV29HP1&0JIRT , MTHB4EC)0#H\WYQ@U,C#GXBM@*6[#XF]O+6Y@@AWJ,^>Z$7'Y[L.1EFMQ;>=E M]RPJ7..+<)@D&F3B8I>[=/$49JH_1''M25H26I>\-\#MT+%ZH4^Z#CJ4I\/@ M,A_CS3I>W%:KTOATQ!OFGQ2/Z]6@&ZR3\(BTSG=33[= MJ%1S'SY=1E?;NDH&-);OW-W.R\0)M4= :88ECO5>W/KSJ(JXH,Y#^SZIIQ,5 M:8IR1#)QX?F!X[&S K9>J_X;/QFZ'LLE99&2(DJ@\:0!'F/5OI^I^L3ST:-+ M,1$>PZ_ 3LGW@64S43X"IX\%(GJ,.6^Z4GC*/1UB-1611I*-8!,7'5@Z^+A" MCGKP'U@$WL!DP]AX49/VO31$E.\:VL[+NHX9&B*:[0DO(#.W4+ S7RW@?F:3 M1\ODQ<3@Y+'NP#\AS(%7Q?7YX2>WF/T0$W<$*%3$T0M72V;8T(FO1,VY@ )' M-SDM?@?_&>OYF>2&1QF>"RS@< ) T> (DZ#%]%EN)\AJ"_45-Q>_6ULW?C>) M](DC=9.TGX$U\B?":A\SM1Q_-5ZW$G51B&IG &$R+,"((:#D0&)UIT-*?86GXO)J*YUI)H$W+\9V8[' &TS,W3>:^)4< MF_HJ.3;U.&P_#87.-"SYQ*) Z0=L,F <3).)Y5AR6LD9)5M(DQ8PI!]OH1]M MX:]Q\LPQ95/-9XY+3 &S,2LW'T0:AO:[?P\2^Y:$)*EG1::R\FE*_^&3:9L MV);/NU]0T00R*4O+/X>?641@6&_;\*P>2G.&'59$XQ;>$,/GB1A)Q(CKC47$ M2$74K@2=FWM=,A7\>':;J.>*M0"RA05G/#;9"AYBIDGC)RP%&&6R\S8%+!BX MO.8 -H$QDLKZ/9Z1R4NN@PXBPDPM/TW)QV#4J0+VZ W(?)1YHU]@_0PY$COV MT8_='HI"E\) Y'7:EW(48Y)0A+E8AJNQO&_M5^>+T?>!LXWLLI%^'2*@3S+MIR84Y7)+)5$JE+(/EJ9/&] MVPQ1*-S8+E$T=DT4J:743OH_ST)#M9)($ET1Q#8)HED@06@7%\WTSNH38]'= M>UK4'2TXC%,XGB&)N@*&K=+!>8%T,"=@9YG@FQFZ: H]M"K^B7Z[$%KI10(B M-44]6Z6>5H'4P^L6@BYZ*PH5)6)DAC3.U:%O]= O=G#H&.@P=*R^%3GBYI^^ MIB3&=H]?JQ9X_E\8;]28'+=P@;2=8. Z8S!+>Y[KLUD:4*ZT+=- D>[5?!JX MIW\S]DP^\X8\LQ2@A,"6*:#((-Y\"OC#939Y."6_T\!F.7XFY5/8,@D4Z8R, M%8$920E:\DW!PZ^C3'-BQ3#5D(53445 MVZ6*(MV-^<)A*BA_%B-:B@:V2P-%>A@WE HV0R4U94QNF4J*]#_&\N..>3Q6 M&0.(5Q @-655;ID8BG0GYHN-*'OJKU-R\S1+ #-&I80YR;C^?8[$UE4D]M)T MD!E_.KYOU^69C^@DKV^ZQ.B& GR_1)&KUZX1BEC33SPM@V+H*.\- 7]\Q!07 MT6#I)?5?Y_&5[8PAXD''0'_+ RXB?AF@74^MC66\YF7W6QE5=M M63?8CBHP%3&[729<,M,6<1;3J/)*XU]FTUMWI1#)>91E'7/="F+E6-TV>(J+ M\G<9U<1CO*Q*U XQ30\/HDZW#+,R[\*>;1D3B:L66$9'=U?MVX^D>TW>6Z^7 MCNO<@,CSX$%,O(!WWN,;/L&,T+ ^J6KPO\#E/VOZ24U[1QPZA*69S+ILAZ85 MN!X.VS6C7/O7YQ.M43W7WGW0ZZWW9Q.O^'!,A/*TS6I/F,C542TAS M$H^I./\7I&G"_#T?.SIG6LI\I+9P<@P8"^;VK!$E):8^U8MDR%I5,:11F37&S7"2H MN'FKW&R[_K3DG>1GO'+RV( Y/MXT=1W#'3)R] 6^=EQ*!E\J-T,QN&+P$FYE M'H.S?Q:R=Z9OLA\5%R)1YXLRZO<;?07"V_J#\@GVWTIIS)> M5]PL%PDJ;MXJ-_=!%5^^P7*AK-A0K"@7_6R&%:4_GB/]F!3&B!NXVTU+S;UQ MR:O(0.HQI3H>)3#G"$Q??_D[/R3VJ&(F$:-]C^\M#WO7A!= M(OL%RM&&NKZ5;,Q]/X6BHA/;V#T"ZTH2/Y: O%$JUL_$H,.>^\Q$$Q'>],,= M6@&OB,T,&OJB+4A2>CM;CUN4T$[Z?>!S1I:[^XD,]C.FK\(5U3$=)2E3PMFVIP5)LT%^:@WYIK6=E B*M0 M2A'P64RD\CZ]9?LS5T'<:LR]CRFLS87D>.#MI,G%"3-M'!SU41Y6;*1IMI>3 M]>SE.,X2VA@ES1C=^5%+S[GSQ=>6.#;6P@=!,+H\.WMY>3GUF7'ZY#Z?M3UC M8#TS_XR93]0[ ^N/GM4:VL5%ZPPST,2/6HNGH]7.V"O7XVL_M-.1"5M<.]6F MW3QE74I<,"#I!>7%A6KG EW4D.D&;'!^FXN5T"]:Y^2HNZ@[59P^#'N7[3V1 MO)O(_Y CS#>&EIZ1ZHE5K%_5C[H&C04#111 E(EY_ MFGX7F/G8)TJO:HN&/SY=X+>3[M!B3LK.6(D%)1:46"B$+37\6=?/^JV?/ZKG M^KFFG0Z"(8H%O6QB8=Y29N#YX]BF+SQSAF:JFB?"0F34_!':8X*URP%MM3?D MP,WA2C;P.PE::M(%5!:J$XI%7KY_7FQ@%.$'HB\$IFK]X^W9!L_BT[TU!V>S%31L0HK\Y2%1*_7AZG MX)P51-B85@(T,[9=>^19-JD+):!">BQXP=";W(*CJ-)<87_/KR#G4+M(N\$G M+>8KY,OIE].K4QP^>3'#WK.B@VT4I^-?X@.Q)M-.XV\0S),ZR/A]DJI<[#>< M0B7[S8^3W\RT](M>#OI2TI5TDTK8ZG8N?#*I8MQ4>)W9D#T"D6N<,AM_[6P#&>P+?2A8W"L=V/J7!, MTM5IU1V;S%^![3T,?<8858\:@?2VKYP'J7CV8'BV/#;KG(@"K1J'%&!?F+*8 MKV\N9MUNW)'!^XGUO!"M0V%_U99ULU=/]=J8A]HK1B ID=S^F MF2K*YT"(5-C_819+,=P#ZZ3NAO!E2; M"E2EX30%J@I4Y40D0(KZ/H)J[ITX#-0DUY;'C,#UR"7MS[L'A.W>>^SK. M1%''PV(8CZAV6ZTI97;W8RI0+@5Z]SA&RN ;W-.= KPE4%I#<5\NY^ M3(6\)5F=Q#@5J8 -_%FKG_6UZD]-!QVPGNJSYZ4!W;<6$P>WWXI0SC0J?W60 MK$OJ==U.Q4.R1-H>CKCA-#VI2E_6EWIG9L=5Z0+HSZK -:;0Q=T]0[U _(Q]"V'^3ZYHL-1Z"^1 MOD4]+QGB[LN7J^G8.+VUML[>F"N.EI-&DW0F07*E4N?+,W&ESDL#8MD:1%J5 M:\ _JK5:-2Y"!(A\41I$?FLQ#\Q *.5>%*[& SA&2'V4A>KCM[&Y#4J, ^!) M[6!,OEA#BT=R4"]PF.>Y6PSJ\$SRZ(7P*$(R=<;' MHO87X"3/:;9ZH<@;\=S #<:C&*.=^&NKNS)4/+-":(70"J$1UVHI0I)GH: 7(4G"I F0%R+N&L*)Q7.*]P_D!Q?M&5H5:>G,*W5A.' &(Y\J&3MA-(8@'595XIV$DAIT). M2; &[ZVJ]09O^*15]8:F4YI"9]FR 14\I M\)8M]6_!\()KV63J;$W+B]SZ M:]D2/UJ=_">D7L OU6:]J_]1WE4IQU0@6Y+5E1F5$&1+E\PV?SG;1LBWGIY]":WE2UI9?5[Z3]@^7V>3A ME/Q. YO]>GUW!;:[YD %M@IL)0$E7BM2;T0%>HW4R@X&EF?R[(!ABKGE24); M>7F/^,$.:ND@& M70N.7/<=99&\H9%?(KI#]<)&]&84", $;/X#K:]6D,[-> MNJRU!>M9/V7M.).]UC;=Z;K(_\+*DIM-)];FEZI4R1*2CJE0N22KDQ_%SJ/$ MK"R*:2DJER[1;,%Z2H7*387*"I45*A\H*G/=LMF(40P+UF@]US<&]&D8I.Z/ MTN6R+;&N&_;D!A9-"S E?$R"\& I8WM\KP-=P]_(OI7""5^.!H!J-,$HAF_ M),2&SQC_JPN71+/RMO/D(\X.2\63KZ&-FV-:%&2$&XY^^9+Q@8T"-L0\NLA% MTES#14*.[N YF"WWW@0#RR?1YI(!?6:P0%B=.[0"/D?8.AX%;;A.WT*<0HD6 MH,3CN_3D42=:"^[V0^?JE#S"#_'W1Q.O8G .T;O\S,M$J+7/1A0W!I;"[PPF MQO/8D^4'^#(". *T2G\"T<&F]4//L?P!3C$Z1'Y\,$F8.BR-PLQ'8WP]=<;) MM."$F!G:8@C^(CALSPHL^ 3/L/,*1.,\,8S.&5H^+]81CN _'OLG!$%_JKK! M7):]&TQCJ7=F=EQU@U'=8#;^%MGDKM9LU"\:=;"*M*I^7H4_6^X/+(!W4JNG M:D1ITCG?7LXGJX\I\#FW)F]+^OL.^=XFMY\^=:\ZY/;[3>>>?/ER-7$[DHIL MC;<1U\Y7->UFA/[Y!NY%)NE0=8M1UI^R_DIL_;7XSWK&AU5+&WCIIYQE]BN\&'*7R*AKI:ZVU@O\=:)4%DR7T>]GY?P7)K+&>YM0JSW&AL MM'";>(X=QR56; OM@1$GCP&G!* 2@$H ;EMB7/!+G&;J)DRE7^FR>.>L)3^R M]JL%0,=L\FB9+V!ROR&H9JL;\((S7")=*$C<_9@*$DNR.GEA)')YZ!H 2JM1 M%RX/WM4KK6FHER;K]LW5;+<6E[CWT=?H3J;/=B<3S8(SW*\E;J9:\T$@ M5X5"*1!6(*Q 6,#6>0K"I5<#HSF=@$OV,>>DDI8M#\%@BG1"',KL=4"%.2U>V J3/7ZKO*19N9S$H] M5A3 ['Y,!3 E65U)C"PM6]HM!:BRI5_-74Q^!/IGYE';)'^=DINGE2\S,O4^ ME5DGPY@*$TNRNJ+U'%V+NFCHVNFN@FBFI_(0]GS+M*B'*7\B.1&TKR3)4*') MKL=4:%*2U17.PK4836H[1Y-X*E>NXZ-6 T#2!8H=,4ZV$:" $F.2N[!G6P9I M&P8<=F Y3^23!1J-PIE=CZEP1M+5U30RP=DP;W]$G?]^I[_;,I>##N Z3Q^N MJ^N7[L^A1B MR52N!A;+1G/>]@%BF$4X%*2597/"?K":CL*N9\>BH"5-+4' 4J M_W/5 MN7GL_MDA5[=?[SHW#^W'[NT-N>]2S2W;'- M3EF;VLSW>';Q6)SG3&9$<'G):^+;EL/>1<]9YG^_L[3FN[AC%NS^4W+JIN6/ M;#J^M!SQE6[ AD1KGF;J*CV$0YC$& X!1ON0_I,YDF1AGVYO'D\>NO^O-DS;-+$E>RSX?A&[DXC?.3CXUE.*+0_=SS?ME+NC?Q^_ MW7<>,CP?84#Y63\K@ +>7.2?,*J#%S7>$EYWK49FXX@'U"@ZVQ-G67]Y:?_;SESMB)FC>OV M8UML"S=<;N_O;N^YA;+S2YII(-TF-:RO6&[UD([N.Y^[#X_W[9O'XYT>0_RY M8(1&M9#&D+5BWM(HY#6:7G![P8ESVX9UE*7?=X@CG>M+\I5ZQH#HYSR7K5Z4 M2V9R*A_'E\N:&"2K"TQ-=$I?_!>O(%/-:(P;.,XS_ZSM@/1SQJ0]['FNSV1! MVXVQP=DF!IX\8+5E*V_9G<=\WO&.5YB;"DK.H>YFU=N'7)_38??S2 M65/9W"LML)C%;$G7+&HQ>Z4E"W54%E:2!B;1Y!*9F6O.]/( >2JD(/S/!80+UQA3QZC/JAMP*Q;&T+ M#GG,PE2:%"1X)\RTBDRLX2B]1HTIIUXS>\VT,1T'U))K-WRRJ4^^GY*/GOOB M%*:6[)TS:I^0[]0>V^Z)$QIZ( MC$FRF3WFLG%@6<94XD.->3CBHV/R=AQ_G)*'H14,E/382^DQ<\IEX[^RC*F$ MAQKS<(3'=\NV+3HDWYD3O+B>$A]%B0\YZ3Z'',K&JF49!U(>=^GN^*GNJ MU-\ULM\R:< K92@6.J=54Y3U=Q\>KG[O7'_[TB'=;E(4\^KVYN'V2Y?G3I$_ MVU^^B=HP[9MK\I]O[2_=3W]U;SZ3]M75[;>;QX?=U2Y8S/>9;]NL'VP-![8: MT3RP L;7Q"Z)X[YX="/"/2_%- (S$S?@W1R$2K%);-G%OZ?UL)X;!.XP#ZBR M2:P%L<5':O-6PC0@Q?'B1P;;[&#D !A<:^]8Y[EFGDT=->^O@9^S1[B;\71 ME2+D#1SNU0#6S,PS=(9D=7!E,@^D1+8I7$?'?%44C?T 07]XUQZ%,K=OPOD MA(@P^WU!F#G5.Q):+"+MKLBEJTU7FZXV76WZ7@N=OQCU4#PSDUPS@PU[S",U MC7O]]=S;#$4DBC/5IJM-WY\W'^JFKUO!NBCA-%$L7(C&-E;GX49EW_6(P1U( MQ';].>XB"<@XWT#/G\]_S2/):3)\T^KW\"AAQ-:%A%MRJ(?1:$FX)8=Z&"<; MF==&5?'W?CB:@ZWP%^:]^W"D';\_@Y\_J"/-.5*M?K[K/9&I_X=$=+$S76ZO M];<#?;,ZXKU_LSKBO7_S(1VQ[(;V0B]P318OL*+5O=]H=<1[O]'JB/=^H]41 M2Z=49%P-RGNO'%IEH&_I3N/HO+&1F1VKG56^^'T_TG-]UUNR]5Z]2V=LQ?E> M^)+\I"WQBA-,[;JD8>#&'_#=%)_L-J]K(\RQV4E\?&L M(& .P!YS'!AGE96S=@Q>UB5AJYC9AX ,Z> / 9&%I;U]E>#$P,S4N:'1M[3W[ M4]M&M_^*+IVV>,80'B%M@3+C@)-RVP #3M-[?^FLI;6]C:SU74F ^]??\]B5 M5K+D. E)@(]^\[58CWV<<_:\S]'A))O&1X<3*:*CPTQEL3R*A-)_R]OMK=V] M3;A[^(PO'_[7QL:)#O.I3+(@-%)D,@KR5"7CH'_RNG?Y1J29-!L;1X?/>+2A MCN9!FLUC^>O:H/_78*/WQ^GKL_W@GSS-U&A^$+PZ/QOL!]M;LRS(U%2F02)O M J.G(ED[.IRY5_&IC:O3_^WSH_S:QJO>F],__F>__N)!\*9W^?H49MF:W1X$ MF;S--D2LQLF^FW7MZ(=DF,X.#I_-CH([G\6H\22#.0[3S.AD?'28'_7_^NWT MY>D AMW6;WMEQ/[@:G!__'KP] TSWWO4N M3X+>Z\M^_TW_;/#(\.TV?](;](+39^?!\?GEQ?EE;W!Z?O;5MNH6\ J5YF$:;:^^F(N93352=0-WO6" M7W[>VMMY9$0WF*@T6.VX!>O91 :'P*/NKE_$-/90<#702Q\AZ*@&PSG@4BB8"BS&RD3?$'PH=)FIHW(E$ZZ M@0C>B70"J\AT$H3E'6^^8U[I6J?+L^&@>/-"F$R%:H:SQBK-RMVE &&1Y48& M,S&6# ^ 3P$S&G=]S1M@K;/)@P]PX*NWEK>O S0C.5*)Q'W$^J83P#AI/OQ' MAB#9-CENO E^R:F\ #D-_9#G/[8,.'S8&3)TV&99#B9HED <_)!(Z@SG< M=] K7\%1MW\Z@#6+J=P,B$.XIXO11& D')@(R7NH]7M\:>N7@_=2SA!50"I& MP;9U$O,Y+%[,,\4$D>I8XDT8'/!_K6"?L&&'\!3.3T&DD41,JX1)SC*8))\. MI<%?5Q-A8"[8%XROTC3G3<)@L#FX,\/C8M_R03/+39KC'P0V_XCBKIG0X>@7 M\-!#P!.OX4;!V7)#(SG*#%1Y6C!J;( ;/*H YCQ)90A[B6@C>3+*DPA^E$-M M!F=2X4$HB!C.AO$.;7%<&81L(.#F$*=PV#-C]VOOB "NI!D^DZ2QPXF'_7I[8_;9LC .=#A^! K%6,)B4&$R.9H5@T5,R="P:-X.^ /E =I*1,SBHDF XQ!9 M(C2 ?TD49SJ12'Z&2 OF!W6/E]]%4H0#%%R+.)>X/7ZN6R,UD-/^ZH@;^:O! MBTY[ *B%H'$$\O]R$3MV_4HH$[P1YCULZD^:"XFX(#B>Z4B$/@.\ M9L0OE_M5:=^H.SC.6#F>-598J@\? J=EQNO5G<)R&(IV9GZJP_)!C6C>FPDP MG2&P%'K"IZ:&G5J%!RXC]TNE(0'2\"#QE"'R,X8AJJ&PMAL!BXT>&IU$#=&94,C &E^6@&>FJ#I22AAW%^[!WTH# MG*_AS-Q,%!Q%_RX:"RSAP:YR^O0TCS,UBQ6\L4X$,>\P@YF*.>D-J55=(MPJ MO=+(!^"\$)T"CB-]D]#?0X$O:V8RL;R6,9VP<*+@;R>TE^W/*2 HQHL#$XL4 M;99YT\L,@+LCKU40_RUH;=A!4D.ZLB?QRI[$18JS-L';))9IZNG^,Z.O5>2$ M@,]ZN@L:VQ11#XJA@&=5XAB !O-$3F>QGC,N3<$/2$WS637I+4%O- (EE!0C MV#<]4)J5\-/H?#QYPK'%<R 0&)QBC**%?H.,Q$WN(B: DFE@*DQ2WAQ)$BD+QALJWRG*&"LY"S P561[=XQIL MF^0)KJ!@(F3#TFRTCB$90".)1MIF\ IF -EIA'8+?OWM(X2J%;K(*L9UJ#2 M"6@X0"E=(':1 \>=JA1Y6Q[""' [C#6R8M9^$K )4(DGD4V4SHX2N /8M-I' ME\V'&< %WQKG*L[H:(&^A$=2(G_6Z%T9R5@# $L;(!8W!2 12,@Q4,]+G45! M6A_>-A(GF@B03JA B"'H'*$]L#?:O"?<@IV0$GU8 PK.-D 2M@L\6\%"$EPQ MO&WW:V51B+!*R4^C1BHDLDG^R<$.LMI)"[>H+">WMD@:-CU&A! MTT*B#B4N))""IF4R\\AB.'?S356625F*P^)2<:"J1G!IUNLDC/,452_R=RDZ M2-]&L9F"0%;)/KRUUGXY$\-8NEM#;8 T-M*9"&'5^UL'(P#A?E/DZN!&1=D$ M;FU]OP9'-HYG(L*=_KJV1:,:-^1$HDJZO[UGIP,]$;AX"C=FPXDI5YY%1_ O M\X%W[8V7YY#P?F;_6 8"S!OMH%QICI64V5YRTC-'] MB![$C2&0^?L-,8)1]H'@;L0\_9'N/\,WLZAVRJR^!>1GEQ$X2#$ O2$?2E.8U\W;4 M2M&'"2<02 #UV!3Y"6JTF7W%L*4!;#(:XW6/2<&Y)Y:OJUPQDFE8^+P4+F28 M6T7:JDAU<:_7@K)K5<;1+.'K%4A*$%F.E?QM*8!BB M3:N\M@ MW!+Z24IFC3I*A_U=;JP/JYX+^O&/J?.ZH:$4Q^[50N^P+F0G9(KKUFCWW -$ M:/1XIR0N-9V"8@:KMDY=!31^K4/@)7-?=7F+'HM1@:1N!:Q$]Z H@&(P!GB0 M>2Y*=R%[(E$3U'>P](=V$C[*OF]0N@=5-WF_8A1=.6(]83_,B11@'<&-$Y6" M7A.K;&ZU\M/%T\!&5UJSNE:VLW)X)6X--#0;;U55/N)%1XN+_OAC(T@GK1"6 M),+L%P#J"@KP?S1Z))J_6XS=$AW=$^*?)M8Z!(C'RX;]HO= ]:VJ0$_88 MQ/58XJUC5NZ_V!%I>MK!E6;UOIRY\ZCTXQZ MS-! GT3(*JZ-Z4H %T?SV%A7:2W:"^18QBP:6,'G^?YTZ0*R<[0J'E]TRY0I>1M_7T[*B!N\/#J:\IQO"Z,M 6&,4&'/F*R40B7R9S:3U\;K> M&S92##?)RR+8=+$!K8HGK8'GUGPH+9X?XE\'..>Z4AUV^!4[!W*EM)SFG<.0 M<:QO M'!T"7#%N#704N/L@\&"/!?!L& 60K^"X(BRBG(R6EJV5?" 'R4 !>()X"GI] MJECIHB6NO^Q0(@CZUCP!VC1FZ"<-K2OT61''1N8#C#,&'*N':AS*1(P0> MGK"9&\S-,-1)GG)RA\M( BX[-F+JL3+T@H&%AJXZ\M1R4E/E9'6(4VDCF7IV MMKY__!J4=>4OT,@7UOL;J+*2W.9E<-F@GP[#W ^Y8@1M*I>OY";5Q @2UL2 MM#;?1J0IB)N(TFW(78N'R/XV6:]ON,,P M]F#J,SU\FN1 @VMG106ZJACC+T#:]@XPC02V[VOD0HD$4$18VK9X./G=Q'SNTN9*6.K)-H9'3X#](!N=E3J29QFF>#X'68G M,7I?[/"9&*'DF4MA.):W(D?DV%GC'#C^WIX= >C@$\9&-8F9&P>;_'G&L-YJ M4E^J;ATML]5W8S#D1"=;A27YF )\ED(+Y^J"S]3F 9028GE$K1)KCZR*)B-O M1E;%UXE!P5*F.N),\OH3R^-JS)7+W_4,8PR#XHC(M5QV,JE>19IF%W="24-T M8Z74(TQ!D9(4_JF7?;20.XK'&0'3YK %>DUX^XC5KF<\/GFMG@*57R!0N?,4 MJ+S'@L4#+G"'W1#1N!R'F'#G^6:P?9.F6_AAHC>'-,C M+AI2Y Z$P!MA8*;MO<,T+U!T+5%>B=C"%>Y(.&S9Y/ 9_'GD-HC"MQ+OJH*" M;R=V*ZNI=]:HJ0+*)O63AEDO8&ARIS14>'AV^UC$98(N(12F8W,:$_T5Y]G MN<-E"/8 D*; 299=2H8F:JHG\*Z0JMQ!@%0+(9L%IC"'EWN.;[\#H4*]F(]C5YK6..D-(Y M$;-9[%0C"<\(8.Z4L=H% @C9V8P.'Y@=W=/(.3.8@_.[T*DVSFVAW4)14PN: M*F5-50Z&O",3[Z5UO+$+'N@ Q"Q*A117:S3(.QMED@GE^7+ \2,W,Q-S3&SM M$BCL,KMNBQCS.DA#>Q7P_T.%A M/:ET5;K$LI#7XZ(Z7GE:(C-ON66Q7+MP("7IVNY-!-4!&H")O@@+GR95%9]S M$5^ @5?F ,/N$U1'*+FL&&9Q=B?3 M0E3]*'?;^7V!Z!>*@>G4 >\%9"A8)APPX+ZY+3^V)ZQ>K%<[;"TK!JI7U/2' M0RT))RTZIU^U).]TU$[K7)59052)&US&?+&NQI:*VGC?OS+U,=M%B4U>>3S) MGK9:JRBD4@F//%F#\&E7W) ;C>$S+Q-:VR "2UK?[O@\IXR@WXBQY BA=@[/ M237*".@3UKE5WR_'I5'Y:PB_T@N2%\_#6D(H&5U9<>[!B4//.QT ?!Q3F4E[ M.!2+2.)1L,X+0$ ,C7X//!@LAY$RTTK%68@6O;\51XLCYQ:UA2*=5AYFM8H% M1='38RHXKQ 4<;V:,!F#I(5Q>VM2PH! 3 M,8?\Z7())5E%OTXS=I8#$VF,!((M8#CNA^>(MJ4 R=-$C3B;E82 #P, W93D M"A$=D3?8.RCA:+8NF/M3HD(R$Y'P9#6!M2!P7-0B&S%R9*T/QS(=MAH2%(2* MT[I*TD9=VCM#C=RDG0EA"CHWV7#E>-A"8&S$;/(?I3&^X&H #OC"V2#,(,"D M8371U_XSU+[R0J0P^5%I3G/'VCI8IND.!)?*.+>#'IN M1,?KE>@ 8V;\%V9BDAA3* M#A#WON!4 #9SJ:<(P@SKOXDY_4>1UT]$7F\WKS:Q.B$W@&08U2\^82I;9!F@ M)QDO=ZW".9'5* H=$7_W/1(8P2*!#!8#R2;+!XM"2A;T52& ,V(*@T)96)J7 MJLU"JHAZF[ZC8Y0'J>L^XCW3O^4LJT410 NE2!4/(L+WB;ZA.AJKWS2U?%F4 M;.30L/7C[J&JOF(;+4LV>6R- -^S!L;(-(_'E$A2#1&YC8 P M87^\C5E0WLQH!".#[@3KG\TKNRNJ\W.3@-'O'#_(Q;'4O2&=F#S31>N2D<;V M6]=*V#@HMUQ!X^.69&D.YDMN#$*HER2H1UY*-./0@*0FL-M;&[_CCTAD0NE- MD+E73N->Z$_B'XIZ%S(D M8^R$@.[V!0N^K%5BE1%-$ 4!],)%T< \1#::/Q-+5F M4^2'*5_?FLDW"N^:+.>7V-(A)R ?XB;@^!/"011T(%$CZ.* M*+/==M4+"R<7\X:&1EG2#SF[&NUFKE0O;&T;I:FD1B76PB+:*NB#J <]F:AG M\OPN<0VNN(8>H)>BK\+Y@S);VE(V/N5V?5Q?,,0,?(YC3&-\_'0S3'F MA&=^"T!ZVWDPT7D*4U#$P]]U2Q]28I/&>>*6S&L=TM7&(2>*M7,X(;G)2K\P M!LA,4MZN[-DVA\0-A/1:.W@"8*Z9G?UW;FD$INS=B)2S@"J/ M4,0)#-R$/(R ZGQ:9W7W0W/]/(9ETY9MWX+@^=8OO> "<[A2KW7;H'3=6BZB M%E+"*+12>*]'Y*SM^&I7M=L;.682\GV[ED7R%EM-E/X&:^@Z%W/J+[$HF+-L MZ5(RL1[K2))O04QY:&Z [&_/-84RM M['XRTC8=Y$56EFT!EM9X:]C-U M@K#5%+GB$"F60 MW"G]#^-\@U&6D+E-02DO1"1HCMXKN -\IU,TOJJ&GZ MO&G2'U._N!^G;"MJ[MK0]P*L_;SHC]EN91O,C90)\RFWS-;0&^QNK'6$ MSGH2T8+K7(A@O'%2S,5'2-5<%@N_E2\)/"X%;OFTK)0I_*J501 M=?2*&/5-(@TU]^6^93Q\5 S?73)^<\)2V5:%B!!LS_6=#M9.%NIJ).N4Z:E# MW4J9IA=?\]O>%$AH0+#.XV@%_E0Y*!_)7)PC$ ^-TY%:U]EX@ID$RI-7K)IZ MY5..4*4URD237]QKF&_[SMCZAJ):K@'T+ZN@UV6';V+3+:13=C&B)7GE2MR7 MSM4R>Z4B;#$7CSA0+BSYQ[1U6I1*"K/4#/;[[);)D4W!+.KXT>GZAZ\-#[#0 MSZ>'8"5ZN!^:PCVQN*4M*P7==BBP MN=S',L5F(6)MW[-9BJ6(*^PFST>$+>IAF'GITX>C*6+RS?N>(:>/NZ6&=B,< MO>"XB/7EB$C/;(FDTV:8UC"S$24*_+=D;O7D'4R 0/.PF@Q&@WD!A%JP((^) MW]J*Z6Z1GE+F6G0+NM[=>EZ8,L(,!4BEC?/;6,Z#'IM .UM;.^7CO^P5CY_H M*-IX943R'FP?@.159E"N7")'F!*>CJF8%8 (JFAF!\!1G=W;O@7\/@;).]RZ M@V") $1BIIL4$U/U($1$R5KY76^G5_H>_D6>@?MD!C]]/#\Q1#6AI#>OX40_IV MEOA'RK01R[1^@G6F_F?6FJ(I5>Y4F$NEC<91C65-L_VALYT)R Z#C!+_!(2/IN>1*3M2M90(0HRIC['"&4K]!(6?^ MNEI@VYF?[LE;'(:;;TRQ5WO4L2HB^9;D\J5^:Y3>$\(:,V&=8'\2S#?HETTD M+'$5M_S^$E0=9$LZ_&8 E>_Z(/"Q>)OR6Y$\/1N@2>84]1Q5<9ABZ4Q3/-#3 M0XIZ)*)XUVW RPVV5B/1&;>"XH9?VJ_^8+K!K/PGV@#:F#!M](I\EPK+<1]5 M<^T@ZLJOM>0X6H$9+8XQK_2Z4K/O5"#^HMRU4'&; MO\9O'P :5E9L ^-@$V6B#1N8*(M\4KU4JRQ6SMNK9(G)Y]#=E"E+^Z M7'QU3'&P^MUXX]T5C\=U?8Q MK@?=K\-#LS=W+$?9YYQ:'<,LR:]K.Y]*5@UP\'?6]#W@H#A6='#NDIR+4>]@ M9_X,%[W+P>GQZ44//]S\11>_.KMDK.]^?W"W'*$$876>O:\TT?.O-,_VHX/< M]M87F6@%V??Y<[Z<-VZLIA)\MT7_>$K!%P+LG9[P*Z1KU M 5/(*?JB'O5!NZ-1+PSF2T7/!O,9J-=GZ#=[Y(#[>H;9DT?@WG@$7CQY!+ZM M1Z# 1/^OWTY?G@Z"WA>>9W#^A2>XZ%^^.K]\TSL[[@=7@_/CWX.W9[BO=[W+ MDZ#W^K+??]-G2_$++N+K.'$:6LN]E$ VZ7[PWR+)L:1VNXM>U;\?6+G:ZOOM M)Q'L]D2&DMI8[3ZJ_38VZ]X/_J[_\SAV>U6-%U'#>?2^\UMASD;J[U8;8 M39_*\=RK'%-K^BQ]4],2K(/@[D6<#/HJ(>I/_#J0E[^)N/6^$(_-E2ACN0+4Q^*;MO>I_&]_T52PMXJ^NH.ZTZZ@&F2(X-%K=NA#K69O^[ MX0C_5U5 [7(S/6O?"RUL\:Y=Q/X.3,;KV]OZ_J#6SI'A<"<&E(NV]+PFM']@ M9]K4:QO89-XMW:/=A4,8;L9=PA?\WP0'O+ 27"SZO &^.J3^]!)2+L1X5&-?N.9IKR(4Y[@2SB8J?,/>EU_?Y:-K<"VZ;)>>'.]]RW]LG+-]_ M+&]O;I5HKBI73^A[".AK/Z6/QI_ZY$G]&$_J3P_-EWDXU-'\Z/\!4$L#!!0 M ( +6#>U@JMQX8PAL +:% / 9&%I;U]E>#$P,S8N:'1M[3UK4]O& MVG]E7SIM[1E#@(2T#909!T@.TP8R0)MSSI?.6EK;VTA:'ZT$N+_^?2Z[TDJ6 M'-J2:^G,Z2F6M;O/_;X^F!=I'CSB MCP_^;W/SV$1EJK)"1+F2A8I%:74V$R?'+\<7KZ0M5+ZY>7CPB%>;F'@I;+%, MU(\;5R?_OMH<_WSZ\NR9^+VTA9XN]\6+\[.K9V)G>U&(0J?*BDS=B-RD,MLX M/%CX5_%;FY>G_SWAK_)KFR_&KTY__L^S]HO[XM7XXN4I[+*]N-T7A;HM-F6B M9]DSO^O&X3?9Q"[V#QXM#L6][Y+KV;R /0YLD9ML=GA0'I[\^U^GST^O8-FM MQT\/'I6 '__PO1SAPP!:[_+"Y*DP4W&A "P=(5=<%B9Z*W[)="'&-S*/Q7B6 M*X6,\SF#','Y51X0]^+D\NKB].CJY%A<7IT?_21^.0,ZC]^,+X[%^.7%R\J K-N:#=0FZDE M4"-@4XVGA^^H0DQ-#@)$9T(*5ZO6Y\"7W)F[T .8WWTLSM-,3THK3C/4T1KD M$3&B,LO?>9U(P&.-+OR[ N=(+G0!#/<' ,#G+"W"4A8B,X4P\%9^HZVJH(2_ M%9S(SF62B+F$S7#A5,D,.47:*-<37,L %J*Y6].!@#MO?2DR26Q@68@8X#;/ M,8XF"MU%(#M_268D6R4\]UBI7_GFJ^]W=[[;A[/(5&T)$GS_[6HU*7(%@A C MVTZ,>8LO;?^P_U:I!9( 6"#7 ([)$I:OZL6RT$QH:Q*%#V%QH.NUCA2RHB>D M!;FHF"]62$&=,2LYQ9&5Z43E^-?E7.:P%\ %ZVMK2P82%@/@X,D"Q<"]%:)F M4>:VQ/\@M(6BAU S X-(5_@P$\ _G^%&@\SXI9'-5 '^.1T8W3"D"6(M$V5F M502PQ 1(F4W++(8_ZJ6VQ)G2R. 5,!"!4R#4_TJ9>,W[0NIR*^LH49MDWS-E(/C_Z_4 MK.YLAQO@/0FV8EZ/H14333_@7>AQ>I)T\LU"H@([5 MD2S>Z6N3F6L?^G9 '0K2SJD2$ _DRX#V@IKDF'0O?%DLEU4 @%(J3XZ*ISBTL#KH4?$*OFTFO9, PN95LQ/G+M4-5QZB&L&V*@?NESLA'@Z/ ZZ4IT3W-R2\@8$(Q)?,CQM,I^!)X'@#=E+,Y M>WO=)[D_WKP+UWP,1ITPHWJ@C\")@@7UE&A C[J90OQ]) M\,(=@Y^9 HD C N,#8M?@K) /V@'Q4-.@/]&L-,*66'1HF/144/] 7LQ9]]H M]&_PV$%\&#-]:]HGP.!9]7BB0 UIU,7H"NFB9-AQ%^)GE!5>W3N1["RA)YJQ MUG*;$>_0;G2.";FC4X4N\Y9X 3N N[@P5M4JNN'"C$)AJ%'G>)]B$SB#MG,0 M2N"'D9CFLHQ'(M46A:^,8 5X'"4&75\V8!EX:.A2@7W1&9PF=>$H/ &:.6=X MQ,[< O"";\U*G10D(6#R4)90410&8]@IQ(: P-HC2^1-A4A$$J4- 0/6^W>D MJ/!QKG"CN9P AN$T<@)F!AUV8%5Q8_*W1%OPVBQ&E<:YLR"B@$D %_21AH-D M>&)XV\'+%@6,:(E(Q6@8@O^(V";[O02OU!FC'J%O'*=TGF$2F;E)&",(?&X2 M5 1@>)%U(^12IP$CQV8!6TR6?K]4%X52H\KT5A]58M,,2>H@RV114EJTMI15 MT"0N7[[NB5CWC*-()2HG:>\PDZ=>TAM>@R@7@,)6A*?216*6WD8Z0P!H!X\* MV"*&^ !\D6-M@042S?Q^H0KG19%(T*HZNS8)!*X8Y(0[U*0FUD+=9LK":R?_ M=M>*1\#6G*TY8OYJL5085#HM:<5C5)/>2#T>Q$/A10J#U&F3QX2Z57FD27D7 MI#,@QJ%3 [LN$(B"L-8,K-!#D\1WSCM W >I'M@H!DW5]YA5(B9K+&7@5@)< MI!>*%;SN- 9&N:-:1WL5>B="CAJX[< IFHH*(3)R03<+&6X9*-NU3.?U+^HG M.AXQX"<@D*G,9SI[!J]N]']^G%CFU;-_9)SA3'"LYT]MQV$TXFT%AXL)O.\/GD1 M'\*_\G>\ZQX\/[\X/KG8?'Y^=77^ZIF8)!*"P1U D36)CEN!+OKZ7?6=G3MN M6A!E,J%. M;B,%.D3:GE#T#E:LP_6/./Q@N\)&@%TL)#.O7IOU+D]O&<1W@YNY(HX@M[;H M#"J&G"YL)U<"]Y:8%/_HCA!'GL7Z#,J(DM6+10)>*JB$41OF;ZU/>F**O3:4 M5:#!AQAXK[+ZW"59@O10;:J&-;_J-%4QXL/EU#6(S;7!LRS#6.47=%.F%9%' M#;*0*$%D )' #/!).1Q99VLY$0SP.BS^K:-_ ;+5,N]W/85/&G4%W%=-_^BD MX1]=>HDX9D?W&!U=?%"[NK4O?<])%'"3==);#.KTXUH!?NB=-P_=*YO$*"-B M068Q7\I"U>)=7%G ^PK"_-("J[LJ0=&*(L+LF'LR+3$Y-D _:"@:P?XZKY73 MJKT^K;9KE00II$:J0*<.UF:1J-)*[\T9_B.EM9%J+56RUZ;!RQ X$F;![ I@6,D)P3K'+RDIU"]&+KE/8K%N MG=K.DL@VQ;.R8LV$2UHFA5XDE!9O5AY:)XI,CN&HX?PC@;P@=)>)S'N@I^8. M3+1%[!FZ#5!JN6#(&2@GT?76,40-'07CBJ9W9@W*C[5RYTX'>OT2J)8ZWQ2K MS-"G[S[FFBUZ$N$?1KT%;D 8K*\3SF:N%$_1E[ZY VU:6/I4!JJ0[/=23)R5QWL<]!UH/V4A6D /? M4ZM0-^2P9)*8&]Q^,!YBWK,Z0A^.@'BZ;F-HU#_A!/0A*8$2F,!:DU>.<84Z MQIH7VF"/H? K=&".JICOQ%V8!B(2I=@,H*G0!7%B20%##V2)NE;D=\L2]&3N M,H.L.*QF7X1(.W@^I!HX)J*)[?NQ%85]3 .-"5[201.DIY6@?BB;K_'L$Y6I M*>(.)7GA%_,[3$Q66NY+\4U2H$O!XTDMK18+^EZL(3K"O#:5-;C/BHK65 * M5X>D.4VNF'EVM[]^\"$:>>@53GK/QK^#=QM=>4'KV9!YVD11F6,B?,ID[ ]* M.QH)*]9DTX@-#YEK(I+6@H&+J8>(JAXH7N[O7"T2&?GDK@7%C:;317Z#H)]! M7\O$MQ%@@#]T;@0EP%%HRS1MJ*,5K8) M6N6,#B1[Y+9P^P[4.N1EK1(JIZ=PQ04;_VI)AUBW)IUV $9A=^].&'5/*%1G M>.-'"ZGCH:NS=*&4,4^FIR.5XL3');7&@.4T*!N"/@4N>D.$=X*G_U3@[R'(L3:(L3N0Q'B@QJ")FK <3DFQT$'S9UM8&^Q15:R>)#ZQ!+U M!!&>N39IA*\I!83;0'H;$5/= 7[=ZOH>LI"O=%0[*!E\MT+C>^P*^\B($Q]4 MOL@49F4D-\A%KO57B3YN/=B O\)@7$K[<8RT1!G?)4V4DG, MR:XD431!0EEM@C=XH>JS;QKXRAD(&AB:&*08T4.$A0.3A]D+/Q=1=3^P'HI5 M@DWPOD&Q)[!S3-,Q^=%0"S*E^;DJUD0,BD%0-J1)[5<#0 M8%.^\M-XI%UQ5 H/-0QF5S(X0WUQGJR*5HS.*Z5"7G6)=3E1J+M"! M3/2:''ZZA@[Q>[[L CAP"$:%66>76'>2NARZJ)Y\9')DZ\2LGPGLD9M]K$0! MW4;.?OEE5G?WW8,16G/J"O8)"V#ZE:$_DCK0O4 ,#<<$ 0/M6[I1&"=A*Q:T M*6P])P:NUW1C!V<<,Q6%J?CF%.)INS4TX'4>OVH0JJ8-'F.YTJ#B1\)<E3?D0S-^EG4S5A]&)EBD'S80LZ>$;#-VD8R8!4JT41@N)YL6I>==[Z ML%>'.:]BQ7FIU95LT+S!4*3U6L9D!LX3E1\802@&*L;2T!1=*L58](1>YX:0 M<'4.)E=F(N&0A#ZNL:2:Y#>6A^2L3+J3XV):YIP*1SDBL#00.JO6V0\U>R4JA@<#[6J1G(U==ZM5YF> M6AW%/*D3VW9)^K@K\,J[M4F_$L+V21Z2]\-F."H\R^5B_H_R&)]R)RO70$ V MB#*(,)6SFQB46%"O1C1PPO1C]J-QRBKHP*)BS]PE6NW<=R]0*73]E0SNDH,U MXY]COZ+7]3H(5B5'*2QF>'8:SDY4EQJD? VO[,I!-%_N:IFL [!.PR"XFQ5J M3*$-( 'B&7>NB+DPRCJ,@FO&-X7E %D216[%*BDP:8-F:GA46>/!= M.8 ;@]V?#-L_U'S6UGP>/]1\/N'!D^])G[Z"V 282V;*E*Q /Q7A^FB=YI>U MOD/?P!6_KII7.MWQ5JC Q^ :2:?[$7@6[B8:-!]TT0VX&@EP2Z6C*>[QWH1O MZFY%NN#HQ'R D7O8<^2\3%Q$$*;9(#))RV1&*?+FO3X>$+ LG/P%0:4< U;0 MJ/0"CA2N7.M)>=6;N=Z MH@N*1&[)L)80RY1YCA@:TS4.X!5@3(?1)%WGN+.]^1/^$_CZH:F>L0#X6B??40LC$.W&/N?26[N6NB(VJ^(HX@'@/M@(ZHQ4$9-!G$>;].ZEH8R%6[,PD6:;B/) MAT.4/K!"HP?P)59&*!?XL[S9%[\J8(6* ZA.HV/J!G67:$55KHNU0D,;^" L MN.[!CQEVZZ/V(%7?*EUM\3IS@19Q5<49Q#>8T$1WD_?WQ6OXQ-\8 >XIIBQ\ M6JAP)>7Z_D*^G8M[MLG,C&'"EM0 MX2.$NN;+J%B2,)E*GKMRT_I#A;CYEQIO.)>9*5=;\"A6>(,[-*-$( MI"[3!R77:'?R]_ \V?YA+%YCKXZMJHE;P0BVUSQZI9N!JC)5XGM*>=YAZ*0U M+^KCTCBES?T].NH6)ZSK5(6+D7UVVH9'=')WZE79A6(&/S*QZV9(>6F^^S0$ MS]\<-UFZ 0J_F)V#V[2)VA/[K56>P[I\)LUEN_J*TZN<;I958MOOMIY M^MW^SA;NL9F (S%X,ER]\ CX%?M9*Z5$^KS[GD8GPW3]#,T&N ^<>J@$Q9<$ MJTQ;>^:Q&H\ *FTP:'CA85#[V.@J>O *#^KL;3N(3%MW]Y?]+E"-VJ!SU65KEQM(L?MRZY-OZ5K48*[7WHO'1FY MJOD*KJM2V>3/@=L @S68SJ,RY?N%?"*TMVH'T,V,B3'/3V9= M/KH;T-6CN25L=;BHB09WX2?53:F"[KS$5*G"-=Y-=::K@F4P*V1N,I73_9]\ MF59[^=&:];M[:>JK X@)(5(=[ YQ1*ER;F/5YLS A1HUIJ&"TEQXVT-%A X" MFS*)[Z"?&H+R)Y5+>'V?]ZMZS]DIP15IZ9KLFG:K#&^/S>44@_NRG9W M*[B^R&K>I /USYNH-_4EP*2F>UBGOKR#CA1,K/!E:7XV,6@QY?BZ^HI'Y^W:[NRUDI<[OWT,EM M7"%015E!+@GOKX9EEG4A (12)I30#S-(WGOW1XT<(%SRX&**R_G(V"S<0)#W M8YC+=,JV!/Z_5FOMCA_LFL!@LME!1HL%58=6A:%,2-.ZF<11U=-2-VB,*HY^ MO/VD"GQD/I%@CS;/;Q.U%&,.F':WMW?KK_^P5WW]V,3QYHM<9F\A4@),7A8Y M6I0+U 4IT>F(IL( B>"$%FX!7-5'R?T@X*7X9.D0=(_!F@!(Q,)T)0C[KJJG M?M)0Q7I^:#NUK7>[F*21^40X,I/1VH6NKF*L+FG4_M[%++C(L2Z,!96XL+P$ M3$R33HU[M]MYQ3 9M'([S@J/?9JJYZ'PM+;P].2A\/39#!M-V::=9#B9$OZR M4E?59?4F;PJ4ZNB.HT->BZ/&J&AH QHD!R!8%_H<] P7=SK*JZP4[SO+W;U< ME # - M>T*]B%23P:DTT:K4/D**J"_,@0S:\?HO;A?WT$-T?[IZI6UR&Q]O! MOP,_;^B<0\I$J?5'_=@D_408:\:,=8PW &"3PDD]C.V8JWH4SFF;8""6FB&J M9M?@1S\0^3CN14VQR)Z!]]]E<_P:+7-H9=I=-PS\D&K.A3@>+5-CJ*B*%XG/ M^/(7.K:_9AX?NE^E4-C*_\ ;P!MS?\>N;Y)IJ!S_2TI^LJCM_+H8KAXVZ[RV MB (VU\L"VS.5IN[7Y61C9_ZI(5?X*$J\DUL*OM?155/#N^UYM="OIL8C4!V& M?IE$8>-_;C(=^3Y8RC-C,^IU8\K/NT#\,U+74B=]F9IPX! \K*(" ^ME>,W] MIBMCU.-;?-4)_[+-)OZ6#74%N:'-UAD0!/+[LOJZE^ M LJ;AOJ39@FP>J4YWK3:XMWV%DG37'^2&)!P=UK8.Z]^"@?H3.J+4_.GAZ)MZ<7IV=7%Z*-_\ZN3@Y?S&J M!]\:6J#U^TU4;%2W*J(+3%H)>Y=IX]_D:_Y"7.^O]'S. AN0.=@[4=/B[TBM M26"7[,>-W?M@JZZ?^A25#)&4W"?O5JO> Q@=Y PW?3V^N#H].GT]QI]I?:_P MW%U=,M4??[U_OQJAQFISG[T/M-&3#[3/SA>'N9WM][+1'6S?W]_S^;(3L)9+ M\-4V_1,X!>\)L9_LJI?>\_["T?5!F.YS(OS#JA^#0TXQH_5%"]H]K?HZQWZK M^-'5<@&N^AEFW[YPQ'VX(.^S"E.^U+S"T\\MLC^8F'AY^/]02P,$% @ MM8-[6..R-S2( P O1D X !D86EO7V5X,C$Q+FAT;>U9?V^C-AC^*AZG MGC:I-$FE:1-0)%K2E*D-%;#MMG\F@PUX QO9SM+JL9$S:EQT##?;+^-[+B4K M2@T.':6EX(7K+-SIFYO@,DC0^>1LXHP64*N-[<6CR0 W*G?"\;W$6]%$QC%%ZCY&:*HNDLB)/(FR?'C^S9-?+R^6\] M)B5%N:@JL6P9I7%:4<0X81GP3"$-5HYK>@KLD4S!L&:"(Y'#/9F0C9"X&\"< MH!0KIEJ36'(J5"O7WU_/OG.5D@M4L4(PY)191V;&^]1 MWG6JCYY2(0F(B&IP!F6PQO;.](KFVLX%U]8AR;"7C.@23.,3 V6TJAI,"#SC MPA@;K1>Y<5'2EI;6Y-OFH3.0C>$RC/QI9%Z&21+>0:8 EQ(5(_:?5&K H7J, M(Q5:B]HV=BO4AF4J]I9VL751FCFN6;6RGL998UDP;CU9%5L&S 'F%JAX@\MJ M;]6#').]L)H*3%,0+=5[--FT%!6WS>K6I?(AI,J[3^^D MBA+_.0;UAV//+!F '(-SXC\QX<4),'17N8ZOWK^S?+*\2*B$+8F0JW:?,EO@ M>NC\OM#CH^X/?]-C5JWIMV_ZZX?P%02P,$% M @ M8-[6-&WSRTY=_/)+"V>]A>NCT@A>CD MWG-][C%$2<@K M@B4IH!:4K2$:30;I# M)*DT+@VZ[V)(7>Q!R7Y+/%UGTD&F#:3Q)>O"C%I*N M]GT8SY.L!TC?29!T2P0P\@05WV)V$0:[4^F!I2WB;U%+;^R#)L]1P2=>L=U*]"#^RI=CU(>CN0G@/F92"48 M"%EQM@Z#.HP>;N+K. /#[*"@6ZN].N7>JYL_FOXW*KGZ19#JE='A/%E$20;S M,<3)*+J-U$T]IM$D7F11&HW@]NYZ&@]A,!S.[Y(L3B8PCM/96>S&B\H]@0U^ M)$"%J-6L\+J"BNQX):%HAF>&JWP#AGL%AFY85_!$Y48QQ([D:B(XR V!G#/! M2]H6K"C#+*>X5"VKP&$2!5"6EW6ALI0U%0/&:L5(6R6^@A&6&.+N'(:\4C$L M*6>@KC&OMLJI]@56O&I*]P170-AAL1')R79)*C!1TY[9@?NVF\/X'YM3TJ^6 M7.Y5\RM2$9:3@Z[ M#@9/O:6DC557W'+7[QX^$N7 A::"9_&M"20\ Z8IJDA M ]F.1[3@LMS_;MJY,CST%';"-=/U*0X[BF?L2N[5D*'UPW^H;EN^BR8)3*>WY^'MFI0E>:S)%=QCL5'_FI*S\W#V]AC[?YZ:%XSP M)U!+ P04 " "U@WM84SX"VN5JV7#)#GOU[6CWX>O'W787\6SLMDUF5OSM]==EBSD7OF928IOCLX&/__66>_896='%V\'F*613[O,BZFOQ*_NFO/PZ.!Y>LW=QO]@X*+,^\ M[5$\>)HXE[.\%A9_R8A[:30;SMCK5(J$G4Y%5'@Y%NP\0:NPC^W'^\*Z@@.: MWK#F*_;+_H?]U_OL@XB"7\WV8>.Q/3AR["@V.:7%BC.//>L\PG:CM^ M\Y1A>CY48C[3T-@8-.AR'H$:.XWNANZ)T;ZSB?>Z$QG[%$V-[W80CU(YCV,, M\\-.8XYM/0$,\;R@%>?-<=TVI$7%53>Y-W=U97).-V)'6G M00,T]R@0$'U\9:S;##%@*4>R6S&68H(,\*ETC&M=<(6'N;$ H&9OC,VP ?6? M"(TGW',V.#AGKXV%02"0[L(1?-C/A[S9E7*]I8Y1ICKMX-MRKQ8AWA3&FNF7 MG;C+6K7NO]S'W%'US;&FV8Q]U&:B1#Q"$FQ8]]@0Q R*-F#'I4;SC!7:VX) MBS(>*CHV),/?5J)CPHDO+#.9#'P:K!A?,] B$LYQ.R.3C'\4@7D6(SH\B^$1 M)E2T:'-JBJ2%B("91G?X@6QADU1&*7,%?2S[3X05U2#D?B:=@K @P3&1/D5X M+@?YT>PT;@[73(P@L8Y8F^%LPUI\%?!J/Q2\-H!+L$1J[!R!8+E3-:PRS-%L M5]JE3I#NI2Z0.E)%C#&!ANO;4@.@I%4SEF-/"8P$4J66>*NVVJUY $#'DL:O MD46A8 "0&2 AS.J"6Q%W*4N4F;@Y JT826@PJL^<'I;NP]G:"I#;Q[NBKW0M7D8E]_*KYA+6%W"CL9GQ#0K:"QA0;YL/5&RUPB1 MK:,2LTU$J*B=JQN,#Q(;7[>TN1%J&[+G7KJ(WQ_])\+!!C@(Q>W+(*U1W8UX MX;;O0@5P* "X:J:RI)H"*UJ R\;2!8:$E=!A'!+(2VY=I6DK% \(KFKJ$I.U MBL*I48)GX8LS2L;A%L 50R=CR:VD &19^4/AT#12X:@:AX1WH70'/H5FAT,> M_$V=651T]2HVP0=_@P5"0/0@;PXCX_LQ\"R)^8A*_ _1O M ]?A0R-^:]*\!OSMZ79K_"-GQC(F6'-G=* V[I 2)$4)Z]S&<]PA$R0?2B7] MC&3#IFDI"P-$ ^S*!+IBNB)E0_F:5@'E!*P*K!@2!J1T)#O2@D M 5I$N$P@$\CU$N'(0IFC@CQC_,X C>Z/\=,Q5T6@/@* 2!*ZA!ECZ]P&D;F0 M/%M0>?GUL[HS(!O]P<:N%+E#4_B;'=FFYO"%M2 AGVQ]H&+#^4DAY*PHUX4. M\C3',T;O"K#X 7BXW/<;842W )4N#08;(7L+$B918:*HL 26E0J^8=3,.(_G M$1WU$KB)@3X5$ 8>O>&+@E0#WIX7V_R-*7HG$_^MN* _OE@]?7J*[G4[#76<\ M3[#:D@6)FU?1O21$PNV/=0G^$!Q@RRZ3W(B3"AFY# W5# M;;&$;V& 720 2-Y1$<'_= R8)ZWX5$BX'A*TT.$-@]M[/HO^M\^B=*5&&CF\ MKL/.TA5%) 6P5RF/Q9EP(OA'TA"E1@TJ(JCK<"D\OUZ[%:*KXUMYK;.!<'F, MCDXL^/9&]%>:'%T 8X"@5@H9!Q7CB@SARK]$"*8J;1+%UAY0+/'M-1CP0 MSQXV[D.T[;MU/CZ_.#F]J!^?7UZ>GW78MXWPCS7S*0LW7U5P[<.UX1]\-P[< MP?K+[L]$VVQM'^X3$-\731_^9QC7E^I1?__RS_S<9?=]>14$CKHV]]Z=B\K3 M2KKP"['^WU!+ P04 " "U@WM8J=X]1"P' !=)0 #@ &1A:6]?97@S M,3(N:'1M[5IM3QLY$/XK/JI6("60EZ)621J)]XNNE HXJ;TO)V=W-NO#:V]M M;U[NU]^,=S<)(=! @.M=X4,@Z[%G;#_SS&,OG=@ELMN)@8?=CA-.0C?D0O\) MXV:]L8V-G9W\:>>7:O50!UD"RK' '<0LLP*-6!'AR=[YZ?<.C#5:K>SDP_6 MU^&$63>1\&'C\NC+977O8^_D4XO]E5DGHDF;'9]]NFRQ>BUUS(D$+%,P8D8G M7&UT.VG9E:RJ%[T_CG+3O%OU>.^T]_%K:[%CFYWNG9_TT$LM';>9@[&KB^47V;MCL[:9<]NAQ@(@="\55(+AD9Q&V@GGJ.#YGQF8< MH>DTJ[]GOV]?;!]LLPL(?%SUYF[MJ2/8LVPOU"FEQ5PP3^VUG&&SUMCD6TQ' MS,7 +KCIC:6,&%[@:.61JW6^'^@KE=A)V"X#-G7;?9I4&&!A^$$)\]= MZSGGZ'A?0NFIKTV('&A3'B OMFKM)=TCK5QK&>FU1R)T,3;57F_@?*1,>1CB M,!\V:AODR)1>8B"6:=5WT[%O",N&?("WK]M#6HV R\*UTVE[8WY%$FX&0K5J M-$!]BR:"+!]>&^L^0_18S(? # P%C!#^+A:6<:4R3'\#J3:(/L6.M4EP ZJ_ M$10/N>.LMW/&#K1! \\>[6D@^&'NGO+R4/+U%BK$&M5J^MAF>S6=XFW36##] M?A /6:O&^LN]SRV5WA37-)FP*Z5'$L(!5):M>Z@)8AHK-L*."X7-$Y8I9S(" M+=9P7\YQ0Q+\VQ!?1YS(PC"="$^FWHKQ!0,% 5C+S81,$GX%GG:F(UI\%F)$ MZ%#2HI6\% B#"@+-%';'.#!;V"@602$I;BG!$8"J90SO!5;;1F1+!!H8"!1@5)PY/@Q;L#O.NZBH.J*N\/ 4J45 M-B9S,DN0S8C1Z'LH;""US; ?\9S1,M_^U.@ 0GQLV2;N=@@(GWQ+C\9!S-4 MO#0ZSR1:U)N\6M_=A"W?M;X;YM_RK^@+C,IA1^,S8IHY-.:PH%A6=A1MU?S, M%E&)WD;@*VKK^@;C!XF-GUO:W JU)=FSEB[BZZ/_$"S:( Y\ MV=6[4 'L P*N\)275)WABF;(94-A/4.B%2@_#@GD&;?.T[0!R3V"BYHZPV2E MH'!J%,BS&(O54H3^"L!F?2M"P8V@"8B\\OO"H6BDS%(U]@EO?>GV?*HM8$ . M^9LZI9S6-).DK"]?XV)":8;G'40_J9P@0%+U_KVF'8"B,RWF M +: OT@@$U3K.< Q"46*!>0%X@_&9[ ^Q(^&7&:>^6C_(8KH F:(6V>7:,RI MXEF!R?.O=\I.#VSLCV1LTB5"U",]+E@7@>,)#PBU7%V?XU8>5BOY#DV 5AC""HY$+&HHJQ68+3%7^#GTQ1YI9>1[ZHDW_[D$CJ(S)( M715$!GBV16SY6_X"A)6\> LUU'((5,$5'Q2O*DQ!T)"D4D\ 6T>QSEF97X,X M0O(^\L;^J-7[Z;P_CCO3HG"JQ93VO/X#9GR2#R^ M6UN'R)L/Z[Q_=GYX=%[=/[N\/#MML5UC>->;.K , )8/ . 9&%I;U]E>#,R,2YH=&W=5VUO MXD80_BM3HD2)A,&&Y%YLGR4")$4]CA.ATK5?JL5>XZW6N^[N^@+]]3=K8T*X MJ]*J(=45(9E^<9#V%F1TTAMWZ:?B# MXXQD7.94&(@5)88F4&HF5C >W0[F4Z(-58X3A=WZL*5,-J#-AM-WK<7XT\(9 MO)_&_@Y\Y=9]B!.QI7?GG]*_?8 M'@PT#!)96%GL.7-LU";"M^XKD"F8C,(=44LBJ'9F:TXW,(B-M?1FXPE'E! MQ*;ZY047@.8;J7)TT_D)4JFJ8PNJF$R B@0+.Z(QS9=40=]K8T9[?2 :4L;1 MM/,#*U(J9AB&142"2H@S(E84O\"J%QJPV3 M-@R$R:3 8N9+)35M_Y7,&@YL0VM#7.D3;TQ&#!1/JJ1M(R);'N\O_T=$J^'\ ME^2;(4M.&Z2E5 F^C'1!8GQ!^6ZPMYW3U 2I%,;_UJLGN&>)R=#DGK8P>9P7 M)$GPC'^J6%>&I#'4!UR>!I]MZF/"M[A&%D%K/QW6!T>S M/VGE2.62DY*<\8U_Z%1.U(H)W[58Y]Z%C1C?R\DCW"/!+;#0-2$A+3G?H/;R M@EMV[QBOZ!\E4]1.!MHRX.S$>_4Z0#J=$Q25 N_J/+G8D>9!'CMI;)GCO>U? M!E8TN_CPHOY>UH^5[-Z+)YL);#UYW:VPSQG"!$J1U2VCJ01A"DM1**IMTMO6 M3#@'W(;MJNJ"ND#!ZG:U*V6"B-@^QP,35AUM>Q.N*GE=,XE]KL+4!RVD\[@8 M>+%"VTKO*=D=I.%0A?]::]>S^6@\=ZYGB\5LZL.)6WW *]:@)6?)%J%_=?JX M/,_>B;JZ>]BC'_'F&;CQT.R.>.K3@CON#/5U"I\?KJ(>3J[_S:!Z_E$QU&*! M8OP*^^+[Y4S3%[[_\1+'1NK#E*@X@][K:LR[?+E!IOK;''T!4$L#!!0 ( M +6#>UBVF_@"IP, +,/ . 9&%I;U]E>#,R,BYH=&W=5V%OXD80_2M3 M3CD1"8,QR?7.]B$1("GJ$4Z$2G?]4BWV&F^UWO7MKAOHK[]9&Q/@6J510ZI> M%"%@=N?-O'UOO(2IR7@_3"F)^Z%AAM-^3)C\C:Y[GM?&8-BIO@U_<)R1C(J, M"@.1HL30& K-Q K&HYO!?$JTH37<;6TVN9<#Z:3 M#Y_]XXT!3 ?SFPFBN/DZ $/7QB&^ 9F 22G<$;4D@FIGMN9T X/(V(CGNM[W(;F)@$@*L6W\ MGIFT;)L(4:#>%,VE*CL>$4-@TIG!4"K\KE)HTRY]_>JMY[G!4&8Y$9OR4S\O?Y+**CC_)<5FR)+3 M&FDI58Q/(IV3")].OAOL;>]W[W,UV4@K@-5@HNSX ]+?43X%M?(/&CLTY$1M6+"=VV"9O?< MMH%/VO@@V5-R+/!(*MU 4G"^08MD.;3;Q(4OX+N M93,^WYWO@XQW$MX>PX0Q*U-;M^.J@E?T M2IP<):8^\F7[D#9\L>H]J5=">^\H7F@^/V9':S]'LS]IZ<%OW/FO/7@UFX_& M<^=JMEC,ICZ\(O0NSP[E,VS$]'1G8/!?2#F?>0C1LJ/"9?^;JVOSHV((F"/B-]CG_U_-U'/M^[AT MXF62^C E*DK!^[&\_%ULI^K+-5C^INY_!5!+ P04 " "U@WM8A/JL>S<& M ;'0 #0 &1A:6]?97@T,BYH=&WE65%OVS80_BNW#B@RP'8<-\6VV#/@ MQ$GJU8D#VUB[O0RT1%EL)5(E*3O:K]\=*2F.[00;D!9H\A#$,8]WQ^-WW]TQ MO=BF2;\7U;8A/=#)M3?_/:XT\*UWJ'_LO=#LSE409YR:2'0G%D>0FZ$ M7,+Y\'(PO6+&U&]K7@RN1N,_3[8W=N%J M,+T HS=S]"WC.IQ3*V:+!G MK%9RV>_E_?./[T:GHSDQL.KHA!V!R >0=;#GV^L=?.D<_=V?XW=45 MBLWFD[/W3W]/CV+S*Z'!)>'H>GA.:8?)??R6E.WU8QYS"%2:*HE.J. SJ B& MS#(?+:4SI9D5N"H,"&M R:2 (&'&D*3A0:Z%%>B7YDM!O$!<(4.N8<8#VN@/ M>M0A<8O&9G=;SF^#F,DEAT%@:?GHUS?'#6 &&%)/B(H.: /=4Z?=K6YV<],= MMDCFJ/M3ZZE3_CNXO4@EB5H3.X?(/N:F?N:O$*&9@\39DN M@,D00D4N*0M93A>-[*Q@X?"0)=SR%HPL;JHB#W6X3;[XA+=+XJ3F2XY^10(O M3$@'$LQ&H;DM8%$@+B($A0PX29-+4VZL*RD#;460< >DD0PVL$9*SS@N1R) M48=);O#H;KD!-[52XV2GQ+].SXQK0M8 ?L^E4!IN&!D1&6[$ /E]!%$?D'WX MJKS:P9:S1 <8E.ATEJO#G!8)6YN]&OW2CKX& .34)T'ES6F7TE*^$07MG*MRRT_J^$W&O MQ1HGN8V5%O_0P5DF+-[/+,:8&GAQ-62"2<'NPA&4X3 ^'(0S&PMMBV8D5AQ2 MD20$IH,W;QOM=IM^,!<")0W6#\I2!RN2WQ!MUZ*56I2Z1VX'6UFWN;@G]R@# M[KOS=I^)+<9HP7RM(,8"1U_AB7-#B@XZNSO_'Q/%#%U9<"Z)Q!W1\;#*;2)Y ME5LD&AG2WCL;.PQ/L8[R!$MTQH1G**DD%FO,9+9(^(9*[1E#JH=/NVGU6536 M1Q/Z#^5NQM>2%Y?#[U2"3=MN6A%&J)PCYX>N@DL.*X4%)<,6SR&'ZA%+$DBQ M@)$&6@WI2RS^5!Z<4.S5-ZA");F#,:WQQ#>)9#;$EB&P2IL63+9Q73,UK'XDHO0]XPO%+ /\>D: MVXV2-[&I1I 4A"KB3ZK2]B$0(>2L%HO.XS3.H^6C2UEHX2%X$[LR'"B10W/)I$BQ0X:U%M@:2-?C(SR? M\U1X@\T/EB**!T+W(N%:/P'5XZ-CMD55>NN>D#@/&2WG MD&?TN1[6'IE>B ]0-.38EJ9"Z M_O1>XWJOYVSX<5497GFR%C076FHX,.6T8RC7,6,>,=_M[NF,O^EDV0"L)#09 M^AEPSYA'_9:N(6L?Z;[*?NKN)4VU_P9U[BQ?Q9Y'OSP8'.__5!M-0O]&$FKU\R$[$NY>L7T M9VYA/#XK_]- ,"!Y]SA2I N55$^PP\%HTBH??7:?L>F,[I^7_7\!4$L#!!0 M ( +6#>UBK@@=,0Q4 ,UU - 9&%I;U]E>#DW+FAT;>T]^U,;.=+_ MBCZN[A:J; (DN6R H\H!)^>Z "G@'OO]&P( M24@@2>TFQC.26JU^/\3AK$R3H\.9X/'182G+1!S%7.;_%C>O7VW#L\-GYLO# M_^OW3_*H2D56LD@)7HJ855IF4S8\>3>X..6Z%*K?/SI\9N8:Y_&"Z7*1B+]L M7 W_==4?O!^].]MG_ZET*2>+ _;V_.QJG^WN%"4K92HTR\2&& MXEO]R]'_#\VK9EC_[>!T]/ZW_?; W8ZN'@W@E5VBIL#5HJ;LL\3./JL )^Z+^L&__CIZ,[IB MKU\U7_@J<#W,[B,@#:'"[=M_3P97 S9Z=LZ.SR\^G%\,KD;G9\&.O^K6/5 / MNO/1V?'P[&KTCR%L^?3#\.R2]LPNAL?G_QA>_,8^G+\?'?_V>$^=&'IT=C)$ M%G[QWLZ!P]AQGA8\6WC$T./=@RTV%HD4 MUP!1.>,ED_"?9C)C.,58:/@121(^T'+XK9V)\2R&US73,Z[$+$]B 2"5N17J M]#CE,!K^9YQ%55)62IA51%K,N):_"TW33Y4LS7P\BO(*AHQEXKZB 4K(;)*K MB,#T(/RB602?1*;-OHN93'*=%[/%-JM1!BOA("5@ @ KS@M4.>4,]EGDB8P6 M/3:?R6C&"I5?RQB6@!=I&X!44'$$?H@V6%:)_U9PB#%BJU"BX A7YC:/JA 1#D@D)1E7 E],X6<*R M/,/E$LEA^?:AS&4Y8_AA(C-XCN_# KFRL]*Z.*MF508'1F,G C[!BUI$%9R$ M! PD?*X[R>@#86R)BA#?L#'S%+<(: 02-ELD:"UHEX*8%/CBQ(%^62\[O(EF M/)L*-HA*?+S[^OF+'H/SXP S8KP+I'#0$F ]V'1"-H:J$EC!4)1@B=2$$D!S M%L-I>NH^XSKF_V6791Y]9*=4/ M6%F958EN#-XKY(CM1R>B[BNT]YI">Q"G,@.$&*'U-,5VS1- !4D"$A4$D-FV M0 $P7A E6-FN>DQ.F,XM]Q#9AF_T/'UY60,_I+(LA5@E],W3#KZ0CF8CK@4P M68*28@)092AE45XBF>8!?'X+L0 9$H>OV_?\>MML P3"]@E[)9 U2#!8M'< ML9\1I55"S#F668R,"7O#9WPR 8E!/!-+D,X53_2/PS'/FQQSC-H(<#&\ 1F$ M>D<_1:[Y>P:"VDAJU(9)0"^.H&!*$L9SB:2+ZKJHP/S1PHIQSW:&8W#0,FNT M<-EF$98*#D2+EHM2J(=A%5@I!14 YDN2+X#GYK,O 1C E9 !/4BCN?3&0D5/@P,!'L4[8)J\N)L7 0F"QGN@*V M7G[5("/*T5A.$J% ""!PU_"L[T%I&Q0@!$#)J2E9&CP 98Q..QY4E4G8 '*G M!C;O$9ZJS*CY30,**$$.A]KSPL_(?/,N[5=88(R.=7M#_!9"(=KQ)(RYUD_Y M1]R56Z37U,_POL:5 !U.K%'JK M"8Z6J4RX6@%4;43:!;8= 7[H?-\1'9@4 +70*ZQ)MB2PO&6H)(+B(9Z6? M?UE(N+GG$@2J00L*_)+A6:15:NAB"4/K"!K835<P)DG<\1 M7PY.MY5]=CR38E+/QLXM&:"8,<_>>L:SSQZ?GKG5"B%_1K.1=UP:Q@3X.P*^ MI-/FCI'X!,0GZ.BIS#*RF(5"B4%6.5LZ)<(G\@F^!@]6O5425^)NP+]1."\> MH&4NH@CX+//8LA&\WPWSXSNC^]H"+YJVP(7U3?>!H[R@OZC=QJ=H&8Q"QQK5 M4>:D13<.>DYD-#UDLG0)>_ O!QKG8W!/P?M/BQ*]>U(7$:JVN_ )O+U,WP%- MES,E3( @$6C(3J2.0,8L!$<)FX(AC=J% (!I8S#,M3;"$^ OGTE5"8R: ;1WC*"V3FI;/P;@(W/;F GYM!?@8:-CW]_MEOHK ML$G1 G(H#D,+;.? H=F=HJ?F]:!9P6&/H,9?+=\O?$3D%,X?HU*Z$)%1=';N M%;!2Y 4M M_(R(?@^ME?<&S#EZWA;X6H.XL(%51_ >2DU W"UO;FTW.17^0K%L.>HV(?TU MA'*4<*WA03&>J9JS[R1)W(,WYQ/21[18W3 -[QM8H MMHE]FP1M&LK(^1M'NW<58%[2_%+PJ>B/P<[[V"<]N\]X,N<+_B<[NXYF4Z!;&G6@XD"R%B!H(SI8$-@DX V<3?'ITTIU MRDKYH,HCC'YWKC)8B<8XQ[GRTL=XP&&I; K!)RTZQ+AU7,";D#&-MV*S$57X,*Y*FCN1J2R-_E<"B 0="#3P]T'O;;F#=B08^E2!^K.Q M5#CC Q@%PU!9D8JG61$2(P3$U"B=C((C-*O5[6UO#>BUBBC/OB*\2=E\I+=< M37DF?Z?9:'E:GT0]112;J\3@6N4(-:K0'!25'W>]=KD\[95"($ MA!+M^"*R@3$QX*Q2>&"CUK B+A@C'3FS@5Q00AM/$;5$)?!^9E/-AO40VZ"# M?=0:YAU;*7% ++9Y'9X AITTY8 U;(Y(@'ZB)!2X:1H3RQA+$XW74,V;,+0C M1H2%%[(D2K6'L_U=V>*?Y2H\E,!G>%2QEC-0 Z>,V2 M+)R_EHH^Z0.0>VCY:86#JC@ )J4E&%2\3_&/J@+CE"C@!H5 M4QDAS=*RA"BG7='GM-\_(87Q!=;3D*!&EE'*%9]_#R=;Z9"6B[!\8BXRY\CG=!ES[-*FQ'&:70YG>6$14@Y;SL )E/2:EE!4:V-@FTY8G6)^/78;/VS\@ AMU' M)OU;YF3MUF7!Z")5*MMF [&#VE)(\/ MGX);39'$#,BCK+ ,>6W>9TWIT$^N;LC<^&%E[G!= G:?#&=;2.HTP33Z-NQS<4 MQ;:%- CS4YO0\CZH( W'VE(5 VESO'5I@_C\NKC\V@3=SS3=QM'>4TW3?2>I MN8<*NHI/+),Y%:!L8E,$W+#&OA-3YT>TQ *UX&T/:OZAULT<"+D.9AE%DM(I MHBF$QI.UW$Q*;+E87<7X&T&B.L*';1)'Y0CS2G*#-L< M]I]_3Q+D/AC'%/)G3P(L/Q&R=%5;C:,*$P2FQF%UHF%--H :>N<"W1:3IP$S M+9K1BM:-09,-X_GPG6W=SK.?A/$YA"$_19,'T]PN,O/)1(NR="'.VM&W;H?) M\W=FX[J=;-0->/CH@HU%T&L?]$P'0=*>=_&[XI>!]G+$91-%+I^U-'5I^^?J MAE/,FIF2PB8Q@[C":3RI@VM"[C4QP>X!#C(UY3X)9CX$_B 5R;N M0N_P&7SENP;]E0?AWOMPO\#9:I0. M00F38SZ\XF2:P['?4D3\33O97C8[VQ2+.Z[@Q$Y2"^1EG^%-O8@JQ% M$'$BG@O+4TTPUU0_&/0LPE:N,1K,"VKO5M[&IC8N5#3 Z[)*31>R:>/6E3)] ME4$GJ),/15ZB^P:B(JE$AI6GU6^NI/KY0^'V9[\]+-V<) M!=12/N%+6%P0!-OVJG*6*_F[J=R5;O.N_@DK-$68!+;Y;+""/@JZCZ1UI0G0 M'1 55]A@5(!=52A)L7.%]"PU,;:W3QMW'[2SS6QD;]XJS4U'UD*N(1F+&EZ7 M_@849$+YVC;< =XL P:DSX@WNG9@S8X+F!JW+KFR@D RF3)T*HAUER6Y6[2L M58!I=RMHUA:T=_6S_J+#5^M;DGXV]O9>]Z\7HQ(TRB%.S1H=^@,8V&8MEN_E%FI^X:QUHFT&^UL M[@F[#5QA^]TK1>L\'/F2IH:')JE+8,),H-/HS6YGX6]-\CLCUFY CG66#,./ M+MC;N+*M%CV4*?1Y,Q(\D;U>T%[ID#$0>]9DH*I4*T!C7VV-(*YJHIXJ81.7 M!3F.:*_D4\73Y=OR,,DX!H$P,Q+(Y?_T;3M]=(QR7^'Q:^M2-;PHC^@.3^2J MUE5/6XY@T(CN"&P0MB"=CCBY/@)&/G$Q__K23Z=]4>+YN"L]S MXA27NV87B)$G><5>X!.1TM?+[H93_<;8BEVP>E(E"=X*#+,&E\4E?+[-_EXX MRZLHEWIY! FO@XVE?1S!@CE_@! MKYX9&" #GZJI(.Q*MM8;C0N*O)L)G4U"4M9>[59_29?(4H[C=IMSO65B=(VY MU#:PF"QZ_:TQ")[KD2E]&KWG]]!UJ18&21!B^C"6]66;:*$ME3?3#9UTT3P^ M\>%@E])KF8;>;(3)C-<8T\4*FO>2$UW'V[OO^?8 ,_9>RH6M&/2CQ0V6L&M3 M%S&38RJMH&Q*&[T&==3L6ZOF1$RI&M!B;!4*##G[;M?V@9*F;AX4VUP^*+.P M/1+39VPO+0JQC:=!U:U-L^7YS@M_:S-78YX)W3^_281/4.WM[.S1%LW.FN'- M1]BZ?N_[Z7=:8;:T4!B2C.S-YD]5J31CUR[T>ON-:IW--:'Z@-&%YWVK?$AN M1$)10:@7I<9D36U0KZZ,G37S632XE?*DHFYT=^O32NS5R!T NNO.T&+>>7W0 M>>F9A^%IV^??EM=:OPSBLHJ0U'+U1$VWCCO%W:795&--U3/FMR60Y'4Y&WRW M*Z5C*%0J:V]$YN[;'L/O=,_>"YNKYNV]].LG5$N!V48N3A/_=! ?R$%\\=-! MO(6 ZO]EMO[W[=2^Q"JQ\=AVY'^#4/_-X')XTOP]0L?O!_]\,SC^VRV_1^BQ M[?EB>#PW5$W8N%G[:[E@6C2=$^M,VSIC MNBD%#(=*@ZDOH\$-OO,FR*I;T'QF/67B. A M 90 @9XL0A3'E4!J\V36N)69+VP>'7-/9&1EA-(Q3\@7:#OI7UZPW&[P2VU+P60T)+^\W^(ZP/;_G]!9W>WK1_P!02P$"% ,4 M" "U@WM81?; EIH/ 4I@ $0 @ $ 9&%I;RTR,#(S M,3(S,2YX@D/ "HK@ %0 M @ ')#P 9&%I;RTR,#(S,3(S,5]C86PN>&UL4$L! A0#% @ M8-[ M6$P\'_LC%@ +D4! !4 ( !!1\ &1A:6\M,C R,S$R,S%? M9&5F+GAM;%!+ 0(4 Q0 ( +6#>U@6N46-/5( (]$! 5 M " 5LU !D86EO+3(P,C,Q,C,Q7VQA8BYX;6Q02P$"% ,4 " "U@WM8 M;&%&8$D] "-60, %0 @ '+AP 9&%I;RTR,#(S,3(S,5]P M&UL4$L! A0#% @ M8-[6,V6%8AXB $ X1$2 P M ( !1\4 &1A:6]?,3!K+FAT;5!+ 0(4 Q0 ( +6#>UB5AJYC9AX ,Z> M / " >E- @!D86EO7V5X,3 S-2YH=&U02P$"% ,4 M" "U@WM8*K<>&,(; "VA0 #P @ %\; ( 9&%I;U]E>#$P M,S8N:'1M4$L! A0#% @ M8-[6..R-S2( P O1D X M ( !:X@" &1A:6]?97@R,3$N:'1M4$L! A0#% @ M8-[6-&WS/40L!P 724 X M ( !7Y8" &1A:6]?97@S,3(N:'1M4$L! A0#% @ M8-[6-XUYLZL P ME@\ X ( !MYT" &1A:6]?97@S,C$N:'1M4$L! A0#% M @ M8-[6+:;^ *G P LP\ X ( !CZ$" &1A:6]?97@S M,C(N:'1M4$L! A0#% @ M8-[6(3ZK'LW!@ &QT T M ( !8J4" &1A:6]?97@T,BYH=&U02P$"% ,4 " "U@WM8JX('3$,5 #- M=0 #0 @ '$JP( 9&%I;U]E>#DW+FAT;5!+!08 $ 0 + -T# RP0( ! end XML 86 daio_10k_htm.xml IDEA: XBRL DOCUMENT 0000351998 2023-01-01 2023-12-31 0000351998 daio:RestOfWorldMember 2022-12-31 0000351998 daio:RestOfWorldMember 2023-12-31 0000351998 daio:EuropesMember 2022-12-31 0000351998 daio:EuropesMember 2023-12-31 0000351998 daio:USAMember 2022-12-31 0000351998 daio:USAMember 2023-12-31 0000351998 daio:GermanysMember 2022-01-01 2022-12-31 0000351998 daio:GermanysMember 2023-01-01 2023-12-31 0000351998 daio:RestOfWorldMember 2022-01-01 2022-12-31 0000351998 daio:RestOfWorldMember 2023-01-01 2023-12-31 0000351998 daio:EuropesMember 2022-01-01 2022-12-31 0000351998 daio:EuropesMember 2023-01-01 2023-12-31 0000351998 daio:USAMember 2022-01-01 2022-12-31 0000351998 daio:USAMember 2023-01-01 2023-12-31 0000351998 daio:RestrictedStockAwardMember 2023-12-31 0000351998 daio:RestrictedStockAwardMember 2023-01-01 2023-12-31 0000351998 daio:RestrictedStockAwardMember 2022-01-01 2022-12-31 0000351998 daio:RestrictedStockAwardMember 2021-12-31 0000351998 daio:RestrictedStockAwardMember 2022-12-31 0000351998 us-gaap:EmployeeStockOptionMember 2023-12-31 0000351998 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0000351998 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0000351998 us-gaap:EmployeeStockOptionMember 2021-12-31 0000351998 us-gaap:EmployeeStockOptionMember 2022-12-31 0000351998 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0000351998 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-12-31 0000351998 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-12-31 0000351998 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-12-31 0000351998 us-gaap:CostOfSalesMember 2022-01-01 2022-12-31 0000351998 us-gaap:CostOfSalesMember 2023-01-01 2023-12-31 0000351998 daio:EmployeeStockPurchasePlanMember 2022-01-01 2022-12-31 0000351998 daio:EmployeeStockPurchasePlanMember 2023-01-01 2023-12-31 0000351998 us-gaap:StockOptionMember 2023-01-01 2023-12-31 0000351998 us-gaap:StockOptionMember 2023-12-31 0000351998 daio:ChinaMember 2023-01-01 2023-12-31 0000351998 daio:ChinaMember 2022-01-01 2022-12-31 0000351998 daio:ThreecustomersMember 2023-01-01 2023-12-31 0000351998 daio:ThreecustomersMember 2022-01-01 2022-12-31 0000351998 daio:TwocustomersMember 2023-01-01 2023-12-31 0000351998 daio:TwocustomersMember 2022-01-01 2022-12-31 0000351998 daio:OnecustomersMember 2023-01-01 2023-12-31 0000351998 daio:OnecustomersMember 2022-01-01 2022-12-31 0000351998 daio:SoftwareAndMaintenanceSalesMember 2022-01-01 2022-12-31 0000351998 daio:AdapterSalesMember 2022-01-01 2022-12-31 0000351998 daio:SoftwareAndMaintenanceSalesMember 2023-01-01 2023-12-31 0000351998 daio:AdapterSalesMember 2023-01-01 2023-12-31 0000351998 daio:EquipmentSalesMember 2023-01-01 2023-12-31 0000351998 daio:EquipmentSalesMember 2022-01-01 2022-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0000351998 us-gaap:RetainedEarningsMember 2023-12-31 0000351998 us-gaap:CommonStockMember 2023-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0000351998 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0000351998 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0000351998 us-gaap:RetainedEarningsMember 2022-12-31 0000351998 us-gaap:CommonStockMember 2022-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0000351998 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0000351998 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0000351998 2021-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0000351998 us-gaap:RetainedEarningsMember 2021-12-31 0000351998 us-gaap:CommonStockMember 2021-12-31 0000351998 2022-01-01 2022-12-31 0000351998 us-gaap:SeriesAPreferredStockMember 2022-12-31 0000351998 us-gaap:SeriesAPreferredStockMember 2023-12-31 0000351998 2022-12-31 0000351998 2023-12-31 0000351998 2024-03-18 0000351998 2023-06-30 iso4217:USD shares iso4217:USD shares pure 0000351998 false --12-11 FY 2023 false 5000000 200000 30000000 8816381 9020819   Year Ended December 31,   2023  2022 (in thousands)      Deferred income tax assets:      Allowance for credit losses $14  $22 Inventory and product return reserves  1,168   477 Compensation accruals  2,750   2,511 Accrued liabilities  65   151 Book-over-tax depreciation and amortization  18   25 Foreign net operating loss carryforwards  184   149 U.S. net operating loss carryforwards  2,899   4,399 U.S. credit carryforwards  1,557   1,560    8,655   9,294          Valuation Allowance  (8,655)  (9,294)Total Deferred Income Tax Assets $-  $-  0 12500 P6Y 0 10-K true 2023-12-31 false 0-10394 DATA I/O CORPORATION WA 91-0864123 6645 185th Ave NE Suite 100 Redmond WA 98052 425 881-6444 Common Stock DAIO NASDAQ No No Yes Yes true Non-accelerated Filer false false false 35598991 9023200 GRANT THORNTON LLP Bellevue, Washington 12341000 11510000 72000 147000 5707000 4992000 5875000 6751000 690000 645000 24613000 23898000 1359000 1072000 1429000 2195000 27401000 27165000 1272000 1366000 2003000 1670000 1362000 1575000 1438000 1596000 113000 112000 6188000 6319000 702000 1500000 192000 237000 0 0 5000000 200000 0 0 30000000 9020819 8816381 22731000 21897000 -2645000 -3131000 233000 343000 20319000 19109000 27401000 27165000 28064000 24217000 11878000 11007000 16186000 13210000 6524000 6083000 9214000 7876000 15738000 13959000 448000 -749000 190000 34000 0 57000 42000 221000 232000 312000 680000 -437000 194000 683000 486000 -1120000 0.05 -0.13 0.05 -0.13 8941 8741 9073 8741 486000 -1120000 -110000 -635000 376000 -1755000 8621007 20886000 -2011000 978000 19853000 192086 -178000 0 0 -178000 3288 13000 0 0 13000 1176000 0 0 1176000 0 -1120000 0 -1120000 0 0 -635000 -635000 8816381 21897000 -3131000 343000 19109000 201172 -370000 0 0 -370000 3266 14000 0 0 14000 1190000 0 0 1190000 0 486000 0 486000 0 0 -110000 -110000 9020819 22731000 -2645000 233000 20319000 486000 -1120000 608000 560000 301000 394000 1190000 1176000 -719000 -1100000 815000 -588000 -48000 61000 109000 -428000 -267000 199000 -684000 -890000 637000 684000 2428000 -1052000 1195000 1080000 -1195000 -1080000 -356000 -165000 -356000 -165000 877000 -2297000 -46000 -383000 11510000 14190000 12341000 11510000 171000 556000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 1 – SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Nature of Operations</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) designs, manufactures and sells programming systems used by designers and manufacturers of electronic products.  Our programming system products are used to program integrated circuits (“ICs” or “devices” or “semiconductors”) with the specific unique data necessary for the ICs contained in various products, and are an important tool for the electronics industry experiencing growing use of programmable ICs.  Customers for our programming system products are located around the world, primarily in Asia, Europe and the Americas.  Our manufacturing operations are currently located in Redmond, Washington, United States and Shanghai, China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Principles of Consolidation</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The consolidated financial statements include the accounts of Data I/O Corporation and our wholly-owned subsidiaries.  Intercompany accounts and transactions have been eliminated in consolidation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Use of Estimates</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period.  Actual results could differ from those estimates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Significant estimates include:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Revenue Recognition</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Allowance for Credit Losses</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Inventory</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Warranty Accruals</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Tax Valuation Allowances</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Share-based Compensation</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Foreign Currency Translation</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Assets and liabilities of foreign subsidiaries are translated at the exchange rate on the balance sheet date.  Revenues, costs and expenses of foreign subsidiaries are translated at average rates of exchange prevailing during the year.  Translation adjustments resulting from this process are charged or credited to stockholders’ equity.  Realized and unrealized gains and losses resulting from the effects of changes in exchange rates on assets and liabilities denominated in foreign currencies are included in non-operating expense as foreign currency transaction gains and losses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Cash and Cash Equivalents</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">All highly liquid investments purchased with an original maturity of 90 days or less are considered cash equivalents.  We maintain our cash and cash equivalents with major financial institutions in the United States of America, which are insured by the Federal Deposit Insurance Corporation (FDIC), and in foreign jurisdictions.  Deposits in U.S. banks exceed the FDIC insurance limit.  We have not experienced any losses on our cash and cash equivalents.  Cash and cash equivalents held in foreign bank accounts, typically in local currency, in China and Germany, totaled (in millions) $6.6 and $4.0 at December 31, 2023 and 2022, respectively. This cash held in subsidiaries have restrictions and costs associated with repatriations, currency conversions, and complying with government policies, regulations and controls, especially in China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Fair Value of Financial Instruments</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Certain financial instruments are carried at cost on the consolidated balance sheets, which approximates fair value due to their short-term, highly liquid nature.  These instruments include cash and cash equivalents, accounts receivable, accounts payable and accrued expenses, and other short-term liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Accounts Receivable</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The majority of our accounts receivable are due from companies in the electronics manufacturing industries.  Credit is extended based on an evaluation of a customer’s financial condition and, generally, collateral is not required.  Accounts receivable are typically due within 30 to 60 days and are stated at amounts due from customers net of an allowance for credit losses.  Accounts receivable outstanding longer than the contractual payment terms are considered past due.  We determine the allowance by considering a number of factors, including a forward-looking expectation based upon the condition of the general economy and the industry as a whole and our previous bad debt experience, as well as the length of time trade accounts receivable are past due, the industry and geographic payment practices involved, and the customer’s current ability to pay their obligation to us.  We write off accounts receivable when they become uncollectible, and payments subsequently received on such receivables are credited to the allowance for credit losses.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Inventories</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Inventories are stated at the lower of cost or net realizable value with cost being the currently adjusted standard cost, which approximates cost on a first-in, first-out basis.  We estimate changes to inventory for obsolete, slow-moving, excess and potential non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item by item basis and record an adjustment (lower of cost or net realizable value) accordingly.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Property, Plant and Equipment</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Property, plant and equipment, including leasehold improvements, are stated at cost, and depreciation is calculated over the estimated useful lives of the related assets or lease terms on the straight-line basis.  We depreciate substantially all property, plant and equipment over periods of three to seven years.  We depreciate leasehold improvements over the remaining portion of the lease or over the expected life of the asset if less than the remaining term of the lease.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We regularly review all of our property, plant and equipment for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.  If the total of future undiscounted cash flows is less than the carrying amount of these assets, an impairment loss, if any, based on the excess of the carrying amount over the fair value of the assets, is recorded.  Based on these evaluations, for the years ended December 31, 2023 and 2022, no impairment was noted or recorded for property, plant and equipment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Patent Costs</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We expense external costs, such as filing fees and associated attorney fees, incurred to obtain initial patents, but capitalize patents obtained through acquisition as intangible assets. We also expense costs associated with maintaining and defending patents subsequent to their issuance.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Income Taxes</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Share-Based Compensation</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline"></span> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Revenue Recognition</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers (ASC 606) provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.    </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2023 and 2022, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This analysis considers the complexity, skill and training needed as well as customer expectations regarding installation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We enter into arrangements with multiple performance obligations that arise during the sale of a system that could include hardware, software, installation, services and support and extended maintenance components.  We allocate the transaction price of each element based on the relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system based on shipping terms, software based on delivery, installation and services based on completion of work and software maintenance and extended warranty support ratably over the term of the agreement, typically one year.  Total deferred revenue which represents undelivered performance obligations for installation, service, support and extended maintenance contracts was $1.6 million and $1.8 million and the portion expected to be recognized within one year was $1.4 million and $1.6 million for December 31, 2023 and 2022, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon delivery, provided that only immaterial items in the context of the contract with the customer remain on our part and substantive acceptance conditions, if any, have been met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We recognize revenue when there is an approved contract that both parties are committed to perform, both parties rights have been identified, the contract has substance,  collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 to 60 days from shipment.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value, and the sale transaction is accounted for as revenue and cost of goods sold.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following table represents our revenues by major categories:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net sales by type</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Change</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Equipment Sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,343</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13,803</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Adapter Sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,154</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,336</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Software and Maintenance Sales   *</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,567</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15.9</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,078</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,064</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15.9</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24,217</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">*  includes an insignificant amount of service and parts sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Leases - Accounting Standards Codification 842</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Leases arise from contracts which convey the right to control the use of identified property or equipment for a period of time in exchange for consideration. Our leasing arrangements are primarily for office facility space we use to conduct our operations. In addition, there are automobiles and a small amount of office equipment leased.  We determine whether contracts include a lease at the inception date, which is generally upon contract signing, considering factors such as whether the contract includes an asset which is physically distinct, which party obtains substantially all of the capacity and economic benefit of the asset, and which party directs how, and for what purpose, the asset is used during the contractual period of use. Our leases commence when the lessor makes the asset available for our use. At commencement, we record a lease liability at the present value of future lease payments, net of any future lease incentives to be received. Some of our lease agreements include cancellable future periods subject to termination or extension options. We include cancellable lease periods in our future lease payments when we are reasonably certain to continue to utilize the asset for those periods. We calculate the present value of future lease payments at commencement using a discount rate which we estimate as the collateralized borrowing rate we believe that would be incurred on our future lease payments over a similar term. At commencement, we also record a corresponding right-of-use asset, which is calculated based on the amount of the lease liability, adjusted for any advance lease payments paid, initial direct costs incurred or lease incentives received prior to commencement. Right-of-use assets are subject to evaluation for impairment or disposal on a basis consistent with other long-lived assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Leases are classified at commencement as either operating or finance leases. As of December 31, 2023, all of our leases are classified as operating leases. Rent expense for operating leases is recognized on the straight-line method over the term of the agreement beginning on the lease commencement date.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In accounting for leases, we utilize certain practical expedients and policy elections available under the lease accounting standard. For example, we do not record right-of-use assets or lease liabilities for leases with terms of 12 months or less. For contracts containing real estate leases, we do not combine lease and non-lease components. The primary impact of this policy election is that we do not include in our calculation of lease liabilities any fixed and non-cancelable future payments due under the contract for items such as common area maintenance, utilities and other costs. Lease-related costs which are variable rather than fixed are expensed in the period incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Assumptions, judgments and estimates impacting the carrying value of our right-of-use assets and liabilities include evaluating whether an arrangement contains a lease, determining whether the lease term should include any cancellable future periods, estimating the discount rate used to calculate our lease liabilities, estimating the fair value and useful life of the leased asset for the purpose of classifying the lease as an operating or finance lease, evaluating whether a lease contract amendment represents a new lease agreement or a modification to the existing lease and evaluating our right-of-use assets for impairment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Research and Development</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Research and development costs are generally expensed as incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Advertising Expense</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Advertising costs are expensed as incurred.  Total advertising expenses were approximately $196,000 and $116,000 in 2023 and 2022, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Warranty Expense</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We record a liability for an estimate of costs that we expect to incur under our basic limited warranty when product revenue is recognized.  Factors affecting our warranty liability include the number of units sold and historical and anticipated rates of claims and costs per claim.  We normally provide a warranty for our products against defects for periods ranging from ninety days to one year.  We provide for the estimated cost that may be incurred under our product warranties and periodically assess the adequacy of our warranty liability based on changes in the above factors.  We record revenues on extended warranties on a straight-line basis over the term of the related warranty contracts.  Service costs are expensed as incurred.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Earnings (Loss) Per Share</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Basic earnings (loss) per share exclude any dilutive effects of stock options.  Basic earnings (loss) per share are computed using the weighted-average number of common shares outstanding during the period.  Diluted earnings per share are computed using the weighted-average number of common shares and common stock equivalent shares outstanding during the period.  The common stock equivalent shares from equity awards used in calculating diluted earnings per share were 133,000 and 109,000 for the years ended December 31, 2023 and 2022, respectively.  Options to purchase 12,500 shares of common stock were outstanding as of both periods December 31, 2023 and 2022, but were excluded from the computation of diluted earnings per share for the periods then ended, because the options were anti-dilutive.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Diversification of Credit Risk</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Financial instruments, which potentially subject us to concentrations of credit risk, consist primarily of trade receivables.  Our trade receivables are geographically dispersed and include customers in many different industries.  Our consolidated accounts receivable balance as of December 31, 2023 and 2022 includes foreign accounts receivable in the functional currency of our foreign subsidiaries amounting to $1.0 and $2.4 million, respectively.  We generally do business with our foreign distributors in U.S. Dollars.  We believe that risk of loss is significantly reduced due to the diversity of our end-customers and geographic sales areas.  We perform on-going credit evaluations of our customers’ financial condition and require collateral, such as letters of credit and bank guarantees, or prepayment whenever deemed necessary.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following represented greater than 10% of our consolidated accounts receivable for the applicable year:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Percentage of Consolidated Accounts Receivable</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Number of customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Approximate percentage of consolidated accounts receivable balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">47</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">39</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Diversification of net sales</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following represented greater than 10% of net sales for the applicable year:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Percentage of Net Sales</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Number of customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Approximate percentage of net sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">n/a</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">COVID-19</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">New Accounting Pronouncements - Standards Issued and Implemented</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU)  2016-13, Financial Instruments - Credit Losses (Topic 326). Topic 326 is effective (Smaller Reporting Company) for reporting periods beginning after December 15, 2022. Topic 326 replaces the incurred loss impairment methodology under current Generally Accepted Accounting Principles ("GAAP") with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. We adopted the new credit loss standard on January 1, 2023.  The new credit loss standard has not had a material impact on our financial condition, results of operations and cash flows, or financial statement disclosures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">New Accounting Pronouncements - Standards Issued and Not Yet Implemented</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In November 2023, the FASB issued ASU 2023-07 "Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures" which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. ASU 2023-07 is effective for our annual periods beginning January 1, 2024, and for interim periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In December 2023, the FASB issued ASU 2023-09 "Income Taxes (Topics 740): Improvements to Income Tax Disclosures" to expand the disclosure requirements for income taxes, specifically related to the rate reconciliation and income taxes paid. ASU 2023-09 is effective for our annual periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) designs, manufactures and sells programming systems used by designers and manufacturers of electronic products.  Our programming system products are used to program integrated circuits (“ICs” or “devices” or “semiconductors”) with the specific unique data necessary for the ICs contained in various products, and are an important tool for the electronics industry experiencing growing use of programmable ICs.  Customers for our programming system products are located around the world, primarily in Asia, Europe and the Americas.  Our manufacturing operations are currently located in Redmond, Washington, United States and Shanghai, China.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The consolidated financial statements include the accounts of Data I/O Corporation and our wholly-owned subsidiaries.  Intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting period.  Actual results could differ from those estimates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Significant estimates include:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Revenue Recognition</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Allowance for Credit Losses</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Inventory</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Warranty Accruals</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Tax Valuation Allowances</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">·</span></p></td><td style="vertical-align:top;">Share-based Compensation</td></tr></tbody></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Assets and liabilities of foreign subsidiaries are translated at the exchange rate on the balance sheet date.  Revenues, costs and expenses of foreign subsidiaries are translated at average rates of exchange prevailing during the year.  Translation adjustments resulting from this process are charged or credited to stockholders’ equity.  Realized and unrealized gains and losses resulting from the effects of changes in exchange rates on assets and liabilities denominated in foreign currencies are included in non-operating expense as foreign currency transaction gains and losses.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">All highly liquid investments purchased with an original maturity of 90 days or less are considered cash equivalents.  We maintain our cash and cash equivalents with major financial institutions in the United States of America, which are insured by the Federal Deposit Insurance Corporation (FDIC), and in foreign jurisdictions.  Deposits in U.S. banks exceed the FDIC insurance limit.  We have not experienced any losses on our cash and cash equivalents.  Cash and cash equivalents held in foreign bank accounts, typically in local currency, in China and Germany, totaled (in millions) $6.6 and $4.0 at December 31, 2023 and 2022, respectively. This cash held in subsidiaries have restrictions and costs associated with repatriations, currency conversions, and complying with government policies, regulations and controls, especially in China.</p> 6600000 4000000.0 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Certain financial instruments are carried at cost on the consolidated balance sheets, which approximates fair value due to their short-term, highly liquid nature.  These instruments include cash and cash equivalents, accounts receivable, accounts payable and accrued expenses, and other short-term liabilities.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The majority of our accounts receivable are due from companies in the electronics manufacturing industries.  Credit is extended based on an evaluation of a customer’s financial condition and, generally, collateral is not required.  Accounts receivable are typically due within 30 to 60 days and are stated at amounts due from customers net of an allowance for credit losses.  Accounts receivable outstanding longer than the contractual payment terms are considered past due.  We determine the allowance by considering a number of factors, including a forward-looking expectation based upon the condition of the general economy and the industry as a whole and our previous bad debt experience, as well as the length of time trade accounts receivable are past due, the industry and geographic payment practices involved, and the customer’s current ability to pay their obligation to us.  We write off accounts receivable when they become uncollectible, and payments subsequently received on such receivables are credited to the allowance for credit losses.  </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Inventories are stated at the lower of cost or net realizable value with cost being the currently adjusted standard cost, which approximates cost on a first-in, first-out basis.  We estimate changes to inventory for obsolete, slow-moving, excess and potential non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item by item basis and record an adjustment (lower of cost or net realizable value) accordingly.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Property, plant and equipment, including leasehold improvements, are stated at cost, and depreciation is calculated over the estimated useful lives of the related assets or lease terms on the straight-line basis.  We depreciate substantially all property, plant and equipment over periods of three to seven years.  We depreciate leasehold improvements over the remaining portion of the lease or over the expected life of the asset if less than the remaining term of the lease.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We regularly review all of our property, plant and equipment for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.  If the total of future undiscounted cash flows is less than the carrying amount of these assets, an impairment loss, if any, based on the excess of the carrying amount over the fair value of the assets, is recorded.  Based on these evaluations, for the years ended December 31, 2023 and 2022, no impairment was noted or recorded for property, plant and equipment.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We expense external costs, such as filing fees and associated attorney fees, incurred to obtain initial patents, but capitalize patents obtained through acquisition as intangible assets. We also expense costs associated with maintaining and defending patents subsequent to their issuance.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized. </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.  </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers (ASC 606) provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.    </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2023 and 2022, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This analysis considers the complexity, skill and training needed as well as customer expectations regarding installation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We enter into arrangements with multiple performance obligations that arise during the sale of a system that could include hardware, software, installation, services and support and extended maintenance components.  We allocate the transaction price of each element based on the relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system based on shipping terms, software based on delivery, installation and services based on completion of work and software maintenance and extended warranty support ratably over the term of the agreement, typically one year.  Total deferred revenue which represents undelivered performance obligations for installation, service, support and extended maintenance contracts was $1.6 million and $1.8 million and the portion expected to be recognized within one year was $1.4 million and $1.6 million for December 31, 2023 and 2022, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon delivery, provided that only immaterial items in the context of the contract with the customer remain on our part and substantive acceptance conditions, if any, have been met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We recognize revenue when there is an approved contract that both parties are committed to perform, both parties rights have been identified, the contract has substance,  collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 to 60 days from shipment.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value, and the sale transaction is accounted for as revenue and cost of goods sold.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following table represents our revenues by major categories:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net sales by type</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Change</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Equipment Sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,343</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13,803</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Adapter Sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,154</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,336</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Software and Maintenance Sales   *</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,567</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15.9</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,078</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,064</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15.9</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24,217</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">*  includes an insignificant amount of service and parts sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net sales by type</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Change</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Equipment Sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,343</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13,803</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Adapter Sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,154</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,336</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Software and Maintenance Sales   *</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,567</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15.9</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,078</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,064</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15.9</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24,217</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">*  includes an insignificant amount of service and parts sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 16343000 0.184 13803000 8154000 0.112 7336000 3567000 0.159 3078000 28064000 0.159 24217000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Leases - Accounting Standards Codification 842</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Leases arise from contracts which convey the right to control the use of identified property or equipment for a period of time in exchange for consideration. Our leasing arrangements are primarily for office facility space we use to conduct our operations. In addition, there are automobiles and a small amount of office equipment leased.  We determine whether contracts include a lease at the inception date, which is generally upon contract signing, considering factors such as whether the contract includes an asset which is physically distinct, which party obtains substantially all of the capacity and economic benefit of the asset, and which party directs how, and for what purpose, the asset is used during the contractual period of use. Our leases commence when the lessor makes the asset available for our use. At commencement, we record a lease liability at the present value of future lease payments, net of any future lease incentives to be received. Some of our lease agreements include cancellable future periods subject to termination or extension options. We include cancellable lease periods in our future lease payments when we are reasonably certain to continue to utilize the asset for those periods. We calculate the present value of future lease payments at commencement using a discount rate which we estimate as the collateralized borrowing rate we believe that would be incurred on our future lease payments over a similar term. At commencement, we also record a corresponding right-of-use asset, which is calculated based on the amount of the lease liability, adjusted for any advance lease payments paid, initial direct costs incurred or lease incentives received prior to commencement. Right-of-use assets are subject to evaluation for impairment or disposal on a basis consistent with other long-lived assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Leases are classified at commencement as either operating or finance leases. As of December 31, 2023, all of our leases are classified as operating leases. Rent expense for operating leases is recognized on the straight-line method over the term of the agreement beginning on the lease commencement date.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In accounting for leases, we utilize certain practical expedients and policy elections available under the lease accounting standard. For example, we do not record right-of-use assets or lease liabilities for leases with terms of 12 months or less. For contracts containing real estate leases, we do not combine lease and non-lease components. The primary impact of this policy election is that we do not include in our calculation of lease liabilities any fixed and non-cancelable future payments due under the contract for items such as common area maintenance, utilities and other costs. Lease-related costs which are variable rather than fixed are expensed in the period incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Assumptions, judgments and estimates impacting the carrying value of our right-of-use assets and liabilities include evaluating whether an arrangement contains a lease, determining whether the lease term should include any cancellable future periods, estimating the discount rate used to calculate our lease liabilities, estimating the fair value and useful life of the leased asset for the purpose of classifying the lease as an operating or finance lease, evaluating whether a lease contract amendment represents a new lease agreement or a modification to the existing lease and evaluating our right-of-use assets for impairment.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Research and development costs are generally expensed as incurred.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Advertising costs are expensed as incurred.  Total advertising expenses were approximately $196,000 and $116,000 in 2023 and 2022, respectively.</p> 196000 116000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We record a liability for an estimate of costs that we expect to incur under our basic limited warranty when product revenue is recognized.  Factors affecting our warranty liability include the number of units sold and historical and anticipated rates of claims and costs per claim.  We normally provide a warranty for our products against defects for periods ranging from ninety days to one year.  We provide for the estimated cost that may be incurred under our product warranties and periodically assess the adequacy of our warranty liability based on changes in the above factors.  We record revenues on extended warranties on a straight-line basis over the term of the related warranty contracts.  Service costs are expensed as incurred.  </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Basic earnings (loss) per share exclude any dilutive effects of stock options.  Basic earnings (loss) per share are computed using the weighted-average number of common shares outstanding during the period.  Diluted earnings per share are computed using the weighted-average number of common shares and common stock equivalent shares outstanding during the period.  The common stock equivalent shares from equity awards used in calculating diluted earnings per share were 133,000 and 109,000 for the years ended December 31, 2023 and 2022, respectively.  Options to purchase 12,500 shares of common stock were outstanding as of both periods December 31, 2023 and 2022, but were excluded from the computation of diluted earnings per share for the periods then ended, because the options were anti-dilutive.</p> 133000 109000 12500 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Financial instruments, which potentially subject us to concentrations of credit risk, consist primarily of trade receivables.  Our trade receivables are geographically dispersed and include customers in many different industries.  Our consolidated accounts receivable balance as of December 31, 2023 and 2022 includes foreign accounts receivable in the functional currency of our foreign subsidiaries amounting to $1.0 and $2.4 million, respectively.  We generally do business with our foreign distributors in U.S. Dollars.  We believe that risk of loss is significantly reduced due to the diversity of our end-customers and geographic sales areas.  We perform on-going credit evaluations of our customers’ financial condition and require collateral, such as letters of credit and bank guarantees, or prepayment whenever deemed necessary.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following represented greater than 10% of our consolidated accounts receivable for the applicable year:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Percentage of Consolidated Accounts Receivable</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Number of customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Approximate percentage of consolidated accounts receivable balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">47</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">39</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table> 1000000.0 2400000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Percentage of Consolidated Accounts Receivable</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Number of customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Approximate percentage of consolidated accounts receivable balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">47</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">39</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table> 0.47 0.39 0.18 0.15 0.16 0.13 0.13 0.11 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following represented greater than 10% of net sales for the applicable year:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Percentage of Net Sales</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Number of customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Approximate percentage of net sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">n/a</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Percentage of Net Sales</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Number of customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Approximate percentage of net sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Percentage of each</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">n/a</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 0.24 0.23 0.13 0.23 0.11 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In 2023, most of the direct implications of COVID-19 had passed, and we were dealing with the follow-on impacts or indirect impacts from COVID-19 and the policies put in place to mitigate the disease.  We continued to manage inflation, supply chain impacts and shortages, and the post lock down economic transitions in China and elsewhere.  </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU)  2016-13, Financial Instruments - Credit Losses (Topic 326). Topic 326 is effective (Smaller Reporting Company) for reporting periods beginning after December 15, 2022. Topic 326 replaces the incurred loss impairment methodology under current Generally Accepted Accounting Principles ("GAAP") with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. We adopted the new credit loss standard on January 1, 2023.  The new credit loss standard has not had a material impact on our financial condition, results of operations and cash flows, or financial statement disclosures.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In November 2023, the FASB issued ASU 2023-07 "Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures" which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. ASU 2023-07 is effective for our annual periods beginning January 1, 2024, and for interim periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In December 2023, the FASB issued ASU 2023-09 "Income Taxes (Topics 740): Improvements to Income Tax Disclosures" to expand the disclosure requirements for income taxes, specifically related to the rate reconciliation and income taxes paid. ASU 2023-09 is effective for our annual periods beginning January 1, 2025, with early adoption permitted. We are currently evaluating the potential effect that the updated standard will have on our financial statement disclosures.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 2 – ACCOUNTS RECEIVABLE, NET</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trade accounts receivable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,779</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,139</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less allowance for credit losses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">72</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">147</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trade accounts receivable, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,707</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,992</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Changes in Data I/O’s allowance for credit losses are as follows:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Beginning balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">147</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">89</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Credit loss (reversal)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(75</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts written-off</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Recoveries</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ending balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">72</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">147</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trade accounts receivable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,779</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,139</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less allowance for credit losses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">72</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">147</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trade accounts receivable, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,707</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,992</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Changes in Data I/O’s allowance for credit losses are as follows:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">December 31,</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Beginning balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">147</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">89</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Credit loss (reversal)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(75</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts written-off</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Recoveries</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ending balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">72</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">147</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 5779000 5139000 72000 147000 5707000 4992000 147000 89000 -75000 58000 0 0 0 0 72000 147000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 3 – INVENTORIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands) </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Raw material</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,328</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,850</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Work-in-process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,596</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,911</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">951</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">990</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,875</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,751</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands) </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Raw material</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,328</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,850</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Work-in-process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,596</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,911</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">951</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">990</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,875</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,751</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 3328000 3850000 1596000 1911000 951000 990000 5875000 6751000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 4 – PROPERTY, PLANT AND EQUIPMENT, NET</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">394</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">404</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,977</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,683</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Sales demonstration equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,396</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,066</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,767</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,153</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Less accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,408</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,081</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Property and equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,359</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,072</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Total depreciation expense recorded for 2023 and 2022 was $608,000 and $560,000, respectively. </p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">394</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">404</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,977</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,683</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Sales demonstration equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,396</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,066</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,767</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,153</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Less accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,408</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,081</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Property and equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,359</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,072</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 394000 404000 4977000 4683000 1396000 1066000 6767000 6153000 5408000 5081000 1359000 1072000 608000 560000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 5 – OTHER ACCRUED LIABILITIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Other accrued liabilities consisted of the following components:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Lease liability - short term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">798</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">799</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Product warranty</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">449</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">425</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Sales return reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">32</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">71</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">69</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">163</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">90</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">138</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other accrued liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,438</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,596</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The changes in our product warranty liability for the year ending December 31, 2023 are follows:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Liability, beginning balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">425</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">432</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">902</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">774</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Warranty claims</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(902</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(774</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accrual revisions</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">24</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Liability, ending balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">449</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">425</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Lease liability - short term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">798</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">799</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Product warranty</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">449</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">425</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Sales return reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">32</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">71</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">69</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">163</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">90</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">138</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other accrued liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,438</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,596</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 798000 799000 449000 425000 32000 71000 69000 163000 90000 138000 1438000 1596000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Liability, beginning balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">425</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">432</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">902</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">774</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Warranty claims</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(902</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(774</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accrual revisions</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">24</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Liability, ending balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">449</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">425</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 425000 432000 902000 774000 902000 774000 24000 7000 449000 425000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 6 – OPERATING LEASE COMMITMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We have commitments under non-cancelable operating leases and other agreements, primarily for factory and office space, with initial or remaining terms of one year or more for the year ending December 31 are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"> Operating</p><p style="font-size:10pt;font-family:times new roman;margin:0px">Lease Commitments</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">841</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">591</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">133</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2028 &amp; Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,613</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Less imputed interest</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(113</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Payments for operating lease liabilities for the twelve months ended December 31, 2023 and 2022, respectively, was $894,000 and $779,000 which included short-term lease costs of $25,000 and 45,000.  There were no new or modified leases during the twelve months ended December 31, 2023 that are accounted for in the amounts disclosed above. The total annual lease expense in 2023 and 2022, including operating lease expenses and short-term lease expenses, was approximately $745,000 and $899,000, respectively.  Variable payments were not material and were treated as non-lease components and were recognized in the period for which the costs occur.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">For the largest lease component, the company has three facilities with our headquarters and primary engineering and operational functions located in Redmond, Washington.  Our two subsidiary facilities in Munich, Germany and Shanghai, China provide extended worldwide sales, service, engineering and operation services.  The total annual gross or base lease payments during 2023 and 2022 were approximately $823,000 and $713,000, respectively.  The lease payment increase in 2023 was due primarily to lease abatement incentives for lease renewals in 2022 and standard rate increase in 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The Redmond, Washington headquarters facility lease runs to January 31, 2026 at approximately 20,460 square feet.  The lease for the facility located in Shanghai, China runs to October 31, 2024 at approximately 19,400 square feet.  The lease for the facility located near Munich, Germany runs to August 2027 at approximately 4,895 square feet.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following table presents supplemental balance sheet information related to leases as of December 31, 2023 and 2022:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Right-of-use assets (Long-term other assets)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,363</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,129</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Lease liability-short term (Other accrued liabilities)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">798</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">799</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Lease liability-long term (Operating lease liabilities)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">703</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">At December 31, 2023, the weighted average remaining lease term is 2.17 years and the weighted average discount rate used is 5%.</p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"> Operating</p><p style="font-size:10pt;font-family:times new roman;margin:0px">Lease Commitments</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">841</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">591</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">133</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">2028 &amp; Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,613</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Less imputed interest</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(113</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 841000 591000 133000 48000 0 1613000 113000 1500000 894000 779000 25000 45000 745000 899000 823000 713000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Right-of-use assets (Long-term other assets)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,363</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,129</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Lease liability-short term (Other accrued liabilities)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">798</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">799</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Lease liability-long term (Operating lease liabilities)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">703</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 1363000 2129000 798000 799000 703000 1500000 P2Y2M1D 0.05 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 7 – OTHER COMMITMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We have purchase obligations for inventory and production costs, as well as other obligations such as capital expenditures, service contracts, marketing, and development agreements.  Arrangements are considered purchase obligations if a contract specifies all significant terms, including fixed or minimum quantities to be purchased, a pricing structure and approximate timing of the transaction.  Most arrangements are cancelable without a significant penalty, and with short notice, typically less than 90 days.  At December 31, 2023, we had one contract with a commitment of approximately $232,000 to be paid in 2024 and $251,000 to be paid beyond one year.</p> 232000 251000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 8 – CONTINGENCIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">As of December 31, 2023, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position.  </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 9 – STOCK AND RETIREMENT PLANS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Stock Option Plans</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">At December 31, 2023, there were 732,327 shares available for future grant under Data I/O Corporation 2023 Omnibus Incentive Compensation Incentive Plan (“2023 Plan”).  At December 31, 2023, there were shares of Common Stock reserved for issuance for outstanding awards, consisting of 92,500 inducement reserve shares, 353,525 shares under the 2000 Plan, and 295,100 shares under the 2023 Plan.  The inducement reserve shares remaining that were granted in 2019 consist of 12,500 options vested but unissued (using the terms of the 2000 Plan) and the grant in 2023 consisting of 75,000 RSU and 5000 PSU, (which were not from the 2023 Plan, but were made under the terms of the 2023 Plan).  Pursuant to the 2000 and 2023 Plans, options are granted to our officers and key employees with exercise prices equal to the fair market value of the Common Stock at the date of grant and generally vest over four years.  Options granted under the plans have a maximum term of six years from the date of grant.  Stock awards are now granted under the 2023 Plan (previously the 2000 Plan) which for RSU awards generally vest over four years (some three years) and one year for nonemployee Directors. Performance Share Unit (PSU) awards vest based upon the three-year performance achievement on December 31, 2025. The performance measures for the PSUs awarded are revenue growth targets for the three-year period ending December 31, 2025. Achieving a threshold growth measure earns 50% of the PSU target award; achieving the target growth measure earns 100% of the PSU target award; and achieving the maximum target growth measure earns 150% of the PSU target award.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline"></span> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Employee Stock Purchase Plan</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Under the Employee Stock Purchase Plan (“ESPP”), eligible employees may purchase shares of our Common Stock at six-month intervals at 95% of the fair market value on the last day of each six-month period.  Employees may purchase shares having a value not exceeding ten percent of their gross compensation during an offering period.  During 2023 and 2022, a total of 3,341 and 3,288 shares, respectively, were purchased under the plan at average prices of $4.16 and $4.06 per share, respectively.  At December 31, 2023 and 2022, 21,525 and 25,477 shares were reserved for future grant respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Stock Appreciation Rights Plan</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We have a Stock Appreciation Rights (“SAR”) Plan under which each director, executive officer or holder of 10% or more of our Common Stock has a SAR with respect to each exercisable stock option.  The SAR entitles the SAR holder to receive cash from us for the difference between the market value of the stock and the exercise price of the option in lieu of exercising the related option.  SARs are only exercisable following a tender offer or exchange offer for our stock, or following approval by shareholders of Data I/O of any merger, consolidation, reorganization or other transaction providing for the conversion or exchange of more than 50% of the common shares outstanding.  As no event has occurred, which would make the SARs exercisable, and no such event is deemed probable, no compensation expense has been recorded under this plan.  At December 31, 2023 and 2022, there were 12,500 SARs outstanding.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><span style="text-decoration:underline">Retirement Savings Plan</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We have a savings plan that qualifies as a cash or deferred salary arrangement under Section 401(k) of the Internal Revenue Code.  Under the plan, participating U.S. employees may defer their pre-tax salary or post-tax salary if Roth is elected, subject to IRS limitations.  In fiscal year 2023, we contributed one dollar for each dollar contributed by a participant on the first two percent and $.50 for each dollar contributed by participant on the next four percent of a participant’s eligible earnings, and as a result this requires a minimum six percent contribution to receive a four percent matching contribution. Our matching contribution expense for the savings plan, net of forfeitures, was approximately $253,000 and $210,000 in 2023 and 2022, respectively.  Employer matching contributions owed to the plan were $248,000 and $229,000 at December 31, 2023 and 2022, respectively.</p> 732327 92500 353525 12500 0.95 3341 3288 4.16 4.06 21525 25477 12500 253000 210000 248000 229000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 10 – SHARE-BASED COMPENSATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">For share-based awards granted, we have recognized compensation expense based on the estimated grant date fair value method.  For these awards we have recognized compensation expense using a straight-line amortization method and reduced for estimated forfeitures.  The impact on our results of operations of recording share-based compensation for the year ended December 31, 2023 and 2022 was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cost of goods sold</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">95</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">257</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">228</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">838</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">872</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total share-based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,190</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,176</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">An immaterial amount of share-based compensation was capitalized into inventory as overhead for the years ended December 31, 2023 and 2022, respectively. The following table summarizes stock option activity under our stock option plans for the twelve months ended December 31, 2023 and 2022:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Options</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Exercise Price</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Remaining Contractual Life in Years</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Options</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Exercise Price</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Remaining Contractual Life in Years</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Outstanding at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Exercised</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cancelled, Expired or</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">2.33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested or expected to vest at the end of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,466</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Exercisable at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">9,375</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The aggregate intrinsic value of outstanding options is $0.  There were no stock option awards exercised in 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Restricted stock award activity including performance-based stock award activity under our share-based compensation plan was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Awards</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted - Average Grant Date Fair Value</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Awards</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted - Average Grant Date Fair Value</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Outstanding at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">665,200</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.94</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">623,777</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.73</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">387,100</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.36</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">330,215</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.26</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(284,925</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.93</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(249,292</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.95</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Cancelled</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(38,750</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.96</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(39,500</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Outstanding at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">728,625</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.17</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">665,200</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.94</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">During the years ended December 31, 2023 and 2022, 83,753 and 57,206 shares, respectively, were withheld from issuance related to restricted stock units vesting and stock option exercises to cover employee taxes and stock options exercise price.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Non-employee directors Restricted Stock Units (“RSUs”) typically vest over the earlier of one year or the next annual meeting of shareholders and Non-Qualified stock options vest over three years and have a six-year exercise period.  Employee RSUs typically vest annually over three or four years and employee Non-Qualified stock options typically vest quarterly over four years and have a six-year exercise period. Performance Stock Units (“PSUs”) typically cliff vest at the end of the performance period and the performance metric is cumulative revenue growth over the three-year period ending December 31, 2025 with a cumulative revenue threshold, target, and maximum performance measure.  The table above includes performance shares granted in 2023 of 30,000 shares at the target performance level (the threshold level would be 50% and the maximum level would be 150% of the target level).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The remaining unamortized expected future compensation expense and remaining amortization period associated with unvested option grants and restricted stock awards are:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unamortized future compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,317,524</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,029,457</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Remaining weighted average amortization period in years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.44</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.47</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The weighted average number of shares outstanding used to compute earnings (loss) per share included the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,940,612</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,740,701</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Restricted and Performance Stock Units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">132,360</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Stock Options</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">216</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Weighted average diluted shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,073,188</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,740,701</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cost of goods sold</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">95</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">257</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">228</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">838</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">872</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total share-based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,190</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,176</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 95000 76000 257000 228000 838000 872000 1190000 1176000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Options</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Exercise Price</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Remaining Contractual Life in Years</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Options</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Exercise Price</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted-Average Remaining Contractual Life in Years</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Outstanding at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Exercised</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cancelled, Expired or</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">2.33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested or expected to vest at the end of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,466</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Exercisable at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">12,500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">9,375</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.98</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 12500 4.98 12500 4.98 0 0 0 0 0 0 12500 4.98 P1Y3M29D 12500 4.98 P2Y3M29D 12500 4.98 P1Y3M29D 12466 4.98 P2Y3M29D 12500 4.98 P1Y3M29D 9375 4.98 P2Y3M29D 0 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Awards</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted - Average Grant Date Fair Value</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Awards</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Weighted - Average Grant Date Fair Value</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Outstanding at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">665,200</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.94</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">623,777</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.73</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">387,100</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.36</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">330,215</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.26</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(284,925</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.93</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(249,292</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.95</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Cancelled</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(38,750</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.96</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(39,500</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.33</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Outstanding at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">728,625</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4.17</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">665,200</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.94</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 665200 3.94 623777 4.73 387100 4.36 330215 3.26 284925 3.93 249292 4.95 38750 3.96 39500 4.33 728625 4.17 665200 3.94 83753 57206 30000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">December 31,</p><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unamortized future compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,317,524</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,029,457</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Remaining weighted average amortization period in years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.44</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.47</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 2317524 2029457 P2Y5M8D P2Y5M19D <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,940,612</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,740,701</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Restricted and Performance Stock Units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">132,360</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Stock Options</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">216</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Weighted average diluted shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,073,188</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,740,701</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 8940612 8740701 132360 216 9073188 8740701 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 11 – SHARE REPURCHASE PROGRAMS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Data I/O did not have a share repurchase program in 2023.  </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 12 – INCOME TAXES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Components of income (loss) before taxes:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U.S. operations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(536</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,622</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Foreign operations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,216</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,185</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Total income (loss) before taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">680</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(437</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Income tax expense (benefit) consists of:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Current tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S. federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">State</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">174</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">664</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">194</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">683</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred tax expense (benefit) – U.S. federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Total income tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">194</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">683</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">A reconciliation of our effective income tax and the U.S. federal tax rate is as follows:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Statutory tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td>$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(92)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">State and foreign income tax, net of federal tax benefit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(178</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(189</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Valuation allowance for deferred tax asset</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">139</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">370</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Foreign sourced deemed dividend income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">322</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">738</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Stock based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(250</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(154</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">18</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Total income tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">194</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">683</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">U.S. net operating loss carryforwards are $13.8 million at December 31, 2023 with expiration years from 2023 to 2034.  Utilization of net operating loss and credit carryforwards is subject to certain limitations under Section 382 of the Internal Revenue Code of 1986, as amended. We have not had a Section 382 ownership change, but if we did the usage of these tax assets would have an income usage limitation based on the value of the Company at the time of the change times the federal long-term tax-exempt rate.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The gross changes in uncertain tax positions resulting in unrecognized tax benefits are presented below:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unrecognized tax benefits, opening balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">422</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">392</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Prior period tax position increases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Additions based on tax positions related to current year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">30</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unrecognized tax benefits, ending balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">430</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">422</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Historically, we have incurred minimal interest expense and no penalties associated with tax matters.  We have adopted a policy whereby amounts related to penalties associated with tax matters are classified as general and administrative expense when incurred and amounts related to interest associated with tax matters are classified as interest income or interest expense.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Tax years that remain open for examination include 2020, 2021, 2022 and 2023 in the United States of America.  In addition, various tax years from 2002 to 2014 may be subject to examination in the event that we utilize the net operating losses and credit carryforwards from those years in our current or future year tax returns.  </p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U.S. operations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(536</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,622</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Foreign operations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,216</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,185</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Total income (loss) before taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">680</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(437</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table> -536000 -1622000 1216000 1185000 680000 -437000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Current tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S. federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">State</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">174</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">664</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">194</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">683</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred tax expense (benefit) – U.S. federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Total income tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">194</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">683</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 0 0 20000 19000 174000 664000 194000 683000 0 0 194000 683000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Statutory tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td>$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(92)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">State and foreign income tax, net of federal tax benefit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(178</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(189</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Valuation allowance for deferred tax asset</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">139</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">370</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Foreign sourced deemed dividend income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">322</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">738</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Stock based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(250</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(154</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">18</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Total income tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">194</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">683</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 143000 -92000 -178000 -189000 139000 370000 322000 738000 -250000 -154000 18000 10000 194000 683000 13800000 2023 to 2034 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unrecognized tax benefits, opening balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">422</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">392</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Prior period tax position increases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Additions based on tax positions related to current year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">30</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unrecognized tax benefits, ending balance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">430</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">422</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 422000 392000 6000 0 14000 30000 430000 422000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 13 – SEGMENT AND GEOGRAPHIC INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We consider our operations to be a single operating segment, focused on the design, manufacturing and sale of programming systems used by designers and manufacturers of electronic products.  Major operations outside the U.S. include sales, engineering and service support by subsidiaries in Germany as well as in China, which also manufactures some of our products.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">We determine international sales by the international geographic destination into which the products are sold and delivered and include not only sales by foreign subsidiaries but also export sales from the U.S. to our foreign distributors and to our representatives’ customers.  International sales do not include transfers between Data I/O and our foreign subsidiaries.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">The following tables provide summary operating information by geographic area:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net sales:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,799</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,774</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,469</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,402</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Rest of World</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15,796</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15,041</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,064</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24,217</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Included in Europe and Rest of World are the following Net Sales significant balances:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Germany</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,697</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,881</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">China</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,800</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,476</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating income:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">216</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(671</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,331</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Rest of World</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">903</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">577</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">448</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td colspan="2" style="BORDER-BOTTOM: 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">($749)</p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Identifiable assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,385</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15,234</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Europe (primarily Germany)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,966</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,886</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Rest of World (primarily China)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,050</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">7,045</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">27,401</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">27,165</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;margin-left:auto;margin-right:auto;width:85%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">Year Ended December 31,</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">(in thousands)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2023</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">2022</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net sales:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,799</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,774</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,469</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,402</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Rest of World</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15,796</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15,041</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,064</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24,217</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Included in Europe and Rest of World are the following Net Sales significant balances:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Germany</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,697</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,881</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">China</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,800</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,476</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating income:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">216</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(671</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,331</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Rest of World</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">903</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">577</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">448</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td colspan="2" style="BORDER-BOTTOM: 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">($749)</p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Identifiable assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">U.S.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,385</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15,234</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Europe (primarily Germany)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,966</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,886</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in;text-indent:15px">Rest of World (primarily China)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,050</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">7,045</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">27,401</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">27,165</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 2799000 1774000 9469000 7402000 15796000 15041000 28064000 24217000 4697000 2881000 3800000 5476000 216000 5000 -671000 -1331000 903000 577000 448000 -749000 12385000 15234000 4966000 4886000 10050000 7045000 27401000 27165000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><strong>NOTE 14 – SUBSEQUENT EVENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">In preparing the financial statements, the Company has reviewed all known events which have occurred after December 31, 2023 through the date on which the financial statements are available for issuance, for potential recognition or disclosure in the consolidated financial statements and footnotes.  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">There were no other subsequent events which would require additional disclosures to the financial statements other than those already disclosed throughout the Notes to Consolidated Financial Statements.</p> 248