EXPECTED = {'ProtocolMessage': {'extensibility-implied': True,
                     'imports': {},
                     'object-classes': {},
                     'object-sets': {},
                     'tags': 'IMPLICIT',
                     'types': {'AsicErrorEntry': {'members': [{'name': 'index',
                                                               'optional': True,
                                                               'tag': {'number': 0},
                                                               'type': 'INTEGER'},
                                                              {'name': 'irLedIndex',
                                                               'optional': True,
                                                               'tag': {'number': 1},
                                                               'type': 'INTEGER'},
                                                              {'name': 'irPdIndex',
                                                               'optional': True,
                                                               'tag': {'number': 2},
                                                               'type': 'INTEGER'},
                                                              {'name': 'open',
                                                               'optional': True,
                                                               'tag': {'number': 3},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'short',
                                                               'optional': True,
                                                               'tag': {'number': 4},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'offline',
                                                               'optional': True,
                                                               'tag': {'number': 5},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'timeout',
                                                               'optional': True,
                                                               'tag': {'number': 6},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'overTemperatureExternalSensor',
                                                               'optional': True,
                                                               'tag': {'number': 7},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'porFault',
                                                               'optional': True,
                                                               'tag': {'number': 8},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'analogOrVbgFault',
                                                               'optional': True,
                                                               'tag': {'number': 9},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'memoryOverflow',
                                                               'optional': True,
                                                               'tag': {'number': 10},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'internalThermalShutdown',
                                                               'optional': True,
                                                               'tag': {'number': 11},
                                                               'type': 'BOOLEAN'},
                                                              {'name': 'proxResultOverflow',
                                                               'optional': True,
                                                               'tag': {'number': 12},
                                                               'type': 'BOOLEAN'}],
                                                  'type': 'SEQUENCE'},
                               'AsicInformation': {'members': [{'name': 'index',
                                                                'optional': True,
                                                                'tag': {'number': 0},
                                                                'type': 'INTEGER'},
                                                               {'name': 'irLeds',
                                                                'optional': True,
                                                                'tag': {'number': 1},
                                                                'type': 'DiodeComponentInformation'},
                                                               {'name': 'irPds',
                                                                'optional': True,
                                                                'tag': {'number': 2},
                                                                'type': 'DiodeComponentInformation'},
                                                               {'name': 'offline',
                                                                'optional': True,
                                                                'tag': {'number': 3},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'timeout',
                                                                'optional': True,
                                                                'tag': {'number': 4},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'overTemperatureExternalSensor',
                                                                'optional': True,
                                                                'tag': {'number': 5},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'porFault',
                                                                'optional': True,
                                                                'tag': {'number': 6},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'analogOrVbgFault',
                                                                'optional': True,
                                                                'tag': {'number': 7},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'memoryOverflow',
                                                                'optional': True,
                                                                'tag': {'number': 8},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'internalThermalShutdown',
                                                                'optional': True,
                                                                'tag': {'number': 9},
                                                                'type': 'ErrorFlags'},
                                                               {'name': 'proxResultOverflow',
                                                                'optional': True,
                                                                'tag': {'number': 10},
                                                                'type': 'ErrorFlags'}],
                                                   'type': 'SEQUENCE'},
                               'AsicThresholds': {'members': [{'name': 'asicIdentifier',
                                                               'optional': True,
                                                               'tag': {'number': 0},
                                                               'type': 'INTEGER'},
                                                              {'name': 'irLedOpenThresholds',
                                                               'optional': True,
                                                               'tag': {'number': 1},
                                                               'type': 'Thresholds'},
                                                              {'name': 'irLedShortThresholds',
                                                               'optional': True,
                                                               'tag': {'number': 2},
                                                               'type': 'Thresholds'},
                                                              {'name': 'irPdOpenThresholds',
                                                               'optional': True,
                                                               'tag': {'number': 3},
                                                               'type': 'Thresholds'},
                                                              {'name': 'irPdShortThresholds',
                                                               'optional': True,
                                                               'tag': {'number': 4},
                                                               'type': 'Thresholds'}],
                                                  'type': 'SEQUENCE'},
                               'AsicType': {'named-numbers': {'nn1001': 1,
                                                              'nn1002': 2,
                                                              'nn1003': 3},
                                            'type': 'INTEGER'},
                               'BootCompleteNotification': {'members': [{'name': 'asicStatus',
                                                                         'named-numbers': {'asicExists': 0,
                                                                                           'asicNotFound': 1},
                                                                         'tag': {'number': 0},
                                                                         'type': 'INTEGER'},
                                                                        {'name': 'resetSource',
                                                                         'named-bits': [('powerUp',
                                                                                         '0'),
                                                                                        ('rstLow',
                                                                                         '1'),
                                                                                        ('watchdogExpired',
                                                                                         '2'),
                                                                                        ('flashViolation',
                                                                                         '3'),
                                                                                        ('nonMaskableInterrupt',
                                                                                         '4')],
                                                                         'tag': {'number': 1},
                                                                         'type': 'BIT '
                                                                                 'STRING'},
                                                                        {'name': 'globalState',
                                                                         'named-bits': [('watchDogExpiredWaitingForASICIRQ',
                                                                                         '0'),
                                                                                        ('watchDogExpiredWaitingForSPITXComm',
                                                                                         '1'),
                                                                                        ('watchDogExpiredWaitingForSPIRXComm',
                                                                                         '2'),
                                                                                        ('watchDogExpiredUnhandledIRQ',
                                                                                         '3'),
                                                                                        ('asicFlaggedUnexpectedPOR',
                                                                                         '4'),
                                                                                        ('asicFlaggedTSDFault',
                                                                                         '5'),
                                                                                        ('asicFlaggedVBGFault',
                                                                                         '6'),
                                                                                        ('asicFlaggedMemOverFlow',
                                                                                         '7')],
                                                                         'tag': {'number': 2},
                                                                         'type': 'BIT '
                                                                                 'STRING'}],
                                                            'tag': {'class': 'APPLICATION',
                                                                    'number': 3},
                                                            'type': 'SEQUENCE'},
                               'DeviceAddress': {'size': [2],
                                                 'tag': {'class': 'APPLICATION',
                                                         'number': 0},
                                                 'type': 'OCTET STRING'},
                               'DiodeComponentInformation': {'members': [{'name': 'componentOpen',
                                                                          'optional': True,
                                                                          'tag': {'number': 0},
                                                                          'type': 'BIT '
                                                                                  'STRING'},
                                                                         {'name': 'componentOpenApplicable',
                                                                          'optional': True,
                                                                          'tag': {'number': 1},
                                                                          'type': 'BIT '
                                                                                  'STRING'},
                                                                         {'name': 'componentShort',
                                                                          'optional': True,
                                                                          'tag': {'number': 2},
                                                                          'type': 'BIT '
                                                                                  'STRING'},
                                                                         {'name': 'componentShortApplicable',
                                                                          'optional': True,
                                                                          'tag': {'number': 3},
                                                                          'type': 'BIT '
                                                                                  'STRING'}],
                                                             'type': 'SEQUENCE'},
                               'ErrorEntry': {'members': [{'name': 'systemTest',
                                                           'tag': {'number': 0},
                                                           'type': 'SystemErrorInformation'},
                                                          {'name': 'asic',
                                                           'tag': {'number': 1},
                                                           'type': 'AsicErrorEntry'},
                                                          {'name': 'visibleLedDriver',
                                                           'tag': {'number': 2},
                                                           'type': 'VisibleLedDriverErrorEntry'}],
                                              'type': 'CHOICE'},
                               'ErrorFlags': {'named-bits': [('applicable',
                                                              '0'),
                                                             ('qualified',
                                                              '1')],
                                              'type': 'BIT STRING'},
                               'ErrorInformation': {'members': [{'name': 'systemTests',
                                                                 'optional': True,
                                                                 'tag': {'number': 0},
                                                                 'type': 'SystemErrorInformation'},
                                                                {'element': {'tag': {'number': 0},
                                                                             'type': 'AsicInformation'},
                                                                 'name': 'asics',
                                                                 'optional': True,
                                                                 'tag': {'number': 1},
                                                                 'type': 'SEQUENCE '
                                                                         'OF'},
                                                                {'element': {'tag': {'number': 0},
                                                                             'type': 'VisibleLedDriverInformation'},
                                                                 'name': 'visibleLedDrivers',
                                                                 'optional': True,
                                                                 'tag': {'number': 2},
                                                                 'type': 'SEQUENCE '
                                                                         'OF'}],
                                                    'type': 'SEQUENCE'},
                               'ErrorLog': {'members': [{'name': 'sessionIdentifier',
                                                         'optional': True,
                                                         'tag': {'number': 0},
                                                         'type': 'INTEGER'},
                                                        {'name': 'timestamp',
                                                         'optional': True,
                                                         'tag': {'number': 1},
                                                         'type': 'Timestamp'},
                                                        {'name': 'isLastEntry',
                                                         'optional': True,
                                                         'tag': {'number': 2},
                                                         'type': 'NULL'},
                                                        {'name': 'errorEntry',
                                                         'optional': True,
                                                         'tag': {'number': 3},
                                                         'type': 'ErrorEntry'},
                                                        {'name': 'resetCause',
                                                         'named-numbers': {'brownOut': 3,
                                                                           'hard': 0,
                                                                           'internalWatchdog': 2,
                                                                           'soft': 1},
                                                         'optional': True,
                                                         'tag': {'number': 4},
                                                         'type': 'INTEGER'}],
                                            'type': 'SEQUENCE'},
                               'ErrorNotification': {'members': [{'name': 'errorEntry',
                                                                  'optional': True,
                                                                  'tag': {'number': 0},
                                                                  'type': 'ErrorEntry'}],
                                                     'type': 'SEQUENCE'},
                               'ErrorThresholds': {'members': [{'element': {'tag': {'number': 0},
                                                                            'type': 'AsicThresholds'},
                                                                'name': 'asicsThresholds',
                                                                'optional': True,
                                                                'tag': {'number': 0},
                                                                'type': 'SEQUENCE '
                                                                        'OF'},
                                                               {'element': {'tag': {'number': 0},
                                                                            'type': 'VisibleLedDriverThresholds'},
                                                                'name': 'visibleLedDriversThresholds',
                                                                'optional': True,
                                                                'tag': {'number': 1},
                                                                'type': 'SEQUENCE '
                                                                        'OF'}],
                                                   'type': 'SEQUENCE'},
                               'GestureNotification': {'members': [{'name': 'gestureStatus',
                                                                    'named-numbers': {'detection': 0,
                                                                                      'stop': 2,
                                                                                      'update': 1},
                                                                    'tag': {'number': 0},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'gestureIdentifier',
                                                                    'optional': True,
                                                                    'tag': {'number': 1},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'gestureType',
                                                                    'named-numbers': {'grab': 6,
                                                                                      'longPress': 1,
                                                                                      'pan': 3,
                                                                                      'pinch': 4,
                                                                                      'rimTap': 7,
                                                                                      'rotation': 5,
                                                                                      'swipe': 2,
                                                                                      'tap': 0},
                                                                    'tag': {'number': 2},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'originX',
                                                                    'optional': True,
                                                                    'tag': {'number': 3},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'originY',
                                                                    'optional': True,
                                                                    'tag': {'number': 4},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'sizeX',
                                                                    'optional': True,
                                                                    'tag': {'number': 5},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'sizeY',
                                                                    'optional': True,
                                                                    'tag': {'number': 6},
                                                                    'type': 'INTEGER'},
                                                                   {'name': 'deltaX',
                                                                    'optional': True,
                                                                    'tag': {'number': 7},
                                                                    'type': 'SignedInteger'},
                                                                   {'name': 'deltaY',
                                                                    'optional': True,
                                                                    'tag': {'number': 8},
                                                                    'type': 'SignedInteger'}],
                                                       'tag': {'class': 'APPLICATION',
                                                               'number': 4},
                                                       'type': 'SEQUENCE'},
                               'Latency': {'tag': {'class': 'APPLICATION',
                                                   'number': 35},
                                           'type': 'INTEGER'},
                               'LedPdPlacement': {'named-numbers': {'ledFirstLedLast': 3,
                                                                    'ledFirstPdLast': 2,
                                                                    'pdFirstLedLast': 1,
                                                                    'pdFirstPdLast': 0},
                                                  'type': 'INTEGER'},
                               'Message': {'members': [{'name': 'deviceAddress',
                                                        'optional': True,
                                                        'type': 'DeviceAddress'},
                                                       {'members': [{'name': 'disable',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'NULL'},
                                                                    {'name': 'enable',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'reset',
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'NULL'}],
                                                        'name': 'enable',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 5},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'touchDescriptor',
                                                                     'optional': True,
                                                                     'type': 'TouchDescriptor'}],
                                                        'name': 'touchFormat',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 6},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'detection',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'BOOLEAN'},
                                                                    {'name': 'signals',
                                                                     'optional': True,
                                                                     'tag': {'number': 1},
                                                                     'type': 'BOOLEAN'},
                                                                    {'name': 'ledLevels',
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'BOOLEAN'},
                                                                    {'name': 'detectionHid',
                                                                     'optional': True,
                                                                     'tag': {'number': 3},
                                                                     'type': 'BOOLEAN'},
                                                                    {'name': 'gestures',
                                                                     'optional': True,
                                                                     'tag': {'number': 4},
                                                                     'type': 'BOOLEAN'}],
                                                        'name': 'operationMode',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 7},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'finger',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'stylus',
                                                                     'optional': True,
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'idle',
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'frequency',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 8},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'x',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'y',
                                                                     'optional': True,
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'z',
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'resolution',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 9},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'element': {'type': 'OpenShortInformation'},
                                                                     'name': 'openShortInfo',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'SEQUENCE '
                                                                             'OF'},
                                                                    {'name': 'errorCount',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'openShort',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 10},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'members': [{'name': 'platformVersionMajor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'platformVersionMinor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'protocolVersionMajor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 2},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'protocolVersionMinor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 3},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'firmwareVersionMajor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 4},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'firmwareVersionMinor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 5},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'hardwareIdentifier',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 6},
                                                                                  'type': 'IA5String'},
                                                                                 {'name': 'hardwareVersion',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 7},
                                                                                  'type': 'IA5String'},
                                                                                 {'name': 'asicType',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 8},
                                                                                  'type': 'AsicType'},
                                                                                 {'name': 'numberOfAsics',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     127)],
                                                                                  'tag': {'number': 9},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'mcuUniqueIdentifier',
                                                                                  'optional': True,
                                                                                  'size': [(0,
                                                                                            32)],
                                                                                  'tag': {'number': 10},
                                                                                  'type': 'OCTET '
                                                                                          'STRING'},
                                                                                 {'name': 'projectReference',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 11},
                                                                                  'type': 'IA5String'},
                                                                                 {'name': 'platformReference',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 12},
                                                                                  'type': 'IA5String'},
                                                                                 {'name': 'buildTime',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 13},
                                                                                  'type': 'IA5String'},
                                                                                 {'name': 'buildDate',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 14},
                                                                                  'type': 'IA5String'}],
                                                                     'name': 'platformInformation',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'SEQUENCE'},
                                                                    {'members': [{'name': 'productVersionMajor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'productVersionMinor',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'physicalWidth',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 2},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'physicalHeight',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 3},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'numberOfSignalAxes',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     32767)],
                                                                                  'tag': {'number': 4},
                                                                                  'type': 'INTEGER'},
                                                                                 {'element': {'tag': {'number': 0},
                                                                                              'type': 'INTEGER'},
                                                                                  'name': 'signalsPerSignalAxis',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 5},
                                                                                  'type': 'SEQUENCE '
                                                                                          'OF'},
                                                                                 {'element': {'tag': {'number': 0},
                                                                                              'type': 'INTEGER'},
                                                                                  'name': 'ledsPerPhysicalAxis',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 6},
                                                                                  'type': 'SEQUENCE '
                                                                                          'OF'},
                                                                                 {'element': {'tag': {'number': 0},
                                                                                              'type': 'INTEGER'},
                                                                                  'name': 'pdsPerPhysicalAxis',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 7},
                                                                                  'type': 'SEQUENCE '
                                                                                          'OF'},
                                                                                 {'element': {'tag': {'number': 0},
                                                                                              'type': 'LedPdPlacement'},
                                                                                  'name': 'ledPdPlacementPerPhysicalAxis',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 8},
                                                                                  'type': 'SEQUENCE '
                                                                                          'OF'}],
                                                                     'name': 'deviceInstanceInformation',
                                                                     'optional': True,
                                                                     'tag': {'number': 1},
                                                                     'type': 'SEQUENCE'},
                                                                    {'members': [{'element': {'tag': {'number': 0},
                                                                                              'type': 'StorageArea'},
                                                                                  'name': 'storageAreas',
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'SEQUENCE '
                                                                                          'OF'},
                                                                                 {'name': 'maxReadSize',
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'maxWriteSize',
                                                                                  'tag': {'number': 2},
                                                                                  'type': 'INTEGER'}],
                                                                     'name': 'storageInformation',
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'SEQUENCE'},
                                                                    {'members': [{'name': 'numberOfLeds',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'INTEGER'},
                                                                                 {'element': {'tag': {'number': 0},
                                                                                              'type': 'INTEGER'},
                                                                                  'name': 'bitsPerLedChannel',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'SEQUENCE '
                                                                                          'OF'}],
                                                                     'name': 'lightingInformation',
                                                                     'optional': True,
                                                                     'tag': {'number': 3},
                                                                     'type': 'SEQUENCE'}],
                                                        'name': 'deviceInformation',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 12},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'totalNumberOfDevices',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 0},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'coreDevices',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'airDevices',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 2},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'plusDevices',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 3},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'lightingDevices',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        127)],
                                                                     'tag': {'number': 4},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'deviceCount',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 15},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'members': [{'name': 'currentContacts',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     127)],
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'scanningCounter',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     65535)],
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'preparedTouchCounter',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     65535)],
                                                                                  'tag': {'number': 2},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'sentTouchCounter',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     65535)],
                                                                                  'tag': {'number': 3},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'invalidTouchCounter',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     65535)],
                                                                                  'tag': {'number': 4},
                                                                                  'type': 'INTEGER'}],
                                                                     'name': 'counters',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'SEQUENCE'}],
                                                        'name': 'status',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 13},
                                                        'type': 'SEQUENCE'},
                                                       {'name': 'resultCode',
                                                        'named-numbers': {'fail': 1,
                                                                          'ok': 0},
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 20},
                                                        'type': 'INTEGER'},
                                                       {'members': [{'name': 'numberOfTrackedTouches',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        255)],
                                                                     'tag': {'number': 0},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'trackingMinDistanceMove',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        16383)],
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'members': [{'name': 'lowBoundX',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     16383)],
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'lowBoundY',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     16383)],
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'highBoundX',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     16383)],
                                                                                  'tag': {'number': 2},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'highBoundY',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     16383)],
                                                                                  'tag': {'number': 3},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'reverseX',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 4},
                                                                                  'type': 'BOOLEAN'},
                                                                                 {'name': 'reverseY',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 5},
                                                                                  'type': 'BOOLEAN'}],
                                                                     'name': 'subTouchActiveArea',
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'SEQUENCE'},
                                                                    {'name': 'referenceSignalConfig',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        255)],
                                                                     'tag': {'number': 3},
                                                                     'type': 'INTEGER'},
                                                                    {'members': [{'name': 'maxSizeEnabled',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 0},
                                                                                  'type': 'BOOLEAN'},
                                                                                 {'name': 'maxSize',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     255)],
                                                                                  'tag': {'number': 1},
                                                                                  'type': 'INTEGER'},
                                                                                 {'name': 'minSizeEnabled',
                                                                                  'optional': True,
                                                                                  'tag': {'number': 2},
                                                                                  'type': 'BOOLEAN'},
                                                                                 {'name': 'minSize',
                                                                                  'optional': True,
                                                                                  'restricted-to': [(0,
                                                                                                     255)],
                                                                                  'tag': {'number': 3},
                                                                                  'type': 'INTEGER'}],
                                                                     'name': 'sizeRestriction',
                                                                     'optional': True,
                                                                     'tag': {'number': 4},
                                                                     'type': 'SEQUENCE'},
                                                                    {'name': 'detectionMode',
                                                                     'named-numbers': {'default': 0,
                                                                                       'finger': 1,
                                                                                       'insensitiveFTIR': 64,
                                                                                       'mergeTouches': 32},
                                                                     'optional': True,
                                                                     'tag': {'number': 5},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'numberOfReportedTouches',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        255)],
                                                                     'tag': {'number': 6},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'deviceConfiguration',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 19},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'fixedStrength',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        255)],
                                                                     'tag': {'number': 0},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'forceCalibration',
                                                                     'named-numbers': {'calibrateLedLevels': 1,
                                                                                       'calibrateLedLevelsWithHighestASICGain': 2,
                                                                                       'noCalibration': 0},
                                                                     'optional': True,
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'rawSignalFiltering',
                                                                     'named-numbers': {'disabled': 0,
                                                                                       'enabled': 1},
                                                                     'optional': True,
                                                                     'tag': {'number': 2},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'calibrationStorageAreaInUse',
                                                                     'optional': True,
                                                                     'tag': {'number': 3},
                                                                     'type': 'StorageIdentifier'},
                                                                    {'name': 'signalMaximum',
                                                                     'optional': True,
                                                                     'tag': {'number': 4},
                                                                     'type': 'BOOLEAN'}],
                                                        'name': 'diagnosticsSettings',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 21},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'storageIdentifier',
                                                                     'tag': {'number': 0},
                                                                     'type': 'StorageIdentifier'},
                                                                    {'name': 'operationType',
                                                                     'named-numbers': {'delete': 2,
                                                                                       'read': 0,
                                                                                       'write': 1},
                                                                     'tag': {'number': 1},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'offset',
                                                                     'tag': {'number': 2},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'size',
                                                                     'tag': {'number': 3},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'payload',
                                                                     'optional': True,
                                                                     'tag': {'number': 4},
                                                                     'type': 'OCTET '
                                                                             'STRING'},
                                                                    {'name': 'operationStatusCode',
                                                                     'named-numbers': {'bufferOverflow': 5,
                                                                                       'deleteNotApplicable': 7,
                                                                                       'genericError': 1,
                                                                                       'identifierError': 4,
                                                                                       'mediaNotPresent': 3,
                                                                                       'outOfBounds': 2,
                                                                                       'success': 0,
                                                                                       'writeProtected': 6},
                                                                     'optional': True,
                                                                     'tag': {'number': 5},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'storageOperation',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 25},
                                                        'type': 'SEQUENCE'},
                                                       {'name': 'signalsLayout',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 18},
                                                        'type': 'Vector'},
                                                       {'members': [{'name': 'presenceBitMask',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'BIT '
                                                                             'STRING'},
                                                                    {'name': 'state',
                                                                     'optional': True,
                                                                     'tag': {'number': 1},
                                                                     'type': 'OCTET '
                                                                             'STRING'},
                                                                    {'name': 'globalIntensity',
                                                                     'optional': True,
                                                                     'restricted-to': [(0,
                                                                                        65535)],
                                                                     'tag': {'number': 2},
                                                                     'type': 'INTEGER'}],
                                                        'name': 'lighting',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 26},
                                                        'type': 'SEQUENCE'},
                                                       {'members': [{'name': 'lowSignalInfo',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'BIT '
                                                                             'STRING'}],
                                                        'name': 'lowSignal',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 28},
                                                        'type': 'SEQUENCE'},
                                                       {'name': 'errorCounterClear',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 31},
                                                        'type': 'NULL'},
                                                       {'name': 'errorInformation',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 32},
                                                        'type': 'ErrorInformation'},
                                                       {'name': 'errorLog',
                                                        'named-numbers': {'allSessions': -2,
                                                                          'currentSession': -1},
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 33},
                                                        'type': 'INTEGER'},
                                                       {'name': 'errorThresholds',
                                                        'optional': True,
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 34},
                                                        'type': 'ErrorThresholds'}],
                                           'type': 'SEQUENCE'},
                               'Notification': {'members': [{'name': 'deviceAddress',
                                                             'optional': True,
                                                             'type': 'DeviceAddress'},
                                                            {'members': [{'name': 'singleTouch',
                                                                          'type': 'TouchNotification'},
                                                                         {'element': {'type': 'TouchNotification'},
                                                                          'name': 'touchNotifications',
                                                                          'size': [(0,
                                                                                    127)],
                                                                          'tag': {'number': 0},
                                                                          'type': 'SEQUENCE '
                                                                                  'OF'},
                                                                         {'name': 'bootCompleteNotification',
                                                                          'type': 'BootCompleteNotification'},
                                                                         {'name': 'ledLevels',
                                                                          'tag': {'class': 'APPLICATION',
                                                                                  'number': 11},
                                                                          'type': 'RawData'},
                                                                         {'name': 'coreSignals',
                                                                          'tag': {'class': 'APPLICATION',
                                                                                  'number': 14},
                                                                          'type': 'RawData'},
                                                                         {'name': 'airSignals',
                                                                          'tag': {'class': 'APPLICATION',
                                                                                  'number': 17},
                                                                          'type': 'Vector'},
                                                                         {'name': 'airMaximum',
                                                                          'tag': {'number': 1},
                                                                          'type': 'Vector'},
                                                                         {'name': 'statusNotification',
                                                                          'type': 'StatusNotification'},
                                                                         {'element': {'type': 'GestureNotification'},
                                                                          'name': 'gestureNotifications',
                                                                          'size': [(0,
                                                                                    127)],
                                                                          'tag': {'number': 2},
                                                                          'type': 'SEQUENCE '
                                                                                  'OF'}],
                                                             'name': 'notificationMessage',
                                                             'type': 'CHOICE'},
                                                            {'name': 'notificationTimestamp',
                                                             'optional': True,
                                                             'type': 'Timestamp'},
                                                            {'name': 'notificationLatency',
                                                             'optional': True,
                                                             'type': 'Latency'}],
                                                'type': 'SEQUENCE'},
                               'OpenShortInformation': {'members': [{'name': 'asicIndex',
                                                                     'optional': True,
                                                                     'tag': {'number': 0},
                                                                     'type': 'INTEGER'},
                                                                    {'name': 'ledOpen',
                                                                     'tag': {'number': 1},
                                                                     'type': 'BIT '
                                                                             'STRING'},
                                                                    {'name': 'ledShort',
                                                                     'tag': {'number': 2},
                                                                     'type': 'BIT '
                                                                             'STRING'},
                                                                    {'name': 'pdOpen',
                                                                     'optional': True,
                                                                     'tag': {'number': 3},
                                                                     'type': 'BIT '
                                                                             'STRING'},
                                                                    {'name': 'pdShort',
                                                                     'tag': {'number': 4},
                                                                     'type': 'BIT '
                                                                             'STRING'}],
                                                        'tag': {'class': 'APPLICATION',
                                                                'number': 23},
                                                        'type': 'SEQUENCE'},
                               'ProtocolMessage': {'members': [{'name': 'request',
                                                                'tag': {'class': 'PRIVATE',
                                                                        'number': 14},
                                                                'type': 'Message'},
                                                               {'name': 'response',
                                                                'tag': {'class': 'PRIVATE',
                                                                        'number': 15},
                                                                'type': 'Message'},
                                                               {'name': 'notification',
                                                                'tag': {'class': 'PRIVATE',
                                                                        'number': 16},
                                                                'type': 'Notification'}],
                                                   'type': 'CHOICE'},
                               'RawData': {'element': {'type': 'VariableSizeIntegerString'},
                                           'type': 'SEQUENCE OF'},
                               'SignedInteger': {'type': 'INTEGER'},
                               'StatusNotification': {'members': [{'name': 'hardwareError',
                                                                   'optional': True,
                                                                   'tag': {'number': 0},
                                                                   'type': 'NULL'},
                                                                  {'name': 'singleAxisTouchError',
                                                                   'optional': True,
                                                                   'tag': {'number': 1},
                                                                   'type': 'BOOLEAN'},
                                                                  {'name': 'touchesIgnored',
                                                                   'optional': True,
                                                                   'tag': {'number': 2},
                                                                   'type': 'BOOLEAN'},
                                                                  {'name': 'lowSignalError',
                                                                   'optional': True,
                                                                   'tag': {'number': 3},
                                                                   'type': 'BOOLEAN'},
                                                                  {'name': 'error',
                                                                   'optional': True,
                                                                   'tag': {'number': 4},
                                                                   'type': 'ErrorNotification'},
                                                                  {'name': 'errorLog',
                                                                   'optional': True,
                                                                   'tag': {'number': 5},
                                                                   'type': 'ErrorLog'}],
                                                      'tag': {'class': 'APPLICATION',
                                                              'number': 27},
                                                      'type': 'SEQUENCE'},
                               'StorageArea': {'members': [{'name': 'storageIdentifier',
                                                            'tag': {'number': 0},
                                                            'type': 'StorageIdentifier'},
                                                           {'name': 'storageDescription',
                                                            'optional': True,
                                                            'size': [(0, 32)],
                                                            'tag': {'number': 1},
                                                            'type': 'IA5String'},
                                                           {'name': 'storageType',
                                                            'named-numbers': {'asicRegister': 4,
                                                                              'asicSram': 5,
                                                                              'eeprom': 2,
                                                                              'flash': 1,
                                                                              'ram': 3,
                                                                              'rom': 0},
                                                            'optional': True,
                                                            'tag': {'number': 2},
                                                            'type': 'INTEGER'},
                                                           {'name': 'storageLocation',
                                                            'named-numbers': {'external': 1,
                                                                              'internal': 0,
                                                                              'removable': 2},
                                                            'optional': True,
                                                            'tag': {'number': 3},
                                                            'type': 'INTEGER'},
                                                           {'name': 'storageSize',
                                                            'tag': {'number': 4},
                                                            'type': 'INTEGER'}],
                                               'type': 'SEQUENCE'},
                               'StorageIdentifier': {'restricted-to': [(0,
                                                                        127)],
                                                     'type': 'INTEGER'},
                               'SystemErrorInformation': {'members': [{'name': 'cpu',
                                                                       'optional': True,
                                                                       'tag': {'number': 0},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'internalWatchdog',
                                                                       'optional': True,
                                                                       'tag': {'number': 1},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'flashProgramChecksum',
                                                                       'optional': True,
                                                                       'tag': {'number': 2},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'ram',
                                                                       'optional': True,
                                                                       'tag': {'number': 3},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'pll',
                                                                       'optional': True,
                                                                       'tag': {'number': 4},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'startupTestChecksum2',
                                                                       'optional': True,
                                                                       'tag': {'number': 5},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'lsi',
                                                                       'optional': True,
                                                                       'tag': {'number': 6},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'hse',
                                                                       'optional': True,
                                                                       'tag': {'number': 7},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'hseSwitch',
                                                                       'optional': True,
                                                                       'tag': {'number': 8},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'externalClockSource',
                                                                       'optional': True,
                                                                       'tag': {'number': 9},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'abnormalTermination',
                                                                       'optional': True,
                                                                       'tag': {'number': 10},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'testFlowCheckpoint1',
                                                                       'optional': True,
                                                                       'tag': {'number': 11},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'testFlowCheckpoint2',
                                                                       'optional': True,
                                                                       'tag': {'number': 12},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'nvmLogFull',
                                                                       'optional': True,
                                                                       'tag': {'number': 13},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'nvmFlashCorrupt',
                                                                       'optional': True,
                                                                       'tag': {'number': 14},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'stackOverflow',
                                                                       'optional': True,
                                                                       'tag': {'number': 15},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'hardFault',
                                                                       'optional': True,
                                                                       'tag': {'number': 16},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'logicError',
                                                                       'optional': True,
                                                                       'tag': {'number': 17},
                                                                       'type': 'ErrorFlags'},
                                                                      {'name': 'asicSyncSwitch',
                                                                       'optional': True,
                                                                       'tag': {'number': 18},
                                                                       'type': 'ErrorFlags'}],
                                                          'type': 'SEQUENCE'},
                               'Thresholds': {'members': [{'name': 'low',
                                                           'optional': True,
                                                           'tag': {'number': 0},
                                                           'type': 'INTEGER'},
                                                          {'name': 'high',
                                                           'optional': True,
                                                           'tag': {'number': 1},
                                                           'type': 'INTEGER'}],
                                              'type': 'SEQUENCE'},
                               'Timestamp': {'tag': {'class': 'APPLICATION',
                                                     'number': 24},
                                             'type': 'INTEGER'},
                               'TouchDescriptor': {'named-bits': [('id', '0'),
                                                                  ('event',
                                                                   '1'),
                                                                  ('loc-x-byte1',
                                                                   '2'),
                                                                  ('loc-x-byte2',
                                                                   '3'),
                                                                  ('loc-x-byte3',
                                                                   '4'),
                                                                  ('loc-y-byte1',
                                                                   '5'),
                                                                  ('loc-y-byte2',
                                                                   '6'),
                                                                  ('loc-y-byte3',
                                                                   '7'),
                                                                  ('loc-z-byte1',
                                                                   '8'),
                                                                  ('loc-z-byte2',
                                                                   '9'),
                                                                  ('loc-z-byte3',
                                                                   '10'),
                                                                  ('size-x-byte1',
                                                                   '11'),
                                                                  ('size-x-byte2',
                                                                   '12'),
                                                                  ('size-x-byte3',
                                                                   '13'),
                                                                  ('size-y-byte1',
                                                                   '14'),
                                                                  ('size-y-byte2',
                                                                   '15'),
                                                                  ('size-y-byte3',
                                                                   '16'),
                                                                  ('size-z-byte1',
                                                                   '17'),
                                                                  ('size-z-byte2',
                                                                   '18'),
                                                                  ('size-z-byte3',
                                                                   '19'),
                                                                  ('orientation',
                                                                   '20'),
                                                                  ('confidence',
                                                                   '21'),
                                                                  ('pressure',
                                                                   '22')],
                                                   'tag': {'class': 'APPLICATION',
                                                           'number': 1},
                                                   'type': 'BIT STRING'},
                               'TouchNotification': {'tag': {'class': 'APPLICATION',
                                                             'number': 2},
                                                     'type': 'OCTET STRING'},
                               'VariableSizeIntegerString': {'members': [{'name': 'uint8',
                                                                          'tag': {'number': 0},
                                                                          'type': 'OCTET '
                                                                                  'STRING'},
                                                                         {'name': 'uint12',
                                                                          'tag': {'number': 1},
                                                                          'type': 'OCTET '
                                                                                  'STRING'},
                                                                         {'name': 'uint16',
                                                                          'tag': {'number': 2},
                                                                          'type': 'OCTET '
                                                                                  'STRING'}],
                                                             'type': 'CHOICE'},
                               'Vector': {'members': [{'name': 'dataType',
                                                       'optional': True,
                                                       'tag': {'number': 0},
                                                       'type': 'ENUMERATED',
                                                       'values': [('uint8', 0),
                                                                  ('int8', 1),
                                                                  ('uint12', 2),
                                                                  ('int12', 3),
                                                                  ('uint16', 4),
                                                                  ('int16', 5),
                                                                  ('uint24', 6),
                                                                  ('int24', 7),
                                                                  ('uint32', 8),
                                                                  ('int32', 9),
                                                                  ('uint64',
                                                                   10),
                                                                  ('int64', 11),
                                                                  ('float', 12),
                                                                  ('double',
                                                                   13)]},
                                                      {'element': {'tag': {'number': 0},
                                                                   'type': 'INTEGER'},
                                                       'name': 'shape',
                                                       'optional': True,
                                                       'tag': {'number': 1},
                                                       'type': 'SEQUENCE OF'},
                                                      {'name': 'data',
                                                       'optional': True,
                                                       'tag': {'number': 2},
                                                       'type': 'OCTET STRING'}],
                                          'type': 'SEQUENCE'},
                               'VisibleLedDriverErrorEntry': {'members': [{'name': 'index',
                                                                           'optional': True,
                                                                           'tag': {'number': 0},
                                                                           'type': 'INTEGER'},
                                                                          {'name': 'ledChannelIndex',
                                                                           'optional': True,
                                                                           'tag': {'number': 1},
                                                                           'type': 'INTEGER'},
                                                                          {'name': 'open',
                                                                           'optional': True,
                                                                           'tag': {'number': 2},
                                                                           'type': 'BOOLEAN'},
                                                                          {'name': 'short',
                                                                           'optional': True,
                                                                           'tag': {'number': 3},
                                                                           'type': 'BOOLEAN'},
                                                                          {'name': 'offline',
                                                                           'optional': True,
                                                                           'tag': {'number': 4},
                                                                           'type': 'BOOLEAN'}],
                                                              'type': 'SEQUENCE'},
                               'VisibleLedDriverInformation': {'members': [{'name': 'index',
                                                                            'optional': True,
                                                                            'tag': {'number': 0},
                                                                            'type': 'INTEGER'},
                                                                           {'name': 'visibleLeds',
                                                                            'optional': True,
                                                                            'tag': {'number': 1},
                                                                            'type': 'DiodeComponentInformation'},
                                                                           {'name': 'offline',
                                                                            'optional': True,
                                                                            'tag': {'number': 2},
                                                                            'type': 'ErrorFlags'}],
                                                               'type': 'SEQUENCE'},
                               'VisibleLedDriverThresholds': {'members': [{'name': 'visibleLedDriverIdentifier',
                                                                           'optional': True,
                                                                           'tag': {'number': 0},
                                                                           'type': 'INTEGER'},
                                                                          {'name': 'visibleLedOpenThresholds',
                                                                           'optional': True,
                                                                           'tag': {'number': 1},
                                                                           'type': 'Thresholds'},
                                                                          {'name': 'visibleLedShortThresholds',
                                                                           'optional': True,
                                                                           'tag': {'number': 2},
                                                                           'type': 'Thresholds'}],
                                                              'type': 'SEQUENCE'}},
                     'values': {}}}