text: # -*- coding: utf-8 -*-
  #
  # const.py - A set of structures and constants used to implement the Ethernet/IP protocol
  #
  # Copyright (c) 2019 Ian Ottoway <ian@ottoway.dev>
  # Copyright (c) 2014 Agostino Ruscito <ruscito@gmail.com>
  #
  # Permission is hereby granted, free of charge, to any person obtaining a copy
  # of this software and associated documentation files (the "Software"), to deal
  # in the Software without restriction, including without limitation the rights
  # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  # copies of the Software, and to permit persons to whom the Software is
  # furnished to do so, subject to the following conditions:
  #
  # The above copyright notice and this permission notice shall be included in all
  # copies or substantial portions of the Software.
  #
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  # SOFTWARE.
  #
  
  from .map import EnumMap
  from .bytes_ import Pack, Unpack
  
  HEADER_SIZE = 24
  
  # used to estimate packet size  and determine
  # when to start a new packet
  MULTISERVICE_READ_OVERHEAD = 6
  READ_RESPONSE_OVERHEAD = 10
  
  MIN_VER_INSTANCE_IDS = 21  # using Symbol Instance Addressing not supported below version 21
  MIN_VER_LARGE_CONNECTIONS = 20  # >500 byte connections not supported below logix v20
  MIN_VER_EXTERNAL_ACCESS = 18  # ExternalAccess attributed added in v18
  MICRO800_PREFIX = '2080'  # catalog number prefix for Micro800 PLCs
  
  EXTENDED_SYMBOL = b'\x91'
  
  SUCCESS = 0
  INSUFFICIENT_PACKETS = 6
  OFFSET_MESSAGE_REQUEST = 40
  PAD = b'\x00'
  PRIORITY = b'\x0a'
  TIMEOUT_TICKS = b'\x05'
  TIMEOUT_MULTIPLIER = b'\x07'
  TRANSPORT_CLASS = b'\xa3'
  BASE_TAG_BIT = 1 << 26
  
  SEC_TO_US = 1_000_000  # seconds to microseconds
  
  TEMPLATE_MEMBER_INFO_LEN = 8  # 2B bit/array len, 2B datatype, 4B offset
  STRUCTURE_READ_REPLY = b'\xa0\x02'
  
  ELEMENT_TYPE = {
      "8-bit": b'\x28',
      "16-bit": b'\x29\x00',
      "32-bit": b'\x2a\x00\x00\x00'
  }
  
  CLASS_TYPE = {
      "8-bit": b'\x20',
      "16-bit": b'\x21\x00',
      1: b'\x20',  # length of code
      2: b'\x21\x00'
  }
  
  INSTANCE_TYPE = {
      "8-bit": b'\x24',
      "16-bit": b'\x25\x00',
      1: b'\x24',  # length of code
      2: b'\x25\x00'
  }
  
  ATTRIBUTE_TYPE = {
      "8-bit": b'\x30',
      "16-bit": b'\x31\x00',
      1: b'\x30',
      2: b'\x31\x00',
  }
  
  PATH_SEGMENTS = {
      'backplane': 0x01,
      'bp': 0x01,
      'enet': 0x02,
      'dhrio-a': 0x02,
      'dhrio-b': 0x03,
      'dnet': 0x02,
      'cnet': 0x02,
      'dh485-a': 0x02,
      'dh485-b': 0x03,
  }
  
  
  class ConnectionManagerService(EnumMap):
      forward_close = b'\x4E'
      unconnected_send = b'\x52'
      forward_open = b'\x54'
      get_connection_data = b'\x56'
      search_connection_data = b'\x57'
      get_connection_owner = b'\x5A'
      large_forward_open = b'\x5B'
  
  
  class ConnectionManagerInstance(EnumMap):
      open_request = b'\x01'
      open_format_rejected = b'\x02'
      open_resource_rejected = b'\x03'
      open_other_rejected = b'\x04'
      close_request = b'\x05'
      close_format_request = b'\x06'
      close_other_request = b'\x07'
      connection_timeout = b'\x08'
  
  
  class CommonService(EnumMap):
      get_attributes_all = b'\x01'
      set_attributes_all = b'\x02'
      get_attribute_list = b'\x03'
      set_attribute_list = b'\x04'
      reset = b'\x05'
      start = b'\x06'
      stop = b'\x07'
      create = b'\x08'
      delete = b'\x09'
      multiple_service_request = b'\x0A'
      apply_attributes = b'\x0D'
      get_attribute_single = b'\x0E'
      set_attribute_single = b'\x10'
      find_next_object_instance = b'\x11'
      error_response = b'\x14'
      restore = b'\x15'
      save = b'\x16'
      nop = b'\x17'
      get_member = b'\x18'
      set_member = b'\x19'
      insert_member = b'\x1A'
      remove_member = b'\x1B'
      group_sync = b'\x1C'
  
  
  class EncapsulationCommand(EnumMap):
      nop = b'\x00\x00'
      list_targets = b'\x01\x00'
      list_services = b'\x04\x00'
      list_identity = b'\x63\x00'
      list_interfaces = b'\x64\x00'
      register_session = b'\x65\x00'
      unregister_session = b'\x66\x00'
      send_rr_data = b'\x6F\x00'
      send_unit_data = b'\x70\x00'
  
  
  class ClassCode(EnumMap):
      identity_object = b'\x01'
      message_router = b'\x02'
      symbol_object = b'\x6b'
      template_object = b'\x6c'
      connection_manager = b'\x06'
      program_name = b'\x64'  # Rockwell KB# 23341
      wall_clock_time = b'\x8b'  # Micro800 CIP client messaging quick start
      tcpip = b'\xf5'
      ethernet_link = b'\xf6'
      modbus_serial_link = b'\x46'
  
  
  MSG_ROUTER_PATH = b''.join([CLASS_TYPE['8-bit'], ClassCode.message_router, INSTANCE_TYPE['8-bit'], b'\x01'])
  
  
  class TagService(EnumMap):
      read_tag = b'\x4C'
      read_tag_fragmented = b'\x52'
      write_tag = b'\x4D'
      write_tag_fragmented = b'\x53'
      read_modify_write = b'\x4E'
      get_instance_attribute_list = b'\x55'
  
      @classmethod
      def from_reply(cls, reply_service):
          return cls.get(Pack.usint(Unpack.usint(reply_service) - 128))
  
  
  MULTI_PACKET_SERVICES = {
      TagService.read_tag_fragmented,
      TagService.write_tag_fragmented,
      TagService.get_instance_attribute_list,
      CommonService.multiple_service_request,
      CommonService.get_attribute_list,
  }
  
  
  class DataItem(EnumMap):
      connected = b'\xb1\x00'
      unconnected = b'\xb2\x00'
  
  
  class AddressItem(EnumMap):
      connection = b'\xa1\x00'
      null = b'\x00\x00'
      uccm = b'\x00\x00'
  
  
  class DataTypeSize(EnumMap):
  
      bool = 1
      sint = 1
      usint = 1
      byte = 1
      int = 2
      uint = 2
      word = 2
      dint = 4
      udint = 4
      real = 4
      dword = 4
      lint = 8
      ulint = 8
      lword = 8
  
      short_string = 84
  
  
  class DataType(EnumMap):
      _return_caps_only_ = True  # datatype strings always in CAPS
  
      bool = 0xc1
      sint = 0xc2  # signed 8-bit integer
      int = 0xc3  # signed 16-bit integer
      dint = 0xc4  # signed 32-bit integer
      lint = 0xc5  # signed 64-bit integer
      usint = 0xc6  # unsigned 8-bit integer
      uint = 0xc7  # unsigned 16-bit integer
      udint = 0xc8  # unsigned 32-bit integer
      ulint = 0xc9  # unsigned 64-bit integer
      real = 0xca  # 32-bit floating point
      lreal = 0xcb  # 64-bit floating point
      stime = 0xcc  # synchronous time
      date = 0xcd
      time_of_day = 0xce
      date_and_time = 0xcf
      string = 0xd0  # character string (1 byte per character)
      byte = 0xd1  # byte string 8-bits
      word = 0xd2  # byte string 16-bits
      dword = 0xd3  # byte string 32-bits
      lword = 0xd4  # byte string 64-bits
      string2 = 0xd5  # character string (2 byte per character)
      ftime = 0xd6  # duration high resolution
      ltime = 0xd7  # duration long
      itime = 0xd8  # duration short
      stringn = 0xd9  # character string (n byte per character)
      short_string = 0xda  # character string (1 byte per character 1 byte length indicator)
      time = 0xdb  # duration in milliseconds
      epath = 0xdc  # cip path segment
      engunit = 0xdd  # engineering units
      stringi = 0xde  # international character string
  
  
  EXTERNAL_ACCESS = {
      0: 'Read/Write',
      1: 'Reserved',
      2: 'Read Only',
      3: 'None',
  }
  
  
  # States defined in CIP Spec Vol 1, chapter 5, Identity Object
  STATES = {
      0: 'Nonexistent',
      1: 'Device Self Testing',
      2: 'Standby',
      3: 'Operational',
      4: 'Major Recoverable Fault',
      5: 'Major Unrecoverable Fault',
      **{i: 'Reserved' for i in range(6, 255)},
      255: 'Default for Get_Attributes_All service'
  
  }
  
  # From Rockwell KB Article #28917
  KEYSWITCH = {
      96: {
          16: 'RUN',
          17: 'RUN',
          48: 'REMOTE RUN',
          49: 'REMOTE RUN'
      },
      112: {
          32: 'PROG',
          33: 'PROG',
          48: 'REMOTE PROG',
          49: 'REMOTE PROG'
      }
  }
  
  
  """
  EtherNet/IP Encapsulation Error Codes
  
  Standard CIP Encapsulation Error returned in the cip message header
  """
  STATUS = {
      0x0000: "Success",
      0x0001: "The sender issued an invalid or unsupported encapsulation command",
      0x0002: "Insufficient memory",
      0x0003: "Poorly formed or incorrect data in the data portion",
      0x0064: "An originator used an invalid session handle when sending an encapsulation message to the target",
      0x0065: "The target received a message of invalid length",
      0x0069: "Unsupported Protocol Version"
  }
  
  """
  MSG Error Codes:
  
  The following error codes have been taken from:
  
  Rockwell Automation Publication
  1756-RM003P-EN-P - December 2014
  """
  
  
  SERVICE_STATUS = {
      0x01: "Connection failure (see extended status)",
      0x02: "Insufficient resource",
      0x03: "Invalid value",
      0x04: "IOI syntax error. A syntax error was detected decoding the Request Path (see extended status)",
      0x05: "Destination unknown, class unsupported, instance undefined or structure element undefined (see extended status)",
      0x06: "Insufficient Packet Space",
      0x07: "Connection lost",
      0x08: "Service not supported",
      0x09: "Error in data segment or invalid attribute value",
      0x0A: "Attribute list error",
      0x0B: "State already exist",
      0x0C: "Object state conflict",
      0x0D: "Object already exist",
      0x0E: "Attribute not settable",
      0x0F: "Permission denied",
      0x10: "Device state conflict",
      0x11: "Reply data too large",
      0x12: "Fragmentation of a primitive value",
      0x13: "Insufficient command data",
      0x14: "Attribute not supported",
      0x15: "Too much data",
      0x16: "Object does not exist",
      0x1A: "Bridge request too large",
      0x1B: "Bridge response too large",
      0x1C: "Attribute list shortage",
      0x1D: "Invalid attribute list",
      0x1E: "Request service error",
      0x1F: "Connection related failure (see extended status)",
      0x22: "Invalid reply received",
      0x25: "Key segment error",
      0x26: "Invalid IOI error",
      0x27: "Unexpected attribute in list",
      0x28: "DeviceNet error - invalid member ID",
      0x29: "DeviceNet error - member not settable",
      0xD1: "Module not in run state",
      0xFB: "Message port not supported",
      0xFC: "Message unsupported data type",
      0xFD: "Message uninitialized",
      0xFE: "Message timeout",
      0xff: "General Error (see extended status)"
  }
  
  
  EXTEND_CODES = {
      0x01: {
          0x0100: "Connection in use",
          0x0103: "Transport not supported",
          0x0106: "Ownership conflict",
          0x0107: "Connection not found",
          0x0108: "Invalid connection type",
          0x0109: "Invalid connection size",
          0x0110: "Module not configured",
          0x0111: "EPR not supported",
          0x0114: "Wrong module",
          0x0115: "Wrong device type",
          0x0116: "Wrong revision",
          0x0118: "Invalid configuration format",
          0x011A: "Application out of connections",
          0x0203: "Connection timeout",
          0x0204: "Unconnected message timeout",
          0x0205: "Unconnected send parameter error",
          0x0206: "Message too large",
          0x0301: "No buffer memory",
          0x0302: "Bandwidth not available",
          0x0303: "No screeners available",
          0x0305: "Signature match",
          0x0311: "Port not available",
          0x0312: "Link address not available",
          0x0315: "Invalid segment type",
          0x0317: "Connection not scheduled"
      },
      0x04: {
          0x0000: "Extended status out of memory",
          0x0001: "Extended status out of instances"
      },
      0x05: {
          0x0000: "Extended status out of memory",
          0x0001: "Extended status out of instances"
      },
      0x1F: {
          0x0203: "Connection timeout"
      },
      0xff: {
          0x7: "Wrong data type",
          0x2001: "Excessive IOI",
          0x2002: "Bad parameter value",
          0x2018: "Semaphore reject",
          0x201B: "Size too small",
          0x201C: "Invalid size",
          0x2100: "Privilege failure",
          0x2101: "Invalid keyswitch position",
          0x2102: "Password invalid",
          0x2103: "No password issued",
          0x2104: "Address out of range",
          0x2105: "Access beyond end of the object",
          0x2106: "Data in use",
          0x2107: "Tag type used in request does not match the target tag's data type",
          0x2108: "Controller in upload or download mode",
          0x2109: "Attempt to change number of array dimensions",
          0x210A: "Invalid symbol name",
          0x210B: "Symbol does not exist",
          0x210E: "Search failed",
          0x210F: "Task cannot start",
          0x2110: "Unable to write",
          0x2111: "Unable to read",
          0x2112: "Shared routine not editable",
          0x2113: "Controller in faulted mode",
          0x2114: "Run mode inhibited"
  
      }
  }
  
  
  PCCC_DATA_TYPE = {
      'N': b'\x89',
      'B': b'\x85',
      'T': b'\x86',
      'C': b'\x87',
      'S': b'\x84',
      'F': b'\x8a',
      'ST': b'\x8d',
      'A': b'\x8e',
      'R': b'\x88',
      'O': b'\x8b',
      'I': b'\x8c'
  }
  
  
  PCCC_DATA_SIZE = {
      'N': 2,
      # 'L': 4,
      'B': 2,
      'T': 6,
      'C': 6,
      'S': 2,
      'F': 4,
      'ST': 84,
      'A': 2,
      'R': 6,
      'O': 2,
      'I': 2
  }
  
  
  PCCC_CT = {
      'PRE': 1,
      'ACC': 2,
      'EN': 15,
      'TT': 14,
      'DN': 13,
      'CU': 15,
      'CD': 14,
      'OV': 12,
      'UN': 11,
      'UA': 10
  }
  
  
  PCCC_ERROR_CODE = {
      -2: "Not Acknowledged (NAK)",
      -3: "No Reponse, Check COM Settings",
      -4: "Unknown Message from DataLink Layer",
      -5: "Invalid Address",
      -6: "Could Not Open Com Port",
      -7: "No data specified to data link layer",
      -8: "No data returned from PLC",
      -20: "No Data Returned",
      16: "Illegal Command or Format, Address may not exist or not enough elements in data file",
      32: "PLC Has a Problem and Will Not Communicate",
      48: "Remote Node Host is Missing, Disconnected, or Shut Down",
      64: "Host Could Not Complete Function Due To Hardware Fault",
      80: "Addressing problem or Memory Protect Rungs",
      96: "Function not allows due to command protection selection",
      112: "Processor is in Program mode",
      128: "Compatibility mode file missing or communication zone problem",
      144: "Remote node cannot buffer command",
      240: "Error code in EXT STS Byte"
  }
  
  
  #  Taken from PyLogix
  # List originally came from Wireshark /epan/dissectors/packet-cip.c
  PRODUCT_TYPES = {
      0x00: 'Generic Device (deprecated)',
      0x02: 'AC Drive',
      0x03: 'Motor Overload',
      0x04: 'Limit Switch',
      0x05: 'Inductive Proximity Switch',
      0x06: 'Photoelectric Sensor',
      0x07: 'General Purpose Discrete I/O',
      0x09: 'Resolver',
      0x0C: 'Communications Adapter',
      0x0E: 'Programmable Logic Controller',
      0x10: 'Position Controller',
      0x13: 'DC Drive',
      0x15: 'Contactor',
      0x16: 'Motor Starter',
      0x17: 'Soft Start',
      0x18: 'Human-Machine Interface',
      0x1A: 'Mass Flow Controller',
      0x1B: 'Pneumatic Valve',
      0x1C: 'Vacuum Pressure Gauge',
      0x1D: 'Process Control Value',
      0x1E: 'Residual Gas Analyzer',
      0x1F: 'DC Power Generator',
      0x20: 'RF Power Generator',
      0x21: 'Turbomolecular Vacuum Pump',
      0x22: 'Encoder',
      0x23: 'Safety Discrete I/O Device',
      0x24: 'Fluid Flow Controller',
      0x25: 'CIP Motion Drive',
      0x26: 'CompoNet Repeater',
      0x27: 'Mass Flow Controller, Enhanced',
      0x28: 'CIP Modbus Device',
      0x29: 'CIP Modbus Translator',
      0x2A: 'Safety Analog I/O Device',
      0x2B: 'Generic Device (keyable)',
      0x2C: 'Managed Switch',
      0x32: 'ControlNet Physical Layer Component'
  }
  
  #  Taken from PyLogix
  # List originally came from Wireshark /epan/dissectors/packet-cip.c
  VENDORS = {
      0: 'Reserved',
      1: 'Rockwell Automation/Allen-Bradley',
      2: 'Namco Controls Corp.',
      3: 'Honeywell Inc.',
      4: 'Parker Hannifin Corp. (Veriflo Division)',
      5: 'Rockwell Automation/Reliance Elec.',
      6: 'Reserved',
      7: 'SMC Corporation',
      8: 'Molex Incorporated',
      9: 'Western Reserve Controls Corp.',
      10: 'Advanced Micro Controls Inc. (AMCI)',
      11: 'ASCO Pneumatic Controls',
      12: 'Banner Engineering Corp.',
      13: 'Belden Wire & Cable Company',
      14: 'Cooper Interconnect',
      15: 'Reserved',
      16: 'Daniel Woodhead Co. (Woodhead Connectivity)',
      17: 'Dearborn Group Inc.',
      18: 'Reserved',
      19: 'Helm Instrument Company',
      20: 'Huron Net Works',
      21: 'Lumberg, Inc.',
      22: 'Online Development Inc.(Automation Value)',
      23: 'Vorne Industries, Inc.',
      24: 'ODVA Special Reserve',
      25: 'Reserved',
      26: 'Festo Corporation',
      27: 'Reserved',
      28: 'Reserved',
      29: 'Reserved',
      30: 'Unico, Inc.',
      31: 'Ross Controls',
      32: 'Reserved',
      33: 'Reserved',
      34: 'Hohner Corp.',
      35: 'Micro Mo Electronics, Inc.',
      36: 'MKS Instruments, Inc.',
      37: 'Yaskawa Electric America formerly Magnetek Drives',
      38: 'Reserved',
      39: 'AVG Automation (Uticor)',
      40: 'Wago Corporation',
      41: 'Kinetics (Unit Instruments)',
      42: 'IMI Norgren Limited',
      43: 'BALLUFF, Inc.',
      44: 'Yaskawa Electric America, Inc.',
      45: 'Eurotherm Controls Inc',
      46: 'ABB Industrial Systems',
      47: 'Omron Corporation',
      48: 'TURCk, Inc.',
      49: 'Grayhill Inc.',
      50: 'Real Time Automation (C&ID)',
      51: 'Reserved',
      52: 'Numatics, Inc.',
      53: 'Lutze, Inc.',
      54: 'Reserved',
      55: 'Reserved',
      56: 'Softing GmbH',
      57: 'Pepperl + Fuchs',
      58: 'Spectrum Controls, Inc.',
      59: 'D.I.P. Inc. MKS Inst.',
      60: 'Applied Motion Products, Inc.',
      61: 'Sencon Inc.',
      62: 'High Country Tek',
      63: 'SWAC Automation Consult GmbH',
      64: 'Clippard Instrument Laboratory',
      65: 'Reserved',
      66: 'Reserved',
      67: 'Reserved',
      68: 'Eaton Electrical',
      69: 'Reserved',
      70: 'Reserved',
      71: 'Toshiba International Corp.',
      72: 'Control Technology Incorporated',
      73: 'TCS (NZ) Ltd.',
      74: 'Hitachi, Ltd.',
      75: 'ABB Robotics Products AB',
      76: 'NKE Corporation',
      77: 'Rockwell Software, Inc.',
      78: 'Escort Memory Systems (A Datalogic Group Co.)',
      79: 'Reserved',
      80: 'Industrial Devices Corporation',
      81: 'IXXAT Automation GmbH',
      82: 'Mitsubishi Electric Automation, Inc.',
      83: 'OPTO-22',
      84: 'Reserved',
      85: 'Reserved',
      86: 'Horner Electric',
      87: 'Burkert Werke GmbH & Co. KG',
      88: 'Reserved',
      89: 'Industrial Indexing Systems, Inc.',
      90: 'HMS Industrial Networks AB',
      91: 'Robicon',
      92: 'Helix Technology (Granville-Phillips)',
      93: 'Arlington Laboratory',
      94: 'Advantech Co. Ltd.',
      95: 'Square D Company',
      96: 'Digital Electronics Corp.',
      97: 'Danfoss',
      98: 'Reserved',
      99: 'Reserved',
      100: 'Bosch Rexroth Corporation, Pneumatics',
      101: 'Applied Materials, Inc.',
      102: 'Showa Electric Wire & Cable Co.',
      103: 'Pacific Scientific (API Controls Inc.)',
      104: 'Sharp Manufacturing Systems Corp.',
      105: 'Olflex Wire & Cable, Inc.',
      106: 'Reserved',
      107: 'Unitrode',
      108: 'Beckhoff Automation GmbH',
      109: 'National Instruments',
      110: 'Mykrolis Corporations (Millipore)',
      111: 'International Motion Controls Corp.',
      112: 'Reserved',
      113: 'SEG Kempen GmbH',
      114: 'Reserved',
      115: 'Reserved',
      116: 'MTS Systems Corp.',
      117: 'Krones, Inc',
      118: 'Reserved',
      119: 'EXOR Electronic R & D',
      120: 'SIEI S.p.A.',
      121: 'KUKA Roboter GmbH',
      122: 'Reserved',
      123: 'SEC (Samsung Electronics Co., Ltd)',
      124: 'Binary Electronics Ltd',
      125: 'Flexible Machine Controls',
      126: 'Reserved',
      127: 'ABB Inc. (Entrelec)',
      128: 'MAC Valves, Inc.',
      129: 'Auma Actuators Inc',
      130: 'Toyoda Machine Works, Ltd',
      131: 'Reserved',
      132: 'Reserved',
      133: 'Balogh T.A.G., Corporation',
      134: 'TR Systemtechnik GmbH',
      135: 'UNIPULSE Corporation',
      136: 'Reserved',
      137: 'Reserved',
      138: 'Conxall Corporation Inc.',
      139: 'Reserved',
      140: 'Reserved',
      141: 'Kuramo Electric Co., Ltd.',
      142: 'Creative Micro Designs',
      143: 'GE Industrial Systems',
      144: 'Leybold Vacuum GmbH',
      145: 'Siemens Energy & Automation/Drives',
      146: 'Kodensha Ltd',
      147: 'Motion Engineering, Inc.',
      148: 'Honda Engineering Co., Ltd',
      149: 'EIM Valve Controls',
      150: 'Melec Inc.',
      151: 'Sony Manufacturing Systems Corporation',
      152: 'North American Mfg.',
      153: 'WATLOW',
      154: 'Japan Radio Co., Ltd',
      155: 'NADEX Co., Ltd',
      156: 'Ametek Automation & Process Technologies',
      157: 'Reserved',
      158: 'KVASER AB',
      159: 'IDEC IZUMI Corporation',
      160: 'Mitsubishi Heavy Industries Ltd',
      161: 'Mitsubishi Electric Corporation',
      162: 'Horiba-STEC Inc.',
      163: 'esd electronic system design gmbh',
      164: 'DAIHEN Corporation',
      165: 'Tyco Valves & Controls/Keystone',
      166: 'EBARA Corporation',
      167: 'Reserved',
      168: 'Reserved',
      169: 'Hokuyo Electric Co. Ltd',
      170: 'Pyramid Solutions, Inc.',
      171: 'Denso Wave Incorporated',
      172: 'HLS Hard-Line Solutions Inc',
      173: 'Caterpillar, Inc.',
      174: 'PDL Electronics Ltd.',
      175: 'Reserved',
      176: 'Red Lion Controls',
      177: 'ANELVA Corporation',
      178: 'Toyo Denki Seizo KK',
      179: 'Sanyo Denki Co., Ltd',
      180: 'Advanced Energy Japan K.K. (Aera Japan)',
      181: 'Pilz GmbH & Co',
      182: 'Marsh Bellofram-Bellofram PCD Division',
      183: 'Reserved',
      184: 'M-SYSTEM Co. Ltd',
      185: 'Nissin Electric Co., Ltd',
      186: 'Hitachi Metals Ltd.',
      187: 'Oriental Motor Company',
      188: 'A&D Co., Ltd',
      189: 'Phasetronics, Inc.',
      190: 'Cummins Engine Company',
      191: 'Deltron Inc.',
      192: 'Geneer Corporation',
      193: 'Anatol Automation, Inc.',
      194: 'Reserved',
      195: 'Reserved',
      196: 'Medar, Inc.',
      197: 'Comdel Inc.',
      198: 'Advanced Energy Industries, Inc',
      199: 'Reserved',
      200: 'DAIDEN Co., Ltd',
      201: 'CKD Corporation',
      202: 'Toyo Electric Corporation',
      203: 'Reserved',
      204: 'AuCom Electronics Ltd',
      205: 'Shinko Electric Co., Ltd',
      206: 'Vector Informatik GmbH',
      207: 'Reserved',
      208: 'Moog Inc.',
      209: 'Contemporary Controls',
      210: 'Tokyo Sokki Kenkyujo Co., Ltd',
      211: 'Schenck-AccuRate, Inc.',
      212: 'The Oilgear Company',
      213: 'Reserved',
      214: 'ASM Japan K.K.',
      215: 'HIRATA Corp.',
      216: 'SUNX Limited',
      217: 'Meidensha Corp.',
      218: 'NIDEC SANKYO CORPORATION (Sankyo Seiki Mfg. Co., Ltd)',
      219: 'KAMRO Corp.',
      220: 'Nippon System Development Co., Ltd',
      221: 'EBARA Technologies Inc.',
      222: 'Reserved',
      223: 'Reserved',
      224: 'SG Co., Ltd',
      225: 'Vaasa Institute of Technology',
      226: 'MKS Instruments (ENI Technology)',
      227: 'Tateyama System Laboratory Co., Ltd.',
      228: 'QLOG Corporation',
      229: 'Matric Limited Inc.',
      230: 'NSD Corporation',
      231: 'Reserved',
      232: 'Sumitomo Wiring Systems, Ltd',
      233: 'Group 3 Technology Ltd',
      234: 'CTI Cryogenics',
      235: 'POLSYS CORP',
      236: 'Ampere Inc.',
      237: 'Reserved',
      238: 'Simplatroll Ltd',
      239: 'Reserved',
      240: 'Reserved',
      241: 'Leading Edge Design',
      242: 'Humphrey Products',
      243: 'Schneider Automation, Inc.',
      244: 'Westlock Controls Corp.',
      245: 'Nihon Weidmuller Co., Ltd',
      246: 'Brooks Instrument (Div. of Emerson)',
      247: 'Reserved',
      248: ' Moeller GmbH',
      249: 'Varian Vacuum Products',
      250: 'Yokogawa Electric Corporation',
      251: 'Electrical Design Daiyu Co., Ltd',
      252: 'Omron Software Co., Ltd',
      253: 'BOC Edwards',
      254: 'Control Technology Corporation',
      255: 'Bosch Rexroth',
      256: 'Turck',
      257: 'Control Techniques PLC',
      258: 'Hardy Instruments, Inc.',
      259: 'LS Industrial Systems',
      260: 'E.O.A. Systems Inc.',
      261: 'Reserved',
      262: 'New Cosmos Electric Co., Ltd.',
      263: 'Sense Eletronica LTDA',
      264: 'Xycom, Inc.',
      265: 'Baldor Electric',
      266: 'Reserved',
      267: 'Patlite Corporation',
      268: 'Reserved',
      269: 'Mogami Wire & Cable Corporation',
      270: 'Welding Technology Corporation (WTC)',
      271: 'Reserved',
      272: 'Deutschmann Automation GmbH',
      273: 'ICP Panel-Tec Inc.',
      274: 'Bray Controls USA',
      275: 'Reserved',
      276: 'Status Technologies',
      277: 'Trio Motion Technology Ltd',
      278: 'Sherrex Systems Ltd',
      279: 'Adept Technology, Inc.',
      280: 'Spang Power Electronics',
      281: 'Reserved',
      282: 'Acrosser Technology Co., Ltd',
      283: 'Hilscher GmbH',
      284: 'IMAX Corporation',
      285: 'Electronic Innovation, Inc. (Falter Engineering)',
      286: 'Netlogic Inc.',
      287: 'Bosch Rexroth Corporation, Indramat',
      288: 'Reserved',
      289: 'Reserved',
      290: 'Murata Machinery Ltd.',
      291: 'MTT Company Ltd.',
      292: 'Kanematsu Semiconductor Corp.',
      293: 'Takebishi Electric Sales Co.',
      294: 'Tokyo Electron Device Ltd',
      295: 'PFU Limited',
      296: 'Hakko Automation Co., Ltd.',
      297: 'Advanet Inc.',
      298: 'Tokyo Electron Software Technologies Ltd.',
      299: 'Reserved',
      300: 'Shinagawa Electric Wire Co., Ltd.',
      301: 'Yokogawa M&C Corporation',
      302: 'KONAN Electric Co., Ltd.',
      303: 'Binar Elektronik AB',
      304: 'Furukawa Electric Co.',
      305: 'Cooper Energy Services',
      306: 'Schleicher GmbH & Co.',
      307: 'Hirose Electric Co., Ltd',
      308: 'Western Servo Design Inc.',
      309: 'Prosoft Technology',
      310: 'Reserved',
      311: 'Towa Shoko Co., Ltd',
      312: 'Kyopal Co., Ltd',
      313: 'Extron Co.',
      314: 'Wieland Electric GmbH',
      315: 'SEW Eurodrive GmbH',
      316: 'Aera Corporation',
      317: 'STA Reutlingen',
      318: 'Reserved',
      319: 'Fuji Electric Co., Ltd.',
      320: 'Reserved',
      321: 'Reserved',
      322: 'ifm efector, inc.',
      323: 'Reserved',
      324: 'IDEACOD-Hohner Automation S.A.',
      325: 'CommScope Inc.',
      326: 'GE Fanuc Automation North America, Inc.',
      327: 'Matsushita Electric Industrial Co., Ltd',
      328: 'Okaya Electronics Corporation',
      329: 'KASHIYAMA Industries, Ltd',
      330: 'JVC',
      331: 'Interface Corporation',
      332: 'Grape Systems Inc.',
      333: 'Reserved',
      334: 'Reserved',
      335: 'Toshiba IT & Control Systems Corporation',
      336: 'Sanyo Machine Works, Ltd.',
      337: 'Vansco Electronics Ltd.',
      338: 'Dart Container Corp.',
      339: 'Livingston & Co., Inc.',
      340: 'Alfa Laval LKM as',
      341: 'BF ENTRON Ltd. (British Federal)',
      342: 'Bekaert Engineering NV',
      343: 'Ferran Scientific Inc.',
      344: 'KEBA AG',
      345: 'Endress + Hauser',
      346: 'Reserved',
      347: 'ABB ALSTOM Power UK Ltd. (EGT)',
      348: 'Berger Lahr GmbH',
      349: 'Reserved',
      350: 'Federal Signal Corp.',
      351: 'Kawasaki Robotics (USA), Inc.',
      352: 'Bently Nevada Corporation',
      353: 'Reserved',
      354: 'FRABA Posital GmbH',
      355: 'Elsag Bailey, Inc.',
      356: 'Fanuc Robotics America',
      357: 'Reserved',
      358: 'Surface Combustion, Inc.',
      359: 'Reserved',
      360: 'AILES Electronics Ind. Co., Ltd.',
      361: 'Wonderware Corporation',
      362: 'Particle Measuring Systems, Inc.',
      363: 'Reserved',
      364: 'Reserved',
      365: 'BITS Co., Ltd',
      366: 'Japan Aviation Electronics Industry Ltd',
      367: 'Keyence Corporation',
      368: 'Kuroda Precision Industries Ltd.',
      369: 'Mitsubishi Electric Semiconductor Application',
      370: 'Nippon Seisen Cable, Ltd.',
      371: 'Omron ASO Co., Ltd',
      372: 'Seiko Seiki Co., Ltd.',
      373: 'Sumitomo Heavy Industries, Ltd.',
      374: 'Tango Computer Service Corporation',
      375: 'Technology Service, Inc.',
      376: 'Toshiba Information Systems (Japan) Corporation',
      377: 'TOSHIBA Schneider Inverter Corporation',
      378: 'Toyooki Kogyo Co., Ltd.',
      379: 'XEBEC',
      380: 'Madison Cable Corporation',
      381: 'Hitati Engineering & Services Co., Ltd',
      382: 'TEM-TECH Lab Co., Ltd',
      383: 'International Laboratory Corporation',
      384: 'Dyadic Systems Co., Ltd.',
      385: 'SETO Electronics Industry Co., Ltd',
      386: 'Tokyo Electron Kyushu Limited',
      387: 'KEI System Co., Ltd',
      388: 'Reserved',
      389: 'Asahi Engineering Co., Ltd',
      390: 'Contrex Inc.',
      391: 'Paradigm Controls Ltd.',
      392: 'Reserved',
      393: 'Ohm Electric Co., Ltd.',
      394: 'RKC Instrument Inc.',
      395: 'Suzuki Motor Corporation',
      396: 'Custom Servo Motors Inc.',
      397: 'PACE Control Systems',
      398: 'Reserved',
      399: 'Reserved',
      400: 'LINTEC Co., Ltd.',
      401: 'Hitachi Cable Ltd.',
      402: 'BUSWARE Direct',
      403: 'Eaton Electric B.V. (former Holec Holland N.V.)',
      404: 'VAT Vakuumventile AG',
      405: 'Scientific Technologies Incorporated',
      406: 'Alfa Instrumentos Eletronicos Ltda',
      407: 'TWK Elektronik GmbH',
      408: 'ABB Welding Systems AB',
      409: 'BYSTRONIC Maschinen AG',
      410: 'Kimura Electric Co., Ltd',
      411: 'Nissei Plastic Industrial Co., Ltd',
      412: 'Reserved',
      413: 'Kistler-Morse Corporation',
      414: 'Proteous Industries Inc.',
      415: 'IDC Corporation',
      416: 'Nordson Corporation',
      417: 'Rapistan Systems',
      418: 'LP-Elektronik GmbH',
      419: 'GERBI & FASE S.p.A.(Fase Saldatura)',
      420: 'Phoenix Digital Corporation',
      421: 'Z-World Engineering',
      422: 'Honda R&D Co., Ltd.',
      423: 'Bionics Instrument Co., Ltd.',
      424: 'Teknic, Inc.',
      425: 'R.Stahl, Inc.',
      426: 'Reserved',
      427: 'Ryco Graphic Manufacturing Inc.',
      428: 'Giddings & Lewis, Inc.',
      429: 'Koganei Corporation',
      430: 'Reserved',
      431: 'Nichigoh Communication Electric Wire Co., Ltd.',
      432: 'Reserved',
      433: 'Fujikura Ltd.',
      434: 'AD Link Technology Inc.',
      435: 'StoneL Corporation',
      436: 'Computer Optical Products, Inc.',
      437: 'CONOS Inc.',
      438: 'Erhardt + Leimer GmbH',
      439: 'UNIQUE Co. Ltd',
      440: 'Roboticsware, Inc.',
      441: 'Nachi Fujikoshi Corporation',
      442: 'Hengstler GmbH',
      443: 'Reserved',
      444: 'SUNNY GIKEN Inc.',
      445: 'Lenze Drive Systems GmbH',
      446: 'CD Systems B.V.',
      447: 'FMT/Aircraft Gate Support Systems AB',
      448: 'Axiomatic Technologies Corp',
      449: 'Embedded System Products, Inc.',
      450: 'Reserved',
      451: 'Mencom Corporation',
      452: 'Reserved',453: 'Matsushita Welding Systems Co., Ltd.',
      454: 'Dengensha Mfg. Co. Ltd.',
      455: 'Quinn Systems Ltd.',
      456: 'Tellima Technology Ltd',
      457: 'MDT, Software',
      458: 'Taiwan Keiso Co., Ltd',
      459: 'Pinnacle Systems',
      460: 'Ascom Hasler Mailing Sys',
      461: 'INSTRUMAR Limited',
      462: 'Reserved',
      463: 'Navistar International Transportation Corp',
      464: 'Huettinger Elektronik GmbH + Co. KG',
      465: 'OCM Technology Inc.',
      466: 'Professional Supply Inc.',
      468: 'Baumer IVO GmbH & Co. KG',
      469: 'Worcester Controls Corporation',
      470: 'Pyramid Technical Consultants, Inc.',
      471: 'Reserved',
      472: 'Apollo Fire Detectors Limited',
      473: 'Avtron Manufacturing, Inc.',
      474: 'Reserved',
      475: 'Tokyo Keiso Co., Ltd.',
      476: 'Daishowa Swiki Co., Ltd.',
      477: 'Kojima Instruments Inc.',
      478: 'Shimadzu Corporation',
      479: 'Tatsuta Electric Wire & Cable Co., Ltd.',
      480: 'MECS Corporation',
      481: 'Tahara Electric',
      482: 'Koyo Electronics',
      483: 'Clever Devices',
      484: 'GCD Hardware & Software GmbH',
      485: 'Reserved',
      486: 'Miller Electric Mfg Co.',
      487: 'GEA Tuchenhagen GmbH',
      488: 'Riken Keiki Co., LTD',
      489: 'Keisokugiken Corporation',
      490: 'Fuji Machine Mfg. Co., Ltd',
      491: 'Reserved',
      492: 'Nidec-Shimpo Corp.',
      493: 'UTEC Corporation',
      494: 'Sanyo Electric Co. Ltd.',
      495: 'Reserved',
      496: 'Reserved',
      497: 'Okano Electric Wire Co. Ltd',
      498: 'Shimaden Co. Ltd.',
      499: 'Teddington Controls Ltd',
      500: 'Reserved',
      501: 'VIPA GmbH',
      502: 'Warwick Manufacturing Group',
      503: 'Danaher Controls',
      504: 'Reserved',
      505: 'Reserved',
      506: 'American Science & Engineering',
      507: 'Accutron Controls International Inc.',
      508: 'Norcott Technologies Ltd',
      509: 'TB Woods, Inc',
      510: 'Proportion-Air, Inc.',
      511: 'SICK Stegmann GmbH',
      512: 'Reserved',
      513: 'Edwards Signaling',
      514: 'Sumitomo Metal Industries, Ltd',
      515: 'Cosmo Instruments Co., Ltd.',
      516: 'Denshosha Co., Ltd.',
      517: 'Kaijo Corp.',
      518: 'Michiproducts Co., Ltd.',
      519: 'Miura Corporation',
      520: 'TG Information Network Co., Ltd.',
      521: 'Fujikin , Inc.',
      522: 'Estic Corp.',
      523: 'GS Hydraulic Sales',
      524: 'Reserved',
      525: 'MTE Limited',
      526: 'Hyde Park Electronics, Inc.',
      527: 'Pfeiffer Vacuum GmbH',
      528: 'Cyberlogic Technologies',
      529: 'OKUMA Corporation FA Systems Division',
      530: 'Reserved',
      531: 'Hitachi Kokusai Electric Co., Ltd.',
      532: 'SHINKO TECHNOS Co., Ltd.',
      533: 'Itoh Electric Co., Ltd.',
      534: 'Colorado Flow Tech Inc.',
      535: 'Love Controls Division/Dwyer Inst.',
      536: 'Alstom Drives and Controls',
      537: 'The Foxboro Company',
      538: 'Tescom Corporation',
      539: 'Reserved',
      540: 'Atlas Copco Controls UK',
      541: 'Reserved',
      542: 'Autojet Technologies',
      543: 'Prima Electronics S.p.A.',
      544: 'PMA GmbH',
      545: 'Shimafuji Electric Co., Ltd',
      546: 'Oki Electric Industry Co., Ltd',
      547: 'Kyushu Matsushita Electric Co., Ltd',
      548: 'Nihon Electric Wire & Cable Co., Ltd',
      549: 'Tsuken Electric Ind Co., Ltd',
      550: 'Tamadic Co.',
      551: 'MAATEL SA',
      552: 'OKUMA America',
      554: 'TPC Wire & Cable',
      555: 'ATI Industrial Automation',
      557: 'Serra Soldadura, S.A.',
      558: 'Southwest Research Institute',
      559: 'Cabinplant International',
      560: 'Sartorius Mechatronics T&H GmbH',
      561: 'Comau S.p.A. Robotics & Final Assembly Division',
      562: 'Phoenix Contact',
      563: 'Yokogawa MAT Corporation',
      564: 'asahi sangyo co., ltd.',
      565: 'Reserved',
      566: 'Akita Myotoku Ltd.',
      567: 'OBARA Corp.',
      568: 'Suetron Electronic GmbH',
      569: 'Reserved',
      570: 'Serck Controls Limited',
      571: 'Fairchild Industrial Products Company',
      572: 'ARO S.A.',
      573: 'M2C GmbH',
      574: 'Shin Caterpillar Mitsubishi Ltd.',
      575: 'Santest Co., Ltd.',
      576: 'Cosmotechs Co., Ltd.',
      577: 'Hitachi Electric Systems',
      578: 'Smartscan Ltd',
      579: 'Woodhead Software & Electronics France',
      580: 'Athena Controls, Inc.',
      581: 'Syron Engineering & Manufacturing, Inc.',
      582: 'Asahi Optical Co., Ltd.',
      583: 'Sansha Electric Mfg. Co., Ltd.',
      584: 'Nikki Denso Co., Ltd.',
      585: 'Star Micronics, Co., Ltd.',
      586: 'Ecotecnia Socirtat Corp.',
      587: 'AC Technology Corp.',
      588: 'West Instruments Limited',
      589: 'NTI Limited',
      590: 'Delta Computer Systems, Inc.',
      591: 'FANUC Ltd.',
      592: 'Hearn-Gu Lee',
      593: 'ABB Automation Products',
      594: 'Orion Machinery Co., Ltd.',
      595: 'Reserved',
      596: 'Wire-Pro, Inc.',
      597: 'Beijing Huakong Technology Co. Ltd.',
      598: 'Yokoyama Shokai Co., Ltd.',
      599: 'Toyogiken Co., Ltd.',
      600: 'Coester Equipamentos Eletronicos Ltda.',
      601: 'Reserved',
      602: 'Electroplating Engineers of Japan Ltd.',
      603: 'ROBOX S.p.A.',
      604: 'Spraying Systems Company',
      605: 'Benshaw Inc.',
      606: 'ZPA-DP A.S.',
      607: 'Wired Rite Systems',
      608: 'Tandis Research, Inc.',
      609: 'SSD Drives GmbH',
      610: 'ULVAC Japan Ltd.',
      611: 'DYNAX Corporation',
      612: 'Nor-Cal Products, Inc.',
      613: 'Aros Electronics AB',
      614: 'Jun-Tech Co., Ltd.',
      615: 'HAN-MI Co. Ltd.',
      616: 'uniNtech (formerly SungGi Internet)',
      617: 'Hae Pyung Electronics Reserch Institute',
      618: 'Milwaukee Electronics',
      619: 'OBERG Industries',
      620: 'Parker Hannifin/Compumotor Division',
      621: 'TECHNO DIGITAL CORPORATION',
      622: 'Network Supply Co., Ltd.',
      623: 'Union Electronics Co., Ltd.',
      624: 'Tritronics Services PM Ltd.',
      625: 'Rockwell Automation-Sprecher+Schuh',
      626: 'Matsushita Electric Industrial Co., Ltd/Motor Co.',
      627: 'Rolls-Royce Energy Systems, Inc.',
      628: 'JEONGIL INTERCOM CO., LTD',
      629: 'Interroll Corp.',
      630: 'Hubbell Wiring Device-Kellems (Delaware)',
      631: 'Intelligent Motion Systems',
      632: 'Reserved',
      633: 'INFICON AG',
      634: 'Hirschmann, Inc.',
      635: 'The Siemon Company',
      636: 'YAMAHA Motor Co. Ltd.',
      637: 'aska corporation',
      638: 'Woodhead Connectivity',
      639: 'Trimble AB',
      640: 'Murrelektronik GmbH',
      641: 'Creatrix Labs, Inc.',
      642: 'TopWorx',
      643: 'Kumho Industrial Co., Ltd.',
      644: 'Wind River Systems, Inc.',
      645: 'Bihl & Wiedemann GmbH',
      646: 'Harmonic Drive Systems Inc.',
      647: 'Rikei Corporation',
      648: 'BL Autotec, Ltd.',
      649: 'Hana Information & Technology Co., Ltd.',
      650: 'Seoil Electric Co., Ltd.',
      651: 'Fife Corporation',
      652: 'Shanghai Electrical Apparatus Research Institute',
      653: 'Reserved',
      654: 'Parasense Development Centre',
      655: 'Reserved',
      656: 'Reserved',
      657: 'Six Tau S.p.A.',
      658: 'Aucos GmbH',
      659: 'Rotork Controls',
      660: 'Automationdirect.com',
      661: 'Thermo BLH',
      662: 'System Controls, Ltd.',
      663: 'Univer S.p.A.',
      664: 'MKS-Tenta Technology',
      665: 'Lika Electronic SNC',
      666: 'Mettler-Toledo, Inc.',
      667: 'DXL USA Inc.',
      668: 'Rockwell Automation/Entek IRD Intl.',
      669: 'Nippon Otis Elevator Company',
      670: 'Sinano Electric, Co., Ltd.',
      671: 'Sony Manufacturing Systems',
      672: 'Reserved',
      673: 'Contec Co., Ltd.',
      674: 'Automated Solutions',
      675: 'Controlweigh',
      676: 'Reserved',
      677: 'Fincor Electronics',
      678: 'Cognex Corporation',
      679: 'Qualiflow',
      680: 'Weidmuller, Inc.',
      681: 'Morinaga Milk Industry Co., Ltd.',
      682: 'Takagi Industrial Co., Ltd.',
      683: 'Wittenstein AG',
      684: 'Sena Technologies, Inc.',
      685: 'Reserved',
      686: 'APV Products Unna',
      687: 'Creator Teknisk Utvedkling AB',
      688: 'Reserved',
      689: 'Mibu Denki Industrial Co., Ltd.',
      690: 'Takamastsu Machineer Section',
      691: 'Startco Engineering Ltd.',
      692: 'Reserved',
      693: 'Holjeron',
      694: 'ALCATEL High Vacuum Technology',
      695: 'Taesan LCD Co., Ltd.',
      696: 'POSCON',
      697: 'VMIC',
      698: 'Matsushita Electric Works, Ltd.',
      699: 'IAI Corporation',
      700: 'Horst GmbH',
      701: 'MicroControl GmbH & Co.',
      702: 'Leine & Linde AB',
      703: 'Reserved',
      704: 'EC Elettronica Srl',
      705: 'VIT Software HB',
      706: 'Bronkhorst High-Tech B.V.',
      707: 'Optex Co., Ltd.',
      708: 'Yosio Electronic Co.',
      709: 'Terasaki Electric Co., Ltd.',
      710: 'Sodick Co., Ltd.',
      711: 'MTS Systems Corporation-Automation Division',
      712: 'Mesa Systemtechnik',
      713: 'SHIN HO SYSTEM Co., Ltd.',
      714: 'Goyo Electronics Co, Ltd.',
      715: 'Loreme',
      716: 'SAB Brockskes GmbH & Co. KG',
      717: 'Trumpf Laser GmbH + Co. KG',
      718: 'Niigata Electronic Instruments Co., Ltd.',
      719: 'Yokogawa Digital Computer Corporation',
      720: 'O.N. Electronic Co., Ltd.',
      721: 'Industrial Control	Communication, Inc.',
      722: 'ABB, Inc.',
      723: 'ElectroWave USA, Inc.',
      724: 'Industrial Network Controls, LLC',
      725: 'KDT Systems Co., Ltd.',
      726: 'SEFA Technology Inc.',
      727: 'Nippon POP Rivets and Fasteners Ltd.',
      728: 'Yamato Scale Co., Ltd.',
      729: 'Zener Electric',
      730: 'GSE Scale Systems',
      731: 'ISAS (Integrated Switchgear & Sys. Pty Ltd)',
      732: 'Beta LaserMike Limited',
      733: 'TOEI Electric Co., Ltd.',
      734: 'Hakko Electronics Co., Ltd',
      735: 'Reserved',
      736: 'RFID, Inc.',
      737: 'Adwin Corporation',
      738: 'Osaka Vacuum, Ltd.',
      739: 'A-Kyung Motion, Inc.',
      740: 'Camozzi S.P. A.',
      741: 'Crevis Co., LTD',
      742: 'Rice Lake Weighing Systems',
      743: 'Linux Network Services',
      744: 'KEB Antriebstechnik GmbH',
      745: 'Hagiwara Electric Co., Ltd.',
      746: 'Glass Inc. International',
      747: 'Reserved',
      748: 'DVT Corporation',
      749: 'Woodward Governor',
      750: 'Mosaic Systems, Inc.',
      751: 'Laserline GmbH',
      752: 'COM-TEC, Inc.',
      753: 'Weed Instrument',
      754: 'Prof-face European Technology Center',
      755: 'Fuji Automation Co., Ltd.',
      756: 'Matsutame Co., Ltd.',
      757: 'Hitachi Via Mechanics, Ltd.',
      758: 'Dainippon Screen Mfg. Co. Ltd.',
      759: 'FLS Automation A/S',
      760: 'ABB Stotz Kontakt GmbH',
      761: 'Technical Marine Service',
      762: 'Advanced Automation Associates, Inc.',
      763: 'Baumer Ident GmbH',
      764: 'Tsubakimoto Chain Co.',
      765: 'Reserved',
      766: 'Furukawa Co., Ltd.',
      767: 'Active Power',
      768: 'CSIRO Mining Automation',
      769: 'Matrix Integrated Systems',
      770: 'Digitronic Automationsanlagen GmbH',
      771: 'SICK STEGMANN Inc.',
      772: 'TAE-Antriebstechnik GmbH',
      773: 'Electronic Solutions',
      774: 'Rocon L.L.C.',
      775: 'Dijitized Communications Inc.',
      776: 'Asahi Organic Chemicals Industry Co., Ltd.',
      777: 'Hodensha',
      778: 'Harting, Inc. NA',
      779: 'Kubler GmbH',
      780: 'Yamatake Corporation',
      781: 'JEOL',
      782: 'Yamatake Industrial Systems Co., Ltd.',
      783: 'HAEHNE Elektronische Messgerate GmbH',
      784: 'Ci Technologies Pty Ltd (for Pelamos Industries)',
      785: 'N. SCHLUMBERGER & CIE',
      786: 'Teijin Seiki Co., Ltd.',
      787: 'DAIKIN Industries, Ltd',
      788: 'RyuSyo Industrial Co., Ltd.',
      789: 'SAGINOMIYA SEISAKUSHO, INC.',
      790: 'Seishin Engineering Co., Ltd.',
      791: 'Japan Support System Ltd.',
      792: 'Decsys',
      793: 'Metronix Messgerate u. Elektronik GmbH',
      794: 'Reserved',
      795: 'Vaccon Company, Inc.',
      796: 'Siemens Energy & Automation, Inc.',
      797: 'Ten X Technology, Inc.',
      798: 'Tyco Electronics',
      799: 'Delta Power Electronics Center',
      800: 'Denker',
      801: 'Autonics Corporation',
      802: 'JFE Electronic Engineering Pty. Ltd.',
      803: 'Reserved',
      804: 'Electro-Sensors, Inc.',
      805: 'Digi International, Inc.',
      806: 'Texas Instruments',
      807: 'ADTEC Plasma Technology Co., Ltd',
      808: 'SICK AG',
      809: 'Ethernet Peripherals, Inc.',
      810: 'Animatics Corporation',
      811: 'Reserved',
      812: 'Process Control Corporation',
      813: 'SystemV. Inc.',
      814: 'Danaher Motion SRL',
      815: 'SHINKAWA Sensor Technology, Inc.',
      816: 'Tesch GmbH & Co. KG',
      817: 'Reserved',
      818: 'Trend Controls Systems Ltd.',
      819: 'Guangzhou ZHIYUAN Electronic Co., Ltd.',
      820: 'Mykrolis Corporation',
      821: 'Bethlehem Steel Corporation',
      822: 'KK ICP',
      823: 'Takemoto Denki Corporation',
      824: 'The Montalvo Corporation',
      825: 'Reserved',
      826: 'LEONI Special Cables GmbH',
      827: 'Reserved',
      828: 'ONO SOKKI CO.,LTD.',
      829: 'Rockwell Samsung Automation',
      830: 'SHINDENGEN ELECTRIC MFG. CO. LTD',
      831: 'Origin Electric Co. Ltd.',
      832: 'Quest Technical Solutions, Inc.',
      833: 'LS Cable, Ltd.',
      834: 'Enercon-Nord Electronic GmbH',
      835: 'Northwire Inc.',
      836: 'Engel Elektroantriebe GmbH',
      837: 'The Stanley Works',
      838: 'Celesco Transducer Products, Inc.',
      839: 'Chugoku Electric Wire and Cable Co.',
      840: 'Kongsberg Simrad AS',
      841: 'Panduit Corporation',
      842: 'Spellman High Voltage Electronics Corp.',
      843: 'Kokusai Electric Alpha Co., Ltd.',
      844: 'Brooks Automation, Inc.',
      845: 'ANYWIRE CORPORATION',
      846: 'Honda Electronics Co. Ltd',
      847: 'REO Elektronik AG',
      848: 'Fusion UV Systems, Inc.',
      849: 'ASI Advanced Semiconductor Instruments GmbH',
      850: 'Datalogic, Inc.',
      851: 'SoftPLC Corporation',
      852: 'Dynisco Instruments LLC',
      853: 'WEG Industrias SA',
      854: 'Frontline Test Equipment, Inc.',
      855: 'Tamagawa Seiki Co., Ltd.',
      856: 'Multi Computing Co., Ltd.',
      857: 'RVSI',
      858: 'Commercial Timesharing Inc.',
      859: 'Tennessee Rand Automation LLC',
      860: 'Wacogiken Co., Ltd',
      861: 'Reflex Integration Inc.',
      862: 'Siemens AG, A&D PI Flow Instruments',
      863: 'G. Bachmann Electronic GmbH',
      864: 'NT International',
      865: 'Schweitzer Engineering Laboratories',
      866: 'ATR Industrie-Elektronik GmbH Co.',
      867: 'PLASMATECH Co., Ltd',
      868: 'Reserved',
      869: 'GEMU GmbH & Co. KG',
      870: 'Alcorn McBride Inc.',
      871: 'MORI SEIKI CO., LTD',
      872: 'NodeTech Systems Ltd',
      873: 'Emhart Teknologies',
      874: 'Cervis, Inc.',
      875: 'FieldServer Technologies (Div Sierra Monitor Corp)',
      876: 'NEDAP Power Supplies',
      877: 'Nippon Sanso Corporation',
      878: 'Mitomi Giken Co., Ltd.',
      879: 'PULS GmbH',
      880: 'Reserved',
      881: 'Japan Control Engineering Ltd',
      882: 'Embedded Systems Korea (Former Zues Emtek Co Ltd.)',
      883: 'Automa SRL',
      884: 'Harms+Wende GmbH & Co KG',
      885: 'SAE-STAHL GmbH',
      886: 'Microwave Data Systems',
      887: 'Bernecker + Rainer Industrie-Elektronik GmbH',
      888: 'Hiprom Technologies',
      889: 'Reserved',
      890: 'Nitta Corporation',
      891: 'Kontron Modular Computers GmbH',
      892: 'Marlin Controls',
      893: 'ELCIS s.r.l.',
      894: 'Acromag, Inc.',
      895: 'Avery Weigh-Tronix',
      896: 'Reserved',
      897: 'Reserved',
      898: 'Reserved',
      899: 'Practicon Ltd',
      900: 'Schunk GmbH & Co. KG',
      901: 'MYNAH Technologies',
      902: 'Defontaine Groupe',
      903: 'Emerson Process Management Power & Water Solutions',
      904: 'F.A. Elec',
      905: 'Hottinger Baldwin Messtechnik GmbH',
      906: 'Coreco Imaging, Inc.',
      907: 'London Electronics Ltd.',
      908: 'HSD SpA',
      909: 'Comtrol Corporation',
      910: 'TEAM, S.A. (Tecnica Electronica de Automatismo Y Medida)',
      911: 'MAN B&W Diesel Ltd. Regulateurs Europa',
      912: 'Reserved',
      913: 'Reserved',
      914: 'Micro Motion, Inc.',
      915: 'Eckelmann AG',
      916: 'Hanyoung Nux',
      917: 'Ransburg Industrial Finishing KK',
      918: 'Kun Hung Electric Co. Ltd.',
      919: 'Brimos wegbebakening b.v.',
      920: 'Nitto Seiki Co., Ltd',
      921: 'PPT Vision, Inc.',
      922: 'Yamazaki Machinery Works',
      923: 'SCHMIDT Technology GmbH',
      924: 'Parker Hannifin SpA (SBC Division)',
      925: 'HIMA Paul Hildebrandt GmbH',
      926: 'RivaTek, Inc.',
      927: 'Misumi Corporation',
      928: 'GE Multilin',
      929: 'Measurement Computing Corporation',
      930: 'Jetter AG',
      931: 'Tokyo Electronics Systems Corporation',
      932: 'Togami Electric Mfg. Co., Ltd.',
      933: 'HK Systems',
      934: 'CDA Systems Ltd.',
      935: 'Aerotech Inc.',
      936: 'JVL Industrie Elektronik A/S',
      937: 'NovaTech Process Solutions LLC',
      938: 'Reserved',
      939: 'Cisco Systems',
      940: 'Grid Connect',
      941: 'ITW Automotive Finishing',
      942: 'HanYang System',
      943: 'ABB K.K. Technical Center',
      944: 'Taiyo Electric Wire & Cable Co., Ltd.',
      945: 'Reserved',
      946: 'SEREN IPS INC',
      947: 'Belden CDT Electronics Division',
      948: 'ControlNet International',
      949: 'Gefran S.P.A.',
      950: 'Jokab Safety AB',
      951: 'SUMITA OPTICAL GLASS, INC.',
      952: 'Biffi Italia srl',
      953: 'Beck IPC GmbH',
      954: 'Copley Controls Corporation',
      955: 'Fagor Automation S. Coop.',
      956: 'DARCOM',
      957: 'Frick Controls (div. of York International)',
      958: 'SymCom, Inc.',
      959: 'Infranor',
      960: 'Kyosan Cable, Ltd.',
      961: 'Varian Vacuum Technologies',
      962: 'Messung Systems',
      963: 'Xantrex Technology, Inc.',
      964: 'StarThis Inc.',
      965: 'Chiyoda Co., Ltd.',
      966: 'Flowserve Corporation',
      967: 'Spyder Controls Corp.',
      968: 'IBA AG',
      969: 'SHIMOHIRA ELECTRIC MFG.CO.,LTD',
      970: 'Reserved',
      971: 'Siemens L&A',
      972: 'Micro Innovations AG',
      973: 'Switchgear & Instrumentation',
      974: 'PRE-TECH CO., LTD.',
      975: 'National Semiconductor',
      976: 'Invensys Process Systems',
      977: 'Ametek HDR Power Systems',
      978: 'Reserved',
      979: 'TETRA-K Corporation',
      980: 'C & M Corporation',
      981: 'Siempelkamp Maschinen',
      982: 'Reserved',
      983: 'Daifuku America Corporation',
      984: 'Electro-Matic Products Inc.',
      985: 'BUSSAN MICROELECTRONICS CORP.',
      986: 'ELAU AG',
      987: 'Hetronic USA',
      988: 'NIIGATA POWER SYSTEMS Co., Ltd.',
      989: 'Software Horizons Inc.',
      990: 'B3 Systems, Inc.',
      991: 'Moxa Networking Co., Ltd.',
      992: 'Reserved',
      993: 'S4 Integration',
      994: 'Elettro Stemi S.R.L.',
      995: 'AquaSensors',
      996: 'Ifak System GmbH',
      997: 'SANKEI MANUFACTURING Co.,LTD.',
      998: 'Emerson Network Power Co., Ltd.',
      999: 'Fairmount Automation, Inc.',
      1000: 'Bird Electronic Corporation',
      1001: 'Nabtesco Corporation',
      1002: 'AGM Electronics, Inc.',
      1003: 'ARCX Inc.',
      1004: 'DELTA I/O Co.',
      1005: 'Chun IL Electric Ind. Co.',
      1006: 'N-Tron',
      1007: 'Nippon Pneumatics/Fludics System CO.,LTD.',
      1008: 'DDK Ltd.',
      1009: 'Seiko Epson Corporation',
      1010: 'Halstrup-Walcher GmbH',
      1011: 'ITT',
      1012: 'Ground Fault Systems bv',
      1013: 'Scolari Engineering S.p.A.',
      1014: 'Vialis Traffic bv',
      1015: 'Weidmueller Interface GmbH & Co. KG',
      1016: 'Shanghai Sibotech Automation Co. Ltd',
      1017: 'AEG Power Supply Systems GmbH',
      1018: 'Komatsu Electronics Inc.',
      1019: 'Souriau',
      1020: 'Baumuller Chicago Corp.',
      1021: 'J. Schmalz GmbH',
      1022: 'SEN Corporation',
      1023: 'Korenix Technology Co. Ltd',
      1024: 'Cooper Power Tools',
      1025: 'INNOBIS',
      1026: 'Shinho System',
      1027: 'Xm Services Ltd.',
      1028: 'KVC Co., Ltd.',
      1029: 'Sanyu Seiki Co., Ltd.',
      1030: 'TuxPLC',
      1031: 'Northern Network Solutions',
      1032: 'Converteam GmbH',
      1033: 'Symbol Technologies',
      1034: 'S-TEAM Lab',
      1035: 'Maguire Products, Inc.',
      1036: 'AC&T',
      1037: 'MITSUBISHI HEAVY INDUSTRIES, LTD. KOBE SHIPYARD & MACHINERY WORKS',
      1038: 'Hurletron Inc.',
      1039: 'Chunichi Denshi Co., Ltd',
      1040: 'Cardinal Scale Mfg. Co.',
      1041: 'BTR NETCOM via RIA Connect, Inc.',
      1042: 'Base2',
      1043: 'ASRC Aerospace',
      1044: 'Beijing Stone Automation',
      1045: 'Changshu Switchgear Manufacture Ltd.',
      1046: 'METRONIX Corp.',
      1047: 'WIT',
      1048: 'ORMEC Systems Corp.',
      1049: 'ASATech (China) Inc.',
      1050: 'Controlled Systems Limited',
      1051: 'Mitsubishi Heavy Ind. Digital System Co., Ltd. (M.H.I.)',
      1052: 'Electrogrip',
      1053: 'TDS Automation',
      1054: 'T&C Power Conversion, Inc.',
      1055: 'Robostar Co., Ltd',
      1056: 'Scancon A/S',
      1057: 'Haas Automation, Inc.',
      1058: 'Eshed Technology',
      1059: 'Delta Electronic Inc.',
      1060: 'Innovasic Semiconductor',
      1061: 'SoftDEL Systems Limited',
      1062: 'FiberFin, Inc.',
      1063: 'Nicollet Technologies Corp.',
      1064: 'B.F. Systems',
      1065: 'Empire Wire and Supply LLC',
      1066: 'Reserved',
      1067: 'Elmo Motion Control LTD',
      1068: 'Reserved',
      1069: 'Asahi Keiki Co., Ltd.',
      1070: 'Joy Mining Machinery',
      1071: 'MPM Engineering Ltd',
      1072: 'Wolke Inks & Printers GmbH',
      1073: 'Mitsubishi Electric Engineering Co., Ltd.',
      1074: 'COMET AG',
      1075: 'Real Time Objects & Systems, LLC',
      1076: 'MISCO Refractometer',
      1077: 'JT Engineering Inc.',
      1078: 'Automated Packing Systems',
      1079: 'Niobrara R&D Corp.',
      1080: 'Garmin Ltd.',
      1081: 'Japan Mobile Platform Co., Ltd',
      1082: 'Advosol Inc.',
      1083: 'ABB Global Services Limited',
      1084: 'Sciemetric Instruments Inc.',
      1085: 'Tata Elxsi Ltd.',
      1086: 'TPC Mechatronics, Co., Ltd.',
      1087: 'Cooper Bussmann',
      1088: 'Trinite Automatisering B.V.',
      1089: 'Peek Traffic B.V.',
      1090: 'Acrison, Inc',
      1091: 'Applied Robotics, Inc.',
      1092: 'FireBus Systems, Inc.',
      1093: 'Beijing Sevenstar Huachuang Electronics',
      1094: 'Magnetek',
      1095: 'Microscan',
      1096: 'Air Water Inc.',
      1097: 'Sensopart Industriesensorik GmbH',
      1098: 'Tiefenbach Control Systems GmbH',
      1099: 'INOXPA S.A',
      1100: 'Zurich University of Applied Sciences',
      1101: 'Ethernet Direct',
      1102: 'GSI-Micro-E Systems',
      1103: 'S-Net Automation Co., Ltd.',
      1104: 'Power Electronics S.L.',
      1105: 'Renesas Technology Corp.',
      1106: 'NSWCCD-SSES',
      1107: 'Porter Engineering Ltd.',
      1108: 'Meggitt Airdynamics, Inc.',
      1109: 'Inductive Automation',
      1110: 'Neural ID',
      1111: 'EEPod LLC',
      1112: 'Hitachi Industrial Equipment Systems Co., Ltd.',
      1113: 'Salem Automation',
      1114: 'port GmbH',
      1115: 'B & PLUS',
      1116: 'Graco Inc.',
      1117: 'Altera Corporation',
      1118: 'Technology Brewing Corporation',
      1121: 'CSE Servelec',
      1124: 'Fluke Networks',
      1125: 'Tetra Pak Packaging Solutions SPA',
      1126: 'Racine Federated, Inc.',
      1127: 'Pureron Japan Co., Ltd.',
      1130: 'Brother Industries, Ltd.',
      1132: 'Leroy Automation',
      1137: 'TR-Electronic GmbH',
      1138: 'ASCON S.p.A.',
      1139: 'Toledo do Brasil Industria de Balancas Ltda.',
      1140: 'Bucyrus DBT Europe GmbH',
      1141: 'Emerson Process Management Valve Automation',
      1142: 'Alstom Transport',
      1144: 'Matrox Electronic Systems',
      1145: 'Littelfuse',
      1146: 'PLASMART, Inc.',
      1147: 'Miyachi Corporation',
      1150: 'Promess Incorporated',
      1151: 'COPA-DATA GmbH',
      1152: 'Precision Engine Controls Corporation',
      1153: 'Alga Automacao e controle LTDA',
      1154: 'U.I. Lapp GmbH',
      1155: 'ICES',
      1156: 'Philips Lighting bv',
      1157: 'Aseptomag AG',
      1158: 'ARC Informatique',
      1159: 'Hesmor GmbH',
      1160: 'Kobe Steel, Ltd.',
      1161: 'FLIR Systems',
      1162: 'Simcon A/S',
      1163: 'COPALP',
      1164: 'Zypcom, Inc.',
      1165: 'Swagelok',
      1166: 'Elspec',
      1167: 'ITT Water & Wastewater AB',
      1168: 'Kunbus GmbH Industrial Communication',
      1170: 'Performance Controls, Inc.',
      1171: 'ACS Motion Control, Ltd.',
      1173: 'IStar Technology Limited',
      1174: 'Alicat Scientific, Inc.',
      1176: 'ADFweb.com SRL',
      1177: 'Tata Consultancy Services Limited',
      1178: 'CXR Ltd.',
      1179: 'Vishay Nobel AB',
      1181: 'SolaHD',
      1182: 'Endress+Hauser',
      1183: 'Bartec GmbH',
      1185: 'AccuSentry, Inc.',
      1186: 'Exlar Corporation',
      1187: 'ILS Technology',
      1188: 'Control Concepts Inc.',
      1190: 'Procon Engineering Limited',
      1191: 'Hermary Opto Electronics Inc.',
      1192: 'Q-Lambda',
      1194: 'VAMP Ltd',
      1195: 'FlexLink',
      1196: 'Office FA.com Co., Ltd.',
      1197: 'SPMC (Changzhou) Co. Ltd.',
      1198: 'Anton Paar GmbH',
      1199: 'Zhuzhou CSR Times Electric Co., Ltd.',
      1200: 'DeStaCo',
      1201: 'Synrad, Inc',
      1202: 'Bonfiglioli Vectron GmbH',
      1203: 'Pivotal Systems',
      1204: 'TKSCT',
      1205: 'Randy Nuernberger',
      1206: 'CENTRALP',
      1207: 'Tengen Group',
      1208: 'OES, Inc.',
      1209: 'Actel Corporation',
      1210: 'Monaghan Engineering, Inc.',
      1211: 'wenglor sensoric gmbh',
      1212: 'HSA Systems',
      1213: 'MK Precision Co., Ltd.',
      1214: 'Tappan Wire and Cable',
      1215: 'Heinzmann GmbH & Co. KG',
      1216: 'Process Automation International Ltd.',
      1217: 'Secure Crossing',
      1218: 'SMA Railway Technology GmbH',
      1219: 'FMS Force Measuring Systems AG',
      1220: 'ABT Endustri Enerji Sistemleri Sanayi Tic. Ltd. Sti.',
      1221: 'MagneMotion Inc.',
      1222: 'STS Co., Ltd.',
      1223: 'MERAK SIC, SA',
      1224: 'ABOUNDI, Inc.',
      1225: 'Rosemount Inc.',
      1226: 'GEA FES, Inc.',
      1227: 'TMG Technologie und Engineering GmbH',
      1228: 'embeX GmbH',
      1229: 'GH Electrotermia, S.A.',
      1230: 'Tolomatic',
      1231: 'Dukane',
      1232: 'Elco (Tian Jin) Electronics Co., Ltd.',
      1233: 'Jacobs Automation',
      1234: 'Noda Radio Frequency Technologies Co., Ltd.',
      1235: 'MSC Tuttlingen GmbH',
      1236: 'Hitachi Cable Manchester',
      1237: 'ACOREL SAS',
      1238: 'Global Engineering Solutions Co., Ltd.',
      1239: 'ALTE Transportation, S.L.',
      1240: 'Penko Engineering B.V.'
  }
  