Merge SP1A.210105.001
Change-Id: Iaa23c095e3a5c41259184e47c239a56c463fbe85
diff --git a/ENGPROD_OWNERS b/ENGPROD_OWNERS
index 7084b2e..f876510 100644
--- a/ENGPROD_OWNERS
+++ b/ENGPROD_OWNERS
@@ -10,6 +10,7 @@
kalin@chromium.org
kathrelkeld@chromium.org
kmshelton@chromium.org
+meiring@google.com
rohitbm@chromium.org
rzakarian@chromium.org
shijinabraham@chromium.org
diff --git a/FINGERPRINT_OWNERS b/FINGERPRINT_OWNERS
index 1a62f2c..3a5feab 100644
--- a/FINGERPRINT_OWNERS
+++ b/FINGERPRINT_OWNERS
@@ -1,5 +1,8 @@
# Chrome OS Fingerprint OWNERS
# contact: chromeos-fingerprint@google.com
+hesling@chromium.org
+jora@google.com
+josienordrum@google.com
tomhughes@chromium.org
yichengli@chromium.org
diff --git a/cli/host.py b/cli/host.py
deleted file mode 100644
index b10d87c..0000000
--- a/cli/host.py
+++ /dev/null
@@ -1,1465 +0,0 @@
-# Copyright 2008 Google Inc. All Rights Reserved.
-
-"""
-The host module contains the objects and method used to
-manage a host in Autotest.
-
-The valid actions are:
-create: adds host(s)
-delete: deletes host(s)
-list: lists host(s)
-stat: displays host(s) information
-mod: modifies host(s)
-jobs: lists all jobs that ran on host(s)
-
-The common options are:
--M|--mlist: file containing a list of machines
-
-
-See topic_common.py for a High Level Design and Algorithm.
-
-"""
-
-from __future__ import print_function
-
-import common
-import json
-import random
-import re
-import socket
-import sys
-import time
-
-from autotest_lib.cli import action_common, rpc, topic_common, skylab_utils
-from autotest_lib.client.bin import utils as bin_utils
-from autotest_lib.client.common_lib import error, host_protections
-from autotest_lib.server import frontend, hosts
-from autotest_lib.server.hosts import host_info
-from autotest_lib.server.lib.status_history import HostJobHistory
-from autotest_lib.server.lib.status_history import UNUSED, WORKING
-from autotest_lib.server.lib.status_history import BROKEN, UNKNOWN
-
-
-try:
- from skylab_inventory import text_manager
- from skylab_inventory.lib import device
- from skylab_inventory.lib import server as skylab_server
-except ImportError:
- pass
-
-
-MIGRATED_HOST_SUFFIX = '-migrated-do-not-use'
-
-
-ID_AUTOGEN_MESSAGE = ("[IGNORED]. Do not edit (crbug.com/950553). ID is "
- "auto-generated.")
-
-
-
-class host(topic_common.atest):
- """Host class
- atest host [create|delete|list|stat|mod|jobs|rename|migrate] <options>"""
- usage_action = '[create|delete|list|stat|mod|jobs|rename|migrate]'
- topic = msg_topic = 'host'
- msg_items = '<hosts>'
-
- protections = host_protections.Protection.names
-
-
- def __init__(self):
- """Add to the parser the options common to all the
- host actions"""
- super(host, self).__init__()
-
- self.parser.add_option('-M', '--mlist',
- help='File listing the machines',
- type='string',
- default=None,
- metavar='MACHINE_FLIST')
-
- self.topic_parse_info = topic_common.item_parse_info(
- attribute_name='hosts',
- filename_option='mlist',
- use_leftover=True)
-
-
- def _parse_lock_options(self, options):
- if options.lock and options.unlock:
- self.invalid_syntax('Only specify one of '
- '--lock and --unlock.')
-
- self.lock = options.lock
- self.unlock = options.unlock
- self.lock_reason = options.lock_reason
-
- if options.lock:
- self.data['locked'] = True
- self.messages.append('Locked host')
- elif options.unlock:
- self.data['locked'] = False
- self.data['lock_reason'] = ''
- self.messages.append('Unlocked host')
-
- if options.lock and options.lock_reason:
- self.data['lock_reason'] = options.lock_reason
-
-
- def _cleanup_labels(self, labels, platform=None):
- """Removes the platform label from the overall labels"""
- if platform:
- return [label for label in labels
- if label != platform]
- else:
- try:
- return [label for label in labels
- if not label['platform']]
- except TypeError:
- # This is a hack - the server will soon
- # do this, so all this code should be removed.
- return labels
-
-
- def get_items(self):
- return self.hosts
-
-
-class host_help(host):
- """Just here to get the atest logic working.
- Usage is set by its parent"""
- pass
-
-
-class host_list(action_common.atest_list, host):
- """atest host list [--mlist <file>|<hosts>] [--label <label>]
- [--status <status1,status2>] [--acl <ACL>] [--user <user>]"""
-
- def __init__(self):
- super(host_list, self).__init__()
-
- self.parser.add_option('-b', '--label',
- default='',
- help='Only list hosts with all these labels '
- '(comma separated). When --skylab is provided, '
- 'a label must be in the format of '
- 'label-key:label-value (e.g., board:lumpy).')
- self.parser.add_option('-s', '--status',
- default='',
- help='Only list hosts with any of these '
- 'statuses (comma separated)')
- self.parser.add_option('-a', '--acl',
- default='',
- help=('Only list hosts within this ACL. %s' %
- skylab_utils.MSG_INVALID_IN_SKYLAB))
- self.parser.add_option('-u', '--user',
- default='',
- help=('Only list hosts available to this user. '
- '%s' % skylab_utils.MSG_INVALID_IN_SKYLAB))
- self.parser.add_option('-N', '--hostnames-only', help='Only return '
- 'hostnames for the machines queried.',
- action='store_true')
- self.parser.add_option('--locked',
- default=False,
- help='Only list locked hosts',
- action='store_true')
- self.parser.add_option('--unlocked',
- default=False,
- help='Only list unlocked hosts',
- action='store_true')
- self.parser.add_option('--full-output',
- default=False,
- help=('Print out the full content of the hosts. '
- 'Only supported with --skylab.'),
- action='store_true',
- dest='full_output')
-
- self.add_skylab_options()
-
-
- def parse(self):
- """Consume the specific options"""
- label_info = topic_common.item_parse_info(attribute_name='labels',
- inline_option='label')
-
- (options, leftover) = super(host_list, self).parse([label_info])
-
- self.status = options.status
- self.acl = options.acl
- self.user = options.user
- self.hostnames_only = options.hostnames_only
-
- if options.locked and options.unlocked:
- self.invalid_syntax('--locked and --unlocked are '
- 'mutually exclusive')
-
- self.locked = options.locked
- self.unlocked = options.unlocked
- self.label_map = None
-
- if self.skylab:
- if options.user or options.acl or options.status:
- self.invalid_syntax('--user, --acl or --status is not '
- 'supported with --skylab.')
- self.full_output = options.full_output
- if self.full_output and self.hostnames_only:
- self.invalid_syntax('--full-output is conflicted with '
- '--hostnames-only.')
-
- if self.labels:
- self.label_map = device.convert_to_label_map(self.labels)
- else:
- if options.full_output:
- self.invalid_syntax('--full_output is only supported with '
- '--skylab.')
-
- return (options, leftover)
-
-
- def execute_skylab(self):
- """Execute 'atest host list' with --skylab."""
- inventory_repo = skylab_utils.InventoryRepo(self.inventory_repo_dir)
- inventory_repo.initialize()
- lab = text_manager.load_lab(inventory_repo.get_data_dir())
-
- # TODO(nxia): support filtering on run-time labels and status.
- return device.get_devices(
- lab,
- 'duts',
- self.environment,
- label_map=self.label_map,
- hostnames=self.hosts,
- locked=self.locked,
- unlocked=self.unlocked)
-
-
- def execute(self):
- """Execute 'atest host list'."""
- if self.skylab:
- return self.execute_skylab()
-
- filters = {}
- check_results = {}
- if self.hosts:
- filters['hostname__in'] = self.hosts
- check_results['hostname__in'] = 'hostname'
-
- if self.labels:
- if len(self.labels) == 1:
- # This is needed for labels with wildcards (x86*)
- filters['labels__name__in'] = self.labels
- check_results['labels__name__in'] = None
- else:
- filters['multiple_labels'] = self.labels
- check_results['multiple_labels'] = None
-
- if self.status:
- statuses = self.status.split(',')
- statuses = [status.strip() for status in statuses
- if status.strip()]
-
- filters['status__in'] = statuses
- check_results['status__in'] = None
-
- if self.acl:
- filters['aclgroup__name'] = self.acl
- check_results['aclgroup__name'] = None
- if self.user:
- filters['aclgroup__users__login'] = self.user
- check_results['aclgroup__users__login'] = None
-
- if self.locked or self.unlocked:
- filters['locked'] = self.locked
- check_results['locked'] = None
-
- return super(host_list, self).execute(op='get_hosts',
- filters=filters,
- check_results=check_results)
-
-
- def output(self, results):
- """Print output of 'atest host list'.
-
- @param results: the results to be printed.
- """
- if results and not self.skylab:
- # Remove the platform from the labels.
- for result in results:
- result['labels'] = self._cleanup_labels(result['labels'],
- result['platform'])
- if self.skylab and self.full_output:
- print(results)
- return
-
- if self.skylab:
- results = device.convert_to_autotest_hosts(results)
-
- if self.hostnames_only:
- self.print_list(results, key='hostname')
- else:
- keys = ['hostname', 'status', 'shard', 'locked', 'lock_reason',
- 'locked_by', 'platform', 'labels']
- super(host_list, self).output(results, keys=keys)
-
-
-class host_stat(host):
- """atest host stat --mlist <file>|<hosts>"""
- usage_action = 'stat'
-
- def execute(self):
- """Execute 'atest host stat'."""
- results = []
- # Convert wildcards into real host stats.
- existing_hosts = []
- for host in self.hosts:
- if host.endswith('*'):
- stats = self.execute_rpc('get_hosts',
- hostname__startswith=host.rstrip('*'))
- if len(stats) == 0:
- self.failure('No hosts matching %s' % host, item=host,
- what_failed='Failed to stat')
- continue
- else:
- stats = self.execute_rpc('get_hosts', hostname=host)
- if len(stats) == 0:
- self.failure('Unknown host %s' % host, item=host,
- what_failed='Failed to stat')
- continue
- existing_hosts.extend(stats)
-
- for stat in existing_hosts:
- host = stat['hostname']
- # The host exists, these should succeed
- acls = self.execute_rpc('get_acl_groups', hosts__hostname=host)
-
- labels = self.execute_rpc('get_labels', host__hostname=host)
- results.append([[stat], acls, labels, stat['attributes']])
- return results
-
-
- def output(self, results):
- """Print output of 'atest host stat'.
-
- @param results: the results to be printed.
- """
- for stats, acls, labels, attributes in results:
- print('-'*5)
- self.print_fields(stats,
- keys=['hostname', 'id', 'platform',
- 'status', 'locked', 'locked_by',
- 'lock_time', 'lock_reason', 'protection',])
- self.print_by_ids(acls, 'ACLs', line_before=True)
- labels = self._cleanup_labels(labels)
- self.print_by_ids(labels, 'Labels', line_before=True)
- self.print_dict(attributes, 'Host Attributes', line_before=True)
-
-
-class host_get_migration_plan(host_stat):
- """atest host get_migration_plan --mlist <file>|<hosts>"""
- usage_action = "get_migration_plan"
-
- def __init__(self):
- super(host_get_migration_plan, self).__init__()
- self.parser.add_option("--ratio", default=0.5, type=float, dest="ratio")
- self.add_skylab_options()
-
- def parse(self):
- (options, leftover) = super(host_get_migration_plan, self).parse()
- self.ratio = options.ratio
- return (options, leftover)
-
- def execute(self):
- afe = frontend.AFE()
- results = super(host_get_migration_plan, self).execute()
- working = []
- non_working = []
- for stats, _, _, _ in results:
- assert len(stats) == 1
- stats = stats[0]
- hostname = stats["hostname"]
- now = time.time()
- history = HostJobHistory.get_host_history(
- afe=afe,
- hostname=hostname,
- start_time=now,
- end_time=now - 24 * 60 * 60,
- )
- dut_status, _ = history.last_diagnosis()
- if dut_status in [UNUSED, WORKING]:
- working.append(hostname)
- elif dut_status == BROKEN:
- non_working.append(hostname)
- elif dut_status == UNKNOWN:
- # if it's unknown, randomly assign it to working or
- # nonworking, since we don't know.
- # The two choices aren't actually equiprobable, but it
- # should be fine.
- random.choice([working, non_working]).append(hostname)
- else:
- raise ValueError("unknown status %s" % dut_status)
- working_transfer, working_retain = fair_partition.partition(working, self.ratio)
- non_working_transfer, non_working_retain = \
- fair_partition.partition(non_working, self.ratio)
- return {
- "transfer": working_transfer + non_working_transfer,
- "retain": working_retain + non_working_retain,
- }
-
- def output(self, results):
- print(json.dumps(results, indent=4, sort_keys=True))
-
-
-class host_jobs(host):
- """atest host jobs [--max-query] --mlist <file>|<hosts>"""
- usage_action = 'jobs'
-
- def __init__(self):
- super(host_jobs, self).__init__()
- self.parser.add_option('-q', '--max-query',
- help='Limits the number of results '
- '(20 by default)',
- type='int', default=20)
-
-
- def parse(self):
- """Consume the specific options"""
- (options, leftover) = super(host_jobs, self).parse()
- self.max_queries = options.max_query
- return (options, leftover)
-
-
- def execute(self):
- """Execute 'atest host jobs'."""
- results = []
- real_hosts = []
- for host in self.hosts:
- if host.endswith('*'):
- stats = self.execute_rpc('get_hosts',
- hostname__startswith=host.rstrip('*'))
- if len(stats) == 0:
- self.failure('No host matching %s' % host, item=host,
- what_failed='Failed to stat')
- [real_hosts.append(stat['hostname']) for stat in stats]
- else:
- real_hosts.append(host)
-
- for host in real_hosts:
- queue_entries = self.execute_rpc('get_host_queue_entries',
- host__hostname=host,
- query_limit=self.max_queries,
- sort_by=['-job__id'])
- jobs = []
- for entry in queue_entries:
- job = {'job_id': entry['job']['id'],
- 'job_owner': entry['job']['owner'],
- 'job_name': entry['job']['name'],
- 'status': entry['status']}
- jobs.append(job)
- results.append((host, jobs))
- return results
-
-
- def output(self, results):
- """Print output of 'atest host jobs'.
-
- @param results: the results to be printed.
- """
- for host, jobs in results:
- print('-'*5)
- print('Hostname: %s' % host)
- self.print_table(jobs, keys_header=['job_id',
- 'job_owner',
- 'job_name',
- 'status'])
-
-class BaseHostModCreate(host):
- """The base class for host_mod and host_create"""
- # Matches one attribute=value pair
- attribute_regex = r'(?P<attribute>\w+)=(?P<value>.+)?'
-
- def __init__(self):
- """Add the options shared between host mod and host create actions."""
- self.messages = []
- self.host_ids = {}
- super(BaseHostModCreate, self).__init__()
- self.parser.add_option('-l', '--lock',
- help='Lock hosts.',
- action='store_true')
- self.parser.add_option('-r', '--lock_reason',
- help='Reason for locking hosts.',
- default='')
- self.parser.add_option('-u', '--unlock',
- help='Unlock hosts.',
- action='store_true')
-
- self.parser.add_option('-p', '--protection', type='choice',
- help=('Set the protection level on a host. '
- 'Must be one of: %s. %s' %
- (', '.join('"%s"' % p
- for p in self.protections),
- skylab_utils.MSG_INVALID_IN_SKYLAB)),
- choices=self.protections)
- self._attributes = []
- self.parser.add_option('--attribute', '-i',
- help=('Host attribute to add or change. Format '
- 'is <attribute>=<value>. Multiple '
- 'attributes can be set by passing the '
- 'argument multiple times. Attributes can '
- 'be unset by providing an empty value.'),
- action='append')
- self.parser.add_option('-b', '--labels',
- help=('Comma separated list of labels. '
- 'When --skylab is provided, a label must '
- 'be in the format of label-key:label-value'
- ' (e.g., board:lumpy).'))
- self.parser.add_option('-B', '--blist',
- help='File listing the labels',
- type='string',
- metavar='LABEL_FLIST')
- self.parser.add_option('-a', '--acls',
- help=('Comma separated list of ACLs. %s' %
- skylab_utils.MSG_INVALID_IN_SKYLAB))
- self.parser.add_option('-A', '--alist',
- help=('File listing the acls. %s' %
- skylab_utils.MSG_INVALID_IN_SKYLAB),
- type='string',
- metavar='ACL_FLIST')
- self.parser.add_option('-t', '--platform',
- help=('Sets the platform label. %s Please set '
- 'platform in labels (e.g., -b '
- 'platform:platform_name) with --skylab.' %
- skylab_utils.MSG_INVALID_IN_SKYLAB))
-
-
- def parse(self):
- """Consume the options common to host create and host mod.
- """
- label_info = topic_common.item_parse_info(attribute_name='labels',
- inline_option='labels',
- filename_option='blist')
- acl_info = topic_common.item_parse_info(attribute_name='acls',
- inline_option='acls',
- filename_option='alist')
-
- (options, leftover) = super(BaseHostModCreate, self).parse([label_info,
- acl_info],
- req_items='hosts')
-
- self._parse_lock_options(options)
-
- self.label_map = None
- if self.allow_skylab and self.skylab:
- # TODO(nxia): drop these flags when all hosts are migrated to skylab
- if (options.protection or options.acls or options.alist or
- options.platform):
- self.invalid_syntax(
- '--protection, --acls, --alist or --platform is not '
- 'supported with --skylab.')
-
- if self.labels:
- self.label_map = device.convert_to_label_map(self.labels)
-
- if options.protection:
- self.data['protection'] = options.protection
- self.messages.append('Protection set to "%s"' % options.protection)
-
- self.attributes = {}
- if options.attribute:
- for pair in options.attribute:
- m = re.match(self.attribute_regex, pair)
- if not m:
- raise topic_common.CliError('Attribute must be in key=value '
- 'syntax.')
- elif m.group('attribute') in self.attributes:
- raise topic_common.CliError(
- 'Multiple values provided for attribute '
- '%s.' % m.group('attribute'))
- self.attributes[m.group('attribute')] = m.group('value')
-
- self.platform = options.platform
- return (options, leftover)
-
-
- def _set_acls(self, hosts, acls):
- """Add hosts to acls (and remove from all other acls).
-
- @param hosts: list of hostnames
- @param acls: list of acl names
- """
- # Remove from all ACLs except 'Everyone' and ACLs in list
- # Skip hosts that don't exist
- for host in hosts:
- if host not in self.host_ids:
- continue
- host_id = self.host_ids[host]
- for a in self.execute_rpc('get_acl_groups', hosts=host_id):
- if a['name'] not in self.acls and a['id'] != 1:
- self.execute_rpc('acl_group_remove_hosts', id=a['id'],
- hosts=self.hosts)
-
- # Add hosts to the ACLs
- self.check_and_create_items('get_acl_groups', 'add_acl_group',
- self.acls)
- for a in acls:
- self.execute_rpc('acl_group_add_hosts', id=a, hosts=hosts)
-
-
- def _remove_labels(self, host, condition):
- """Remove all labels from host that meet condition(label).
-
- @param host: hostname
- @param condition: callable that returns bool when given a label
- """
- if host in self.host_ids:
- host_id = self.host_ids[host]
- labels_to_remove = []
- for l in self.execute_rpc('get_labels', host=host_id):
- if condition(l):
- labels_to_remove.append(l['id'])
- if labels_to_remove:
- self.execute_rpc('host_remove_labels', id=host_id,
- labels=labels_to_remove)
-
-
- def _set_labels(self, host, labels):
- """Apply labels to host (and remove all other labels).
-
- @param host: hostname
- @param labels: list of label names
- """
- condition = lambda l: l['name'] not in labels and not l['platform']
- self._remove_labels(host, condition)
- self.check_and_create_items('get_labels', 'add_label', labels)
- self.execute_rpc('host_add_labels', id=host, labels=labels)
-
-
- def _set_platform_label(self, host, platform_label):
- """Apply the platform label to host (and remove existing).
-
- @param host: hostname
- @param platform_label: platform label's name
- """
- self._remove_labels(host, lambda l: l['platform'])
- self.check_and_create_items('get_labels', 'add_label', [platform_label],
- platform=True)
- self.execute_rpc('host_add_labels', id=host, labels=[platform_label])
-
-
- def _set_attributes(self, host, attributes):
- """Set attributes on host.
-
- @param host: hostname
- @param attributes: attribute dictionary
- """
- for attr, value in self.attributes.iteritems():
- self.execute_rpc('set_host_attribute', attribute=attr,
- value=value, hostname=host)
-
-
-class host_mod(BaseHostModCreate):
- """atest host mod [--lock|--unlock --force_modify_locking
- --platform <arch>
- --labels <labels>|--blist <label_file>
- --acls <acls>|--alist <acl_file>
- --protection <protection_type>
- --attributes <attr>=<value>;<attr>=<value>
- --mlist <mach_file>] <hosts>"""
- usage_action = 'mod'
-
- def __init__(self):
- """Add the options specific to the mod action"""
- super(host_mod, self).__init__()
- self.parser.add_option('--unlock-lock-id',
- help=('Unlock the lock with the lock-id. %s' %
- skylab_utils.MSG_ONLY_VALID_IN_SKYLAB),
- default=None)
- self.parser.add_option('-f', '--force_modify_locking',
- help=r'Forcefully lock\unlock a host',
- action='store_true')
- self.parser.add_option('--remove_acls',
- help=('Remove all active acls. %s' %
- skylab_utils.MSG_INVALID_IN_SKYLAB),
- action='store_true')
- self.parser.add_option('--remove_labels',
- help='Remove all labels.',
- action='store_true')
-
- self.add_skylab_options()
- self.parser.add_option('--new-env',
- dest='new_env',
- choices=['staging', 'prod'],
- help=('The new environment ("staging" or '
- '"prod") of the hosts. %s' %
- skylab_utils.MSG_ONLY_VALID_IN_SKYLAB),
- default=None)
-
-
- def _parse_unlock_options(self, options):
- """Parse unlock related options."""
- if self.skylab and options.unlock and options.unlock_lock_id is None:
- self.invalid_syntax('Must provide --unlock-lock-id with "--skylab '
- '--unlock".')
-
- if (not (self.skylab and options.unlock) and
- options.unlock_lock_id is not None):
- self.invalid_syntax('--unlock-lock-id is only valid with '
- '"--skylab --unlock".')
-
- self.unlock_lock_id = options.unlock_lock_id
-
-
- def parse(self):
- """Consume the specific options"""
- (options, leftover) = super(host_mod, self).parse()
-
- self._parse_unlock_options(options)
-
- if options.force_modify_locking:
- self.data['force_modify_locking'] = True
-
- if self.skylab and options.remove_acls:
- # TODO(nxia): drop the flag when all hosts are migrated to skylab
- self.invalid_syntax('--remove_acls is not supported with --skylab.')
-
- self.remove_acls = options.remove_acls
- self.remove_labels = options.remove_labels
- self.new_env = options.new_env
-
- return (options, leftover)
-
-
- def execute_skylab(self):
- """Execute atest host mod with --skylab.
-
- @return A list of hostnames which have been successfully modified.
- """
- inventory_repo = skylab_utils.InventoryRepo(self.inventory_repo_dir)
- inventory_repo.initialize()
- data_dir = inventory_repo.get_data_dir()
- lab = text_manager.load_lab(data_dir)
-
- locked_by = None
- if self.lock:
- locked_by = inventory_repo.git_repo.config('user.email')
-
- successes = []
- for hostname in self.hosts:
- try:
- device.modify(
- lab,
- 'duts',
- hostname,
- self.environment,
- lock=self.lock,
- locked_by=locked_by,
- lock_reason = self.lock_reason,
- unlock=self.unlock,
- unlock_lock_id=self.unlock_lock_id,
- attributes=self.attributes,
- remove_labels=self.remove_labels,
- label_map=self.label_map,
- new_env=self.new_env)
- successes.append(hostname)
- except device.SkylabDeviceActionError as e:
- print('Cannot modify host %s: %s' % (hostname, e))
-
- if successes:
- text_manager.dump_lab(data_dir, lab)
-
- status = inventory_repo.git_repo.status()
- if not status:
- print('Nothing is changed for hosts %s.' % successes)
- return []
-
- message = skylab_utils.construct_commit_message(
- 'Modify %d hosts.\n\n%s' % (len(successes), successes))
- self.change_number = inventory_repo.upload_change(
- message, draft=self.draft, dryrun=self.dryrun,
- submit=self.submit)
-
- return successes
-
-
- def execute(self):
- """Execute 'atest host mod'."""
- if self.skylab:
- return self.execute_skylab()
-
- successes = []
- for host in self.execute_rpc('get_hosts', hostname__in=self.hosts):
- self.host_ids[host['hostname']] = host['id']
- for host in self.hosts:
- if host not in self.host_ids:
- self.failure('Cannot modify non-existant host %s.' % host)
- continue
- host_id = self.host_ids[host]
-
- try:
- if self.data:
- self.execute_rpc('modify_host', item=host,
- id=host, **self.data)
-
- if self.attributes:
- self._set_attributes(host, self.attributes)
-
- if self.labels or self.remove_labels:
- self._set_labels(host, self.labels)
-
- if self.platform:
- self._set_platform_label(host, self.platform)
-
- # TODO: Make the AFE return True or False,
- # especially for lock
- successes.append(host)
- except topic_common.CliError as full_error:
- # Already logged by execute_rpc()
- pass
-
- if self.acls or self.remove_acls:
- self._set_acls(self.hosts, self.acls)
-
- return successes
-
-
- def output(self, hosts):
- """Print output of 'atest host mod'.
-
- @param hosts: the host list to be printed.
- """
- for msg in self.messages:
- self.print_wrapped(msg, hosts)
-
- if hosts and self.skylab:
- print('Modified hosts: %s.' % ', '.join(hosts))
- if self.skylab and not self.dryrun and not self.submit:
- print(skylab_utils.get_cl_message(self.change_number))
-
-
-class HostInfo(object):
- """Store host information so we don't have to keep looking it up."""
- def __init__(self, hostname, platform, labels):
- self.hostname = hostname
- self.platform = platform
- self.labels = labels
-
-
-class host_create(BaseHostModCreate):
- """atest host create [--lock|--unlock --platform <arch>
- --labels <labels>|--blist <label_file>
- --acls <acls>|--alist <acl_file>
- --protection <protection_type>
- --attributes <attr>=<value>;<attr>=<value>
- --mlist <mach_file>] <hosts>"""
- usage_action = 'create'
-
- def parse(self):
- """Option logic specific to create action.
- """
- (options, leftovers) = super(host_create, self).parse()
- self.locked = options.lock
- if 'serials' in self.attributes:
- if len(self.hosts) > 1:
- raise topic_common.CliError('Can not specify serials with '
- 'multiple hosts.')
-
-
- @classmethod
- def construct_without_parse(
- cls, web_server, hosts, platform=None,
- locked=False, lock_reason='', labels=[], acls=[],
- protection=host_protections.Protection.NO_PROTECTION):
- """Construct a host_create object and fill in data from args.
-
- Do not need to call parse after the construction.
-
- Return an object of site_host_create ready to execute.
-
- @param web_server: A string specifies the autotest webserver url.
- It is needed to setup comm to make rpc.
- @param hosts: A list of hostnames as strings.
- @param platform: A string or None.
- @param locked: A boolean.
- @param lock_reason: A string.
- @param labels: A list of labels as strings.
- @param acls: A list of acls as strings.
- @param protection: An enum defined in host_protections.
- """
- obj = cls()
- obj.web_server = web_server
- try:
- # Setup stuff needed for afe comm.
- obj.afe = rpc.afe_comm(web_server)
- except rpc.AuthError as s:
- obj.failure(str(s), fatal=True)
- obj.hosts = hosts
- obj.platform = platform
- obj.locked = locked
- if locked and lock_reason.strip():
- obj.data['lock_reason'] = lock_reason.strip()
- obj.labels = labels
- obj.acls = acls
- if protection:
- obj.data['protection'] = protection
- obj.attributes = {}
- return obj
-
-
- def _detect_host_info(self, host):
- """Detect platform and labels from the host.
-
- @param host: hostname
-
- @return: HostInfo object
- """
- # Mock an afe_host object so that the host is constructed as if the
- # data was already in afe
- data = {'attributes': self.attributes, 'labels': self.labels}
- afe_host = frontend.Host(None, data)
- store = host_info.InMemoryHostInfoStore(
- host_info.HostInfo(labels=self.labels,
- attributes=self.attributes))
- machine = {
- 'hostname': host,
- 'afe_host': afe_host,
- 'host_info_store': store
- }
- try:
- if bin_utils.ping(host, tries=1, deadline=1) == 0:
- serials = self.attributes.get('serials', '').split(',')
- adb_serial = self.attributes.get('serials')
- host_dut = hosts.create_host(machine,
- adb_serial=adb_serial)
-
- info = HostInfo(host, host_dut.get_platform(),
- host_dut.get_labels())
- # Clean host to make sure nothing left after calling it,
- # e.g. tunnels.
- if hasattr(host_dut, 'close'):
- host_dut.close()
- else:
- # Can't ping the host, use default information.
- info = HostInfo(host, None, [])
- except (socket.gaierror, error.AutoservRunError,
- error.AutoservSSHTimeout):
- # We may be adding a host that does not exist yet or we can't
- # reach due to hostname/address issues or if the host is down.
- info = HostInfo(host, None, [])
- return info
-
-
- def _execute_add_one_host(self, host):
- # Always add the hosts as locked to avoid the host
- # being picked up by the scheduler before it's ACL'ed.
- self.data['locked'] = True
- if not self.locked:
- self.data['lock_reason'] = 'Forced lock on device creation'
- self.execute_rpc('add_host', hostname=host, status="Ready", **self.data)
-
- # If there are labels avaliable for host, use them.
- info = self._detect_host_info(host)
- labels = set(self.labels)
- if info.labels:
- labels.update(info.labels)
-
- if labels:
- self._set_labels(host, list(labels))
-
- # Now add the platform label.
- # If a platform was not provided and we were able to retrieve it
- # from the host, use the retrieved platform.
- platform = self.platform if self.platform else info.platform
- if platform:
- self._set_platform_label(host, platform)
-
- if self.attributes:
- self._set_attributes(host, self.attributes)
-
-
- def execute(self):
- """Execute 'atest host create'."""
- successful_hosts = []
- for host in self.hosts:
- try:
- self._execute_add_one_host(host)
- successful_hosts.append(host)
- except topic_common.CliError:
- pass
-
- if successful_hosts:
- self._set_acls(successful_hosts, self.acls)
-
- if not self.locked:
- for host in successful_hosts:
- self.execute_rpc('modify_host', id=host, locked=False,
- lock_reason='')
- return successful_hosts
-
-
- def output(self, hosts):
- """Print output of 'atest host create'.
-
- @param hosts: the added host list to be printed.
- """
- self.print_wrapped('Added host', hosts)
-
-
-class host_delete(action_common.atest_delete, host):
- """atest host delete [--mlist <mach_file>] <hosts>"""
-
- def __init__(self):
- super(host_delete, self).__init__()
-
- self.add_skylab_options()
-
-
- def execute_skylab(self):
- """Execute 'atest host delete' with '--skylab'.
-
- @return A list of hostnames which have been successfully deleted.
- """
- inventory_repo = skylab_utils.InventoryRepo(self.inventory_repo_dir)
- inventory_repo.initialize()
- data_dir = inventory_repo.get_data_dir()
- lab = text_manager.load_lab(data_dir)
-
- successes = []
- for hostname in self.hosts:
- try:
- device.delete(
- lab,
- 'duts',
- hostname,
- self.environment)
- successes.append(hostname)
- except device.SkylabDeviceActionError as e:
- print('Cannot delete host %s: %s' % (hostname, e))
-
- if successes:
- text_manager.dump_lab(data_dir, lab)
- message = skylab_utils.construct_commit_message(
- 'Delete %d hosts.\n\n%s' % (len(successes), successes))
- self.change_number = inventory_repo.upload_change(
- message, draft=self.draft, dryrun=self.dryrun,
- submit=self.submit)
-
- return successes
-
-
- def execute(self):
- """Execute 'atest host delete'.
-
- @return A list of hostnames which have been successfully deleted.
- """
- if self.skylab:
- return self.execute_skylab()
-
- return super(host_delete, self).execute()
-
-
-class InvalidHostnameError(Exception):
- """Cannot perform actions on the host because of invalid hostname."""
-
-
-def _add_hostname_suffix(hostname, suffix):
- """Add the suffix to the hostname."""
- if hostname.endswith(suffix):
- raise InvalidHostnameError(
- 'Cannot add "%s" as it already contains the suffix.' % suffix)
-
- return hostname + suffix
-
-
-def _remove_hostname_suffix_if_present(hostname, suffix):
- """Remove the suffix from the hostname."""
- if hostname.endswith(suffix):
- return hostname[:len(hostname) - len(suffix)]
- else:
- return hostname
-
-
-class host_rename(host):
- """Host rename is only for migrating hosts between skylab and AFE DB."""
-
- usage_action = 'rename'
-
- def __init__(self):
- """Add the options specific to the rename action."""
- super(host_rename, self).__init__()
-
- self.parser.add_option('--for-migration',
- help=('Rename hostnames for migration. Rename '
- 'each "hostname" to "hostname%s". '
- 'The original "hostname" must not contain '
- 'suffix.' % MIGRATED_HOST_SUFFIX),
- action='store_true',
- default=False)
- self.parser.add_option('--for-rollback',
- help=('Rename hostnames for migration rollback. '
- 'Rename each "hostname%s" to its original '
- '"hostname".' % MIGRATED_HOST_SUFFIX),
- action='store_true',
- default=False)
- self.parser.add_option('--dryrun',
- help='Execute the action as a dryrun.',
- action='store_true',
- default=False)
- self.parser.add_option('--non-interactive',
- help='run non-interactively',
- action='store_true',
- default=False)
-
-
- def parse(self):
- """Consume the options common to host rename."""
- (options, leftovers) = super(host_rename, self).parse()
- self.for_migration = options.for_migration
- self.for_rollback = options.for_rollback
- self.dryrun = options.dryrun
- self.interactive = not options.non_interactive
- self.host_ids = {}
-
- if not (self.for_migration ^ self.for_rollback):
- self.invalid_syntax('--for-migration and --for-rollback are '
- 'exclusive, and one of them must be enabled.')
-
- if not self.hosts:
- self.invalid_syntax('Must provide hostname(s).')
-
- if self.dryrun:
- print('This will be a dryrun and will not rename hostnames.')
-
- return (options, leftovers)
-
-
- def execute(self):
- """Execute 'atest host rename'."""
- if self.interactive:
- if self.prompt_confirmation():
- pass
- else:
- return
-
- successes = []
- for host in self.execute_rpc('get_hosts', hostname__in=self.hosts):
- self.host_ids[host['hostname']] = host['id']
- for host in self.hosts:
- if host not in self.host_ids:
- self.failure('Cannot rename non-existant host %s.' % host,
- item=host, what_failed='Failed to rename')
- continue
- try:
- host_id = self.host_ids[host]
- if self.for_migration:
- new_hostname = _add_hostname_suffix(
- host, MIGRATED_HOST_SUFFIX)
- else:
- #for_rollback
- new_hostname = _remove_hostname_suffix_if_present(
- host, MIGRATED_HOST_SUFFIX)
-
- if not self.dryrun:
- # TODO(crbug.com/850737): delete and abort HQE.
- data = {'hostname': new_hostname}
- self.execute_rpc('modify_host', item=host, id=host_id,
- **data)
- successes.append((host, new_hostname))
- except InvalidHostnameError as e:
- self.failure('Cannot rename host %s: %s' % (host, e), item=host,
- what_failed='Failed to rename')
- except topic_common.CliError as full_error:
- # Already logged by execute_rpc()
- pass
-
- return successes
-
-
- def output(self, results):
- """Print output of 'atest host rename'."""
- if results:
- print('Successfully renamed:')
- for old_hostname, new_hostname in results:
- print('%s to %s' % (old_hostname, new_hostname))
-
-
-class host_migrate(action_common.atest_list, host):
- """'atest host migrate' to migrate or rollback hosts."""
-
- usage_action = 'migrate'
-
- def __init__(self):
- super(host_migrate, self).__init__()
-
- self.parser.add_option('--migration',
- dest='migration',
- help='Migrate the hosts to skylab.',
- action='store_true',
- default=False)
- self.parser.add_option('--rollback',
- dest='rollback',
- help='Rollback the hosts migrated to skylab.',
- action='store_true',
- default=False)
- self.parser.add_option('--model',
- help='Model of the hosts to migrate.',
- dest='model',
- default=None)
- self.parser.add_option('--board',
- help='Board of the hosts to migrate.',
- dest='board',
- default=None)
- self.parser.add_option('--pool',
- help=('Pool of the hosts to migrate. Must '
- 'specify --model for the pool.'),
- dest='pool',
- default=None)
-
- self.add_skylab_options(enforce_skylab=True)
-
-
- def parse(self):
- """Consume the specific options"""
- (options, leftover) = super(host_migrate, self).parse()
-
- self.migration = options.migration
- self.rollback = options.rollback
- self.model = options.model
- self.pool = options.pool
- self.board = options.board
- self.host_ids = {}
-
- if not (self.migration ^ self.rollback):
- self.invalid_syntax('--migration and --rollback are exclusive, '
- 'and one of them must be enabled.')
-
- if self.pool is not None and (self.model is None and
- self.board is None):
- self.invalid_syntax('Must provide --model or --board with --pool.')
-
- if not self.hosts and not (self.model or self.board):
- self.invalid_syntax('Must provide hosts or --model or --board.')
-
- return (options, leftover)
-
-
- def _remove_invalid_hostnames(self, hostnames, log_failure=False):
- """Remove hostnames with MIGRATED_HOST_SUFFIX.
-
- @param hostnames: A list of hostnames.
- @param log_failure: Bool indicating whether to log invalid hostsnames.
-
- @return A list of valid hostnames.
- """
- invalid_hostnames = set()
- for hostname in hostnames:
- if hostname.endswith(MIGRATED_HOST_SUFFIX):
- if log_failure:
- self.failure('Cannot migrate host with suffix "%s" %s.' %
- (MIGRATED_HOST_SUFFIX, hostname),
- item=hostname, what_failed='Failed to rename')
- invalid_hostnames.add(hostname)
-
- hostnames = list(set(hostnames) - invalid_hostnames)
-
- return hostnames
-
-
- def execute(self):
- """Execute 'atest host migrate'."""
- hostnames = self._remove_invalid_hostnames(self.hosts, log_failure=True)
-
- filters = {}
- check_results = {}
- if hostnames:
- check_results['hostname__in'] = 'hostname'
- if self.migration:
- filters['hostname__in'] = hostnames
- else:
- # rollback
- hostnames_with_suffix = [
- _add_hostname_suffix(h, MIGRATED_HOST_SUFFIX)
- for h in hostnames]
- filters['hostname__in'] = hostnames_with_suffix
- else:
- # TODO(nxia): add exclude_filter {'hostname__endswith':
- # MIGRATED_HOST_SUFFIX} for --migration
- if self.rollback:
- filters['hostname__endswith'] = MIGRATED_HOST_SUFFIX
-
- labels = []
- if self.model:
- labels.append('model:%s' % self.model)
- if self.pool:
- labels.append('pool:%s' % self.pool)
- if self.board:
- labels.append('board:%s' % self.board)
-
- if labels:
- if len(labels) == 1:
- filters['labels__name__in'] = labels
- check_results['labels__name__in'] = None
- else:
- filters['multiple_labels'] = labels
- check_results['multiple_labels'] = None
-
- results = super(host_migrate, self).execute(
- op='get_hosts', filters=filters, check_results=check_results)
- hostnames = [h['hostname'] for h in results]
-
- if self.migration:
- hostnames = self._remove_invalid_hostnames(hostnames)
- else:
- # rollback
- hostnames = [_remove_hostname_suffix(h, MIGRATED_HOST_SUFFIX)
- for h in hostnames]
-
- return self.execute_skylab_migration(hostnames)
-
-
- def assign_duts_to_drone(self, infra, devices, environment):
- """Assign uids of the devices to a random skylab drone.
-
- @param infra: An instance of lab_pb2.Infrastructure.
- @param devices: A list of device_pb2.Device to be assigned to the drone.
- @param environment: 'staging' or 'prod'.
- """
- skylab_drones = skylab_server.get_servers(
- infra, environment, role='skylab_drone', status='primary')
-
- if len(skylab_drones) == 0:
- raise device.SkylabDeviceActionError(
- 'No skylab drone is found in primary status and staging '
- 'environment. Please confirm there is at least one valid skylab'
- ' drone added in skylab inventory.')
-
- for device in devices:
- # Randomly distribute each device to a skylab_drone.
- skylab_drone = random.choice(skylab_drones)
- skylab_server.add_dut_uids(skylab_drone, [device])
-
-
- def remove_duts_from_drone(self, infra, devices):
- """Remove uids of the devices from their skylab drones.
-
- @param infra: An instance of lab_pb2.Infrastructure.
- @devices: A list of device_pb2.Device to be remove from the drone.
- """
- skylab_drones = skylab_server.get_servers(
- infra, 'staging', role='skylab_drone', status='primary')
-
- for skylab_drone in skylab_drones:
- skylab_server.remove_dut_uids(skylab_drone, devices)
-
-
- def execute_skylab_migration(self, hostnames):
- """Execute migration in skylab_inventory.
-
- @param hostnames: A list of hostnames to migrate.
- @return If there're hosts to migrate, return a list of the hostnames and
- a message instructing actions after the migration; else return
- None.
- """
- if not hostnames:
- return
-
- inventory_repo = skylab_utils.InventoryRepo(self.inventory_repo_dir)
- inventory_repo.initialize()
-
- subdirs = ['skylab', 'prod', 'staging']
- data_dirs = skylab_data_dir, prod_data_dir, staging_data_dir = [
- inventory_repo.get_data_dir(data_subdir=d) for d in subdirs]
- skylab_lab, prod_lab, staging_lab = [
- text_manager.load_lab(d) for d in data_dirs]
- infra = text_manager.load_infrastructure(skylab_data_dir)
-
- label_map = None
- labels = []
- if self.board:
- labels.append('board:%s' % self.board)
- if self.model:
- labels.append('model:%s' % self.model)
- if self.pool:
- labels.append('critical_pool:%s' % self.pool)
- if labels:
- label_map = device.convert_to_label_map(labels)
-
- if self.migration:
- prod_devices = device.move_devices(
- prod_lab, skylab_lab, 'duts', label_map=label_map,
- hostnames=hostnames)
- staging_devices = device.move_devices(
- staging_lab, skylab_lab, 'duts', label_map=label_map,
- hostnames=hostnames)
-
- all_devices = prod_devices + staging_devices
- # Hostnames in afe_hosts tabel.
- device_hostnames = [str(d.common.hostname) for d in all_devices]
- message = (
- 'Migration: move %s hosts into skylab_inventory.\n\n'
- 'Please run this command after the CL is submitted:\n'
- 'atest host rename --for-migration %s' %
- (len(all_devices), ' '.join(device_hostnames)))
-
- self.assign_duts_to_drone(infra, prod_devices, 'prod')
- self.assign_duts_to_drone(infra, staging_devices, 'staging')
- else:
- # rollback
- prod_devices = device.move_devices(
- skylab_lab, prod_lab, 'duts', environment='prod',
- label_map=label_map, hostnames=hostnames)
- staging_devices = device.move_devices(
- skylab_lab, staging_lab, 'duts', environment='staging',
- label_map=label_map, hostnames=hostnames)
-
- all_devices = prod_devices + staging_devices
- # Hostnames in afe_hosts tabel.
- device_hostnames = [_add_hostname_suffix(str(d.common.hostname),
- MIGRATED_HOST_SUFFIX)
- for d in all_devices]
- message = (
- 'Rollback: remove %s hosts from skylab_inventory.\n\n'
- 'Please run this command after the CL is submitted:\n'
- 'atest host rename --for-rollback %s' %
- (len(all_devices), ' '.join(device_hostnames)))
-
- self.remove_duts_from_drone(infra, all_devices)
-
- if all_devices:
- text_manager.dump_infrastructure(skylab_data_dir, infra)
-
- if prod_devices:
- text_manager.dump_lab(prod_data_dir, prod_lab)
-
- if staging_devices:
- text_manager.dump_lab(staging_data_dir, staging_lab)
-
- text_manager.dump_lab(skylab_data_dir, skylab_lab)
-
- self.change_number = inventory_repo.upload_change(
- message, draft=self.draft, dryrun=self.dryrun,
- submit=self.submit)
-
- return all_devices, message
-
-
- def output(self, result):
- """Print output of 'atest host list'.
-
- @param result: the result to be printed.
- """
- if result:
- devices, message = result
-
- if devices:
- hostnames = [h.common.hostname for h in devices]
- if self.migration:
- print('Migrating hosts: %s' % ','.join(hostnames))
- else:
- # rollback
- print('Rolling back hosts: %s' % ','.join(hostnames))
-
- if not self.dryrun:
- if not self.submit:
- print(skylab_utils.get_cl_message(self.change_number))
- else:
- # Print the instruction command for renaming hosts.
- print('%s' % message)
- else:
- print('No hosts were migrated.')
diff --git a/cli/topic_common.py b/cli/topic_common.py
index 9604dc0..c85a2e3 100644
--- a/cli/topic_common.py
+++ b/cli/topic_common.py
@@ -10,9 +10,9 @@
operations.
The class inheritance is shown here using the command
-'atest host create ...' as an example:
+'atest server list ...' as an example:
-atest <-- host <-- host_create <-- site_host_create
+atest <-- server <-- server_list
Note: The site_<topic>.py and its classes are only needed if you need
to override the common <topic>.py methods with your site specific ones.
@@ -274,7 +274,7 @@
Should only be instantiated by itself for usage
references, otherwise, the <topic> objects should
be used."""
- msg_topic = '[acl|host|job|label|shard|test|user|server]'
+ msg_topic = '[acl|job|label|shard|test|user|server]'
usage_action = '[action]'
msg_items = ''
diff --git a/client/bin/autotestd b/client/bin/autotestd
index 77b7100..5af5d8c 100755
--- a/client/bin/autotestd
+++ b/client/bin/autotestd
@@ -17,8 +17,8 @@
os.dup2(2, 3)
# open up log files to use for std*
-stdout = open(os.path.join(logdir, 'stdout'), 'a', 0)
-stderr = open(os.path.join(logdir, 'stderr'), 'a', 0)
+stdout = open(os.path.join(logdir, 'stdout'), 'a', buffering=2)
+stderr = open(os.path.join(logdir, 'stderr'), 'a', buffering=2)
# set up the file descriptors now, simulating the old behaviour
os.dup2(stdout.fileno(), 1)
@@ -36,14 +36,18 @@
cmd = ' '.join(args)
# open up a log file for saving off the exit code
-exit_file = open(os.path.join(logdir, 'exit_code'), 'w', 0)
+exit_file = open(os.path.join(logdir, 'exit_code'), 'wb', buffering=0)
fcntl.flock(exit_file, fcntl.LOCK_EX)
# touch a 'started' file to indicate we've been initialized
open(os.path.join(logdir, 'started'), 'w').close()
# run the actual autotest client and write the exit code into the log file
-exit_code = subprocess.call(cmd, shell=True)
+# close_fds must be False to support python 2 and 3. In 3 the default changes
+# to True, and will break fd writing used elsewhere (e.g. harness_autoserv)
+exit_code = subprocess.call("{} {}".format(sys.executable, cmd),
+ shell=True,
+ close_fds=False)
exit_file.write('%+04d' % exit_code)
exit_file.flush()
fcntl.flock(exit_file, fcntl.LOCK_UN)
diff --git a/client/bin/autotestd_monitor b/client/bin/autotestd_monitor
index bff3ca4..fc022d7 100755
--- a/client/bin/autotestd_monitor
+++ b/client/bin/autotestd_monitor
@@ -6,13 +6,20 @@
import common
import sys, os, signal, time, subprocess, fcntl
+
+def _print_to_file_and_flush(msg, file):
+ """Print to the provided file, and flush after printing."""
+ print(msg, file=file)
+ file.flush()
+
logdir = sys.argv[1]
stdout_start = int(sys.argv[2]) # number of bytes we can skip on stdout
stderr_start = int(sys.argv[3]) # nubmer of bytes we can skip on stderr
# TODO (crosbug.com/38224)- sbasi: Remove extra logging.
stderr = open(os.path.join(logdir, 'stderr'), 'a', buffering=2)
-print('Entered autotestd_monitor.', file=stderr)
+_print_to_file_and_flush('Entered autotestd_monitor.', file=stderr)
+
# if any of our tail processes die, the monitor should die too
def kill_self(signum, frame):
os.kill(os.getpid(), signal.SIGTERM)
@@ -32,8 +39,7 @@
stdout_pump = launch_tail('stdout', sys.stdout, stdout_start)
stderr_pump = launch_tail('stderr', sys.stderr, stderr_start)
-print('Finished launching tail subprocesses.', file=stderr)
-
+_print_to_file_and_flush('Finished launching tail subprocesses.', file=stderr)
# wait for logdir/started to exist to be sure autotestd is started
start_time = time.time()
started_file_path = os.path.join(logdir, 'started')
@@ -42,12 +48,14 @@
if time.time() - start_time >= 30:
raise Exception("autotestd failed to start in %s" % logdir)
-print('Finished waiting on autotestd to start.', file=stderr)
+_print_to_file_and_flush('Finished waiting on autotestd to start.',
+ file=stderr)
# watch the exit code file for an exit
exit_code_file = open(os.path.join(logdir, 'exit_code'))
fcntl.flock(exit_code_file, fcntl.LOCK_EX)
-print('Got lock of exit_code_file.', file=stderr)
+_print_to_file_and_flush('Got lock of exit_code_file.', file=stderr)
+
try:
exit_code = exit_code_file.read()
if len(exit_code) != 4:
@@ -57,16 +65,19 @@
finally:
fcntl.flock(exit_code_file, fcntl.LOCK_UN)
exit_code_file.close()
- print('Released lock of exit_code_file and closed it.', file=stderr)
+ _print_to_file_and_flush('Released lock of exit_code_file and closed it.',
+ file=stderr)
# Give tail a tiny bit of time to finish.
time.sleep(0.01)
-print('Killing child processes.', file=stderr)
+_print_to_file_and_flush('Killing child processes.', file=stderr)
+
# clear the SIGCHLD handler so that killing the tails doesn't kill us
signal.signal(signal.SIGCHLD, signal.SIG_DFL)
os.kill(stdout_pump.pid, signal.SIGTERM)
os.kill(stderr_pump.pid, signal.SIGTERM)
+stderr.close()
# exit (with the same code as autotestd)
sys.exit(exit_code)
diff --git a/client/bin/harness_autoserv.py b/client/bin/harness_autoserv.py
index bad2132..d187c3a 100644
--- a/client/bin/harness_autoserv.py
+++ b/client/bin/harness_autoserv.py
@@ -19,7 +19,8 @@
The job object for this job
"""
super(harness_autoserv, self).__init__(job)
- self.status = os.fdopen(3, 'w', 0)
+ # 2 for buffer size. Can't use the kwarg 'buffering' on fdopen in py2.
+ self.status = os.fdopen(3, 'w', 2)
# If a bug on the client run code prevents global_config.ini
# from being copied to the client machine, the client will run
@@ -58,7 +59,7 @@
# send signal to the server as title[:args]:path
msg = ':'.join([title] + list(args) + [fifo_path]) + '\n'
self.status.write(msg)
-
+ self.status.flush()
# wait for the server to signal back to us
fifo = open(fifo_path)
fifo.read(1)
diff --git a/client/bin/parallel.py b/client/bin/parallel.py
index 1468d48..7917433 100644
--- a/client/bin/parallel.py
+++ b/client/bin/parallel.py
@@ -3,7 +3,15 @@
__author__ = """Copyright Andy Whitcroft 2006"""
-import sys, logging, os, pickle, traceback, gc, time
+import gc
+import logging
+import os
+import pickle
+import six
+import sys
+import time
+import traceback
+
from autotest_lib.client.common_lib import error, utils
def fork_start(tmp, l):
@@ -36,14 +44,20 @@
if not os.path.exists(output_dir):
os.makedirs(output_dir)
ename = os.path.join(output_dir, "error-%d" % os.getpid())
- pickle.dump(detail, open(ename, "w"))
+
+ # Python 3+ requires binary mode.
+ mode = 'w' if six.PY2 else 'wb'
+ with open(ename, mode) as pickle_out:
+ pickle.dump(detail, pickle_out)
sys.stdout.flush()
sys.stderr.flush()
finally:
# clear exception information to allow garbage collection of
# objects referenced by the exception's traceback
- sys.exc_clear()
+ # exc_clear() doesn't exist in py3 (nor is needed).
+ if six.PY2:
+ sys.exc_clear()
gc.collect()
os._exit(1)
else:
@@ -58,7 +72,10 @@
ename = temp_dir + "/debug/error-%d" % pid
if os.path.exists(ename):
try:
- e = pickle.load(open(ename, 'rb'))
+ # Python 3+ requires binary mode.
+ mode = 'r' if six.PY2 else 'rb'
+ with open(ename, mode) as rf:
+ e = pickle.load(rf)
except ImportError:
with open(ename, 'r') as fp:
file_text = fp.read()
diff --git a/client/bin/site_sysinfo.py b/client/bin/site_sysinfo.py
index 94454f0..2cbee2b 100755
--- a/client/bin/site_sysinfo.py
+++ b/client/bin/site_sysinfo.py
@@ -442,8 +442,9 @@
from autotest_lib.client.cros import cryptohome
# Get the dictionary attack counter.
keyval["TPM_DICTIONARY_ATTACK_COUNTER"] = (
- cryptohome.get_tpm_more_status().get(
- 'dictionary_attack_counter', 'Failed to query cryptohome'))
+ cryptohome.get_tpm_da_info().get(
+ 'dictionary_attack_counter',
+ 'Failed to query tpm_manager'))
# Return the updated keyvals.
return keyval
diff --git a/client/bin/utils.py b/client/bin/utils.py
index 235151a..96b0114 100644
--- a/client/bin/utils.py
+++ b/client/bin/utils.py
@@ -15,7 +15,6 @@
import base64
import collections
-import commands
import errno
import glob
import json
@@ -28,6 +27,7 @@
import shutil
import signal
import string
+import subprocess
import tempfile
import time
import uuid
@@ -630,7 +630,13 @@
def check_glibc_ver(ver):
- glibc_ver = commands.getoutput('ldd --version').splitlines()[0]
+ try:
+ glibc_ver = subprocess.check_output("ldd --version", shell=True)
+ except subprocess.CalledProcessError:
+ # To mimic previous behavior, if the command errors set the result to
+ # an empty str
+ glibc_ver = ''
+ glibc_ver = glibc_ver.splitlines()[0].decode()
glibc_ver = re.search(r'(\d+\.\d+(\.\d+)?)', glibc_ver).group()
if utils.compare_versions(glibc_ver, ver) == -1:
raise error.TestError("Glibc too old (%s). Glibc >= %s is needed." %
diff --git a/client/common_lib/control_data.py b/client/common_lib/control_data.py
index de8ea83..54d4f4f 100644
--- a/client/common_lib/control_data.py
+++ b/client/common_lib/control_data.py
@@ -6,12 +6,7 @@
from __future__ import division
from __future__ import print_function
-import warnings
-with warnings.catch_warnings():
- # The 'compiler' module is gone in Python 3.0. Let's not say
- # so in every log file.
- warnings.simplefilter("ignore", DeprecationWarning)
- import compiler
+import ast
import logging
import textwrap
import re
@@ -21,6 +16,7 @@
from autotest_lib.client.common_lib import global_config
from autotest_lib.client.common_lib import priorities
+
REQUIRED_VARS = set(['author', 'doc', 'name', 'time', 'test_type'])
OBSOLETE_VARS = set(['experimental'])
@@ -323,16 +319,19 @@
def _extract_const(expr):
- assert(expr.__class__ == compiler.ast.Const)
- assert(expr.value.__class__ in (str, int, float, six.text_type))
- return str(expr.value).strip()
+ assert (expr.__class__ == ast.Str)
+ if six.PY2:
+ assert (expr.s.__class__ in (str, int, float, unicode))
+ else:
+ assert (expr.s.__class__ in (str, int, float))
+ return str(expr.s).strip()
def _extract_dict(expr):
- assert(expr.__class__ == compiler.ast.Dict)
- assert(expr.items.__class__ == list)
+ assert (expr.__class__ == ast.Dict)
+ assert (expr.keys.__class__ == list)
cf_dict = {}
- for key, value in expr.items:
+ for key, value in zip(expr.keys, expr.values):
try:
key = _extract_const(key)
val = _extract_expression(value)
@@ -344,9 +343,9 @@
def _extract_list(expr):
- assert(expr.__class__ == compiler.ast.List)
+ assert (expr.__class__ == ast.List)
list_values = []
- for value in expr.nodes:
+ for value in expr.elts:
try:
list_values.append(_extract_expression(value))
except (AssertionError, ValueError):
@@ -355,34 +354,38 @@
def _extract_name(expr):
- assert(expr.__class__ == compiler.ast.Name)
- assert(expr.name in ('False', 'True', 'None'))
- return str(expr.name)
+ assert (expr.__class__ == ast.Name)
+ assert (expr.id in ('False', 'True', 'None'))
+ return str(expr.id)
def _extract_expression(expr):
- if expr.__class__ == compiler.ast.Const:
+ if expr.__class__ == ast.Str:
return _extract_const(expr)
- if expr.__class__ == compiler.ast.Name:
+ if expr.__class__ == ast.Name:
return _extract_name(expr)
- if expr.__class__ == compiler.ast.Dict:
+ if expr.__class__ == ast.Dict:
return _extract_dict(expr)
- if expr.__class__ == compiler.ast.List:
+ if expr.__class__ == ast.List:
return _extract_list(expr)
+ if expr.__class__ == ast.Num:
+ return expr.n
+ if six.PY3 and expr.__class__ == ast.NameConstant:
+ return expr.value
+ if six.PY3 and expr.__class__ == ast.Constant:
+ try:
+ return expr.value.strip()
+ except Exception:
+ return expr.value
raise ValueError('Unknown rval %s' % expr)
def _extract_assignment(n):
- assert(n.__class__ == compiler.ast.Assign)
- assert(n.nodes.__class__ == list)
- assert(len(n.nodes) == 1)
- assert(n.nodes[0].__class__ == compiler.ast.AssName)
- assert(n.nodes[0].flags.__class__ == str)
- assert(n.nodes[0].name.__class__ == str)
-
- val = _extract_expression(n.expr)
- key = n.nodes[0].name.lower()
-
+ assert (n.__class__ == ast.Assign)
+ assert (len(n.targets) == 1)
+ assert (n.targets[0].__class__ == ast.Name)
+ val = _extract_expression(n.value)
+ key = n.targets[0].id.lower()
return (key, val)
@@ -396,7 +399,7 @@
"""
try:
- mod = compiler.parse(control)
+ mod = ast.parse(control)
except SyntaxError as e:
logging.error('Syntax error (%s) while parsing control string:', e)
lines = control.split('\n')
@@ -408,7 +411,8 @@
def parse_control(path, raise_warnings=False):
try:
- mod = compiler.parseFile(path)
+ with open(path, 'r') as r:
+ mod = ast.parse(r.read())
except SyntaxError as e:
raise ControlVariableException("Error parsing %s because %s" %
(path, e))
@@ -424,22 +428,20 @@
try:
key, val = _extract_assignment(node)
variables[key] = val
- except (AssertionError, ValueError):
+ except (AssertionError, ValueError) as e:
pass
def finish_parse(mod, path, raise_warnings):
- assert(mod.__class__ == compiler.ast.Module)
- assert(mod.node.__class__ == compiler.ast.Stmt)
- assert(mod.node.nodes.__class__ == list)
+ assert (mod.__class__ == ast.Module)
+ assert (mod.body.__class__ == list)
variables = {}
injection_variables = {}
- for n in mod.node.nodes:
- if (n.__class__ == compiler.ast.Function and
- re.match('step\d+', n.name)):
+ for n in mod.body:
+ if (n.__class__ == ast.FunctionDef and re.match('step\d+', n.name)):
vars_in_step = {}
- for sub_node in n.code.nodes:
+ for sub_node in n.body:
_try_extract_assignment(sub_node, vars_in_step)
if vars_in_step:
# Empty the vars collection so assignments from multiple steps
diff --git a/client/common_lib/control_data_unittest.py b/client/common_lib/control_data_unittest.py
index 2089e61..a96d1ad 100755
--- a/client/common_lib/control_data_unittest.py
+++ b/client/common_lib/control_data_unittest.py
@@ -6,14 +6,16 @@
from __future__ import print_function
import json
-import os, unittest
+import os
import six
from six.moves import range
+import unittest
import common
from autotest_lib.client.common_lib import control_data, autotemp
+
ControlData = control_data.ControlData
CONTROL = """
@@ -86,7 +88,7 @@
def setUp(self):
self.control_tmp = autotemp.tempfile(unique_id='control_unit',
text=True)
- os.write(self.control_tmp.fd, CONTROL)
+ os.write(self.control_tmp.fd, str.encode(CONTROL))
def tearDown(self):
@@ -95,21 +97,20 @@
def test_parse_control(self):
cd = control_data.parse_control(self.control_tmp.name, True)
- self.assertEquals(cd.author, "Author")
- self.assertEquals(cd.dependencies, set(['console', 'power']))
- self.assertEquals(cd.doc, "doc stuff")
- self.assertEquals(cd.experimental, False)
- self.assertEquals(cd.name, "nAmE")
- self.assertEquals(cd.run_verify, False)
- self.assertEquals(cd.sync_count, 2)
- self.assertEquals(cd.time, "short")
- self.assertEquals(cd.test_class, "kernel")
- self.assertEquals(cd.test_category, "stress")
- self.assertEquals(cd.test_type, "client")
- self.assertEquals(cd.require_ssp, False)
- self.assertEquals(cd.attributes, set(["suite:smoke","suite:bvt"]))
- self.assertEquals(cd.suite,
- "bvt,smoke,suite-listed-only-in-suite-line")
+ self.assertEqual(cd.author, "Author")
+ self.assertEqual(cd.dependencies, set(['console', 'power']))
+ self.assertEqual(cd.doc, "doc stuff")
+ self.assertEqual(cd.experimental, False)
+ self.assertEqual(cd.name, "nAmE")
+ self.assertEqual(cd.run_verify, False)
+ self.assertEqual(cd.sync_count, 2)
+ self.assertEqual(cd.time, "short")
+ self.assertEqual(cd.test_class, "kernel")
+ self.assertEqual(cd.test_category, "stress")
+ self.assertEqual(cd.test_type, "client")
+ self.assertEqual(cd.require_ssp, False)
+ self.assertEqual(cd.attributes, set(["suite:smoke", "suite:bvt"]))
+ self.assertEqual(cd.suite, "bvt,smoke,suite-listed-only-in-suite-line")
class ParseWrappedControlTest(unittest.TestCase):
@@ -117,7 +118,7 @@
def setUp(self):
self.control_tmp = autotemp.tempfile(unique_id='wrapped_control_unit',
text=True)
- os.write(self.control_tmp.fd, WRAPPED_CONTROL)
+ os.write(self.control_tmp.fd, str.encode(WRAPPED_CONTROL))
def tearDown(self):
@@ -126,22 +127,21 @@
def test_parse_control(self):
cd = control_data.parse_control(self.control_tmp.name, True)
- self.assertEquals(cd.author, "Author")
- self.assertEquals(cd.dependencies, set(['console', 'power']))
- self.assertEquals(cd.doc, "doc stuff")
- self.assertEquals(cd.experimental, False)
- self.assertEquals(cd.name, "nAmE")
- self.assertEquals(cd.run_verify, False)
- self.assertEquals(cd.sync_count, 2)
- self.assertEquals(cd.time, "short")
- self.assertEquals(cd.test_class, "kernel")
- self.assertEquals(cd.test_category, "stress")
- self.assertEquals(cd.test_type, "client")
- self.assertEquals(cd.require_ssp, False)
- self.assertEquals(cd.attributes, set(["suite:smoke","suite:bvt"]))
- self.assertEquals(cd.suite,
- "bvt,smoke,suite-listed-only-in-suite-line")
- self.assertEquals(cd.max_result_size_KB, 20000)
+ self.assertEqual(cd.author, "Author")
+ self.assertEqual(cd.dependencies, set(['console', 'power']))
+ self.assertEqual(cd.doc, "doc stuff")
+ self.assertEqual(cd.experimental, False)
+ self.assertEqual(cd.name, "nAmE")
+ self.assertEqual(cd.run_verify, False)
+ self.assertEqual(cd.sync_count, 2)
+ self.assertEqual(cd.time, "short")
+ self.assertEqual(cd.test_class, "kernel")
+ self.assertEqual(cd.test_category, "stress")
+ self.assertEqual(cd.test_type, "client")
+ self.assertEqual(cd.require_ssp, False)
+ self.assertEqual(cd.attributes, set(["suite:smoke", "suite:bvt"]))
+ self.assertEqual(cd.suite, "bvt,smoke,suite-listed-only-in-suite-line")
+ self.assertEqual(cd.max_result_size_KB, 20000)
class ParseControlFileBugTemplate(unittest.TestCase):
@@ -190,7 +190,8 @@
def test_bug_template_parsing(self):
"""Basic parsing test for a bug templates in a test control file."""
- os.write(self.control_tmp.fd, self.insert_bug_template(CONTROL))
+ os.write(self.control_tmp.fd,
+ str.encode(self.insert_bug_template(CONTROL)))
cd = control_data.parse_control(self.control_tmp.name, True)
self.verify_bug_template(cd.bug_template)
@@ -198,7 +199,8 @@
def test_bug_template_list(self):
"""Test that lists in the bug template can handle other datatypes."""
self.bug_template['labels'].append({'foo': 'bar'})
- os.write(self.control_tmp.fd, self.insert_bug_template(CONTROL))
+ os.write(self.control_tmp.fd,
+ str.encode(self.insert_bug_template(CONTROL)))
cd = control_data.parse_control(self.control_tmp.name, True)
self.verify_bug_template(cd.bug_template)
@@ -206,7 +208,8 @@
def test_bad_template(self):
"""Test that a bad bug template doesn't result in a bad control data."""
self.bug_template = 'foobarbug_template'
- os.write(self.control_tmp.fd, self.insert_bug_template(CONTROL))
+ os.write(self.control_tmp.fd,
+ str.encode(self.insert_bug_template(CONTROL)))
cd = control_data.parse_control(self.control_tmp.name, True)
self.assertFalse(hasattr(cd, 'bug_template'))
@@ -224,13 +227,13 @@
def test_bool(self):
cd = ControlData({}, 'filename')
cd._set_bool('foo', 'False')
- self.assertEquals(cd.foo, False)
+ self.assertEqual(cd.foo, False)
cd._set_bool('foo', True)
- self.assertEquals(cd.foo, True)
+ self.assertEqual(cd.foo, True)
cd._set_bool('foo', 'FALSE')
- self.assertEquals(cd.foo, False)
+ self.assertEqual(cd.foo, False)
cd._set_bool('foo', 'true')
- self.assertEquals(cd.foo, True)
+ self.assertEqual(cd.foo, True)
self.assertRaises(ValueError, cd._set_bool, 'foo', '')
self.assertRaises(ValueError, cd._set_bool, 'foo', 1)
self.assertRaises(ValueError, cd._set_bool, 'foo', [])
@@ -240,11 +243,11 @@
def test_int(self):
cd = ControlData({}, 'filename')
cd._set_int('foo', 0)
- self.assertEquals(cd.foo, 0)
+ self.assertEqual(cd.foo, 0)
cd._set_int('foo', '0')
- self.assertEquals(cd.foo, 0)
+ self.assertEqual(cd.foo, 0)
cd._set_int('foo', '-1', min=-2, max=10)
- self.assertEquals(cd.foo, -1)
+ self.assertEqual(cd.foo, -1)
self.assertRaises(ValueError, cd._set_int, 'foo', 0, min=1)
self.assertRaises(ValueError, cd._set_int, 'foo', 1, max=0)
self.assertRaises(ValueError, cd._set_int, 'foo', 'x')
@@ -255,40 +258,40 @@
def test_set(self):
cd = ControlData({}, 'filename')
cd._set_set('foo', 'a')
- self.assertEquals(cd.foo, set(['a']))
+ self.assertEqual(cd.foo, set(['a']))
cd._set_set('foo', 'a,b,c')
- self.assertEquals(cd.foo, set(['a', 'b', 'c']))
+ self.assertEqual(cd.foo, set(['a', 'b', 'c']))
cd._set_set('foo', ' a , b , c ')
- self.assertEquals(cd.foo, set(['a', 'b', 'c']))
+ self.assertEqual(cd.foo, set(['a', 'b', 'c']))
cd._set_set('foo', None)
- self.assertEquals(cd.foo, set(['None']))
+ self.assertEqual(cd.foo, set(['None']))
def test_string(self):
cd = ControlData({}, 'filename')
cd._set_string('foo', 'a')
- self.assertEquals(cd.foo, 'a')
+ self.assertEqual(cd.foo, 'a')
cd._set_string('foo', 'b')
- self.assertEquals(cd.foo, 'b')
+ self.assertEqual(cd.foo, 'b')
cd._set_string('foo', 'B')
- self.assertEquals(cd.foo, 'B')
+ self.assertEqual(cd.foo, 'B')
cd._set_string('foo', 1)
- self.assertEquals(cd.foo, '1')
+ self.assertEqual(cd.foo, '1')
cd._set_string('foo', None)
- self.assertEquals(cd.foo, 'None')
+ self.assertEqual(cd.foo, 'None')
cd._set_string('foo', [])
- self.assertEquals(cd.foo, '[]')
+ self.assertEqual(cd.foo, '[]')
def test_option(self):
options = ['a', 'b']
cd = ControlData({}, 'filename')
cd._set_option('foo', 'a', options)
- self.assertEquals(cd.foo, 'a')
+ self.assertEqual(cd.foo, 'a')
cd._set_option('foo', 'b', options)
- self.assertEquals(cd.foo, 'b')
+ self.assertEqual(cd.foo, 'b')
cd._set_option('foo', 'B', options)
- self.assertEquals(cd.foo, 'B')
+ self.assertEqual(cd.foo, 'B')
self.assertRaises(ValueError, cd._set_option,
'foo', 'x', options)
self.assertRaises(ValueError, cd._set_option,
@@ -302,7 +305,7 @@
def test_set_attributes(self):
cd = ControlData({}, 'filename')
cd.set_attributes('suite:bvt')
- self.assertEquals(cd.attributes, set(['suite:bvt']))
+ self.assertEqual(cd.attributes, set(['suite:bvt']))
def test_get_test_time_index(self):
diff --git a/client/common_lib/cros/network/ping_runner.py b/client/common_lib/cros/network/ping_runner.py
index 2272084..ecb6821 100644
--- a/client/common_lib/cros/network/ping_runner.py
+++ b/client/common_lib/cros/network/ping_runner.py
@@ -56,6 +56,13 @@
return None
+def _extract_ping_loss(output):
+ for line in output.splitlines():
+ if line.find('packets transmitted') > 0:
+ return line
+ return ''
+
+
class MacPingDelegate(object):
"""Implement ping functionality for MacOS hosts."""
@@ -122,8 +129,7 @@
This function will look for both 'stdev' and 'std-dev' in test results
to support both ping and ping6 commands.
"""
- loss_line = ([x for x in ping_output.splitlines()
- if x.find('packets transmitted') > 0] or [''])[0]
+ loss_line = _extract_ping_loss(ping_output)
sent = _regex_int_from_string('([0-9]+) packets transmitted', loss_line)
received = _regex_int_from_string('([0-9]+) packets received',
loss_line)
@@ -218,8 +224,7 @@
time 90 ms
"""
- loss_line = ([x for x in ping_output.splitlines()
- if x.find('packets transmitted') > 0] or [''])[0]
+ loss_line = _extract_ping_loss(ping_output)
sent = _regex_int_from_string('([0-9]+) packets transmitted', loss_line)
received = _regex_int_from_string('([0-9]+) received', loss_line)
loss = _regex_float_from_string('([0-9]+(\.[0-9]+)?)% packet loss',
diff --git a/client/common_lib/cros/tpm_utils.py b/client/common_lib/cros/tpm_utils.py
index e609d17..e7a5f4a 100644
--- a/client/common_lib/cros/tpm_utils.py
+++ b/client/common_lib/cros/tpm_utils.py
@@ -9,7 +9,6 @@
from autotest_lib.client.cros import constants
-_PASSWD_FILE = '/var/tmp/tpm_password'
_RM_FILES = ['/home/chronos/.oobe_completed',
'/home/chronos/Local\ State',
'/var/cache/shill/default.profile']
@@ -29,9 +28,8 @@
@param client: client object to run commands on.
"""
- out = client.run('cryptohome --action=tpm_status').stdout.strip()
- out = out.replace('TPM ', '')
- lines = out.split('\n')
+ out = client.run('tpm_manager_client status --nonsensitive').stdout.strip()
+ lines = out.split('\n')[1:-1]
status = {}
for item in lines:
item = item.split(':')
@@ -52,50 +50,23 @@
@param client: client object to run commands on.
"""
status = TPMStatus(client)
- return status['Enabled'] and not status['Owned']
+ return status['is_enabled'] and not status['is_owned']
def ClearTPMServer(client, out_dir):
"""Clears the TPM and reboots from a server-side autotest.
@param client: client object to run commands on.
- @param out_dir: temporary directory to store the retrieved password file.
+ @param out_dir: temporary directory.
"""
if IsTPMAvailable(client):
logging.debug('TPM is not owned')
return
client.run('stop ui')
- try:
- password = TPMStatus(client)['Password']
- if not password:
- try:
- client.get_file(_PASSWD_FILE, out_dir)
- except error.AutoservRunError:
- raise NoTPMPasswordException(
- 'TPM Password file %s doesn\'t exist, falling back on '
- 'clear_tpm_owner_request to clear the TPM. You may '
- 'need to have the firmware clear the TPM, for instance '
- 'by toggling the dev switch.' % _PASSWD_FILE)
- with open(os.path.join(out_dir,
- os.path.basename(_PASSWD_FILE))) as f:
- password = f.read().rstrip()
- if not password:
- raise NoTPMPasswordException(
- 'TPM Password file %s empty, falling back on '
- 'clear_tpm_owner_request to clear the TPM. You may need to '
- 'have the firmware clear the TPM, for instance by toggling '
- 'the dev switch.' % _PASSWD_FILE)
-
- res = client.run('tpm_clear --pass ' + password).stdout.strip()
- logging.warn(repr(res))
- except NoTPMPasswordException as e:
- logging.warn(e.args[0])
- client.run('crossystem clear_tpm_owner_request=1')
-
+ client.run('crossystem clear_tpm_owner_request=1')
CleanupAndReboot(client)
-
def ClearTPMOwnerRequest(client, wait_for_ready=False, timeout=60):
"""Clears the TPM using crossystem command.
@@ -112,16 +83,16 @@
if wait_for_ready:
status = ''
end_time = time.time() + timeout
- # Wait for cryptohome to send a successful reply.
- while 'GetTpmStatus success' not in status and time.time() < end_time:
- status = client.run('cryptohome --action=tpm_more_status',
- ignore_status=True).stdout.strip()
+ # Wait for tpm_manager to send a successful reply.
+ while 'STATUS_SUCCESS' not in status and time.time() < end_time:
+ status = client.run('tpm_manager_client status --nonsensitive',
+ ignore_status=True).stdout.strip()
logging.debug(status)
time.sleep(1)
# Verify if the TPM is unowned.
tpm_status = TPMStatus(client)
logging.info('TPM status: %s', tpm_status)
- if tpm_status['Owned']:
+ if tpm_status['is_owned']:
raise error.TestFail('Failed to clear TPM.')
@@ -131,7 +102,7 @@
@param client: client object to run commands on."""
tpm_status = TPMStatus(client)
logging.info('TPM status: %s', tpm_status)
- if tpm_status['Owned']:
+ if tpm_status['is_owned']:
logging.info('Clearing TPM because this device is owned.')
ClearTPMOwnerRequest(client)
diff --git a/client/common_lib/hosts/__init__.py b/client/common_lib/hosts/__init__.py
index 62c3ec9..1922143 100644
--- a/client/common_lib/hosts/__init__.py
+++ b/client/common_lib/hosts/__init__.py
@@ -7,5 +7,9 @@
"""
from autotest_lib.client.common_lib import utils
-from base_classes import Host
-from repair import *
+try:
+ from autotest_lib.client.common_lib.hosts.base_classes import Host
+ from autotest_lib.client.common_lib.hosts.repair import *
+except ImportError:
+ from base_classes import Host
+ from repair import *
diff --git a/client/common_lib/logging_config.py b/client/common_lib/logging_config.py
index 5c6c830..85b8cee 100644
--- a/client/common_lib/logging_config.py
+++ b/client/common_lib/logging_config.py
@@ -42,7 +42,11 @@
# On Brillo the logger binary is not available. Disable after error.
if self._should_respew:
try:
- if isinstance(s, six.text_type):
+ # in python2 unicode != string, so encode the record into a
+ # string for logging. In py3 this is just not needed.
+ # Additionally, encoding in py3 results in bytes, which breaks
+ # logging.
+ if six.PY2 and isinstance(s, unicode):
s = s.encode('utf8')
os.system('logger -t "autotest" "%s"' % utils.sh_escape(s))
except OSError:
diff --git a/client/common_lib/utils.py b/client/common_lib/utils.py
index bcd43ee..8df0cf2 100644
--- a/client/common_lib/utils.py
+++ b/client/common_lib/utils.py
@@ -293,16 +293,32 @@
# read in all the data we can from pipe and then stop
data = []
while select.select([pipe], [], [], 0)[0]:
- data.append(os.read(pipe.fileno(), 1024))
+ data.append(self._read_data(pipe))
if len(data[-1]) == 0:
break
data = "".join(data)
else:
# perform a single read
- data = os.read(pipe.fileno(), 1024)
+ data = self._read_data(pipe)
buf.write(data)
tee.write(data)
+ def _read_data(self, pipe):
+ """Read & return the data from the provided pipe.
+
+ Handles the changes to pipe reading & iostring writing in python 2/3.
+ In python2 the buffer (iostring) can take bytes, where in python3 it
+ must be a string. Formatting bytes to string in python 2 vs 3 seems
+ to be a bit different. In 3, .decode() is needed, however in 2 that
+ results in unicode (not str), breaking downstream users.
+
+ """
+
+ data = os.read(pipe.fileno(), 1024)
+ if isinstance(data, bytes) and six.PY3:
+ return data.decode()
+ return data
+
def cleanup(self):
"""Clean up after BgJob.
@@ -625,7 +641,11 @@
computed_hash = sha.new()
if input:
- computed_hash.update(input)
+ try:
+ computed_hash.update(input.encode())
+ except UnicodeError:
+ computed_hash.update(input)
+
return computed_hash
diff --git a/client/cros/audio/audio_spec.py b/client/cros/audio/audio_spec.py
index 8a6aaf3..5b41d36 100644
--- a/client/cros/audio/audio_spec.py
+++ b/client/cros/audio/audio_spec.py
@@ -64,7 +64,7 @@
"""
if board_name.endswith("-kernelnext"):
- return board_name[:-len("-kernelnext")]
+ return board_name[:-len("-kernelnext")]
return board_name
@@ -202,6 +202,7 @@
HEADPHONE_NODE = {
('sarien'): 'LINEOUT',
+ ('drallion'): 'LINEOUT',
}
diff --git a/client/cros/bluetooth/advertisement.py b/client/cros/bluetooth/advertisement.py
index ea0895f..c6a539e 100755
--- a/client/cros/bluetooth/advertisement.py
+++ b/client/cros/bluetooth/advertisement.py
@@ -16,7 +16,6 @@
import dbus
import dbus.mainloop.glib
import dbus.service
-import gobject
import logging
diff --git a/client/cros/cryptohome.py b/client/cros/cryptohome.py
index 904046d..61f6698 100644
--- a/client/cros/cryptohome.py
+++ b/client/cros/cryptohome.py
@@ -18,7 +18,9 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.cros.cros_disks import DBusClient
+ATTESTATION_CMD = '/usr/bin/attestation_client'
CRYPTOHOME_CMD = '/usr/sbin/cryptohome'
+TPM_MANAGER_CMD = '/usr/bin/tpm_manager_client'
GUEST_USER_NAME = '$guest'
UNAVAILABLE_ACTION = 'Unknown action or no action given.'
MOUNT_RETRY_COUNT = 20
@@ -88,63 +90,65 @@
A TPM status dictionary, for example:
{ 'Enabled': True,
'Owned': True,
- 'Being Owned': False,
- 'Ready': True,
- 'Password': ''
+ 'Ready': True
}
"""
- out = __run_cmd(CRYPTOHOME_CMD + ' --action=tpm_status')
+ out = __run_cmd(TPM_MANAGER_CMD + ' status --nonsensitive')
status = {}
- for field in ['Enabled', 'Owned', 'Being Owned', 'Ready']:
- match = re.search('TPM %s: (true|false)' % field, out)
+ for field in ['is_enabled', 'is_owned']:
+ match = re.search('%s: (true|false)' % field, out)
if not match:
raise ChromiumOSError('Invalid TPM status: "%s".' % out)
status[field] = match.group(1) == 'true'
- match = re.search('TPM Password: (\w*)', out)
- status['Password'] = ''
- if match:
- status['Password'] = match.group(1)
+ status['Enabled'] = status['is_enabled']
+ status['Owned'] = status['is_owned']
+ status['Ready'] = status['is_enabled'] and status['is_owned']
return status
-def get_tpm_more_status():
- """Get more of the TPM status.
+def get_tpm_password():
+ """Get the TPM password.
Returns:
- A TPM more status dictionary, for example:
- { 'dictionary_attack_lockout_in_effect': False,
- 'attestation_prepared': False,
- 'boot_lockbox_finalized': False,
- 'enabled': True,
- 'owned': True,
- 'owner_password': ''
+ A TPM password
+ """
+ out = __run_cmd(TPM_MANAGER_CMD + ' status')
+ match = re.search('owner_password: (\w*)', out)
+ password = ''
+ if match:
+ hex_pass = match.group(1).decode("hex")
+ password = ''.join(
+ chr(int(hex_pass[i:i + 2], 16))
+ for i in range(0, len(hex_pass), 2))
+ return password
+
+
+def get_tpm_da_info():
+ """Get the TPM dictionary attack information.
+ Returns:
+ A TPM dictionary attack status dictionary, for example:
+ {
'dictionary_attack_counter': 0,
- 'dictionary_attack_lockout_seconds_remaining': 0,
- 'dictionary_attack_threshold': 10,
- 'attestation_enrolled': False,
- 'initialized': True,
- 'verified_boot_measured': False,
- 'install_lockbox_finalized': True
+ 'dictionary_attack_threshold': 200,
+ 'dictionary_attack_lockout_in_effect': False,
+ 'dictionary_attack_lockout_seconds_remaining': 0
}
- An empty dictionary is returned if the command is not supported.
"""
status = {}
- out = __run_cmd(CRYPTOHOME_CMD + ' --action=tpm_more_status | grep :')
- if out.startswith(UNAVAILABLE_ACTION):
- # --action=tpm_more_status only exists >= 41.
- logging.info('Method not supported!')
- return status
- for line in out.splitlines():
+ out = __run_cmd(TPM_MANAGER_CMD + ' get_da_info')
+ for line in out.splitlines()[1:-1]:
items = line.strip().split(':')
+ if len(items) != 2:
+ continue
if items[1].strip() == 'false':
value = False
elif items[1].strip() == 'true':
value = True
- elif items[1].strip().isdigit():
- value = int(items[1].strip())
+ elif items[1].split('(')[0].strip().isdigit():
+ value = int(items[1].split('(')[0].strip())
else:
value = items[1].strip(' "')
- status[items[0]] = value
+ status[items[0].strip()] = value
return status
@@ -210,7 +214,7 @@
def is_tpm_lockout_in_effect():
"""Returns true if the TPM lockout is in effect; false otherwise."""
- status = get_tpm_more_status()
+ status = get_tpm_da_info()
return status.get('dictionary_attack_lockout_in_effect', None)
@@ -233,13 +237,28 @@
return status
+def get_install_attribute_status():
+ """Query the install attribute status
+
+ Returns:
+ A status string, which could be:
+ "UNKNOWN"
+ "TPM_NOT_OWNED"
+ "FIRST_INSTALL"
+ "VALID"
+ "INVALID"
+ """
+ out = __run_cmd(CRYPTOHOME_CMD + ' --action=install_attributes_get_status')
+ return out.strip()
+
+
def get_tpm_attestation_status():
"""Get the TPM attestation status. Works similar to get_tpm_status().
"""
- out = __run_cmd(CRYPTOHOME_CMD + ' --action=tpm_attestation_status')
+ out = __run_cmd(ATTESTATION_CMD + ' status')
status = {}
- for field in ['Prepared', 'Enrolled']:
- match = re.search('Attestation %s: (true|false)' % field, out)
+ for field in ['prepared_for_enrollment', 'enrolled']:
+ match = re.search('%s: (true|false)' % field, out)
if not match:
raise ChromiumOSError('Invalid attestation status: "%s".' % out)
status[field] = match.group(1) == 'true'
@@ -318,7 +337,7 @@
mounted = False
while retry < MOUNT_RETRY_COUNT and not mounted:
time.sleep(1)
- logging.info("Retry " + str(retry + 1))
+ logging.info("Retry %s", str(retry + 1))
__run_cmd(' '.join(args))
# TODO: Remove this additional call to get_user_hash(user) when
# crbug.com/690994 is fixed
@@ -343,6 +362,7 @@
def test_auth(user, password):
+ """Test key auth."""
cmd = [CRYPTOHOME_CMD, '--action=check_key_ex', '--user=%s' % user,
'--password=%s' % password, '--async']
out = __run_cmd(' '.join(cmd))
@@ -351,6 +371,7 @@
def add_le_key(user, password, new_password, new_key_label):
+ """Add low entropy key."""
args = [CRYPTOHOME_CMD, '--action=add_key_ex', '--key_policy=le',
'--user=%s' % user, '--password=%s' % password,
'--new_key_label=%s' % new_key_label,
@@ -359,6 +380,7 @@
def remove_key(user, password, remove_key_label):
+ """Remove a key."""
args = [CRYPTOHOME_CMD, '--action=remove_key_ex', '--user=%s' % user,
'--password=%s' % password,
'--remove_key_label=%s' % remove_key_label]
@@ -366,6 +388,7 @@
def get_supported_key_policies():
+ """Get supported key policies."""
args = [CRYPTOHOME_CMD, '--action=get_supported_key_policies']
out = __run_cmd(' '.join(args))
logging.info(out)
@@ -415,7 +438,7 @@
return ns_mount_line.split()
try:
- logging.debug('Active cryptohome mounts:\n' +
+ logging.debug('Active cryptohome mounts:\n%s',
utils.system_output('cat %s' % cryptohomed_path))
mount_line = utils.system_output(
'grep %s %s' % (mount_point, cryptohomed_path),
@@ -529,7 +552,7 @@
http://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=10313
"""
if not credential:
- return None
+ return None
parts = credential.split('@')
if len(parts) != 2:
@@ -543,6 +566,7 @@
def crash_cryptohomed():
+ """Let cryptohome crash."""
# Try to kill cryptohomed so we get something to work with.
pid = __run_cmd('pgrep cryptohomed')
try:
@@ -616,6 +640,7 @@
def change_password(user, password, new_password):
+ """Change user password."""
args = [
CRYPTOHOME_CMD,
'--action=migrate_key_ex',
@@ -682,19 +707,19 @@
def __wait_for_specific_signal(self, signal, data):
- """Wait for the |signal| with matching |data|
- Returns the resulting dict on success or {} on error.
- """
- # Do not bubble up the timeout here, just return {}.
- result = {}
- try:
- result = self.wait_for_signal(signal)
- except utils.TimeoutError:
- return {}
- for k in data.keys():
- if k not in result or result[k] != data[k]:
+ """Wait for the |signal| with matching |data|
+ Returns the resulting dict on success or {} on error.
+ """
+ # Do not bubble up the timeout here, just return {}.
+ result = {}
+ try:
+ result = self.wait_for_signal(signal)
+ except utils.TimeoutError:
return {}
- return result
+ for k in data.keys():
+ if k not in result or result[k] != data[k]:
+ return {}
+ return result
# Perform a data-less async call.
diff --git a/client/cros/enterprise/js_test.html b/client/cros/enterprise/js_test.html
deleted file mode 100755
index 0a1d1ac..0000000
--- a/client/cros/enterprise/js_test.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<title>JavaScript Status</title>
-<script type="text/javascript">
-var jsAllowed = false;
-
-function onLoad() {
- jsAllowed = true;
- document.writeln("JavaScript Status: Allowed");
-}
-</script>
-<noscript>
- <div class="noscriptmsg">
- JavaScript Status: Blocked
- </div>
-</noscript>
-</head>
-<body onload="onLoad()">
-</body>
-</html>
diff --git a/client/cros/enterprise/notification_test_page.html b/client/cros/enterprise/notification_test_page.html
deleted file mode 100755
index 1cb007d..0000000
--- a/client/cros/enterprise/notification_test_page.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<title>Notifications Test Page</title>
-<script type="text/javascript">
-var pageReady = false;
-
-function onLoad() {
- pageReady = true;
-}
-
-</script>
-</head>
-<body onload="onLoad()">
- <div id="longPage">
- <h4>NotificationsAllowedForUrls Test page</h4>
- </div>
-</body>
-</html>
diff --git a/client/cros/enterprise/plugin_flash.swf b/client/cros/enterprise/plugin_flash.swf
deleted file mode 100755
index 2f56015..0000000
--- a/client/cros/enterprise/plugin_flash.swf
+++ /dev/null
Binary files differ
diff --git a/client/cros/enterprise/plugin_status.html b/client/cros/enterprise/plugin_status.html
deleted file mode 100755
index 343c070..0000000
--- a/client/cros/enterprise/plugin_status.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="UTF-8">
-<title>Plugin Status</title>
-<id>
-<script type="text/javascript">
-var pageReady = false;
-
-function onLoad() {
- pageReady = true;
-}
-
-</script>
-</head>
- <body onload="onLoad()">
- <embed name="trivial" id="trivial" src="plugin_flash.swf" wmode="window"
- width="100" height="100" quality="medium" play="true" loop="true"
- type="application/x-shockwave-flash" allowscriptaccess="always"
- pluginspage="http://www.macromedia.com/go/flashplayer/">
- </body>
-</html>
diff --git a/client/cros/faft/rpc_functions.py b/client/cros/faft/rpc_functions.py
index 0ae5f28..48ead03 100644
--- a/client/cros/faft/rpc_functions.py
+++ b/client/cros/faft/rpc_functions.py
@@ -1225,6 +1225,31 @@
"""
return self._updater.cbfs_sign_and_flash()
+ def cbfs_extract(self,
+ filename,
+ extension,
+ regions,
+ local_filename=None,
+ arch=None,
+ bios=None):
+ """Extracts an arbitrary file from cbfs.
+
+ Note that extracting from
+ @param filename: Filename in cbfs, including extension
+ @param extension: Extension of the file, including '.'
+ @param regions: Tuple of regions (the default is just 'a')
+ @param arch: Specific machine architecture to extract (default unset)
+ @param local_filename: Path to use on the DUT, overriding the default in
+ the cbfs work dir.
+ @param bios: Image from which the cbfs file to be extracted
+ @return: The full path of the extracted file, or None
+ """
+ return self._updater.cbfs_extract(filename,
+ extension, regions,
+ local_filename,
+ arch,
+ bios)
+
def get_temp_path(self):
"""Get updater's temp directory path."""
return self._updater.get_temp_path()
diff --git a/client/cros/faft/utils/firmware_updater.py b/client/cros/faft/utils/firmware_updater.py
index 9402e17..435cf52 100644
--- a/client/cros/faft/utils/firmware_updater.py
+++ b/client/cros/faft/utils/firmware_updater.py
@@ -602,7 +602,8 @@
extension,
regions=('a', ),
local_filename=None,
- arch=None):
+ arch=None,
+ bios=None):
"""Extracts an arbitrary file from cbfs.
Note that extracting from
@@ -612,10 +613,12 @@
@param arch: Specific machine architecture to extract (default unset)
@param local_filename: Path to use on the DUT, overriding the default in
the cbfs work dir.
+ @param bios: Image from which the cbfs file to be extracted
@return: The full path of the extracted file, or None
"""
regions = self._cbfs_regions(regions)
- bios = os.path.join(self._cbfs_work_path, self._bios_path)
+ if bios is None:
+ bios = os.path.join(self._cbfs_work_path, self._bios_path)
cbfs_filename = filename + extension
if local_filename is None:
@@ -877,3 +880,4 @@
handler = self._get_handler('bios')
handler.set_gbb_flags(flags)
handler.dump_whole(filename)
+
diff --git a/client/cros/faft/utils/saft_flashrom_util.py b/client/cros/faft/utils/saft_flashrom_util.py
index 0475b54..8570bff 100644
--- a/client/cros/faft/utils/saft_flashrom_util.py
+++ b/client/cros/faft/utils/saft_flashrom_util.py
@@ -317,8 +317,8 @@
@param region: Region to set (usually WP_RO)
@param enabled: if True, run --wp-enable; if False, run --wp-disable.
"""
- cmd = 'flashrom %s --verbose --image %s --wp-region %s' % (
- self._target_command, image_file, region)
+ cmd = 'flashrom %s --verbose --image %s:%s --wp-region %s' % (
+ self._target_command, region, image_file, region)
if enabled is not None:
cmd += ' '
cmd += '--wp-enable' if enabled else '--wp-disable'
diff --git a/client/cros/input_playback/input_playback.py b/client/cros/input_playback/input_playback.py
index 139b1c5..98c9f98 100644
--- a/client/cros/input_playback/input_playback.py
+++ b/client/cros/input_playback/input_playback.py
@@ -264,11 +264,11 @@
"""
input_names = glob.glob(os.path.join(device_dir, 'input', 'input*'))
for input_name in input_names:
- name_path = os.path.join(input_name, 'name')
- if not os.path.exists(name_path):
- continue
- if name == self._get_contents_of_file(name_path):
- return os.path.basename(input_name)
+ name_path = os.path.join(input_name, 'name')
+ if not os.path.exists(name_path):
+ continue
+ if name == self._get_contents_of_file(name_path):
+ return os.path.basename(input_name)
# Raise if name could not be matched.
logging.error('Input names found(%s): %s', device_dir, input_names)
raise error.TestError('Could not match input* to this device!')
diff --git a/client/cros/multimedia/bluetooth_facade_native.py b/client/cros/multimedia/bluetooth_facade_native.py
index 6ba2039..63ba703 100644
--- a/client/cros/multimedia/bluetooth_facade_native.py
+++ b/client/cros/multimedia/bluetooth_facade_native.py
@@ -363,6 +363,10 @@
BLUETOOTH_LIBDIR = '/var/lib/bluetooth'
BTMON_STOP_DELAY_SECS = 3
+ # Due to problems transferring a date object, we convert to stringtime first
+ # This is the standard format that we will use.
+ OUT_DATE_FORMAT = '%Y-%m-%d %H:%M:%S.%f'
+
# Timeout for how long we'll wait for BlueZ and the Adapter to show up
# after reset.
ADAPTER_TIMEOUT = 30
@@ -1559,68 +1563,6 @@
self._adapter.StopDiscovery(dbus_interface=self.BLUEZ_ADAPTER_IFACE)
return (True, None)
- @dbus_print_error()
- def pause_discovery(self, system_suspend_resume):
- """Pause discovery of remote devices.
-
- @return (True, None) on success, (False,<error>) otherwise.
-
- """
- self._adapter.PauseDiscovery(dbus.Boolean(system_suspend_resume,
- variant_level=1),
- dbus_interface=self.BLUEZ_ADAPTER_IFACE)
- return (True, None)
-
- @dbus_print_error()
- def unpause_discovery(self, system_suspend_resume):
- """Unpause discovery of remote devices.
-
- @return (True, None) on success, (False,<error>) otherwise.
-
- """
- self._adapter.UnpauseDiscovery(dbus.Boolean(system_suspend_resume,
- variant_level=1),
- dbus_interface=self.BLUEZ_ADAPTER_IFACE)
- return (True, None)
-
- @xmlrpc_server.dbus_safe(False)
- @dbus_print_error()
- def pause_discovery(self, system_suspend_resume=False):
- """Pause discovery of remote devices.
-
- This pauses all device discovery sessions.
-
- @param system_suspend_resume: whether the
- request is related to system suspend/resume.
-
- @return True on success, False otherwise.
-
- """
- if not self._adapter:
- return (False, "Adapter Not Found")
- self._adapter.PauseDiscovery(system_suspend_resume,
- dbus_interface=self.BLUEZ_ADAPTER_IFACE)
- return (True, None)
-
- @xmlrpc_server.dbus_safe(False)
- @dbus_print_error()
- def unpause_discovery(self, system_suspend_resume=False):
- """Unpause discovery of remote devices.
-
- This unpauses all device discovery sessions.
-
- @param system_suspend_resume: whether the
- request is related to system suspend/resume.
-
- @return True on success, False otherwise.
-
- """
- if not self._adapter:
- return (False, "Adapter Not Found")
- self._adapter.UnpauseDiscovery(system_suspend_resume,
- dbus_interface=self.BLUEZ_ADAPTER_IFACE)
- return (True, None)
-
def get_dev_info(self):
"""Read raw HCI device information.
@@ -2220,6 +2162,22 @@
return self.dbus_cb_msg
+
+ def advmon_check_manager_interface_exist(self):
+ """Check if AdvertisementMonitorManager1 interface is available.
+
+ @returns: True if Manager interface is available, False otherwise.
+
+ """
+ objects = self._bluez.GetManagedObjects(
+ dbus_interface=self.BLUEZ_MANAGER_IFACE)
+ for _, ifaces in six.iteritems(objects):
+ if self.BLUEZ_ADV_MONITOR_MANAGER_IFACE in ifaces:
+ return True
+
+ return False
+
+
def advmon_read_supported_types(self):
"""Read the Advertisement Monitor supported monitor types.
@@ -3460,7 +3418,6 @@
# Date format for strptime and strftime
date_format = '%m%d/%H%M%S.%f'
- out_date_format = '%Y-%m-%d %H:%M:%S.%f'
date_group_re = '(?P<date>[0-9]+/[0-9]+[.][0-9]+)'
finish_suspend_re = re.compile(
@@ -3500,8 +3457,8 @@
if all([x is not None for x in [start_time, end_time, ret]]):
# Return dates in string format due to inconsistency between
# python2/3 usage on host and dut
- return (start_time.strftime(out_date_format),
- end_time.strftime(out_date_format), ret)
+ return (start_time.strftime(self.OUT_DATE_FORMAT),
+ end_time.strftime(self.OUT_DATE_FORMAT), ret)
else:
logging.error(
'Failed to parse details from last suspend. %s %s %s',
@@ -3607,6 +3564,9 @@
logging.debug("Chipset not known. Returning %s", chipset_string)
return chipset_string
+ def get_device_time(self):
+ """ Get the current device time. """
+ return datetime.now().strftime(self.OUT_DATE_FORMAT)
def cleanup(self):
"""Cleanup before exiting the client xmlrpc process."""
diff --git a/client/cros/power/power_status.py b/client/cros/power/power_status.py
index c813427..681506e 100644
--- a/client/cros/power/power_status.py
+++ b/client/cros/power/power_status.py
@@ -717,7 +717,7 @@
self.name = name
self.incremental = incremental
self._stats = self._read_stats()
-
+ self._first_stats = self._stats.copy()
def refresh(self):
"""
@@ -735,12 +735,15 @@
Turns a dict with absolute times (or percentages) into a weighted
average value.
"""
- total = sum(self._stats.itervalues())
+ stats = self._stats
+ if self.incremental:
+ stats = self.do_diff(stats, self._first_stats)
+
+ total = sum(stats.itervalues())
if total == 0:
return None
- return sum((float(k)*v) / total for (k, v) in self._stats.iteritems())
-
+ return sum(float(k) * v / total for k, v in stats.iteritems())
def _supports_automatic_weighted_average(self):
"""
@@ -1604,6 +1607,22 @@
return float(keyvals['Battery']['energy rate'])
+class BatteryStateOfCharge(PowerMeasurement):
+ """Class for logging battery state of charge."""
+
+ def __init__(self):
+ """Constructor."""
+ super(BatteryStateOfCharge, self).__init__('battery_soc')
+
+ def refresh(self):
+ """refresh method.
+
+ See superclass PowerMeasurement for details.
+ """
+ keyvals = parse_power_supply_info()
+ return float(keyvals['Battery']['percentage'])
+
+
class CheckpointLogger(object):
"""Class to log checkpoint data.
@@ -2106,6 +2125,8 @@
measurements = []
status = get_status()
+ if status.battery:
+ measurements.append(BatteryStateOfCharge())
if status.battery_discharging():
measurements.append(SystemPower(status.battery_path))
if power_utils.has_powercap_support():
diff --git a/client/cros/power/power_test.py b/client/cros/power/power_test.py
index 6f8276e..de89c69 100644
--- a/client/cros/power/power_test.py
+++ b/client/cros/power/power_test.py
@@ -95,10 +95,12 @@
def get_extra_browser_args_for_camera_test(self):
"""Return Chrome args for camera power test."""
ret = [
- # No pop up to ask permission to record video.
- '--use-fake-ui-for-media-stream',
- # Allow 2 windows side by side.
- '--force-tablet-mode=clamshell',
+ # No pop up to ask permission to record video.
+ '--use-fake-ui-for-media-stream',
+ # Allow 2 windows side by side.
+ '--force-tablet-mode=clamshell',
+ # Prefer using constant frame rate for camera streaming.
+ '--enable-features=PreferConstantFrameRate',
]
# Use fake camera for DUT without camera, e.g. chromebox.
diff --git a/client/site_tests/desktopui_CheckRlzPingSent/desktopui_CheckRlzPingSent.py b/client/site_tests/desktopui_CheckRlzPingSent/desktopui_CheckRlzPingSent.py
index 5c63a18..18fef0a 100644
--- a/client/site_tests/desktopui_CheckRlzPingSent/desktopui_CheckRlzPingSent.py
+++ b/client/site_tests/desktopui_CheckRlzPingSent/desktopui_CheckRlzPingSent.py
@@ -88,8 +88,8 @@
def _wait_for_rlz_lock(self):
"""Waits for the DUT to get into locked state after login."""
def get_install_lockbox_finalized_status():
- status = cryptohome.get_tpm_more_status()
- return status.get('install_lockbox_finalized')
+ status = cryptohome.get_install_attribute_status()
+ return status == 'VALID'
try:
utils.poll_for_condition(
@@ -162,9 +162,17 @@
self._wait_for_rlz_lock()
logging.debug("Starting RLZ check with username flag: %s", username)
- with chrome.Chrome(logged_in=pre_login is not 'lock',
- extra_browser_args=browser_args, username=username,
- dont_override_profile=True) as cr:
+ # Pass clear_enterprise_policy=False in guest mode to avoid deleting
+ # /home/chronos/'Local State' between logins. Deleting it will cause
+ # the guest mode test to fail on boards that do not have rlz_brand_code
+ # in the VPD (mainly unibuild models). This file is normally not
+ # deleted between logins anyways.
+ with chrome.Chrome(
+ logged_in=pre_login is not 'lock',
+ clear_enterprise_policy=pre_login is not 'lock',
+ extra_browser_args=browser_args,
+ username=username,
+ dont_override_profile=True) as cr:
self._check_url_for_rlz(cr)
self._verify_rlz_data(expect_caf_ping=expect_caf_ping,
guest=pre_login is 'lock')
diff --git a/client/site_tests/firmware_Cr50VirtualNVRam/firmware_Cr50VirtualNVRam.py b/client/site_tests/firmware_Cr50VirtualNVRam/firmware_Cr50VirtualNVRam.py
index 9e2775e..3565cd8 100644
--- a/client/site_tests/firmware_Cr50VirtualNVRam/firmware_Cr50VirtualNVRam.py
+++ b/client/site_tests/firmware_Cr50VirtualNVRam/firmware_Cr50VirtualNVRam.py
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import logging, re
+import re
from autotest_lib.client.bin import test, utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.cros import service_stopper
@@ -37,6 +37,7 @@
return out
def expect_tpmc_error(subcommand, expected_error):
+ """Expect a tpmc error."""
check_tpmc(subcommand, '.*failed.*%s.*' % expected_error)
class firmware_Cr50VirtualNVRam(test.test):
@@ -49,7 +50,7 @@
global tpm_pw_hex
cryptohome.take_tpm_ownership(wait_for_ownership=True)
- tpm_owner_password = cryptohome.get_tpm_status()['Password']
+ tpm_owner_password = cryptohome.get_tpm_password()
if not tpm_owner_password:
raise error.TestError('TPM owner password is empty after '
'taking ownership.')
@@ -275,6 +276,7 @@
'0x12f'); # TPM_RC_AUTH_UNAVAILABLE
def initialize(self):
+ """Initialize the test."""
self.__take_tpm_ownership()
# Stop services that access to the TPM, to be able to use tpmc.
# Note: for TPM2 the order of re-starting services (they are started
@@ -306,4 +308,5 @@
self.__read_tests()
def cleanup(self):
+ """Cleanup the test."""
self._services.restore_services()
diff --git a/client/site_tests/firmware_LockedME/firmware_LockedME.py b/client/site_tests/firmware_LockedME/firmware_LockedME.py
index 09be830..aa8a43e 100644
--- a/client/site_tests/firmware_LockedME/firmware_LockedME.py
+++ b/client/site_tests/firmware_LockedME/firmware_LockedME.py
@@ -98,16 +98,6 @@
def check_region_inaccessible(self, sectname):
"""Test and ensure a region is not accessible by host CPU."""
- # flashrom should have read the section as all 0xff's. If not,
- # the ME is not locked.
- logging.info('%s should be all 0xff...', sectname)
- with open(sectname, 'rb') as f:
- for c in f.read():
- if c != chr(0xff):
- err_string = "%s was readable by flashrom" % sectname
- raise error.TestFail(err_string)
-
- # See if it is writable.
self.try_to_rewrite(sectname)
def run_once(self, expect_me_present=True):
@@ -171,7 +161,7 @@
# So far, so good, but we need to be certain. Rather than parse what
# flashrom tells us about the ME-related registers, we'll just try to
# change the ME components. We shouldn't be able to.
- self.try_to_rewrite('SI_DESC')
+ inaccessible_sections.append('SI_DESC')
for sectname in inaccessible_sections:
self.check_region_inaccessible(sectname)
diff --git a/client/site_tests/graphics_Idle/graphics_Idle.py b/client/site_tests/graphics_Idle/graphics_Idle.py
index 6207941..8dff479 100755
--- a/client/site_tests/graphics_Idle/graphics_Idle.py
+++ b/client/site_tests/graphics_Idle/graphics_Idle.py
@@ -226,6 +226,7 @@
mt8173_node = '/sys/devices/soc/13000000.mfgsys-gpu/'
mt8173_419_node = '/sys/devices/platform/soc/13000000.mfgsys-gpu/'
mt8183_node = '/sys/devices/platform/soc/13040000.mali/'
+ mt8192_node = '/sys/devices/platform/soc/13000000.mali/'
if self._cpu_type == 'exynos5':
if os.path.isdir(exynos_node):
@@ -261,6 +262,9 @@
elif os.path.isdir(mt8183_node):
node = mt8183_node
use_devfreq = True
+ elif os.path.isdir(mt8192_node):
+ node = mt8192_node
+ use_devfreq = True
else:
logging.error('Error: unknown mediatek SoC.')
return self.handle_error('Unknown mediatek SoC.')
diff --git a/client/site_tests/platform_CryptohomeTpmLiveTest/platform_CryptohomeTpmLiveTest.py b/client/site_tests/platform_CryptohomeTpmLiveTest/platform_CryptohomeTpmLiveTest.py
index 5d9b409..232e2c5 100644
--- a/client/site_tests/platform_CryptohomeTpmLiveTest/platform_CryptohomeTpmLiveTest.py
+++ b/client/site_tests/platform_CryptohomeTpmLiveTest/platform_CryptohomeTpmLiveTest.py
@@ -13,9 +13,10 @@
version = 1
def run_once(self):
+ """Run TPM live tests."""
cryptohome.take_tpm_ownership(wait_for_ownership=True)
- tpm_owner_password = cryptohome.get_tpm_status()['Password']
+ tpm_owner_password = cryptohome.get_tpm_password()
if not tpm_owner_password:
raise error.TestError('TPM owner password is empty after taking '
'ownership.')
diff --git a/client/site_tests/platform_InitLoginPerf/platform_InitLoginPerf.py b/client/site_tests/platform_InitLoginPerf/platform_InitLoginPerf.py
index 62065f0..26baec2 100644
--- a/client/site_tests/platform_InitLoginPerf/platform_InitLoginPerf.py
+++ b/client/site_tests/platform_InitLoginPerf/platform_InitLoginPerf.py
@@ -23,7 +23,9 @@
@return: Attestation readiness status - True/False.
"""
- return cryptohome.get_tpm_more_status().get('attestation_prepared', False)
+ return cryptohome.get_tpm_attestation_status().get(
+ 'prepared_for_enrollment', False)
+
def get_bootstat_timestamp(name, occurrence):
"""Gets the timestamp in ms of the given timestamp name and occurrence
@@ -177,7 +179,7 @@
expected_value=True,
timeout_sec=timeout):
logging.debug('tpm_more_status: %r',
- cryptohome.get_tpm_more_status())
+ cryptohome.get_tpm_attestation_status())
raise error.TestFail('Timeout waiting for attestation_prepared')
def get_init_durations(self):
diff --git a/client/site_tests/platform_PrinterPpds/control.100_test_debug b/client/site_tests/platform_PrinterPpds/control.100_test_debug
deleted file mode 100644
index 9eabc1e..0000000
--- a/client/site_tests/platform_PrinterPpds/control.100_test_debug
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.100_test_debug"
-TIME = "SHORT"
-TEST_TYPE = "client"
-CRITERIA = """
-The test fails in case of malfunctioning of CUPS printing stack (cupsd,
-cupstestppd, cups filters) for at least one of tested PPD files or when at least
-one of produced outputs differs from expected output (it is checked by comparing
-digests).
-"""
-TEST_CATEGORY = "Functional"
-TEST_CLASS = "platform"
-JOB_RETRIES = 0
-
-DOC = """
-This is a test that for chosen 100 PPD files (from ppds_100 directory) runs
-the following procedure:
-1. Add an Generic printer to CUPS server (user-provided ppd file).
-2. Print test PDF documents (from docs directory).
-3. Check CUPS logs for any errors.
-4. Extract a printing pipeline from CUPS logs and rerun it as a shell script.
-5. Compare digests of obtained outputs with expected ones (from digests
- directory).
-6. Remove the printer.
-When printing the PDF, the printing request sent to a printer is caught by
-a fake printer. Intercepted output is verified when possible by comparing
-its digest with the expected one.
-See readme.txt for details.
-"""
-
-job.run_test(
- 'platform_PrinterPpds',
- path_docs='docs',
- path_ppds='ppds_100',
- path_digests='digests',
- debug_mode=True)
diff --git a/client/site_tests/platform_PrinterPpds/control.100_dump b/client/site_tests/platform_PrinterPpds/control.core_dump
similarity index 87%
rename from client/site_tests/platform_PrinterPpds/control.100_dump
rename to client/site_tests/platform_PrinterPpds/control.core_dump
index 65a88fc..bf6f261 100644
--- a/client/site_tests/platform_PrinterPpds/control.100_dump
+++ b/client/site_tests/platform_PrinterPpds/control.core_dump
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.100_dump"
+NAME = "platform_PrinterPpds.core_dump"
TIME = "SHORT"
TEST_TYPE = "client"
CRITERIA = """
@@ -15,8 +15,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for chosen 100 PPD files (from ppds_100 directory) runs
-the following procedure:
+This test runs the following procedure for PPD files from ppds_core directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -33,5 +32,5 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_100',
+ path_ppds='ppds_core',
path_outputs='/tmp/PrinterPpds_outputs')
diff --git a/client/site_tests/platform_PrinterPpds/control.100_dump_debug b/client/site_tests/platform_PrinterPpds/control.core_dump_debug
similarity index 87%
rename from client/site_tests/platform_PrinterPpds/control.100_dump_debug
rename to client/site_tests/platform_PrinterPpds/control.core_dump_debug
index 1ea6499..d3e6e68 100644
--- a/client/site_tests/platform_PrinterPpds/control.100_dump_debug
+++ b/client/site_tests/platform_PrinterPpds/control.core_dump_debug
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.100_dump_debug"
+NAME = "platform_PrinterPpds.core_dump_debug"
TIME = "SHORT"
TEST_TYPE = "client"
CRITERIA = """
@@ -15,8 +15,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for chosen 100 PPD files (from ppds_100 directory) runs
-the following procedure:
+This test runs the following procedure for PPD files from ppds_core directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -34,6 +33,6 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_100',
+ path_ppds='ppds_core',
path_outputs='/tmp/PrinterPpds_outputs',
debug_mode=True)
diff --git a/client/site_tests/platform_PrinterPpds/control.100_test b/client/site_tests/platform_PrinterPpds/control.core_test
similarity index 87%
rename from client/site_tests/platform_PrinterPpds/control.100_test
rename to client/site_tests/platform_PrinterPpds/control.core_test
index cbf6999..b8994a7 100644
--- a/client/site_tests/platform_PrinterPpds/control.100_test
+++ b/client/site_tests/platform_PrinterPpds/control.core_test
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.100_test"
+NAME = "platform_PrinterPpds.core_test"
TIME = "SHORT"
TEST_TYPE = "client"
CRITERIA = """
@@ -18,8 +18,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for chosen 100 PPD files (from ppds_100 directory) runs
-the following procedure:
+This test runs the following procedure for PPD files from ppds_core directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -35,5 +34,5 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_100',
+ path_ppds='ppds_core',
path_digests='digests')
diff --git a/client/site_tests/platform_PrinterPpds/control.all_test_debug b/client/site_tests/platform_PrinterPpds/control.core_test_debug
similarity index 87%
copy from client/site_tests/platform_PrinterPpds/control.all_test_debug
copy to client/site_tests/platform_PrinterPpds/control.core_test_debug
index 7ee5d60..fda2b4f 100644
--- a/client/site_tests/platform_PrinterPpds/control.all_test_debug
+++ b/client/site_tests/platform_PrinterPpds/control.core_test_debug
@@ -3,8 +3,8 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.all_test_debug"
-TIME = "LENGTHY"
+NAME = "platform_PrinterPpds.core_test_debug"
+TIME = "SHORT"
TEST_TYPE = "client"
CRITERIA = """
The test fails in case of malfunctioning of CUPS printing stack (cupsd,
@@ -17,7 +17,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for all available PPD files runs the following procedure:
+This test runs the following procedure for PPD files from ppds_core directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -34,6 +34,6 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_all',
+ path_ppds='ppds_core',
path_digests='digests',
debug_mode=True)
diff --git a/client/site_tests/platform_PrinterPpds/control.all_dump b/client/site_tests/platform_PrinterPpds/control.ext_dump
similarity index 88%
rename from client/site_tests/platform_PrinterPpds/control.all_dump
rename to client/site_tests/platform_PrinterPpds/control.ext_dump
index c57b1a3..32533f0 100644
--- a/client/site_tests/platform_PrinterPpds/control.all_dump
+++ b/client/site_tests/platform_PrinterPpds/control.ext_dump
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.all_dump"
+NAME = "platform_PrinterPpds.ext_dump"
TIME = "LENGTHY"
TEST_TYPE = "client"
CRITERIA = """
@@ -15,7 +15,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for all available PPD files runs the following procedure:
+This test runs the following procedure for PPD files from ppds_ext directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -32,5 +32,5 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_all',
+ path_ppds='ppds_ext',
path_outputs='/tmp/PrinterPpds_outputs')
diff --git a/client/site_tests/platform_PrinterPpds/control.all_dump_debug b/client/site_tests/platform_PrinterPpds/control.ext_dump_debug
similarity index 89%
rename from client/site_tests/platform_PrinterPpds/control.all_dump_debug
rename to client/site_tests/platform_PrinterPpds/control.ext_dump_debug
index d74a4a1..eb63103 100644
--- a/client/site_tests/platform_PrinterPpds/control.all_dump_debug
+++ b/client/site_tests/platform_PrinterPpds/control.ext_dump_debug
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.all_dump_debug"
+NAME = "platform_PrinterPpds.ext_dump_debug"
TIME = "LENGTHY"
TEST_TYPE = "client"
CRITERIA = """
@@ -15,7 +15,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for all available PPD files runs the following procedure:
+This test runs the following procedure for PPD files from ppds_ext directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -33,6 +33,6 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_all',
+ path_ppds='ppds_ext',
path_outputs='/tmp/PrinterPpds_outputs',
debug_mode=True)
diff --git a/client/site_tests/platform_PrinterPpds/control.all_test b/client/site_tests/platform_PrinterPpds/control.ext_test
similarity index 88%
rename from client/site_tests/platform_PrinterPpds/control.all_test
rename to client/site_tests/platform_PrinterPpds/control.ext_test
index a63a191..79e6ff0 100644
--- a/client/site_tests/platform_PrinterPpds/control.all_test
+++ b/client/site_tests/platform_PrinterPpds/control.ext_test
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.all_test"
+NAME = "platform_PrinterPpds.ext_test"
TIME = "LENGTHY"
TEST_TYPE = "client"
CRITERIA = """
@@ -18,7 +18,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for all available PPD files runs the following procedure:
+This test runs the following procedure for PPD files from ppds_ext directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -34,5 +34,5 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_all',
+ path_ppds='ppds_ext',
path_digests='digests')
diff --git a/client/site_tests/platform_PrinterPpds/control.all_test_debug b/client/site_tests/platform_PrinterPpds/control.ext_test_debug
similarity index 89%
rename from client/site_tests/platform_PrinterPpds/control.all_test_debug
rename to client/site_tests/platform_PrinterPpds/control.ext_test_debug
index 7ee5d60..64f9765 100644
--- a/client/site_tests/platform_PrinterPpds/control.all_test_debug
+++ b/client/site_tests/platform_PrinterPpds/control.ext_test_debug
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "The Chromium OS Authors"
-NAME = "platform_PrinterPpds.all_test_debug"
+NAME = "platform_PrinterPpds.ext_test_debug"
TIME = "LENGTHY"
TEST_TYPE = "client"
CRITERIA = """
@@ -17,7 +17,7 @@
JOB_RETRIES = 0
DOC = """
-This is a test that for all available PPD files runs the following procedure:
+This test runs the following procedure for PPD files from ppds_ext directory:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Check CUPS logs for any errors.
@@ -34,6 +34,6 @@
job.run_test(
'platform_PrinterPpds',
path_docs='docs',
- path_ppds='ppds_all',
+ path_ppds='ppds_ext',
path_digests='digests',
debug_mode=True)
diff --git a/client/site_tests/platform_PrinterPpds/digests/annotation_highlight_square_with_ap.pdf.digests b/client/site_tests/platform_PrinterPpds/digests/annotation_highlight_square_with_ap.pdf.digests
index e69de29..9dfe2b3 100644
--- a/client/site_tests/platform_PrinterPpds/digests/annotation_highlight_square_with_ap.pdf.digests
+++ b/client/site_tests/platform_PrinterPpds/digests/annotation_highlight_square_with_ap.pdf.digests
@@ -0,0 +1,1456 @@
+brother-20191213-DCP7180DN.ppd.gz 039cde73ca628a83f22a90183bb70979 25774
+brother-20191213-DCP7195DW.ppd.gz 039cde73ca628a83f22a90183bb70979 25774
+brother-20191213-DCPL5500DN.ppd.gz 039cde73ca628a83f22a90183bb70979 25774
+brother-20191213-DCPL6600DW.ppd.gz 039cde73ca628a83f22a90183bb70979 25774
+brother-20191213-HL5595DNH.ppd.gz 039cde73ca628a83f22a90183bb70979 25774
+brother-20200131-DCP7025.ppd.gz 039cde73ca628a83f22a90183bb70979 25754
+brother-20200131-DCP8080DN.ppd.gz 039cde73ca628a83f22a90183bb70979 25774
+brother-20200615-DCP9030CDN.ppd.gz 75232ffdd097feaa4c4987a8dca5c5d2 4219402
+brother-20200615-DCPL8410CDW.ppd.gz 75232ffdd097feaa4c4987a8dca5c5d2 4219402
+brother-20200615-HLL3210CW.ppd.gz 75232ffdd097feaa4c4987a8dca5c5d2 4219402
+brother-20200615-MFC9350CDW.ppd.gz 75232ffdd097feaa4c4987a8dca5c5d2 4219402
+brother-20201006-DCP7080-cups-en.ppd.gz 9de2bf30c53b8e513b6e644e37ee18db 20118
+brother-20201006-DCP7080D-cups-en.ppd.gz 42e94a9f01e13f1054796173a3d38c3c 20118
+brother-20201006-DCP7090-cups-en.ppd.gz 42e94a9f01e13f1054796173a3d38c3c 20118
+brother-20201006-DCP7090DW-cups-en.ppd.gz 47f9da0260dee7b6f7422ad88d98c661 20118
+brother-20201006-HL2290-cups-en.ppd.gz 47f9da0260dee7b6f7422ad88d98c661 20118
+brother-20201006-HL2295D-cups-en.ppd.gz 14c55d5f59a3ac00b58192667dc7b10a 20118
+brother-20201006-MFCL2685DW-cups-en.ppd.gz 290ad53a641e1b2dee3bd7bdf00b2592 20118
+cups-20170101-Generic-PDF_Printer-PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13160
+dymo-20200714-lm280.ppd.gz 6f4b9652036a47137f20eb71408d3a94 2156
+dymo-20200714-lm400.ppd.gz 6f4b9652036a47137f20eb71408d3a94 2156
+dymo-20200714-lm420p.ppd.gz 543303859e81fb96a1965d81035510ba 2158
+dymo-20200714-lm450.ppd.gz af031493c09f141578ccd858a637b452 2160
+dymo-20200714-lm500ts.ppd.gz d10f465460f92419ca2ba4eba7055067 3610
+dymo-20200714-lmpc2.ppd.gz 96030bba7a4b6efa39e9a719549869a2 2158
+dymo-20200714-lmpc.ppd.gz 8b04d63ca9b329cae57189749ccaec79 2154
+dymo-20200714-lmpnp.ppd.gz cded90ff56eb2756fbd4abf7246d4210 2150
+dymo-20200714-lmpnpw.ppd.gz d8a3dbb9b42b04f7a2e2a9fdfa08f69f 3476
+dymo-20200714-lp350.ppd.gz 8b04d63ca9b329cae57189749ccaec79 2154
+dymo-20200714-lw300.ppd.gz 4402250764b2bac7f1aa966829408c07 2107
+dymo-20200714-lw315.ppd.gz 4402250764b2bac7f1aa966829408c07 2107
+dymo-20200714-lw320.ppd.gz 08d8ddbcfac33146561595e013b30859 13189
+dymo-20200714-lw330.ppd.gz 08d8ddbcfac33146561595e013b30859 13189
+dymo-20200714-lw330t.ppd.gz 08d8ddbcfac33146561595e013b30859 13189
+dymo-20200714-lw400.ppd.gz 6d4f510d1db714d0822a0e2c52638022 13191
+dymo-20200714-lw400t.ppd.gz 6d4f510d1db714d0822a0e2c52638022 13191
+dymo-20200714-lw450dl.ppd.gz 6d4f510d1db714d0822a0e2c52638022 13191
+dymo-20200714-lw450dt.ppd.gz 7c4cd5def81f2ce2908823be55a6540a 2160
+dymo-20200714-lw450.ppd.gz 6d4f510d1db714d0822a0e2c52638022 13191
+dymo-20200714-lw450t.ppd.gz 6d4f510d1db714d0822a0e2c52638022 13191
+dymo-20200714-lw450tt.ppd.gz 47f0fd586ab93f5e44fd0df38785d255 13197
+dymo-20200714-lw4xl.ppd.gz 1b483942f48c7dfc2d81c206ebf4eeea 34195
+dymo-20200714-lwduol.ppd.gz 6d4f510d1db714d0822a0e2c52638022 13191
+dymo-20200714-lwduot2.ppd.gz 7c4cd5def81f2ce2908823be55a6540a 2160
+dymo-20200714-lwduot.ppd.gz 2b74c9dba137b9409b94ba82159d17d3 2156
+dymo-20200714-lwtt.ppd.gz 47f0fd586ab93f5e44fd0df38785d255 13197
+dymo-20200714-se450.ppd.gz b1baf4b08604e58e153c012b7beecaa4 6500
+epson-20170125-Epson-L380_Series-epson-escpr-en-1.6.10.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20170125-Epson-L382_Series-epson-escpr-en-1.6.10.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Artisan_1430-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Artisan_630-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Artisan_700-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Artisan_710-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Artisan_730-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-E-150-epson-escpr-en.ppd.gz fc495499a504ae19bb4c6b3b3cbddc83 22722
+epson-20200615-1_6_41-Epson-E-300-epson-escpr-en.ppd.gz b1471e07c270b2ccb719ff5884352a42 22722
+epson-20200615-1_6_41-Epson-E-330-epson-escpr-en.ppd.gz fc495499a504ae19bb4c6b3b3cbddc83 22722
+epson-20200615-1_6_41-Epson-E-350-epson-escpr-en.ppd.gz fc495499a504ae19bb4c6b3b3cbddc83 22722
+epson-20200615-1_6_41-Epson-E-370_Series-epson-escpr-en.ppd.gz ce1d9ec1953b5268a48c3c523c2997fb 27153
+epson-20200615-1_6_41-Epson-E-500-epson-escpr-en.ppd.gz b1471e07c270b2ccb719ff5884352a42 22722
+epson-20200615-1_6_41-Epson-E-850_Series-epson-escpr-en.ppd.gz ce1d9ec1953b5268a48c3c523c2997fb 27153
+epson-20200615-1_6_41-Epson-EP-10VA_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-306_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-30VA_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-4004-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-702A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-EP-703A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-EP-705A_Series-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-EP-706A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-707A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-708A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-709A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-710A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-711A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-775A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-777A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-801A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-EP-804A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-EP-805A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-807A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-808A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-810A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-811A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-901A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-EP-906F_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-976A3_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-977A3_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-978A3_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-979A3_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EP-M570T_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-1110_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-16500_Series-epson-escpr-en.ppd.gz 29f0d938ae62b70b3eb73fe795ab5fe4 83603
+epson-20200615-1_6_41-Epson-ET-2500_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-2600_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-2700_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-2750_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-4550_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-7700_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ET-7750_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EW-M5071FT_Series-epson-escpr-en.ppd.gz acdf3b829a15fad5b9b6f0d48e0898ad 66152
+epson-20200615-1_6_41-Epson-EW-M571T_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EW-M660FT_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EW-M770T_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-EW-M970A3T_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-K200-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-L1455_Series-epson-escpr-en.ppd.gz 481c6992a4a3fdadaf9cda07fea893e4 88876
+epson-20200615-1_6_41-Epson-L3050_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L364_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L375_Series-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-L455_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L5190_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L575_Series-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-L605_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L7180_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L805_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-L810_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-M200_Series-epson-escpr-en.ppd.gz ba3f6e277605e1edc620fe86bbf5be97 88876
+epson-20200615-1_6_41-Epson-ME_200-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-ME-301_Series-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-ME-400_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-ME_OFFICE_530-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-ME_OFFICE_570-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-ME_OFFICE_620F-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-ME_OFFICE_650FN-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-ME_OFFICE_700FW-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PF-70_Series-epson-escpr-en.ppd.gz 5bd55f263600acfc6e997a25838eaf21 22722
+epson-20200615-1_6_41-Epson-PF-71_Series-epson-escpr-en.ppd.gz 5bd55f263600acfc6e997a25838eaf21 22722
+epson-20200615-1_6_41-Epson-PF-81_Series-epson-escpr-en.ppd.gz fc495499a504ae19bb4c6b3b3cbddc83 22722
+epson-20200615-1_6_41-Epson-PictureMate_500-epson-escpr-en.ppd.gz cd84735a3de6546622453a549264bba7 30933
+epson-20200615-1_6_41-Epson-PictureMate_PM_200-epson-escpr-en.ppd.gz 87035f87ba158b4bef862b1029d4efc2 30933
+epson-20200615-1_6_41-Epson-PictureMate_PM_240-epson-escpr-en.ppd.gz 87035f87ba158b4bef862b1029d4efc2 30933
+epson-20200615-1_6_41-Epson-PictureMate_PM_270-epson-escpr-en.ppd.gz cd84735a3de6546622453a549264bba7 30933
+epson-20200615-1_6_41-Epson-PictureMate_PM_300-epson-escpr-en.ppd.gz cd84735a3de6546622453a549264bba7 30933
+epson-20200615-1_6_41-Epson-PM-400_Series-epson-escpr-en.ppd.gz fc495499a504ae19bb4c6b3b3cbddc83 22722
+epson-20200615-1_6_41-Epson-PM-A750-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-A820-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-A890-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-A920-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-A950-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-A970-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-D800-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PM-G4500-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PM-G850-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-046A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-047A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-048A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-049A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-1600F-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-205_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-404A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-405A_Series-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-435A_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-501A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-502A-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-5600-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-5V-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-A620-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-A640-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-A720-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-PX-B700-epson-escpr-en.ppd.gz 5263829323ea08ac0c3fc77fb52b24da 64737
+epson-20200615-1_6_41-Epson-PX-G5300-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-M160T_Series-epson-escpr-en.ppd.gz ba3f6e277605e1edc620fe86bbf5be97 88876
+epson-20200615-1_6_41-Epson-PX-M350F-epson-escpr-en.ppd.gz ba3f6e277605e1edc620fe86bbf5be97 88876
+epson-20200615-1_6_41-Epson-PX-M5040F-epson-escpr-en.ppd.gz 8a01c80289c25cb0e1e22af8317cc64c 88876
+epson-20200615-1_6_41-Epson-PX-M5041F-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-M650A-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-M7050FP-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-M740F-epson-escpr-en.ppd.gz 8a01c80289c25cb0e1e22af8317cc64c 88876
+epson-20200615-1_6_41-Epson-PX-M741F-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-M840F-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-M860F-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-PX-S05_Series-epson-escpr-en.ppd.gz 2448a4532be837e31a36c09dedfacdf2 88924
+epson-20200615-1_6_41-Epson-PX-S06_Series-epson-escpr-en.ppd.gz 2448a4532be837e31a36c09dedfacdf2 88924
+epson-20200615-1_6_41-Epson-Stylus_CX3700-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_CX3800-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_CX4200-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_CX4900-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_CX5000-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_CX5900-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_CX6000-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_CX7300-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_CX7400-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_CX8300-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_CX8400-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_DX4200-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_DX5000-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_NX210-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_NX230-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_NX300-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_NX510-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_NX530-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX650-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX730-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX800FW-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_Photo_R1900-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_Photo_R2000-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_Photo_R340-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_Photo_R350-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_Photo_R380-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX580-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX640-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX680-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX685-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-WF-100_Series-epson-escpr-en.ppd.gz 2448a4532be837e31a36c09dedfacdf2 88924
+epson-20200615-1_6_41-Epson-WF-2510_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-2630_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-2650_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-2830_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-3010_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-3620_Series-epson-escpr-en.ppd.gz 8a01c80289c25cb0e1e22af8317cc64c 88876
+epson-20200615-1_6_41-Epson-WF-3640_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-4630_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-6090_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-6530_Series-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-WF-7110_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-7510_Series-epson-escpr-en.ppd.gz db58c154f635543ad583fcae8eda95ae 86976
+epson-20200615-1_6_41-Epson-WF-7610_Series-epson-escpr-en.ppd.gz 8a01c80289c25cb0e1e22af8317cc64c 88876
+epson-20200615-1_6_41-Epson-WF-8010_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WF-M5190_Series-epson-escpr-en.ppd.gz ba3f6e277605e1edc620fe86bbf5be97 88876
+epson-20200615-1_6_41-Epson-WorkForce_320-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WorkForce_600-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WorkForce_610-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-WP-4010_Series-epson-escpr-en.ppd.gz aff4d623f68683b37e52b440c29a6870 62369
+epson-20200615-1_6_41-Epson-WP-4011_Series-epson-escpr-en.ppd.gz 5263829323ea08ac0c3fc77fb52b24da 64737
+epson-20200615-1_6_41-Epson-WP-4020_Series-epson-escpr-en.ppd.gz acdf3b829a15fad5b9b6f0d48e0898ad 66152
+epson-20200615-1_6_41-Epson-WP-M4011_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-201_204_208_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-2100_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-211_214_216_Series-epson-escpr-en.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-1_6_41-Epson-XP-212_213_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-220_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-225_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-255_257_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-510_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-520_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-530_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-540_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-55_Series-epson-escpr-en.ppd.gz d1e28d9cfc0568bd47fbdcfe285adb48 88876
+epson-20200615-1_6_41-Epson-XP-600_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-610_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-620_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-630_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-640_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-7100_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-720_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-750_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-830_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-850_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-900_Series-epson-escpr-en.ppd.gz 8a01c80289c25cb0e1e22af8317cc64c 88876
+epson-20200615-1_6_41-Epson-XP-950_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-1_6_41-Epson-XP-960_Series-epson-escpr-en.ppd.gz bfea9c85d43bf8e2c598c14d64cef9c8 88876
+epson-20200615-EPSON_EW-052A_Series.ppd.gz 28c5558643ac14c72294bf52c0e5f6d3 83603
+epson-20200615-Epson-LX-10000FK_Series_PS3.ppd.gz 30cca9eceb655fbb535c9d2f72e39795 315611
+epson-20200615-Epson-LX-10000F_PS.ppd.gz 6db634bfac5762c1f297cb38e884264a 315611
+epson-20200615-Epson-LX-10010MF_Series_PS3.ppd.gz 5e7f0accb256ec0aca83e3a0d06cec86 226722
+epson-20200615-Epson-WF-C17590_Series_PS3.ppd.gz 6628b750134b888ba908aaa516e399f2 315611
+epson-20200615-Epson-WF-C20590_PS.ppd.gz a26d133a3aa8bbcaab750d3a28a8c111 315611
+epson-20200615-Epson-WF-M20590_Series_PS3.ppd.gz 21667001f832fd802a54c31318eaa01c 226722
+foomatic-20170101-Samsung-M332x_382x_402x-Postscript.ppd.gz 53736a0f137ccd74baf2012408b07fa6 226050
+foomatic-20190909-Ricoh-IM_430F-PostscriptMono-Ricoh.ppd.gz d0ae8af8c09bd7cda2d2c05f6513cae2 227449
+foomatic-20190909-Ricoh-IM_430_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20190909-Ricoh-IM_C4500_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20191029-Apollo-P-1200-pcl3.ppd.gz a677bcde99d05de988b526ab35bc32a9 66571
+foomatic-20191029-BR5070DN_GPL.ppd.gz dbf102bd6ef3efbfccea3b445a9fafd8 227148
+foomatic-20191029-Gestetner-Pro_C5200S_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13320
+foomatic-20191029-Lanier-Pro_8200S_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20191029-Lanier-Pro_8210_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20191029-Lanier-Pro_C7200_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13345
+foomatic-20191029-Lanier-Pro_C7200S_Light_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13345
+foomatic-20191029-shar208d.ppd.gz 1d846734d902a107ce5d05096ca2acf5 227659
+foomatic-20191029-shar208s.ppd.gz 459aff242b50b5b96e8a2cc2aae48584 227560
+foomatic-20200219-Anitech-M24-epson.ppd.gz 1c3b9d575b30e2a54b0effc4660b99ee 2109
+foomatic-20200219-Apple-12_640ps-Postscript.ppd.gz b017d467a2fda2bab4ea6dd3eab93e05 226050
+foomatic-20200219-Apple-LaserWriter_IIg-Postscript.ppd.gz 3426a0d12a7cc564d4bf9a1937d300cf 187437
+foomatic-20200219-Apple-LaserWriter_Select_360-ljet2p.ppd.gz 740b4ba05f00836522620334a1366af7 16781
+foomatic-20200219-Brother-DCP-7010-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Brother-DCP-8020-Postscript-Brother.ppd.gz e2e91bda3e6cf35549384aa40a5a1769 226881
+foomatic-20200219-Brother-DCP-8025D-Postscript-Brother.ppd.gz 30fed33af6f95e344680408d00b2ec62 226993
+foomatic-20200219-Brother-DCP-8040-Postscript-Brother.ppd.gz de0e10f0ceb297996047bfabbfc502f0 226881
+foomatic-20200219-Brother-DCP-8045D-Postscript-Brother.ppd.gz 8ba9a2559739895a17914e45f4ebf812 226993
+foomatic-20200219-Brother-DCP-9010CN-Postscript-Brother.ppd.gz 104b0fb12f8e8faac1c16c18b016427d 127977412
+foomatic-20200219-Brother-DCP-9040CN-Postscript-Brother.ppd.gz 388f5ff094f3fe484d788144d2a1f90b 127977436
+foomatic-20200219-Brother-DCP-9045CDN-Postscript-Brother.ppd.gz 96b98ce7aee97f81a74369b30a55bc2e 127977622
+foomatic-20200219-Brother-HJ-400-lq850.ppd.gz 5fcfb6b2be65506c5cbd5a0b5d02b8d2 55329
+foomatic-20200219-Brother-HL-1030-hl1250.ppd.gz 1b0b6a18ee3668ad441aa77d811ac1fb 11017
+foomatic-20200219-Brother-HL-1070-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Brother-HL-10V-ljet3.ppd.gz 80e6198833b8d5262b50a5c15bdd2fd4 11140
+foomatic-20200219-Brother-HL-1230-hl1250.ppd.gz 1b0b6a18ee3668ad441aa77d811ac1fb 11017
+foomatic-20200219-Brother-HL-1240-laserjet.ppd.gz 0a3bce50a60a19ee5749d9c4136f93fb 62985
+foomatic-20200219-Brother-HL-1250-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25690
+foomatic-20200219-Brother-HL-1270N-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25690
+foomatic-20200219-Brother-HL-1450-Postscript-Brother.ppd.gz ef235b047c4ef14bec5df6cfbd26f098 226931
+foomatic-20200219-Brother-HL-1650_70N-Postscript-Brother.ppd.gz fa7d6499be9551ecc5577fbe7af6d715 227240
+foomatic-20200219-Brother-HL-1650-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25736
+foomatic-20200219-Brother-HL-1660e-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25736
+foomatic-20200219-Brother-HL-1850_70N-Postscript-Brother.ppd.gz 95c4fc9aadf849459320b14038ca8d8d 227477
+foomatic-20200219-Brother-HL-1850-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25736
+foomatic-20200219-Brother-HL-2060-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25690
+foomatic-20200219-Brother-HL-2240D-hl1250.ppd.gz ec392c72826454c6e45a7e687da3cc88 25877
+foomatic-20200219-Brother-HL-2240-hl1250.ppd.gz ec392c72826454c6e45a7e687da3cc88 25831
+foomatic-20200219-Brother-HL-2400CeN-pxlcolor.ppd.gz c8ca478ff81032962259cf3139263b07 4219348
+foomatic-20200219-Brother-HL-2460N-pxlmono.ppd.gz 31f86c4b6f008fd3ff7d22b7c2b69d82 547082
+foomatic-20200219-Brother-HL-2460-Postscript-Brother.ppd.gz cf963cf1f2a6b5bbf53012ee9a3cb392 227937
+foomatic-20200219-Brother-HL-2600CN-Postscript-Brother.ppd.gz 8583618a0d2e56491e2bc96e7d9c6eeb 127979370
+foomatic-20200219-Brother-HL-2700CN-Postscript-Brother.ppd.gz 9a8ddb7ca602ede3a2da398124013167 127977959
+foomatic-20200219-Brother-HL-3070CW-Postscript-Brother.ppd.gz 33744355c4843f4ec4e316d37a68e419 127977488
+foomatic-20200219-Brother-HL-3260N-Postscript-Brother.ppd.gz 366bc321805fde033a20d3d94c66fa46 227917
+foomatic-20200219-Brother-HL-3450CN-Postscript-Brother.ppd.gz d038195473c100143ea1daf36f261c74 127979370
+foomatic-20200219-Brother-HL-4050CDN-Postscript-Brother.ppd.gz 905b9df8c402f4f18c1c312f54582c5f 127977698
+foomatic-20200219-Brother-HL-4Ve-laserjet.ppd.gz 21ef470512223260bbbb3af88f81e138 62901
+foomatic-20200219-Brother-HL-5030-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25690
+foomatic-20200219-Brother-HL-5050-Postscript-Brother.ppd.gz 28079ee1dcab4601f48571e51582600f 227037
+foomatic-20200219-Brother-HL-5140-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Brother-HL-5150D-Postscript-Brother.ppd.gz b202b7d34e2a051701594a935c9c4880 227149
+foomatic-20200219-Brother-HL-5240-Postscript-Brother.ppd.gz d6b09381d05d8aee3162e8cafcf6ea3d 227063
+foomatic-20200219-Brother-HL-5250DN-Postscript-Brother.ppd.gz a1bb11ec884b456e9ae403ad3d47c3e8 227175
+foomatic-20200219-Brother-HL-5270DN-Postscript-Brother.ppd.gz 0faf5811d477fb5cd55862b131f6e3d0 227599
+foomatic-20200219-Brother-HL-6050D_DN-Postscript-Brother.ppd.gz 38122e42e571ce7e9d8be1d0b8366337 227677
+foomatic-20200219-Brother-HL-6050-Postscript-Brother.ppd.gz 168ec612e37da5eddc4dd7d0589ec0b4 227565
+foomatic-20200219-Brother-HL-7050N-pxlmono.ppd.gz 31f86c4b6f008fd3ff7d22b7c2b69d82 547132
+foomatic-20200219-Brother-HL-7050-Postscript-Brother.ppd.gz a5d7a9ea16558314fb33f3c2d576bd09 228078
+foomatic-20200219-Brother-HL-8050N-Postscript-Brother.ppd.gz 115dfa8e349cb949ddb2b2451a604c11 227895
+foomatic-20200219-Brother-HL-8-ljetplus.ppd.gz 21ef470512223260bbbb3af88f81e138 62901
+foomatic-20200219-Brother-MC-3000-epson.ppd.gz 1c3b9d575b30e2a54b0effc4660b99ee 2109
+foomatic-20200219-Brother-MFC-7450-Postscript-Brother.ppd.gz 9578b082b2481f848b76ec77594b2952 227375
+foomatic-20200219-Brother-MFC-8220-Postscript-Brother.ppd.gz dc2672f1dd2979e64c32be9a8f655e85 226881
+foomatic-20200219-Brother-MFC-8440-Postscript-Brother.ppd.gz 009a922c4281ab8d433360b592530a8f 226881
+foomatic-20200219-Brother-MFC-8640D-Postscript-Brother.ppd.gz 4f29dda150bbb4c6a215f5e845711d46 226993
+foomatic-20200219-Brother-MFC-8670DN-Postscript-Brother.ppd.gz 5cade184a528e1f5423868e27f6d0c26 227523
+foomatic-20200219-Brother-MFC-8820D-Postscript-Brother.ppd.gz e68abf78d4944e09f19867d5c03ad213 226993
+foomatic-20200219-Brother-MFC-9100c-epsonc.ppd.gz 0a4d9cad64852530b24f222cce311780 3555
+foomatic-20200219-Brother-MFC-9420CN-Postscript-Brother.ppd.gz 271aa5b473c11fb76f2bec9c41adbbec 127977211
+foomatic-20200219-Brother-MFC-9440CN-Postscript-Brother.ppd.gz 0107805f691c4801164c9812bc9e51a5 127977510
+foomatic-20200219-Brother-MFC-P2500-hl1250.ppd.gz 1b0b6a18ee3668ad441aa77d811ac1fb 11017
+foomatic-20200219-Canon-BJ-100-bj200.ppd.gz 194ffb69bcfdb14f6f6a80f99468bead 52180
+foomatic-20200219-Canon-BJ-10e-bj10e.ppd.gz 614340ec97519e0b105091d21018c4ae 52177
+foomatic-20200219-Canon-BJ-330-bj200.ppd.gz 194ffb69bcfdb14f6f6a80f99468bead 52180
+foomatic-20200219-Canon-BJC-1000-bjc600.ppd.gz d0660836e80d9b1d4a28cdfffc03c075 114497
+foomatic-20200219-Canon-BJC-2100-bjc610XY.upp.ppd.gz f5d130849c36e1f7413ea58f15a839e0 104993
+foomatic-20200219-Canon-BJC-210-bjc600.ppd.gz d0660836e80d9b1d4a28cdfffc03c075 114497
+foomatic-20200219-Canon-BJC-210SP-bj200.ppd.gz 194ffb69bcfdb14f6f6a80f99468bead 52180
+foomatic-20200219-Canon-BJC-250ex-bjc250gs.ppd.gz 7fcfcea7f115ef9f34f11073be1ea0ca 121324
+foomatic-20200219-Canon-BJC-255SP-bjc250gs.ppd.gz 856697af13ae367f16798d70d0bf1a0d 121235
+foomatic-20200219-Canon-BJC-4550-bjc800.ppd.gz 6f832566eb8eb330f042726acd6023c5 114496
+foomatic-20200219-Canon-BJC-610-bjc610XY.upp.ppd.gz f5d130849c36e1f7413ea58f15a839e0 104993
+foomatic-20200219-Canon-BJC-800-bjc800.ppd.gz 6f832566eb8eb330f042726acd6023c5 114496
+foomatic-20200219-Canon-BJC-8200-bj8XXYYZ.upp.ppd.gz 5e346b586ca40a8266aa429054361585 231885
+foomatic-20200219-Canon-GP_405-Postscript.ppd.gz 317438485aa662ee18e26087962167b5 226050
+foomatic-20200219-Canon-imageRunner_C2570-Postscript.ppd.gz b315f350690e9d7469b9f11b891f46a3 314674
+foomatic-20200219-Canon-iPR_C600-Postscript-Canon.ppd.gz 9138f95d4f27909e3d553898fd414255 319688
+foomatic-20200219-Canon-iPR_C650_PPD-Postscript-Canon.ppd.gz 343fad3572ea36c89ff899b1316346db 321315
+foomatic-20200219-Canon-iPR_C700_800-Postscript-Canon.ppd.gz 4905420fcdb9c92dee091de35a212540 321321
+foomatic-20200219-Canon-iPR_C750_850_PPD-Postscript-Canon.ppd.gz e9d66fcdb933a276e75031b0a4a3a3dc 321329
+foomatic-20200219-Canon-iR-ADV_400_500-Postscript-Canon.ppd.gz aa2ab1c05f388b30cf8a3812a95b1aeb 228751
+foomatic-20200219-Canon-iR-ADV_4025_4035-Postscript-Canon.ppd.gz 6f3463c86bdb9f8ec2a6c28aa7d3794a 229393
+foomatic-20200219-Canon-iR-ADV_4225_4235-Postscript-Canon.ppd.gz b809f79a5691c97afc81fa457aa06f48 229746
+foomatic-20200219-Canon-iR-ADV_6055_6065-Postscript-Canon.ppd.gz 54eab159bf29a71c8eff6345a3004054 229626
+foomatic-20200219-Canon-iR-ADV_6255_6265-Postscript-Canon.ppd.gz 5ade838bf2b44dd39d814ef48da4aef1 229967
+foomatic-20200219-Canon-iR-ADV_8085_8095-Postscript-Canon.ppd.gz e452077c26042f9bfdccd5e269f4ec06 229697
+foomatic-20200219-Canon-iR-ADV_8205-Postscript-Canon.ppd.gz 4138042b20f003258187d5cbb1a51b7b 230246
+foomatic-20200219-Canon-iR-ADV_C2020_2030-Postscript-Canon.ppd.gz 0c8b056d49693575c76314bc550e81c1 318694
+foomatic-20200219-Canon-iR-ADV_C2020i_2030i-Postscript-Canon.ppd.gz bfecc80b0155330aa18070d8b873a981 318690
+foomatic-20200219-Canon-iR-ADV_C2025-Postscript-Canon.ppd.gz bfecc80b0155330aa18070d8b873a981 318690
+foomatic-20200219-Canon-iR-ADV_C2220_2230-Postscript-Canon.ppd.gz 83278a3b1f6503d53564dc21cddf4f71 319249
+foomatic-20200219-Canon-iR-ADV_C2225-Postscript-Canon.ppd.gz 5810da758256d3b05cb6ce4342990c49 319249
+foomatic-20200219-Canon-iR-ADV_C250_350-Postscript-Canon.ppd.gz 5cf2c3e8d47301b0bf3c9b9f0a08542a 318431
+foomatic-20200219-Canon-iR-ADV_C3320L-Postscript-Canon.ppd.gz 27187fbe29fb4047bdff9f436428bafa 319133
+foomatic-20200219-Canon-iR-ADV_C3320-Postscript-Canon.ppd.gz 5c0e5aa3926e0aba1ef2644dda89648c 319205
+foomatic-20200219-Canon-iR-ADV_C3325_3330-Postscript-Canon.ppd.gz 7ce4988e2a3464c699621d0a6aed1878 319205
+foomatic-20200219-Canon-iR-ADV_C351-Postscript-Canon.ppd.gz f83f889f97a6d2f4f881bc92905060e2 318360
+foomatic-20200219-Canon-iR-ADV_C5030_5035-Postscript-Canon.ppd.gz 779ee6fb4cda7b9acb0c9aff4b7827f8 320071
+foomatic-20200219-Canon-iR-ADV_C5045_5051-Postscript-Canon.ppd.gz e97ea516e1b7ac233fd5fdd3194fa417 320071
+foomatic-20200219-Canon-iR-ADV_C5235_5240-Postscript-Canon.ppd.gz 1a91c140893650dad8cc819aae440c41 320137
+foomatic-20200219-Canon-iR-ADV_C5250_5255-Postscript-Canon.ppd.gz 1a91c140893650dad8cc819aae440c41 320137
+foomatic-20200219-Canon-iR-ADV_C7055_7065-Postscript-Canon.ppd.gz c78be5e423a0a7e7fc228ec2c11a6a36 319877
+foomatic-20200219-Canon-iR-ADV_C7260_7270-Postscript-Canon.ppd.gz c004e170590564f3d3b44ba5fb9f6dfe 320218
+foomatic-20200219-Canon-iR-ADV_C7280-Postscript-Canon.ppd.gz e0b513a508cf59a423fa35fa3ce65dfe 320493
+foomatic-20200219-Canon-iR-ADV_C9060_9070-Postscript-Canon.ppd.gz 49298cd6ab8b9c6c79a297f2f0d07cdd 319944
+foomatic-20200219-Canon-iR-ADV_C9065_9075-Postscript-Canon.ppd.gz 3d463ff89df4cbff672938b43770d614 319948
+foomatic-20200219-Canon-iR-ADV_C9270_9280-Postscript-Canon.ppd.gz ecdbacca78790b1caca18d0cbad468d3 320497
+foomatic-20200219-Canon-LBP-1000-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25721
+foomatic-20200219-Canon-LBP-1760-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Canon-LBP-430-ljet4.ppd.gz e5cbf1b01ed8e6518ae5dc72abdf207a 10792
+foomatic-20200219-Canon-LBP-4U-lbp8.ppd.gz b8db9e2d57b744f66e385aca3a8f1d76 37364
+foomatic-20200219-Canon-LBP6670-Postscript-Canon.ppd.gz 28e991bff02eff4e32ffed451946fe9b 226579
+foomatic-20200219-Canon-LBP6780_3580-Postscript-Canon.ppd.gz 22d6990ce0cae36241cd3c38b8f36c37 226585
+foomatic-20200219-Canon-LBP710C_PPD-Postscript-Canon.ppd.gz 2325a51cf304d18b917e3cf2f2921ef9 316172
+foomatic-20200219-Canon-LBP712C_PPD-Postscript-Canon.ppd.gz a68634e5c56b6480789b17a7c0ecff91 316175
+foomatic-20200219-Canon-LBP7660C-Postscript-Canon.ppd.gz c01bd741ce92cd1b9d1cd7ec5f0adcc7 316179
+foomatic-20200219-Canon-LBP7680C_5280-Postscript-Canon.ppd.gz c01bd741ce92cd1b9d1cd7ec5f0adcc7 316179
+foomatic-20200219-Canon-LBP7780C_5480-Postscript-Canon.ppd.gz 90122da95871f52e857bef44627d62c8 316172
+foomatic-20200219-Canon-LBP8780-Postscript-Canon.ppd.gz 19b7bb5e68e34ba4e8a286f3c7b33e73 226642
+foomatic-20200219-Canon-LIPS-III-lips3.ppd.gz a1d413064d1e345beec5374f458a82a9 6568
+foomatic-20200219-Canon-LIPS-IIplus-lips2p.ppd.gz add9f39e1d634acbb8be9166c2841c9c 4799
+foomatic-20200219-Canon-S500-bj8XXYYZ.upp.ppd.gz 5e346b586ca40a8266aa429054361585 231885
+foomatic-20200219-Citizen-ProJet_IIc-cdj500.ppd.gz 0f840373170dbaa33ae3053e5212d1aa 56044
+foomatic-20200219-CItoh-M8510-m8510.ppd.gz 2a86a0e0c3c0b55e0b384a408a850895 17617
+foomatic-20200219-Compaq-IJ900-lxm5700m.ppd.gz eccf445e08d5914ee2fd53002cfab044 210869
+foomatic-20200219-DEC-DECWriter_500i-djet500.ppd.gz bd4661f9ff56b214454f3b767429ddaf 11153
+foomatic-20200219-DEC-LJ250-declj250.ppd.gz fbc890730d1e31671a49c50080f7fd75 36800
+foomatic-20200219-Dell-M5200-Postscript.ppd.gz 6e005fde245bbbddef54274c590ff03a 226050
+foomatic-20200219-Epson-ActionPrinter_3250-ap3250.ppd.gz 820c14feaf6c643665951549ea031d73 11806
+foomatic-20200219-Epson-AL-2600-Postscript-Epson.ppd.gz c6b6781bb4f3fd1467265a0543fc3c4b 215542
+foomatic-20200219-Epson-AL-C1900_PS3-Postscript-Epson.ppd.gz c47b287bdc2e8f250e3cfd7ae3211d8e 215472
+foomatic-20200219-Epson-AL-C2000_PS3-Postscript-Epson.ppd.gz 1ce9b186c6f8edbdc12dff0d6936ae4c 214750
+foomatic-20200219-Epson-AL-C2600-Postscript-Epson.ppd.gz 5c19909f7e83822da4a45689dbe90bc5 215555
+foomatic-20200219-Epson-AL-C2800-Postscript-Epson.ppd.gz 4670590b5ffabfe5efca24b2379e408a 215333
+foomatic-20200219-Epson-AL-C3800-Postscript-Epson.ppd.gz 4031535f182d8ef960b9ccd4bf283750 215333
+foomatic-20200219-Epson-AL-C4000_PS3-Postscript-Epson.ppd.gz e4562788a84e8b843aedf7f78c0a6c4e 215575
+foomatic-20200219-Epson-AL-C4100-Postscript-Epson.ppd.gz a984173f6915a149000108791f38e0c6 215389
+foomatic-20200219-Epson-AL-C4200-Postscript-Epson.ppd.gz 7da9ab4df8f09ef1934df3a82871ed4d 215545
+foomatic-20200219-Epson-AL-C8500-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Epson-AL-C8600_PS3-Postscript-Epson.ppd.gz 49d61b46f5ea39c3db055eb38515f3e7 215607
+foomatic-20200219-Epson-AL-C9100-Postscript-Epson.ppd.gz 271634ecc084fbb393fba3ab5e85c0b3 215808
+foomatic-20200219-Epson-AL-C9200-Postscript-Epson.ppd.gz a748e4bb2bc1404b80143e9faa46eb8f 215291
+foomatic-20200219-Epson-AL-CX21-Postscript-Epson.ppd.gz b421f88ac7c60c3ac1c25f3b26d027f8 214681
+foomatic-20200219-Epson-AL-M2000-Postscript-Epson.ppd.gz 70273ad1cbfb3e54c72ac9f27b5a09dd 188803
+foomatic-20200219-Epson-AL-M2300-eplaser.ppd.gz 861df1c88412816cad99b6412503e97a 1207015
+foomatic-20200219-Epson-AL-M2310-eplaser.ppd.gz 861df1c88412816cad99b6412503e97a 1207015
+foomatic-20200219-Epson-AL-M2400-Postscript-Epson.ppd.gz b78fbb9fc0d3c8e2168282294cf4606e 188815
+foomatic-20200219-Epson-AL-M4000-Postscript-Epson.ppd.gz fabda4cb2165fcbb4a83d4ca1c344944 227820
+foomatic-20200219-Epson-AL-M8000-Postscript-Epson.ppd.gz b259df3031282552a47576f187de16f8 227637
+foomatic-20200219-Epson-AL-MX20-Postscript-Epson.ppd.gz 318c1b398a2e83b35560a45eabd10c1f 188673
+foomatic-20200219-Epson-Dot_Matrix-epsonc.ppd.gz 0a4d9cad64852530b24f222cce311780 3555
+foomatic-20200219-Epson-EPL-5800-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Epson-EPL-5900_PS3-Postscript-Epson.ppd.gz 3153da57ac3d63c05462ebe0e2d2a9fb 315545
+foomatic-20200219-Epson-EPL-6100_PS3-Postscript-Epson.ppd.gz 7876ef3d4130a1d28aa9aecbb1e58ea3 315545
+foomatic-20200219-Epson-EPL-6200-Postscript-Epson.ppd.gz c95c0b73e35365e202aabc77ee533de1 214905
+foomatic-20200219-Epson-EPL-7100-laserjet.ppd.gz 21ef470512223260bbbb3af88f81e138 62901
+foomatic-20200219-Epson-EPL-N2120-ljet4.ppd.gz 671d685f1cde2a1b312e6c8de2bc70ac 25606
+foomatic-20200219-Epson-EPL-N2500_PS3-Postscript-Epson.ppd.gz e09baa36196ca7d86137f806bc787e01 316095
+foomatic-20200219-Epson-EPL-N2550-Postscript-Epson.ppd.gz a12042c87672a0264173514e74f62f15 227382
+foomatic-20200219-Epson-EPL-N2700-Postscript-Epson.ppd.gz cdfa63913df24227a752aa0fa567e886 316406
+foomatic-20200219-Epson-EPL-N3000-Postscript-Epson.ppd.gz 601c0f429e868f4dab4a9e5dc3560b22 316425
+foomatic-20200219-Epson-EPL-N7000-Postscript-Epson.ppd.gz 3ba454469efe7a90f02aedafaf3ab35b 316333
+foomatic-20200219-Epson-LP-1800-eplaser-jp.ppd.gz 91743307c1f49a7ff9fa1a4204fa7537 1207013
+foomatic-20200219-Epson-LP-1900-eplaser-jp.ppd.gz c795e5ca23aca100ff73b7403bd67530 1207013
+foomatic-20200219-Epson-LP-2200-eplaser-jp.ppd.gz 99198e55671ac3cd1db648a217416e8c 1207013
+foomatic-20200219-Epson-LP-2400-eplaser-jp.ppd.gz 1344b53898fb36d8f7054824e68082bc 1207013
+foomatic-20200219-Epson-LP-2500-eplaser-jp.ppd.gz af74e2d440fd81f0824a501388a8eed2 1207013
+foomatic-20200219-Epson-LP-3000C-eplaser-jp.ppd.gz 697e6ed53e30fa9583fa174203dd1e8c 97255899
+foomatic-20200219-Epson-LP-7500-eplaser-jp.ppd.gz fa513a43f3f8245aa4655f7e6e69c76d 1207013
+foomatic-20200219-Epson-LP-7700-eplaser-jp.ppd.gz 4b5f79a54ac74c84fdc4c2178d4c7d56 1207013
+foomatic-20200219-Epson-LP-7900-eplaser-jp.ppd.gz 3c587255767430d7145610345892f605 1207013
+foomatic-20200219-Epson-LP-8000C-eplaser-jp.ppd.gz 8d74521d9971e80b0cd9d40290083c64 97255879
+foomatic-20200219-Epson-LP_8000-lp8000.ppd.gz 9f012ead5c03b6392c591e6f0d7b142c 15425
+foomatic-20200219-Epson-LP-8100-eplaser-jp.ppd.gz 3a3bda045b8b211901c070f3e07e87f7 1207013
+foomatic-20200219-Epson-LP-8200C-eplaser-jp.ppd.gz 2015c6a425c6bb5769a78dcfb1d85810 97255899
+foomatic-20200219-Epson-LP-8300C-eplaser-jp.ppd.gz 523947dfc85e14b8699214338b8c3bce 97255899
+foomatic-20200219-Epson-LP-8300CPD-Postscript-Epson.ppd.gz 0ddad95dad95e5a42dfa609fbb189e54 214776
+foomatic-20200219-Epson-LP-8300F-eplaser-jp.ppd.gz 591deefd1393566c24a7e079e18c443a 1207015
+foomatic-20200219-Epson-LP-8400F-eplaser-jp.ppd.gz 5607bd91bf3143038001f8325c0ace8f 1207015
+foomatic-20200219-Epson-LP-8500C-eplaser-jp.ppd.gz f2773bbe2030a5226610e09e5900d5ed 97255899
+foomatic-20200219-Epson-LP-8500CPD-Postscript-Epson.ppd.gz 5a6dd1188950145f8b0689fd239b5f61 214755
+foomatic-20200219-Epson-LP-8600-eplaser-jp.ppd.gz 68db4d9a447d949ebed581417264f766 1207013
+foomatic-20200219-Epson-LP-8600F-eplaser-jp.ppd.gz 36bd092735b6a282da3ff2ddb5263f62 1207015
+foomatic-20200219-Epson-LP-8700-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-8800C-eplaser-jp.ppd.gz b9460ccea75a0329987bd791b4a71d7c 97255899
+foomatic-20200219-Epson-LP-8800CPS-Postscript-Epson.ppd.gz 891bc3839fddf11065a885f06c46fd69 215218
+foomatic-20200219-Epson-LP-8900-eplaser-jp.ppd.gz b639d3687f32ebb1b92b4983ee7460f5 1207013
+foomatic-20200219-Epson-LP-9000B-eplaser-jp.ppd.gz 77b789410548f0809cda72c909d42b06 1207015
+foomatic-20200219-Epson-LP-9000C-eplaser-jp.ppd.gz e226ff36bad1d37a403c0ec7ed9f1a9b 97255899
+foomatic-20200219-Epson-LP-9100-eplaser-jp.ppd.gz d9742d9a3d61382ccfc41cc2b21efc4e 1207013
+foomatic-20200219-Epson-LP-9100PS3-Postscript-Epson.ppd.gz eaf2d826ac08c48698cbb498892e6575 315932
+foomatic-20200219-Epson-LP-9200B-eplaser-jp.ppd.gz 0d709daf5d6413d8e5f98a1ce5c090ea 1207015
+foomatic-20200219-Epson-LP-9200C-Postscript-Epson.ppd.gz f557ced4e8930c21c04794e2bb4e391b 214959
+foomatic-20200219-Epson-LP-9300-eplaser-jp.ppd.gz d35ae22fd8f1f7d7086fe52a2f2548aa 1207013
+foomatic-20200219-Epson-LP-9400-eplaser-jp.ppd.gz 6da7d65a0391decedf44a92810cb2a9c 1207013
+foomatic-20200219-Epson-LP-9500C-eplaser-jp.ppd.gz 669c77062a6c50f54cf1ea88af0f9990 97255899
+foomatic-20200219-Epson-LP-9500CPS-Postscript-Epson.ppd.gz bbd1ed78fe999c558c10f80cffb74cad 215278
+foomatic-20200219-Epson-LP-9600-eplaser-jp.ppd.gz 793f0c7669b7f7d4996e5bb512a367a1 1207013
+foomatic-20200219-Epson-LP-9600S-eplaser-jp.ppd.gz fd56f68717f6a67fb23f761a9cf04548 1207015
+foomatic-20200219-Epson-LP-9600SPD-Postscript-Epson.ppd.gz 0c1eaabeec5c040e7ec543d433cc5cac 227874
+foomatic-20200219-Epson-LP-9800C-Postscript-Epson.ppd.gz 651946e81588331e1f5170848d47ba3d 215150
+foomatic-20200219-Epson-LP-M5000-eplaser-jp.ppd.gz f2773bbe2030a5226610e09e5900d5ed 97255899
+foomatic-20200219-Epson-LP-M5300-eplaser-jp.ppd.gz f2773bbe2030a5226610e09e5900d5ed 97255899
+foomatic-20200219-Epson-LP-M6000-eplaser-jp.ppd.gz f2773bbe2030a5226610e09e5900d5ed 97255899
+foomatic-20200219-Epson-LP-S210-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S3000-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S300-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S310-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S3200-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S3500-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S4000-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S4200-eplaser-jp.ppd.gz 85dfcd1633d1fb2ee65ab52ad7044e48 1207013
+foomatic-20200219-Epson-LP-S4500-eplaser-jp.ppd.gz bf66a15e9d1c7a19d7740858d02fecc4 1207015
+foomatic-20200219-Epson-LP-S6500-eplaser-jp.ppd.gz bb5875cf9bea631d7b173bb7ec0cc6fd 97255899
+foomatic-20200219-Epson-LP-S7500-eplaser-jp.ppd.gz f2773bbe2030a5226610e09e5900d5ed 97255899
+foomatic-20200219-Epson-LP-S8100-eplaser-jp.ppd.gz 4b8bb9ac13c11c56a822b0e28551a79c 97255887
+foomatic-20200219-Epson-LX-300plus-ibmpro.ppd.gz 78745659a39ee928e055f801868449a0 2582
+foomatic-20200219-Epson-MJ_520C-stcolor.ppd.gz e519eb7ff1d9d6903d201de5f779bf88 101719
+foomatic-20200219-Epson-Stylus_Color_460-stcX.upp.ppd.gz 9a5a1fe58f6647fffc5cf66660a9bbdc 97510
+foomatic-20200219-Epson-Stylus_Color_660-stc600X.upp.ppd.gz e8647a6b2878133bb81563999a5c75bb 102463
+foomatic-20200219-Epson-Stylus_Color_777-stcanyX.upp.ppd.gz c82eb0e7606d6af4b35b8544bc4a9cf8 105568
+foomatic-20200219-Epson-Stylus_Color_850-stc800X.upp.ppd.gz be7642ab625e195994a7f08ba36968f1 101804
+foomatic-20200219-Epson-Stylus_Color_II-stc2X.upp.ppd.gz 398118a179355d46ebd0b92487328705 97399
+foomatic-20200219-Epson-Stylus_Color-stcolor.ppd.gz e7db23def2a39ac606d8e79c95586b2a 101719
+foomatic-20200219-Fuji_Xerox-DocuPrint_CM305_df-Postscript.ppd.gz 88e32975ac4e10622c5e703a57334d96 214421
+foomatic-20200219-Generic-ESC_P_Dot_Matrix_Printer-lq850.ppd.gz 5fcfb6b2be65506c5cbd5a0b5d02b8d2 55329
+foomatic-20200219-Generic-IBM-Compatible_Dot_Matrix_Printer-ibmpro.ppd.gz 78745659a39ee928e055f801868449a0 2582
+foomatic-20200219-Generic-PCL_6_PCL_XL_Printer-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25686
+foomatic-20200219-Generic-PostScript_Printer-Postscript.ppd.gz 26bc089fb96ec1e92e5860ab47b6838a 314890
+foomatic-20200219-Gestetner-10512-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547298
+foomatic-20200219-Gestetner-2212-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547278
+foomatic-20200219-Gestetner-3502-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547297
+foomatic-20200219-Gestetner-3532_4235g-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547270
+foomatic-20200219-Gestetner-6002-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547270
+foomatic-20200219-Gestetner-9002-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547298
+foomatic-20200219-Gestetner-C7010-Postscript-Gestetner.ppd.gz 167fae29e9b36533eda5c246b9e64337 316389
+foomatic-20200219-Gestetner-C7116-Postscript-Gestetner.ppd.gz b911a45790d1c20e1cb86017abbf56b9 316171
+foomatic-20200219-Gestetner-C7425dn-Postscript-Gestetner.ppd.gz fae0b93b0553d4c0f8a57cbec63437b1 317645
+foomatic-20200219-Gestetner-C7435n-Postscript-Gestetner.ppd.gz 832dd16fac702bb4c405612f04545281 317895
+foomatic-20200219-Gestetner-C7521n-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13172
+foomatic-20200219-Gestetner-C7526dn-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13182
+foomatic-20200219-Gestetner-C7528n-Postscript-Gestetner.ppd.gz 9d1217e5e28150e1d39a35dabe2a61ea 318298
+foomatic-20200219-Gestetner-C7535n-Postscript-Gestetner.ppd.gz 770d620839c16e68ec7ca4b258e5c3ec 318229
+foomatic-20200219-Gestetner-C7640nD-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-C8140ND-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-CS555-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13214
+foomatic-20200219-Gestetner-DSc1020-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1030-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Gestetner-DSc1045-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Gestetner-DSc1060-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Gestetner-DSc1120-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13230
+foomatic-20200219-Gestetner-DSc1220ex-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1220-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1230ex-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1230-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1245ex-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1245-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1260ex-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc1260-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-DSc224-Postscript-Gestetner.ppd.gz 5c7c402d525c3e0565e84e749cb89df1 316625
+foomatic-20200219-Gestetner-DSc328-Postscript-Gestetner.ppd.gz cf663131ddf9583fbf07d084a8c79438 318005
+foomatic-20200219-Gestetner-DSc38-Postscript-Gestetner.ppd.gz 7d5c10219e1edd13691129158a144b1c 316715
+foomatic-20200219-Gestetner-DSc38u-Postscript-Gestetner.ppd.gz af8614a601e5f37796fa12c1796ee3ee 317949
+foomatic-20200219-Gestetner-DSc424-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13195
+foomatic-20200219-Gestetner-DSc428-pxlcolor-Gestetner.ppd.gz 236d5ea35a1a20ce5f0d50c63cf65bd1 4219569
+foomatic-20200219-Gestetner-DSm1525-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13177
+foomatic-20200219-Gestetner-DSm2525-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-DSm2540-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-DSm_2625-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-DSm_2640-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-DSm_2660-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-DSm415-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547204
+foomatic-20200219-Gestetner-DSm615-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547211
+foomatic-20200219-Gestetner-DSm618d-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547231
+foomatic-20200219-Gestetner-DSm618-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547211
+foomatic-20200219-Gestetner-DSm622-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547251
+foomatic-20200219-Gestetner-DSm651-pxlmono-Gestetner.ppd.gz 91b66baf1f8fcd474663381823e5427c 547288
+foomatic-20200219-Gestetner-DSm725-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13132
+foomatic-20200219-Gestetner-DSm735_735G-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-F9199_9199nf-Postscript-Gestetner.ppd.gz e7732bb5f7a17833c6e55560effb4ae0 226490
+foomatic-20200219-Gestetner-GS1227-Postscript-Gestetner.ppd.gz a4e2038d15e453370358376aa4fe1156 230735
+foomatic-20200219-Gestetner-GS3020-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-GS3030-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-GS3160-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Gestetner-GWD2004-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13070
+foomatic-20200219-Gestetner-GWD3006-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13070
+foomatic-20200219-Gestetner-GWD5100-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13070
+foomatic-20200219-Gestetner-MP1100_DSm7110-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13176
+foomatic-20200219-Gestetner-MP1600_DSm716-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13094
+foomatic-20200219-Gestetner-MP_161_DSm416-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13087
+foomatic-20200219-Gestetner-MP_171-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13087
+foomatic-20200219-Gestetner-MP2000_DSm721d-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13114
+foomatic-20200219-Gestetner-MP_2001-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13138
+foomatic-20200219-Gestetner-MP2352_DSm923-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13152
+foomatic-20200219-Gestetner-MP2500_DSm625-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13133
+foomatic-20200219-Gestetner-MP_2501-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13138
+foomatic-20200219-Gestetner-MP_2510_DSm725e-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13132
+foomatic-20200219-Gestetner-MP_2550-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-MP_2851-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-MP_301-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13111
+foomatic-20200219-Gestetner-MP_305plus-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13111
+foomatic-20200219-Gestetner-MP3500_DSm735e-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-MP_4000-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-MP_4001-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-MP_4002-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13177
+foomatic-20200219-Gestetner-MP_401SPF-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Gestetner-MP_402SPF-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Gestetner-MP5500_DSm755-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13176
+foomatic-20200219-Gestetner-MP_6001-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13200
+foomatic-20200219-Gestetner-MP_6002-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13225
+foomatic-20200219-Gestetner-MP_6503-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MPC1500_GS106-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13190
+foomatic-20200219-Gestetner-MP_C2050-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MP_C2051-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MPC2500_DSc525-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-MP_C2800-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MP_C3001-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MP_C3002-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Gestetner-MP_C300-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13209
+foomatic-20200219-Gestetner-MP_C300SR-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13229
+foomatic-20200219-Gestetner-MP_C305-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13234
+foomatic-20200219-Gestetner-MP_C306Z-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13234
+foomatic-20200219-Gestetner-MP_C307-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13234
+foomatic-20200219-Gestetner-MPC3500_DSc535-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-MP_C4000-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MP_C401-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13234
+foomatic-20200219-Gestetner-MP_C401SR-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13277
+foomatic-20200219-Gestetner-MP_C4501-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Gestetner-MP_C4502-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Gestetner-MP_C6000-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Gestetner-MP_C6501-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13272
+foomatic-20200219-Gestetner-MP_C6502-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13297
+foomatic-20200219-Gestetner-MP_C6503-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13320
+foomatic-20200219-Gestetner-MP_CW2200-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13175
+foomatic-20200219-Gestetner-MP_CW2201-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13183
+foomatic-20200219-Gestetner-MP_W6700-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13116
+foomatic-20200219-Gestetner-MP_W7100-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13116
+foomatic-20200219-Gestetner-P7026-Postscript-Gestetner.ppd.gz f51015db09cb7f5f3a75c38eba8194c8 227116
+foomatic-20200219-Gestetner-P7031n-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13107
+foomatic-20200219-Gestetner-P7032-Postscript-Gestetner.ppd.gz 17b0488e0a5767c3398e6b766fae1703 227287
+foomatic-20200219-Gestetner-P7126-Postscript-Gestetner.ppd.gz fddcea1e9f7c55a8741078e66fff8d6d 227141
+foomatic-20200219-Gestetner-P7132n-Postscript-Gestetner.ppd.gz 1395064bd58f41f879c15d4a2fd13156 228235
+foomatic-20200219-Gestetner-P7145-Postscript-Gestetner.ppd.gz 18da8153888ad5e05983cfe562bc284a 227242
+foomatic-20200219-Gestetner-P7245-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-P7325-Postscript-Gestetner.ppd.gz 6b9d6b5ebee48f4a2477676b0e2a14ba 228060
+foomatic-20200219-Gestetner-P7431cn-Postscript-Gestetner.ppd.gz bec05167fbdaacc763406fa28ca9e2bf 317356
+foomatic-20200219-Gestetner-P7527-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13100
+foomatic-20200219-Gestetner-P7535n-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13100
+foomatic-20200219-Gestetner-P7575-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13166
+foomatic-20200219-Gestetner-P7675-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13176
+foomatic-20200219-Gestetner-Pro_1106EX-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13176
+foomatic-20200219-Gestetner-Pro_1107EX-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13200
+foomatic-20200219-Gestetner-SP_4210N-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13107
+foomatic-20200219-Gestetner-SP_6330N-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13109
+foomatic-20200219-Gestetner-SP_8200DN-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13151
+foomatic-20200219-Gestetner-SP_C320DN-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13182
+foomatic-20200219-Gestetner-SP_C420DN-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13182
+foomatic-20200219-Gestetner-SP_C430DN-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13182
+foomatic-20200219-Gestetner-SP_W2470-PDF-Gestetner.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13070
+foomatic-20200219-IBM-3853_JetPrinter-jetp3852.ppd.gz a953e3b57bc165233516f718fa6edf1e 33354
+foomatic-20200219-IBM-4303_Network_Color_Printer-Postscript.ppd.gz e73bf139a89fbfb3c236bb8ba08f7c18 314674
+foomatic-20200219-Imagen-ImPress-imagen.ppd.gz fe6d23717e4015853ef2c24bdb15c792 12205
+foomatic-20200219-InfoPrint-Pro_1107EX-pxlmono-InfoPrint.ppd.gz 91b66baf1f8fcd474663381823e5427c 547298
+foomatic-20200219-Infotec-MP_201-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13087
+foomatic-20200219-Infotec-MP_501-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Infotec-Pro_8100S-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Infotec-Pro_8110-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Infotec-Pro_8300S-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13248
+foomatic-20200219-Infotec-Pro_8310-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Infotec-Pro_8310S-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Infotec-Pro_C5100S-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13297
+foomatic-20200219-Infotec-Pro_C7100-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13345
+foomatic-20200219-Infotec-Pro_C7100S-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13345
+foomatic-20200219-Infotec-SP_5300-PDF-Infotec.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Kodak-IS_70_CPII-Postscript.ppd.gz 556c5cf8e84c4a854cd9e3a2fe842ac4 213195
+foomatic-20200219-KONICA_MINOLTA-bizhub_1050eP-Postscript-KONICA_MINOLTA.ppd.gz 14c0ee15c6a3a5583e8900a190c400a6 231336
+foomatic-20200219-KONICA_MINOLTA-bizhub_500-Postscript-KONICA_MINOLTA.ppd.gz 467ec614e2232a5f5f40f4798414742c 228681
+foomatic-20200219-KONICA_MINOLTA-bizhub_C250P-Postscript-KONICA_MINOLTA.ppd.gz d91307cad1f772ff271587627d4e9a55 318913
+foomatic-20200219-KONICA_MINOLTA-bizhub_C252P-Postscript-KONICA_MINOLTA.ppd.gz 9054891462e576bfe6753e0bf0ed30ee 318913
+foomatic-20200219-KONICA_MINOLTA-bizhub_C351-Postscript-KONICA_MINOLTA.ppd.gz 26394b8ace08489481d1bbb228e77d1d 318930
+foomatic-20200219-KONICA_MINOLTA-bizhub_C352P-Postscript-KONICA_MINOLTA.ppd.gz 5f2abbdd919f8a1cb778b2f52fd202b3 318908
+foomatic-20200219-KONICA_MINOLTA-bizhub_C450P-Postscript-KONICA_MINOLTA.ppd.gz 6dca71c3db6e3d971062a49b686e9e86 318930
+foomatic-20200219-KONICA_MINOLTA-bizhub_C451-Postscript-KONICA_MINOLTA.ppd.gz 776c83eb7099bab90f06ebb53bb05274 318922
+foomatic-20200219-KONICA_MINOLTA-bizhub_C550-Postscript-KONICA_MINOLTA.ppd.gz bb5b861f954467e4ee4040d45930e348 318777
+foomatic-20200219-Kyocera-Ci-1100-Postscript-Kyocera.ppd.gz c2548765b6e6d04bf89268cc28d30787 318106
+foomatic-20200219-Kyocera-CS-1650-Postscript-Kyocera.ppd.gz f82f33fb48e473e5b809b8cced36ae60 228624
+foomatic-20200219-Kyocera-CS-2050-Postscript-Kyocera.ppd.gz c35afc152ba5c974e825fccbdd1fa7d8 228554
+foomatic-20200219-Kyocera-FS-1030D-Postscript-Kyocera.ppd.gz 06f0c79e77713332a278469b9dde57b2 228081
+foomatic-20200219-Kyocera-FS-1118MFP-Postscript-Kyocera.ppd.gz 718eed31a9d707ed4d1678e8bcf2a76f 227777
+foomatic-20200219-Kyocera-FS-1200-Postscript-Kyocera.ppd.gz 0edf489547116437d2a42d59e65f78cd 228055
+foomatic-20200219-Kyocera-FS-1700plus-Postscript-Kyocera.ppd.gz c22550c1168e9893b7ff9471910d5bf2 227843
+foomatic-20200219-Kyocera-FS-1700-Postscript-Kyocera.ppd.gz 7df7ef8119bd1a204657fa8b76792572 227845
+foomatic-20200219-Kyocera-FS-1714M-Postscript-Kyocera.ppd.gz 73f42811a27bd784f22003a3f3580d63 228081
+foomatic-20200219-Kyocera-FS-1800-Postscript-Kyocera.ppd.gz 374fb88f54dccd2ce0d797ea07d2ee54 229150
+foomatic-20200219-Kyocera-FS-1900-Postscript-Kyocera.ppd.gz 64ab398c0c04e2f9469a765f4708dda5 228152
+foomatic-20200219-Kyocera-FS-1920-Postscript-Kyocera.ppd.gz 7114dd4a0ac00795fe07c131946220cb 228165
+foomatic-20200219-Kyocera-FS-2000D-Postscript-Kyocera.ppd.gz d462aa1e0a218c2d889fe7ae278fc688 228298
+foomatic-20200219-Kyocera-FS-3700plus-Postscript-Kyocera.ppd.gz c3348f24c1818fdbd4d2ba11856b60b1 227843
+foomatic-20200219-Kyocera-FS-3700-Postscript-Kyocera.ppd.gz 7284e30589b140f270a004ef4fd27d2d 227845
+foomatic-20200219-Kyocera-FS-3750-Postscript-Kyocera.ppd.gz d700c0052ee22a919108fd145a468a12 228082
+foomatic-20200219-Kyocera-FS-3820N-Postscript-Kyocera.ppd.gz 8aae409527f97cb65fe82d0a45819d0e 228165
+foomatic-20200219-Kyocera-FS-3830N-Postscript-Kyocera.ppd.gz 37186169cc7379660053fc4bafcba94c 228165
+foomatic-20200219-Kyocera-FS-3900DN-Postscript-Kyocera.ppd.gz 8778c834750aee540df0ed5c0463b35e 228229
+foomatic-20200219-Kyocera-FS-4000DN-Postscript-Kyocera.ppd.gz 359240e880e4236ad8720987f09aacda 228230
+foomatic-20200219-Kyocera-FS-5800C-Postscript-Kyocera.ppd.gz d6d4af8d420f2eb7ec5b018f162fb391 318227
+foomatic-20200219-Kyocera-FS-5900C-Postscript-Kyocera.ppd.gz 69c805103df1baa83f9c66588e80ae10 318106
+foomatic-20200219-Kyocera-FS-600-Postscript-Kyocera.ppd.gz 5a3555e4ecf145ae2ab9815577d5009f 227517
+foomatic-20200219-Kyocera-FS-6020-Postscript-Kyocera.ppd.gz fdae008d478bdcd19348161c41584716 229087
+foomatic-20200219-Kyocera-FS-6026-Postscript-Kyocera.ppd.gz 257633d5e472d323ecc77441d99bac65 228089
+foomatic-20200219-Kyocera-FS-6300-Postscript-Kyocera.ppd.gz d8006ef6d8e958f0c000e07480617823 227919
+foomatic-20200219-Kyocera-FS-6500plus-Postscript-Kyocera.ppd.gz 9f1725fb67613aabf3b9dd4dc040c4ae 188529
+foomatic-20200219-Kyocera-FS-6700-Postscript-Kyocera.ppd.gz c6eaf3280ba5577173ec71cfa548ccdc 228846
+foomatic-20200219-Kyocera-FS-6750-Postscript-Kyocera.ppd.gz 196e46cd2aaf843713935d28412a8d18 229090
+foomatic-20200219-Kyocera-FS-680-Postscript-Kyocera.ppd.gz 643cf3b0c1cfda46e09d170e5ce59e23 227517
+foomatic-20200219-Kyocera-FS-6900-Postscript-Kyocera.ppd.gz 8534e8075210be1e5ed35d9b6749e101 228917
+foomatic-20200219-Kyocera-FS-6950DN-Postscript-Kyocera.ppd.gz 8021002d3320c193f532232c2a6516c0 228276
+foomatic-20200219-Kyocera-FS-7000-Postscript-Kyocera.ppd.gz d579df69a75ed6449696924dd6c83fec 229423
+foomatic-20200219-Kyocera-FS-7028M-Postscript-Kyocera.ppd.gz a6c82876a12e2002a290aa1d24e8d7b7 229493
+foomatic-20200219-Kyocera-FS-8000C-Postscript-Kyocera.ppd.gz 3e94be1b0770df41af1719f529249125 318499
+foomatic-20200219-Kyocera-FS-9000-Postscript-Kyocera.ppd.gz 48dd493e3fb2f5ca6a7ec16ebf1a59c9 229494
+foomatic-20200219-Kyocera-FS-9100DN-Postscript-Kyocera.ppd.gz 341a23928b3fc13a4f002e025b3a2605 229578
+foomatic-20200219-Kyocera-FS-920-Postscript-Kyocera.ppd.gz d729f6cf4118027e4bbb33e0f3cbbec4 227535
+foomatic-20200219-Kyocera-FS-C5015N-Postscript-Kyocera.ppd.gz 2526428c47b0b4ebd2f7f9c126de707c 317267
+foomatic-20200219-Kyocera-FS-C5016N-Postscript-Kyocera.ppd.gz 54f0bed3cfe6dd6f7ce421fa7c3a420c 316904
+foomatic-20200219-Kyocera-FS-C5020N-Postscript-Kyocera.ppd.gz a74578bcc8dd68abb812d07264f99787 317306
+foomatic-20200219-Kyocera-FS-C5025N-Postscript-Kyocera.ppd.gz 9e6623591e905822ba330b07dcf6dbab 317335
+foomatic-20200219-Kyocera-FS-C5030N-Postscript-Kyocera.ppd.gz c5e082f2338e00a71eb984c262b26775 317306
+foomatic-20200219-Kyocera-FS-C8008N-Postscript-Kyocera.ppd.gz de648cde99529d0d0a5a366d3655fcdb 317344
+foomatic-20200219-Kyocera-FS-C8026N-Postscript-Kyocera.ppd.gz 101a6f577d452a0da702ef4dcb728225 317710
+foomatic-20200219-Kyocera-FS-C8100DNplus_KPDL-Postscript-Kyocera.ppd.gz e12fab90db060675e3df8382b129cd41 318052
+foomatic-20200219-Kyocera-FS-C8100DN-Postscript-Kyocera.ppd.gz d013fa31a6f6f9ae3e576cb266fbb3cb 318041
+foomatic-20200219-Kyocera-KM-1510-Postscript-Kyocera.ppd.gz e3bfd79330e9a5f057f132cd5de50476 227890
+foomatic-20200219-Kyocera-KM-1530-Postscript-Kyocera.ppd.gz 6eac308b20bcf74cc43e3b113d61c034 227956
+foomatic-20200219-Kyocera-KM-1810-Postscript-Kyocera.ppd.gz 9d12f8b826b7a278e099449f532a1e76 227890
+foomatic-20200219-Kyocera-KM-1820-Postscript-Kyocera.ppd.gz 6e479bc2013fffb47b50e275d1260955 228028
+foomatic-20200219-Kyocera-KM-2030-Postscript-Kyocera.ppd.gz 5790a7e75b0e41bf62b311bfa5ff781a 228240
+foomatic-20200219-Kyocera-KM-3050-Postscript-Kyocera.ppd.gz 960924839d48c5c3937450d548f146eb 229287
+foomatic-20200219-Kyocera-KM-4230_5230-Postscript-Kyocera.ppd.gz 1eefa64d655f80c688f664eef4b9393c 227779
+foomatic-20200219-Kyocera-KM-4530-Postscript-Kyocera.ppd.gz 9c2ebcdb7a52aba8b0791ce39a00976f 230420
+foomatic-20200219-Kyocera-KM-5530-Postscript-Kyocera.ppd.gz 01f6b881efd94a36b19fd7573e6134be 230486
+foomatic-20200219-Kyocera-KM-6030-Postscript-Kyocera.ppd.gz 50f49ca69915b51d6353e2e6b1820885 229383
+foomatic-20200219-Kyocera-KM-6230-Postscript-Kyocera.ppd.gz 0595c92346c338f9f86d68f3aa406b2a 227823
+foomatic-20200219-Kyocera-KM-6330-Postscript-Kyocera.ppd.gz 9af33e307795dcb9b8bc2cd01f9cd842 230486
+foomatic-20200219-Kyocera-KM-C2520-Postscript-Kyocera.ppd.gz 5bb53c344a7bf2de18f4165a7a18c37e 318112
+foomatic-20200219-Kyocera-KM-C2630-Postscript-Kyocera.ppd.gz 993f4e0fa577c1150bb094128a7ca04b 317710
+foomatic-20200219-Kyocera-KM-C830-Postscript-Kyocera.ppd.gz 63557a6d18f2ffef9477586093979cc4 319338
+foomatic-20200219-Kyocera-KM-C850-Postscript-Kyocera.ppd.gz a8f9a8240943aa114043dc3317ed8d0a 317949
+foomatic-20200219-Lanier-MP_C501-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Lanier-P_501-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Lanier-SG3110DN-pxlcolor-Lanier.ppd.gz 500c2a242ebf24822951f11b2d0ac64c 1069999
+foomatic-20200219-Lanier-SG3110SFNw-pxlcolor-Lanier.ppd.gz 500c2a242ebf24822951f11b2d0ac64c 1069999
+foomatic-20200219-Lanier-SP_3400N-Postscript-Lanier.ppd.gz 6b291fe1b772273bd3e20f7f663d5a43 227295
+foomatic-20200219-Lanier-SP_3410DN-Postscript-Lanier.ppd.gz 61305103da93c7a02da1c9c2ab64ccd9 227396
+foomatic-20200219-Lanier-SP_3600DN-Postscript-Lanier.ppd.gz f9883f127e61ac429536dbe01c7a1951 228477
+foomatic-20200219-Lanier-SP_4310N-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13108
+foomatic-20200219-Lanier-SP_4510DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Lanier-SP_5200DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13108
+foomatic-20200219-Lanier-SP_5200S-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13108
+foomatic-20200219-Lanier-SP_5210SF-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Lanier-SP_5210SR-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13128
+foomatic-20200219-Lanier-SP_6430DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13158
+foomatic-20200219-Lanier-SP_8300DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13177
+foomatic-20200219-Lanier-SP_8400DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13224
+foomatic-20200219-Lanier-SP_C221N-Postscript-Lanier.ppd.gz 6cbad4388fd668d9576260147087c098 317078
+foomatic-20200219-Lanier-SP_C222DN-Postscript-Lanier.ppd.gz 98ef4148f24490833392aff83bf1b57a 317179
+foomatic-20200219-Lanier-SP_C222SF-Postscript-Lanier.ppd.gz 39c85117e29364ed7f7964efc28b996d 317431
+foomatic-20200219-Lanier-SP_C232SF-Postscript-Lanier.ppd.gz caeb839375748fa19a2b2f5110e66038 317430
+foomatic-20200219-Lanier-SP_C311N-Postscript-Lanier.ppd.gz e845e9aaa1c8516de740bed53ed81bc4 317078
+foomatic-20200219-Lanier-SP_C312DN-Postscript-Lanier.ppd.gz 00117c953d66e7d20a8806a4c5e72db7 317180
+foomatic-20200219-Lanier-SP_C340DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13208
+foomatic-20200219-Lanier-SP_C342DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13207
+foomatic-20200219-Lanier-SP_C352DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13207
+foomatic-20200219-Lanier-SP_C360DNw-Postscript-Lanier.ppd.gz 82c5bcea04b3dd3ea8ebbe386b2b3baf 319380
+foomatic-20200219-Lanier-SP_C360SFNw-Postscript-Lanier.ppd.gz c3e01595c1fc90e3dc31a3bd22045e39 320084
+foomatic-20200219-Lanier-SP_C435DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13207
+foomatic-20200219-Lanier-SP_C730DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13207
+foomatic-20200219-Lanier-SP_C830DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+foomatic-20200219-Lanier-SP_C840DN-PDF-Lanier.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+foomatic-20200219-Lexmark-1020_Business-pcl3.ppd.gz 60bec2a476b5a05dec2489d146c688e0 16830
+foomatic-20200219-Lexmark-4039_10plus-Postscript.ppd.gz 57b744f02de0ef89202742c606b56995 226266
+foomatic-20200219-Lexmark-C2132-Postscript-Lexmark.ppd.gz 12bcd0ae4f4c2c193b52c171311fda54 702110
+foomatic-20200219-Lexmark-C500n-Postscript.ppd.gz 8831d3a0e99ed9d815493a8f61023e8b 314890
+foomatic-20200219-Lexmark-C510b-Postscript.ppd.gz 1d440d0552ea639efacc33baca91389f 226266
+foomatic-20200219-Lexmark-C510-Postscript-Lexmark.ppd.gz 13ee6a757a50951da7701b7bc9725ede 215204
+foomatic-20200219-Lexmark-C520-Postscript-Lexmark.ppd.gz 9643daaa38a4cc2b278ae42cedb7530a 701728
+foomatic-20200219-Lexmark-C522-Postscript-Lexmark.ppd.gz 24ece6074e449ccf254fbfd079ec6640 701870
+foomatic-20200219-Lexmark-C524-Postscript-Lexmark.ppd.gz 806bf2e3485004526fef573e94ab8ec1 702056
+foomatic-20200219-Lexmark-C540-Postscript-Lexmark.ppd.gz 35545425d8af0ed866074e26c820b4c7 701860
+foomatic-20200219-Lexmark-C543-Postscript-Lexmark.ppd.gz 3fc10624f58e3382242cd49d39c225dd 701857
+foomatic-20200219-Lexmark-C544-Postscript-Lexmark.ppd.gz d38dabb4318a85ba467358b1b4ec9af9 702004
+foomatic-20200219-Lexmark-C546-Postscript-Lexmark.ppd.gz ba7ef2e3828c2a212ac3e6351ab757a7 702004
+foomatic-20200219-Lexmark-C720n-pxlcolor.ppd.gz c8ca478ff81032962259cf3139263b07 4219348
+foomatic-20200219-Lexmark-C734-Postscript-Lexmark.ppd.gz a27152761ac584bf9505ea1a11c1da6a 701970
+foomatic-20200219-Lexmark-C736-Postscript-Lexmark.ppd.gz a27152761ac584bf9505ea1a11c1da6a 701970
+foomatic-20200219-Lexmark-C750-Postscript-Lexmark.ppd.gz 4ee0a07949c55d4856927cd798ac979d 214950
+foomatic-20200219-Lexmark-C752-Postscript-Lexmark.ppd.gz 6983d7d8d31c3293dd008bb9c54677f4 215727
+foomatic-20200219-Lexmark-C780-Postscript-Lexmark.ppd.gz b8a635474ae63ea3327bf2ed4dedd3f6 702590
+foomatic-20200219-Lexmark-C782-Postscript-Lexmark.ppd.gz 861e5e2822020ec75fafb100b6f5b6ab 702967
+foomatic-20200219-Lexmark-C910-Postscript-Lexmark.ppd.gz 77c084462f3d808acb90421eb35213c2 214875
+foomatic-20200219-Lexmark-C912-Postscript-Lexmark.ppd.gz 9690bf76174e9cb3a996d95c38012c09 214875
+foomatic-20200219-Lexmark-C930-Postscript-Lexmark.ppd.gz aaabd2a449be48a322c82495b6ae71d7 318007
+foomatic-20200219-Lexmark-C935-Postscript-Lexmark.ppd.gz aaabd2a449be48a322c82495b6ae71d7 318007
+foomatic-20200219-Lexmark-E238-pxlmono.ppd.gz 31f86c4b6f008fd3ff7d22b7c2b69d82 547082
+foomatic-20200219-Lexmark-E260dn-Postscript-Lexmark.ppd.gz bbd704f5f9f98c31fee8386e4594b029 316071
+foomatic-20200219-Lexmark-E350d-Postscript-Lexmark.ppd.gz 772f4a43760208b31ea0cd4699f044d9 227142
+foomatic-20200219-Lexmark-E360dn-Postscript-Lexmark.ppd.gz 3fc6a33653b6a1e68f39cc4a88d131db 316143
+foomatic-20200219-Lexmark-EG460dn-Postscript-Lexmark.ppd.gz 9b89606caa11a9543cba84ccbad701a8 316143
+foomatic-20200219-Lexmark-Optra_Color_1200-Postscript.ppd.gz 8204390b36f8a8115193befac67ca31c 314890
+foomatic-20200219-Lexmark-T650-Postscript-Lexmark.ppd.gz bc92f637a4cdee57687ccdf16cd8c165 316611
+foomatic-20200219-Lexmark-T656-Postscript-Lexmark.ppd.gz 01b9509f2023c7c137f96af3415ed269 316535
+foomatic-20200219-Lexmark-W850-Postscript-Lexmark.ppd.gz 69a2dda542253cf3999b3098ae0fc4fd 316522
+foomatic-20200219-Lexmark-X203n-Postscript-Lexmark.ppd.gz 7e699038daf6acfcc0433eac418390f2 315358
+foomatic-20200219-Lexmark-X264dn-Postscript-Lexmark.ppd.gz 9749c2d391022a52328556f4aae784b6 315917
+foomatic-20200219-Lexmark-X363dn-Postscript-Lexmark.ppd.gz a6b6002e0d0e98f0cacdc51a1a2b61b5 315917
+foomatic-20200219-Lexmark-X463de-Postscript-Lexmark.ppd.gz d7ba5f37aacc909c5985398b61c4e13e 315915
+foomatic-20200219-Lexmark-X543-Postscript-Lexmark.ppd.gz 805d04879efb976f9910c0740a0364d8 701857
+foomatic-20200219-Lexmark-X544-Postscript-Lexmark.ppd.gz 2cb0914f2b7cebf61f8e658a23ea6fad 702004
+foomatic-20200219-Lexmark-X546-Postscript-Lexmark.ppd.gz 0f300db1fb93e0f6c0363b9a2648a089 702004
+foomatic-20200219-Lexmark-X734de-Postscript-Lexmark.ppd.gz cd5b14c7dc42ad7f0c08852ec62e6bb5 701900
+foomatic-20200219-Lexmark-X860de-Postscript-Lexmark.ppd.gz 545bbfeb6a3628a2d835aaa4f0564506 316600
+foomatic-20200219-Lexmark-X940e-Postscript-Lexmark.ppd.gz 28dae34d83dcfa0cc382ec761d7f8c36 318007
+foomatic-20200219-Minolta-magicolor_3100-Postscript.ppd.gz b8cf3d0d02dd189a2d96c5e7fe69e2f8 314674
+foomatic-20200219-Minolta-PagePro_8L-ljet2p.ppd.gz bd390582ef0a7b857357df08f6da7120 37090
+foomatic-20200219-NEC-P2X-necp2xX.upp.ppd.gz 9a38f13e0c9cd622441aeb83f0bb2702 55773
+foomatic-20200219-NEC-PICTY180-picty180.ppd.gz 4bac86664cd5240dae29298e1dc7947d 48071
+foomatic-20200219-NEC-Pinwriter_P20-necp6.ppd.gz 53e6bfc9886476f787b905504b51200f 55329
+foomatic-20200219-NEC-PinWriter_P6-necp6.ppd.gz 53e6bfc9886476f787b905504b51200f 55329
+foomatic-20200219-NEC-SuperScript_650C-pcl3.ppd.gz 60bec2a476b5a05dec2489d146c688e0 16830
+foomatic-20200219-NRG-SP_3500N-Postscript-NRG.ppd.gz 8df787dae4d2d96e2725a1f2ba3c87eb 227411
+foomatic-20200219-NRG-SP_3510DN-Postscript-NRG.ppd.gz a20b4e297e8153f491e3ca98049d1b74 227512
+foomatic-20200219-NRG-SP_C242DN-Postscript-NRG.ppd.gz 662951dd07316046353de093039641ed 317971
+foomatic-20200219-Oce-3145PS-Postscript2-Oce.ppd.gz 68e0ef655f12cee183ede7c54e3aa18b 226352
+foomatic-20200219-Oce-8445PS-Postscript2-Oce.ppd.gz 6d22ec649d0e1ee2a25c23f64036368f 226324
+foomatic-20200219-Oce-9050-oce9050.ppd.gz 4a4eb5b3bd73b975a62db814405f6db2 11728
+foomatic-20200219-Oce-9230-Postscript2-Oce.ppd.gz d14d62738f9aeefb360ccdbc6eca59e8 226323
+foomatic-20200219-Oce-9260-Postscript2-Oce.ppd.gz f8cb6df3fd92b75ba89994ac541a3eb3 226323
+foomatic-20200219-Oce-PPC3073PS-Postscript-Oce.ppd.gz 61dea7402470468cff46221c300e9a33 226403
+foomatic-20200219-Oce-PPC3074PS-Postscript-Oce.ppd.gz 61dea7402470468cff46221c300e9a33 226403
+foomatic-20200219-Oce-PPC5115PS-Postscript-Oce.ppd.gz 4a12001007598c15b51c21fee8a43e13 226521
+foomatic-20200219-Oce-VarioPrint_2045PS-Postscript-Oce.ppd.gz a21c62c1e5b2edd9414580f1702928ba 226389
+foomatic-20200219-Oce-VarioPrint_2090PS-Postscript-Oce.ppd.gz 7ad5239f67bbf9a104d3039e3467085b 315336
+foomatic-20200219-Oce-VarioPrint_2100PS-Postscript-Oce.ppd.gz e3a9a7ae591cee3149bddc169f319703 315838
+foomatic-20200219-Oce-VarioPrint_2105PS-Postscript-Oce.ppd.gz 1a25a8ac69b02f63810b44e106a0a59b 226412
+foomatic-20200219-Oki-14i-Postscript-Oki.ppd.gz 2c3e971a0c7125269d161b1befcb5b29 227324
+foomatic-20200219-Oki-B4350-Postscript-Oki.ppd.gz 78684972f0212395993dc1849f216787 228243
+foomatic-20200219-Oki-C5400-Postscript-Oki.ppd.gz 6ef0e3ff0c484cbfeb4098063fc328a8 319423
+foomatic-20200219-Oki-C5700-Postscript-Oki.ppd.gz e5a774f7173a91848cfc7988ddc90bcd 219257
+foomatic-20200219-Oki-C5900-Postscript-Oki.ppd.gz 341403bd99e81744c32d458c87df319a 219256
+foomatic-20200219-Oki-C6100-Postscript-Oki.ppd.gz 6e4e671144cab6037e5812c509176207 219260
+foomatic-20200219-Oki-C8800-Postscript-Oki.ppd.gz e1efc58e68858e5438dcbbfbc21968e2 219182
+foomatic-20200219-Oki-C9600-Postscript-Oki.ppd.gz efbc3ffb950f1f7424ea65c4485ee15b 219168
+foomatic-20200219-Oki-Microline_182-oki182.ppd.gz 797544af5574b76491fba7b5234d04b0 10306
+foomatic-20200219-Oki-ML_320-okiibm.ppd.gz 13a6f50c719398dade53d64e1bb5c979 6235
+foomatic-20200219-Oki-Okijet_2500-cdj550.ppd.gz c7cf6a394cdcc75ad119d7f1e1d1ad96 55443
+foomatic-20200219-Oki-OL410e-ljet4.ppd.gz e5cbf1b01ed8e6518ae5dc72abdf207a 10792
+foomatic-20200219-Olivetti-JP350S-laserjet.ppd.gz 21ef470512223260bbbb3af88f81e138 62901
+foomatic-20200219-Olivetti-JP450-djet500.ppd.gz bd4661f9ff56b214454f3b767429ddaf 11153
+foomatic-20200219-Panasonic-KX-P1150-eps9high.ppd.gz 29b0c1b33a24cf4bb73263bde705c9d3 7745
+foomatic-20200219-Ricoh-4081-r4081.ppd.gz 4097fbf6adc6bc9af81056fde458fb2d 212172
+foomatic-20200219-Ricoh-ColorLaser_AP828-Postscript-Ricoh.ppd.gz 4213f30dc17f052e3a0ea45360f50290 316413
+foomatic-20200219-Ricoh-DDP_70-Postscript-Ricoh.ppd.gz 912a05c0bd1d9fa56ebcb45cee044376 227953
+foomatic-20200219-Ricoh-DDP_92-Postscript-Ricoh.ppd.gz 90d5e99e1e70d5ec296e4013c78a9fc5 227952
+foomatic-20200219-Ricoh-EMP_156-Postscript-Ricoh.ppd.gz 0adeb352dcf7bcfdbf77d6999d6d5807 227178
+foomatic-20200219-Ricoh-GX_3050N-pxlcolor-Ricoh.ppd.gz 500c2a242ebf24822951f11b2d0ac64c 1069974
+foomatic-20200219-Ricoh-GX_3050SFN-pxlcolor-Ricoh.ppd.gz 500c2a242ebf24822951f11b2d0ac64c 1069974
+foomatic-20200219-Ricoh-GX_E3350N-pxlcolor-Ricoh.ppd.gz 500c2a242ebf24822951f11b2d0ac64c 1069974
+foomatic-20200219-Ricoh-GX_E5550N-pxlcolor-Ricoh.ppd.gz 500c2a242ebf24822951f11b2d0ac64c 1069999
+foomatic-20200219-Ricoh-SP_2300L-pcl5-Ricoh.ppd.gz 82bef2987c720ba9a931ca2c627f49e6 571835
+foomatic-20200219-Ricoh-SP_330DN-Postscript-Ricoh.ppd.gz 99c45e56dd1ebdef49ecafb434147713 227764
+foomatic-20200219-Ricoh-SP_330SFN-Postscript-Ricoh.ppd.gz 1cb77d7884e4107d1611eaa40cb9b0f0 227764
+foomatic-20200219-Ricoh-SP_3700-Postscript-Ricoh.ppd.gz 011d34095137c630ea6eb6fd16649edf 227764
+foomatic-20200219-Ricoh-SP_3700SF-Postscript-Ricoh.ppd.gz 24c6b6c6387cfcad7fc76a33cb52f89a 227764
+foomatic-20200219-Ricoh-SP_400DN-Postscript-Ricoh.ppd.gz 2ef32603d067730d039076b5a436e70c 228736
+foomatic-20200219-Ricoh-SP_450DN-PDF-Ricoh.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+foomatic-20200219-Ricoh-SP_C250DN-Postscript-Ricoh.ppd.gz d08533556b31c9f23617ee33ede11bfc 317971
+foomatic-20200219-Ricoh-SP_C250SF-Postscript-Ricoh.ppd.gz 8c50dcb92f1240fad2e9f99db0024d23 317971
+foomatic-20200219-Ricoh-SP_C261DNw-Postscript-Ricoh.ppd.gz 35228113858a1db5c0dd0450e97a2f63 317971
+foomatic-20200219-Samsung-C140x-Postscript-Samsung.ppd.gz 7deca5b20e5b0021bef125ad0d8afc2e 315231
+foomatic-20200219-Samsung-C2620-Postscript-Samsung.ppd.gz 8e5c7162fdd05dd88f7f09831f946832 315555
+foomatic-20200219-Samsung-C2670-Postscript-Samsung.ppd.gz a3697279cf698f6aa73739cee731d102 315730
+foomatic-20200219-Samsung-C460-Postscript-Samsung.ppd.gz 6c1067959d52160357cd3e21e9ae3f6f 315170
+foomatic-20200219-Samsung-C4820-Postscript-Samsung.ppd.gz 2088794b1c5c80951c1854ebe29c0ac1 315656
+foomatic-20200219-Samsung-C48x-Postscript-Samsung.ppd.gz 2017b9be9a126162074f901f0f657590 315201
+foomatic-20200219-Samsung-CLP-350-Postscript-Samsung.ppd.gz b65027dc9ead6980ebc6504abc9e10fa 314687
+foomatic-20200219-Samsung-CLP-410-Postscript-Samsung.ppd.gz 5f4c6b9ecf1034ff3af2202c56031ab8 315200
+foomatic-20200219-Samsung-CLP-610-pxlcolor.ppd.gz c8ca478ff81032962259cf3139263b07 4219348
+foomatic-20200219-Samsung-CLP-660-Postscript-Samsung.ppd.gz 8ad720441e572d9941e862b7db617a24 315138
+foomatic-20200219-Samsung-CLP-670-Postscript-Samsung.ppd.gz 417fbb2faa358bdc0aa952c472f68457 315320
+foomatic-20200219-Samsung-CLP-680-Postscript-Samsung.ppd.gz f51b727362810dfee1e757d2b658824b 315449
+foomatic-20200219-Samsung-CLP-770-Postscript-Samsung.ppd.gz 162c795f4c660ca51470f34098520f29 315351
+foomatic-20200219-Samsung-CLP-775-Postscript-Samsung.ppd.gz 0a640299100a5b6066300d2bd78c4437 315366
+foomatic-20200219-Samsung-CLX-3300-Postscript-Samsung.ppd.gz 751975f7cb084bedd77004dbe1e6a666 315170
+foomatic-20200219-Samsung-CLX-6200-Postscript-Samsung.ppd.gz b9cb616e3bc0e3d2f92811ba0647edba 315051
+foomatic-20200219-Samsung-CLX-6220-Postscript-Samsung.ppd.gz c7867e80e97d5c6d53b55bb9a59ecb65 315271
+foomatic-20200219-Samsung-CLX-6250-Postscript-Samsung.ppd.gz 13a29a967b479c41dece3de5cd3123b6 315285
+foomatic-20200219-Samsung-CLX-8380-Postscript-Samsung.ppd.gz 4052d1d27cdca1086144c9fb4bcbd2ad 315376
+foomatic-20200219-Samsung-CLX-8385-Postscript-Samsung.ppd.gz 3a62213d5dba5c8ce18b2247e1ad9302 315409
+foomatic-20200219-Samsung-CLX-8640_8650-Postscript-Samsung.ppd.gz 802436a8e165eb27b866f4a700b3d976 315725
+foomatic-20200219-Samsung-CLX-9250_9350-Postscript-Samsung.ppd.gz 61268744f6d39fa68544551df35070a3 315237
+foomatic-20200219-Samsung-CLX-9252_9352-Postscript-Samsung.ppd.gz b8259968992870c4be1ad81ab85b07ec 315829
+foomatic-20200219-Samsung-CLX-92x1_93x1-Postscript-Samsung.ppd.gz 66661f9eda43fa81c092587d92199a0d 315661
+foomatic-20200219-Samsung-K3250-Postscript-Samsung.ppd.gz ace29ce3ac553672952d1a3fae29f38b 226895
+foomatic-20200219-Samsung-K401-Postscript-Samsung.ppd.gz aa7f7462c7087085aa2d01238789058b 226826
+foomatic-20200219-Samsung-K703-Postscript-Samsung.ppd.gz f2b113919f410ffed7f294adea1fded1 226926
+foomatic-20200219-Samsung-K7600-Postscript-Samsung.ppd.gz a72829328682a4bf1090b96b5618fac7 226926
+foomatic-20200219-Samsung-M337x_387x_407x-Postscript-Samsung.ppd.gz 743b25e821f036267f1bd4477384afc5 226496
+foomatic-20200219-Samsung-M403x-Postscript-Samsung.ppd.gz 0eca68229825cb434c71680abefc2271 226473
+foomatic-20200219-Samsung-M408x-Postscript-Samsung.ppd.gz 105d0479bd590a863f16c128835b1caf 226533
+foomatic-20200219-Samsung-M4370_5370-Postscript-Samsung.ppd.gz 031a2e6969c5354446160236f5b7180f 226831
+foomatic-20200219-Samsung-M453x-Postscript-Samsung.ppd.gz 62522f194dd1201cda292c24919b1655 226724
+foomatic-20200219-Samsung-M458x-Postscript-Samsung.ppd.gz aa810e61c2f478047f55d07c7c0ed69b 226649
+foomatic-20200219-Samsung-M5270-Postscript-Samsung.ppd.gz 4bac40b2a509605ee4a68717f247a641 226831
+foomatic-20200219-Samsung-ML-1650-ljet4.ppd.gz fb086a0b27f0349c5b92f80a04ddc644 25725
+foomatic-20200219-Samsung-ML-2150-Postscript-Samsung.ppd.gz 801ad212d76e2a3909c0d0f73aba9558 226099
+foomatic-20200219-Samsung-ML-2550-Postscript-Samsung.ppd.gz 9ab1c4f22055e8fea63730fe7c2e00da 226099
+foomatic-20200219-Samsung-ML-2570-Postscript-Samsung.ppd.gz 47d24f788a7d73cfff6b769680b40647 225891
+foomatic-20200219-Samsung-ML-2850-Postscript-Samsung.ppd.gz f98517411a5d112fe8c56ab665789d74 226129
+foomatic-20200219-Samsung-ML-2855-Postscript-Samsung.ppd.gz a9ddf23c7fd0e1f0a34845f9ab7243f0 226316
+foomatic-20200219-Samsung-ML-3470-Postscript-Samsung.ppd.gz cd66ad79915d51b2263e49cf0fecd23d 226186
+foomatic-20200219-Samsung-ML-371x-Postscript-Samsung.ppd.gz ac0ce9a129f148ae395ece3ec18ec693 226422
+foomatic-20200219-Samsung-ML-4050-Postscript-Samsung.ppd.gz 9323b34924824b4ac75eb3948c53a761 226110
+foomatic-20200219-Samsung-ML-4055-Postscript-Samsung.ppd.gz 87f64bb4ccb5fb952f08d9eeb87a4b47 226110
+foomatic-20200219-Samsung-ML-451x_501x-Postscript-Samsung.ppd.gz 37ac14346b9882ca3702c232f825366f 226423
+foomatic-20200219-Samsung-ML-4550-Postscript-Samsung.ppd.gz 47d174b9c692d00685e47176cf8848d1 225991
+foomatic-20200219-Samsung-ML-4555-Postscript-Samsung.ppd.gz 9c21973b07254376f91ae681dc415def 225991
+foomatic-20200219-Samsung-ML-551x_651x-Postscript-Samsung.ppd.gz 8b68a032c9e250c5600e8965011c6c58 226432
+foomatic-20200219-Samsung-ML-8850_8950-Postscript-Samsung.ppd.gz 22944de840a83ee5f39608853c0ae48b 226397
+foomatic-20200219-Samsung-ML-8x00-Postscript-Samsung.ppd.gz fe6a056755f2df306e7dbc2f18c4bc21 225840
+foomatic-20200219-Samsung-SCX-483x_5x3x-Postscript-Samsung.ppd.gz bde358dbdb08ade50dd2126e44b4f6e4 226459
+foomatic-20200219-Samsung-SCX-4x28-Postscript-Samsung.ppd.gz d20ab29692b8270aba6e5f542c3041c8 226150
+foomatic-20200219-Samsung-SCX-5635-Postscript-Samsung.ppd.gz 89d49798140c7efe6f54d3c857e493c5 226361
+foomatic-20200219-Samsung-SCX-5835_5935-Postscript-Samsung.ppd.gz 362b927ce26d97793a67b3d84790e578 226437
+foomatic-20200219-Samsung-SCX-6545-Postscript-Samsung.ppd.gz 7c73fab36a88d18888a8f440ad202174 226608
+foomatic-20200219-Samsung-SCX-6545X-Postscript-Samsung.ppd.gz d115ad9e84a7002faac460880ca0ab9e 226696
+foomatic-20200219-Samsung-SCX-681x-Postscript-Samsung.ppd.gz 94de75db1d65556e9edfd7620accf63b 226479
+foomatic-20200219-Samsung-SCX-6x20-Postscript-Samsung.ppd.gz ecba2f6eb9f478af5dcdb3831814883a 226075
+foomatic-20200219-Samsung-SCX-6x22-Postscript-Samsung.ppd.gz db66840970021fd5ce0c1f2dd1c83386 225991
+foomatic-20200219-Samsung-SCX-6x45-Postscript-Samsung.ppd.gz 5187f9c6750a5e274bda697e7c8c9f85 226434
+foomatic-20200219-Samsung-SCX-6x55-Postscript-Samsung.ppd.gz 51c0ee47b5e8d8551518f18a5ea34d27 226608
+foomatic-20200219-Samsung-SCX-8030_8040-Postscript-Samsung.ppd.gz e2787abcca77286aa1cd25ae0441207b 226436
+foomatic-20200219-Samsung-SCX-8123_8128-Postscript-Samsung.ppd.gz c9e92709c790f5c09b1d01078f04cd18 226640
+foomatic-20200219-Samsung-SCX-8230_8240-Postscript-Samsung.ppd.gz 4181ba4bd143fe7c4adc66cec534749a 226809
+foomatic-20200219-Sharp-AJ-1800-pcl3.ppd.gz b68a2cdeded698d61d8a7c6ded88ae23 232712
+foomatic-20200219-Sharp-AR-155FG_PS-Postscript-Sharp.ppd.gz 304dd9ba5160cf0a6c92335e7a85e820 227889
+foomatic-20200219-Sharp-AR-160M_PS-Postscript-Sharp.ppd.gz b0b9b0ffb7d7de271a9c75dc1f289252 227790
+foomatic-20200219-Sharp-AR-163FG_PS-Postscript-Sharp.ppd.gz f0c37093c7dc82d85524a6e8d62d9575 227977
+foomatic-20200219-Sharp-AR-163G_PS-Postscript-Sharp.ppd.gz 32660d8be31da14f494101ae20a7c000 227980
+foomatic-20200219-Sharp-AR-168D-Postscript-Sharp.ppd.gz e2c04bed3b3509b6c9abbf5a41899756 227893
+foomatic-20200219-Sharp-AR-168S-Postscript-Sharp.ppd.gz 777ff5652277bc4d207b13f69663e4bb 227794
+foomatic-20200219-Sharp-AR-200M_PS-Postscript-Sharp.ppd.gz 8482d50bd34034e1ee40817084aedb24 227790
+foomatic-20200219-Sharp-AR-205FG_PS-Postscript-Sharp.ppd.gz c0f6cb32f26dc7d678f4f921e7968b56 228076
+foomatic-20200219-Sharp-AR-205G_PS-Postscript-Sharp.ppd.gz 51a3c3526153e8e3ff0b178e11e9b7d3 228079
+foomatic-20200219-Sharp-AR-266FP_PS-Postscript-Sharp.ppd.gz 6e91d2001351700183e7123ff07e3083 229242
+foomatic-20200219-Sharp-AR-311FP_PS-Postscript-Sharp.ppd.gz 9fe7360d7b35edffd9fc50f077b90182 229741
+foomatic-20200219-Sharp-AR-5220-Postscript-Sharp.ppd.gz da514461a37d55d71caca124b949a79a 227794
+foomatic-20200219-Sharp-AR-555M_PS-Postscript-Sharp.ppd.gz f03b0e21f4023d6b06c95f2dede9dbd6 229366
+foomatic-20200219-Sharp-AR-705M_PS-Postscript-Sharp.ppd.gz 891f3a3f99cbd5e619956e7d8d18e77f 229099
+foomatic-20200219-Sharp-AR-B07-Postscript-Sharp.ppd.gz 656e16c0b45d72d08ab7390103990436 227655
+foomatic-20200219-Sharp-AR-BC260-Postscript-Sharp.ppd.gz 991e020ccdecc36ccc67abe8e4f2f1e0 321304
+foomatic-20200219-Sharp-AR-C170FP_PS-Postscript-Sharp.ppd.gz 0395fa5ef4c1fff69b04682068914671 321300
+foomatic-20200219-Sharp-AR-C260P-Postscript-Sharp.ppd.gz 22e856ec5f1fbfd32e1d1a7dee7c9fa9 321304
+foomatic-20200219-Sharp-AR-M161_PS-Postscript-Sharp.ppd.gz f735a42514712c885602275fa3e775e9 227984
+foomatic-20200219-Sharp-AR-M165_PS-Postscript-Sharp.ppd.gz c631be4d3a5b8314709205dc3fb4fc48 228083
+foomatic-20200219-Sharp-AR-M205_PS-Postscript-Sharp.ppd.gz dcd532965c2a8ff4eaeaa5c4441b9404 227893
+foomatic-20200219-Sharp-AR-M206_PS-Postscript-Sharp.ppd.gz 1c9d3121d160ea99d48e9f24be5603af 228083
+foomatic-20200219-Sharp-AR-M236_PS-Postscript-Sharp.ppd.gz 4cd12b66fe7545125dc0e9f841b3716a 229246
+foomatic-20200219-Sharp-AR-M351N-Postscript-Sharp.ppd.gz 21358e78e4b3b09fc4c52faa21eb9a7a 229745
+foomatic-20200219-Sharp-AR-M550N-Postscript-Sharp.ppd.gz 777589e7e1e8f1339551114f9e1eba0d 229370
+foomatic-20200219-Sharp-AR-M700N-Postscript-Sharp.ppd.gz 01bbc01c4e5ec2e0e81eaf9b9c62686f 229103
+foomatic-20200219-Sharp-AR-N182FG-Postscript-Sharp.ppd.gz 468b37cf989a07a844c9919cd808e93c 228176
+foomatic-20200219-Sharp-AR-N182G-Postscript-Sharp.ppd.gz fcc7fc279bb5aceae8231962c5a11d82 228179
+foomatic-20200219-Sharp-MX-2314NR-Postscript-Sharp.ppd.gz e54f4474ef4da410bf630b565984c1d5 322297
+foomatic-20200219-Sharp-MX-2614NR-Postscript-Sharp.ppd.gz 4b38ab23f8bbace51b9fb913168a8d08 322223
+foomatic-20200219-Sharp-MX-M1100-Postscript-Sharp.ppd.gz 5fb6c3bde9577229d02dda95a8542b4a 230660
+foomatic-20200219-Sharp-MX-M182D-Postscript-Sharp.ppd.gz b3ab5d154fbea65b3db1914e75f32a3d 228183
+foomatic-20200219-Sharp-MX-M182-Postscript-Sharp.ppd.gz e4621cea8cc84cc7d5fc8d604e191847 228084
+foomatic-20200219-Sharp-MX-M202D-Postscript-Sharp.ppd.gz 076479c3bbabc946202327222406c991 228183
+foomatic-20200219-Sharp-MX-M260FP-Postscript-Sharp.ppd.gz a5ad2baf2fe131a60fa18937d6b9de7b 229176
+foomatic-20200219-Sharp-MX-M260-Postscript-Sharp.ppd.gz ca67dd3601d9d9d5c50d793d4b43dd26 229180
+foomatic-20200219-Sharp-MX-M264NR-Postscript-Sharp.ppd.gz d33d8218924e36ca70d1ba2cf73e351e 229960
+foomatic-20200219-Sharp-MX-M860-Postscript-Sharp.ppd.gz 97fd4298363a59c47ef1cf1443a99c38 230587
+foomatic-20200219-Star-NX-1001-eps9mid.ppd.gz d42d0fe84e18912316db82fbefd5268c 7745
+foomatic-20200219-Star-StarJet_48-sj48.ppd.gz 476eb23c4e68a207a7d2347afe8a229b 51810
+foomatic-20200219-Tektronix-4693d-t4693dX.ppd.gz 230e388823735da68f9b2df16fc41b31 1871123
+foomatic-20200219-Tektronix-4695-tek4696.ppd.gz a6b0c25352428eb01ec8a60fc1967b2b 23835
+foomatic-20200219-Tektronix-4696-tek4696.ppd.gz a6b0c25352428eb01ec8a60fc1967b2b 23835
+foomatic-20200219-Tektronix-Phaser_350-Postscript.ppd.gz f5ee07a80b8be451391cb2dc741d31e5 213429
+foomatic-20200219-Toshiba-e-Studio_205-Postscript-Toshiba.ppd.gz ddf1f70c4793583f0ce4a8b676f7acdc 138141
+foomatic-20200219-Toshiba-e-Studio_282-Postscript-Toshiba.ppd.gz 6e59bbe5aa0da8522377d08b48e79975 139543
+foomatic-20200219-Toshiba-e-Studio_3510c-Postscript-Toshiba.ppd.gz 235c7184f6d37f3e603a5ef7d024039c 228398
+foomatic-20200219-Toshiba-e-Studio_451c-Postscript-Toshiba.ppd.gz e86e895a3a2abdcd664c9c074337c21d 231080
+foomatic-20200219-Toshiba-e-Studio_452-Postscript-Toshiba.ppd.gz 1eafa03661f9002e438285466161985f 139471
+foomatic-20200219-Toshiba-e-Studio_850-Postscript-Toshiba.ppd.gz 09aee060d229452527c994745ad50bef 139205
+foomatic-20200219-Toshiba-GL-1010-Postscript-Toshiba.ppd.gz c00edba94ed42e18c72f48f02dbd2b7c 136878
+foomatic-20200219-Toshiba-GL-1020-Postscript-Toshiba.ppd.gz 098753ceb23f14c686bf1fbc4a4bdfa7 136918
+foomatic-20200219-Xerox-DocuPrint_XJ8C-lxm5700m.ppd.gz eccf445e08d5914ee2fd53002cfab044 210869
+foomatic-20200219-Xerox-Phaser_3160N-pxlcolor.ppd.gz c8ca478ff81032962259cf3139263b07 4219348
+fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c3375.ppd.gz 6ff264e582973a3d75b57a9b49d5996c 315963
+hp-20171121-hplip-3.17.10-hp-color_laserjet-ps.ppd.gz 34bc66287c4cbc3de3cdb218021f6ce4 214077
+hp-20171121-hplip-3.17.10-hp-deskjet_f4210_series.ppd.gz a8a0bfd451fe546c1510b4884bba75af 18238
+hp-20171121-hplip-3.17.10-hp-laserjet_4-ps.ppd.gz 8976fee99238096f756b9b446eb0ad30 226447
+hp-20171121-hplip-3.17.10-hp-laserjet_4si-ps.ppd.gz 7b7164d96d2a6429a48cd0ba6e802c76 226500
+hp-20171121-hplip-3.17.10-hp-laserjet_4v-ps.ppd.gz 2eab5a3b48bdf83521e6612ab3f3a228 227099
+hp-20171121-hplip-3.17.10-hp-laserjet_6p-ps.ppd.gz 393fa28d69999e2efba9d43b56e7f3fe 226972
+hp-20171121-hplip-3.17.10-hp-laserjet_p1505n-pcl3.ppd.gz 5693d7cd934636dd157e8768a32e96fb 32207
+hp-20171121-hplip-3.17.10-hp-laserjet_p2055_series-ps.ppd.gz 0bd0dda341802bd67789e7d54d821557 226669
+hp-20171121-hplip-3.17.10-hp-laserjet_p4010_series-ps.ppd.gz 958575783ab2e2ec28bc0caf33c274fd 228128
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_42in_photo-ps.ppd.gz d91116a41ed94097d408c3d04c0e2f59 215814
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_60in_photo-ps.ppd.gz 5f16599ff63ee8af5b5d8c293b74ea79 215814
+hp-20190111-hplip-3.18.12-hp-designjet_z6810ps_42in-ps.ppd.gz 20f9d8fd6b00e9e6b71e24d006e45ac7 317506
+hp-20190111-hplip-3.18.12-hp-PCL3-Class1B.ppd.gz 39ef1e071debc0465ea026425d7152ba 18190
+hp-20190918-hplip-3.19.6-hp-Ampere.ppd.gz f2ef1b2131fc0572b7a10ed14ab9178d 18191
+hp-20190918-hplip-3.19.6-hp-CLE17.ppd.gz 58c8ca7d9b4122611e3551f80ebe1341 18224
+hp-20190918-hplip-3.19.6-hp-cm8060_mfp_with_edgeline-ps.ppd.gz 0159c5e590b5acb168ea98975b319682 318295
+hp-20190918-hplip-3.19.6-hp-color_designjet_xl_3600-ps.ppd.gz 801a51d07b7c23c55fe43dbda93fd4df 317235
+hp-20190918-hplip-3.19.6-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz 3064ecf8b6607882232b3ff23b78b98d 316676
+hp-20190918-hplip-3.19.6-hp-Copperhead12.ppd.gz a9ac7c212e43a07df2afd6af2d78923f 18237
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH15.ppd.gz ef629017f8482a75b7ca808a38f386d3 18225
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH17.ppd.gz ef629017f8482a75b7ca808a38f386d3 18225
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH.ppd.gz 678e96704e5dfb7e9a361faeee832c03 18225
+hp-20190918-hplip-3.19.6-hp-Copperhead.ppd.gz a9ac7c212e43a07df2afd6af2d78923f 18237
+hp-20190918-hplip-3.19.6-hp-CopperheadXLP.ppd.gz 421650f2ed28f1966c50b24b5fd30e38 18225
+hp-20190918-hplip-3.19.6-hp-Corbett.ppd.gz f2ef1b2131fc0572b7a10ed14ab9178d 18191
+hp-20190918-hplip-3.19.6-hp-designjet_t2600dr-ps.ppd.gz 3e39d3630c21e6fbf277f7f8b4465da5 317147
+hp-20190918-hplip-3.19.6-hp-DJ55xx.ppd.gz 49c36973ecf8c5b9382e1d05fb31e5b5 18141
+hp-20190918-hplip-3.19.6-hp-DJ9xxVIP.ppd.gz 056171eab957d464e6da585388f2eec0 18140
+hp-20190918-hplip-3.19.6-hp-Gemstone.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-Kapan.ppd.gz dfee67dc212959138d0672be29bfbd05 18200
+hp-20190918-hplip-3.19.6-hp-laserjet_200_color_m251-ps.ppd.gz 6492f0ee552cc9772c0abe9531c0c933 316713
+hp-20190918-hplip-3.19.6-hp-laserjet_m1522_mfp-ps.ppd.gz 267cdeac567cddd074d39b6a6cddf958 226874
+hp-20190918-hplip-3.19.6-hp-laserjet_m2727_mfp_series-ps.ppd.gz db3b3e64413c100d968b537ae8b27cef 227213
+hp-20190918-hplip-3.19.6-hp-LJ-Class1.ppd.gz e46585b6a8771037631218de9e1d1661 44994
+hp-20190918-hplip-3.19.6-hp-LJ-Class2.ppd.gz bd8ebd3fb5973ca3c4cf4f07f2d6235f 904021
+hp-20190918-hplip-3.19.6-hp-LJ-Class3.ppd.gz 3d9654d50b1e2b4ef182885451c7d713 165161
+hp-20190918-hplip-3.19.6-hp-LJ-Class6.ppd.gz 5693d7cd934636dd157e8768a32e96fb 32207
+hp-20190918-hplip-3.19.6-hp-Mimas15.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-Mimas17.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-Mimas.ppd.gz 0518d62d4497ae16f27046b796431a26 18237
+hp-20190918-hplip-3.19.6-hp-MimasTDR.ppd.gz 1651551c1a3a0fd57c987f516fb52ee9 12054
+hp-20190918-hplip-3.19.6-hp-OJ7000.ppd.gz f700db107ce46b344e1e036368c74235 18237
+hp-20190918-hplip-3.19.6-hp-OJProKx50.ppd.gz a8a0bfd451fe546c1510b4884bba75af 18238
+hp-20190918-hplip-3.19.6-hp-postscript-inkjet.ppd.gz 1b9f46ed0a9738fa2b4c7e1ebb82a74e 316611
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet.ppd.gz f61cb19fa8c4146a4f26f19d980fea95 316875
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet-pro.ppd.gz 6eee69a20643f0d2188ef2ac5b8723a9 316899
+hp-20190918-hplip-3.19.6-hp-PSP100.ppd.gz 0db48178558665d86ab3245220b9afc4 18241
+hp-20190918-hplip-3.19.6-hp-PSP470.ppd.gz 159afaf3e88e84166742400c87d41b6b 37283
+hp-20190918-hplip-3.19.6-hp-Pyramid15.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-PyramidPlus.ppd.gz 1651551c1a3a0fd57c987f516fb52ee9 12054
+hp-20190918-hplip-3.19.6-hp-Pyramid.ppd.gz 9785e610a6ae577b529e1e3e0e4ace37 12098
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh15.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh17.ppd.gz 58c8ca7d9b4122611e3551f80ebe1341 18223
+hp-20190918-hplip-3.19.6-hp-Python10.ppd.gz 4a0e241b0f8219f323be07133de6c56f 18238
+hp-20190918-hplip-3.19.6-hp-Python11.ppd.gz f700db107ce46b344e1e036368c74235 18238
+hp-20190918-hplip-3.19.6-hp-Python.ppd.gz f700db107ce46b344e1e036368c74235 18238
+hp-20190918-hplip-3.19.6-hp-Saipan15B.ppd.gz 01919e1a8cc7e5732ced0976128964ab 18191
+hp-20190918-hplip-3.19.6-hp-Saipan.ppd.gz 01919e1a8cc7e5732ced0976128964ab 18191
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProAsize.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProBsize.ppd.gz 8e770df1d37ded0c37bad08ee7a710b9 18225
+hp-20190918-hplip-3.19.6-hp-Stabler.ppd.gz 0518d62d4497ae16f27046b796431a26 18237
+hp-20190918-hplip-3.19.6-hp-StingrayOJ.ppd.gz 03fd7d0679955d604ca845ccddf3bdb4 18141
+hp-20190918-hplip-3.19.6-hp-ViperMinusVIP.ppd.gz aaa7d48665d43147f9c369761310c26a 19165
+hp-20190918-hplip-3.19.6-hp-ViperPlusVIP.ppd.gz 0518d62d4497ae16f27046b796431a26 18237
+hplip-20200303-hplip-3.19.12-hp-color_designjet_xl_3600-ps.ppd.gz ce8d9a612710cea9cce23af031c63fdd 317100
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2550_series-ps.ppd.gz 88665c5b5117765328ac4fee5dca5248 316554
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605-ps.ppd.gz c302b73ae8fc5bdf2c3aa8905e7b4ccd 316848
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700-ps.ppd.gz 1f6fb3962a7f52737062b3e12e45992b 316612
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2800-ps.ppd.gz 4df81a1a945325e0b6f38b94c85d6c6a 316490
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1015-ps.ppd.gz 1c3ceeb9e9e2654107f342aa7c8a06fb 316565
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_e85055-ps.ppd.gz 153bff7ebc51b385269d2a3116c949c6 317672
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_flowmfp_m776-ps.ppd.gz 13690f0164adbac067273370bcf714d3 318045
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_m856-ps.ppd.gz c04d9278c66c2382c32de2f4756eb4f0 317976
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_mfp_m776-ps.ppd.gz 1a393baded20675f4f5514bc0d28925a 318273
+hplip-20200303-hplip-3.19.12-hp-designjet_4000ps.ppd.gz 6e1b367dc9493cda3c5dc3937d374a62 215603
+hplip-20200303-hplip-3.19.12-hp-designjet_4500mfp.ppd.gz ff6dd524948915beb9811ce6fd5fbb46 215610
+hplip-20200303-hplip-3.19.12-hp-designjet_d5800-ps.ppd.gz 4bd2d9ad76191f149e631fce3ee18160 316875
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_24in-ps.ppd.gz bc40a80bf19b72fa113d1cffa0b83c28 215609
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_44in-ps.ppd.gz 2aa80369959869a00e2b5a91c1e24ebc 215609
+hplip-20200303-hplip-3.19.12-hp-designjet_t1200_postscript-ps.ppd.gz 564f29270e3bf9411969061a607c0c5d 215620
+hplip-20200303-hplip-3.19.12-hp-designjet_t1300_postscript-ps.ppd.gz 7a6077fa279bce726e80810166c87b12 215743
+hplip-20200303-hplip-3.19.12-hp-designjet_t1500-postscript.ppd.gz d25db500f7ebf733132a491dd55fe68d 216016
+hplip-20200303-hplip-3.19.12-hp-designjet_t1530-postscript.ppd.gz 14eb4603cd000a7b9811e494a1eac885 216054
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600dr-ps.ppd.gz 08a5c2ea7ec119c46b25adacd9f9ea3a 317012
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600_printer-ps.ppd.gz 377488c80a238cef41f53769cb4281d4 317012
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700dr_postscript-ps.ppd.gz 3c29d45a43069380bb71feb43b40ce30 317103
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700_postscript-ps.ppd.gz 4cd62360e7c7330b9949e404c0d6e660 317092
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708dr_postscript-ps.ppd.gz eb1b7670ffedd700a9ded94f8bda4357 317415
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708_postscript-ps.ppd.gz 7c5426a283e9ceff77cfe855ffdf893a 317404
+hplip-20200303-hplip-3.19.12-hp-designjet_t2300_postscript-ps.ppd.gz a4e314aa6a1439b2a579a28a892a6a6d 215743
+hplip-20200303-hplip-3.19.12-hp-designjet_t2500-postscript.ppd.gz 1a4c782aa5a3b090afcd5528c6152c40 215952
+hplip-20200303-hplip-3.19.12-hp-designjet_t2600dr-ps.ppd.gz 4fd077e95d7ade3ec79216c3c32a8ee0 317012
+hplip-20200303-hplip-3.19.12-hp-designjet_t3500-ps.ppd.gz 8356ae8927c1f9f6a216cd5a408dbb6e 316997
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps_monochrome-ps.ppd.gz a6f29bf0a5b19262364811a69f75733d 189152
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps-ps.ppd.gz d5f0de2762b6b21705c35c80aa6ea76c 216024
+hplip-20200303-hplip-3.19.12-hp-designjet_t7200-ps.ppd.gz 7b12785f84ea108ee048907974497a86 317147
+hplip-20200303-hplip-3.19.12-hp-designjet_t770_postscript-ps.ppd.gz 4117fde8d247aa3830066ed02e1dffbb 215465
+hplip-20200303-hplip-3.19.12-hp-designjet_t770ps_24in-ps.ppd.gz 8a573b075185141ec95c1b4b8d6ba9d3 215465
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_24in-ps.ppd.gz 37837ce9b774b95afb0f04fe50a07b99 215588
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_44in-ps.ppd.gz 6759ec5a4d3970b1c06dea0bbe22f08f 215588
+hplip-20200303-hplip-3.19.12-hp-designjet_t920-postscript.ppd.gz 349816bba7eaa57381a06caad6da7ab7 215857
+hplip-20200303-hplip-3.19.12-hp-designjet_t930-postscript.ppd.gz 43b8b079998134c0166034d2aebd16fc 215857
+hplip-20200303-hplip-3.19.12-hp-designjet_z5200_postscript-ps.ppd.gz 1226f07b1d73140de4d5aacdd6e35509 318370
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_42in_photo-ps.ppd.gz d4dd5eff08e3feb78767bbbfb621de00 215826
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_60in_photo-ps.ppd.gz 61a64da3ed7c8f98c580ea5c6feb6a0d 215826
+hplip-20200303-hplip-3.19.12-hp-designjet_z6600-postscript.ppd.gz 06ce89bc95a5cc6713fcdc81dcbc2743 317109
+hplip-20200303-hplip-3.19.12-hp-designjet_z6610ps_60in-ps.ppd.gz 0fed61299f735dd975b6bfdc0a82e33c 317358
+hplip-20200303-hplip-3.19.12-hp-designjet_z6800_photo-postscript.ppd.gz 0cb3cc4e16f04bc17d05b5195a11d365 317109
+hplip-20200303-hplip-3.19.12-hp-designjet_z6810ps_60in-ps.ppd.gz 3adecc51291acdfa97cc950d23adad1d 317506
+hplip-20200303-hplip-3.19.12-hp-deskjet_3420.ppd.gz f9a15b99e6b2779d83b2012c68c52074 2105370
+hplip-20200303-hplip-3.19.12-hp-deskjet_3700_series.ppd.gz c3ec7dcdb0c7be64173663824b5489d1 18227
+hplip-20200303-hplip-3.19.12-hp-deskjet_950c.ppd.gz 454204fdd51f9911425afddcfc2dba18 162578
+hplip-20200303-hplip-3.19.12-hp-deskjet_d1600_series.ppd.gz c98ab70588b9661509e80cd16df6543c 4095964
+hplip-20200303-hplip-3.19.12-hp-deskjet_d2600_series.ppd.gz 48e0036418de34aa387ea8d6647aa856 4095964
+hplip-20200303-hplip-3.19.12-hp-deskjet_d4100_series.ppd.gz 20e023513963f39c41f49e9cd0fcde0a 3962228
+hplip-20200303-hplip-3.19.12-hp-deskjet_f300_series.ppd.gz f9a15b99e6b2779d83b2012c68c52074 2105370
+hplip-20200303-hplip-3.19.12-hp-DJGenericVIP.ppd.gz 53c39ae28d7602a589eebca68f4db1e0 18240
+hplip-20200303-hplip-3.19.12-hp-laserjet_100_color_mfp_m175-ps.ppd.gz 73f23dd7a966046537fddcbb60d8487a 316630
+hplip-20200303-hplip-3.19.12-hp-officejet_4300_series.ppd.gz f9a15b99e6b2779d83b2012c68c52074 2105370
+hplip-20200303-hplip-3.19.12-hp-pagewide_p55250-ps.ppd.gz dcbd792cc066d3d9de28f962cdabad9d 316354
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_3900ps_mfp-ps.ppd.gz b6e55ef866a0368dece1e111abfb3d4e 316581
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps-ps.ppd.gz 0c17289e5bd3e4545a8627ea1a6fbcfd 317174
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps-ps.ppd.gz 26ed966ec40f79087aad5d542a9ec641 316723
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_blueprinter-ps.ppd.gz 6f7c016271d25ff7bf9d4ce420724b07 317042
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps-ps.ppd.gz 0197ae25de87f5e24739bc8e3c572b2e 317174
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp_blueprinter-ps.ppd.gz 5fd3e4632621e9cef480e5178168af3d 317042
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp-ps.ppd.gz 79b5bd2925cd51746107919f75778230 317174
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps-ps.ppd.gz 79b5bd2925cd51746107919f75778230 317174
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps_blueprinter-ps.ppd.gz 3b5363a92ac2fa9722796136de6f0d81 317042
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps-ps.ppd.gz 6cd85208a2a3299212ac6aa57f773f49 317174
+hplip-20200303-hplip-3.19.12-hp-photosmart_a530_series.ppd.gz f846df49b4b5fea20ed6deb23e16172b 193299
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-226i.ppd.gz 8a436ea98fbe7a0c124263b709f24a54 225933
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c226.ppd.gz 88f13050343210a4a118cc4e8a857ed8 314627
+kyocera-20180809-Kyocera_TASKalfa_3051ci.ppd.gz 287024fb9c4d71c952b58eadceb753f5 318898
+kyocera-20190328-Kyocera_CS_2551ci.ppd.gz c94efd7ec3e897d62ca8e57b42642eee 214545
+kyocera-20190328-Kyocera_CS_2552ci.ppd.gz 5d8f8fa5f818e501eda42ecae7b6cfdd 214545
+kyocera-20190328-Kyocera_CS_3010i.ppd.gz 3b9e3d8d4c77793dced659e2330a4d2e 188431
+kyocera-20190328-Kyocera_CS_3011i.ppd.gz 12b6849b48c97717e0a6c3e97576e6c2 188431
+kyocera-20190328-Kyocera_CS_306ci.ppd.gz 44fc8e251aff8085fd2185c26eab6673 214545
+kyocera-20190328-Kyocera_CS_307ci.ppd.gz af0ade6a516e74d1dc69d496bac60150 214545
+kyocera-20190328-Kyocera_CS_3212i.ppd.gz 3f1fc4ae29f8e886125d4112029626b5 188431
+kyocera-20190328-Kyocera_CS_4002i.ppd.gz 8ae3e4ae6de6746f8b653c147f54da64 188431
+kyocera-20190328-Kyocera_CS_7002i.ppd.gz 8ae3e4ae6de6746f8b653c147f54da64 188431
+kyocera-20190328-Kyocera_CS_7052ci.ppd.gz 1d89bfb500ceda6b259ac9da033fb9ec 214545
+kyocera-20190328-Kyocera_CS_9002i.ppd.gz 6dd1ac471dedb6fd75d44b8e585b68f4 188431
+kyocera-20190328-Kyocera_ECOSYS_M2030dn.ppd.gz 54e031cb92bb7e1b2e873c1c8706c055 188431
+kyocera-20190328-Kyocera_ECOSYS_M2035dn.ppd.gz 2bbc11b5bc9f8b169465b554fdfe3314 188431
+kyocera-20190328-Kyocera_ECOSYS_M2040dn.ppd.gz eb37feddf1d0717f66dec2a7e8b7a4d7 188431
+kyocera-20190328-Kyocera_ECOSYS_M2235dn.ppd.gz 0525026e91ce5e248bd6541825ff9c9f 188431
+kyocera-20190328-Kyocera_ECOSYS_M3040dn.ppd.gz 24834b14180e2855cbc7596e36425030 188431
+kyocera-20190328-Kyocera_ECOSYS_M3145dn.ppd.gz 24834b14180e2855cbc7596e36425030 188431
+kyocera-20190328-Kyocera_ECOSYS_M4028idn.ppd.gz f88995f71c8763457b54b298ac2e4b95 188431
+kyocera-20190328-Kyocera_ECOSYS_M4125idn.ppd.gz 859ad409d30daf371a85e4d91c428d00 188431
+kyocera-20190328-Kyocera_ECOSYS_M5021cdn.ppd.gz 473024906cc2055dc74285f841110cfc 214545
+kyocera-20190328-Kyocera_ECOSYS_M5521cdn.ppd.gz cdd41f09351c12377a7dec3eda586094 214545
+kyocera-20190328-Kyocera_ECOSYS_M6026cdn.ppd.gz 45f289d5ce76b0c19606972e47384c43 214545
+kyocera-20190328-Kyocera_ECOSYS_M6230cidn.ppd.gz 7c2ea902085aa17a257b668c2ac4470c 214545
+kyocera-20190328-Kyocera_ECOSYS_M8024cidn.ppd.gz 4756a76345461ca53540dbc712faa317 214545
+kyocera-20190328-Kyocera_ECOSYS_M8124cidn.ppd.gz 4756a76345461ca53540dbc712faa317 214545
+kyocera-20190328-Kyocera_ECOSYS_P2035d.ppd.gz 01115639b8d58c1822217303a672f2bc 188431
+kyocera-20190328-Kyocera_ECOSYS_P3045dn.ppd.gz 01115639b8d58c1822217303a672f2bc 188431
+kyocera-20190328-Kyocera_ECOSYS_P4035dn.ppd.gz cd80c73c157468721a016f3b6ad7a92f 188431
+kyocera-20190328-Kyocera_ECOSYS_P6026cdn.ppd.gz c290914848e7287f0783b7d61f59ecce 214545
+kyocera-20190328-Kyocera_ECOSYS_P8060cdn.ppd.gz d46c1a01156a9135786aa6f6ec125600 214545
+kyocera-20190328-Kyocera_FS-5040DN.ppd.gz 60ee2ca12382a0275ffd40793990fc84 188431
+kyocera-20190328-Kyocera_TASKalfa_4020i.ppd.gz cc30575ab523ccea04b6429efa38236d 188431
+kyocera-20190328-Kyocera_TASKalfa_406ci.ppd.gz d25205185fa00d5e6633dcf13f53fcf4 214545
+kyocera-20190328-Kyocera_TASKalfa_4500i.ppd.gz cd115cf273d1b9fd966a874293ae479e 188431
+kyocera-20200211-Kyocera_TASKalfa_7003i.ppd.gz cd115cf273d1b9fd966a874293ae479e 188431
+kyocera-20200416-Kyocera_CS_205c.ppd.gz 38d1968e62cf77b88a34dbce6fcd4b8b 214545
+kyocera-20200416-Kyocera_CS_250ci.ppd.gz bbe5851d4cab014bd9216611c59dc6db 214545
+kyocera-20200416-Kyocera_CS_2550ci.ppd.gz c1ed8474e2ee0a43773e7483ca6a4659 214545
+kyocera-20200416-Kyocera_CS_2553ci.ppd.gz 3122d76c69795e0558b27c7bf425c4c9 214545
+kyocera-20200416-Kyocera_CS_2554ci.ppd.gz 2dce886dd165992503613fe01aa34f39 214736
+kyocera-20200416-Kyocera_CS_255.ppd.gz c580f76c8c6d318d7b19cda6dee9d777 188431
+kyocera-20200416-Kyocera_CS_300i.ppd.gz 1f2468929e80e931170c1c3dd83e8835 188431
+kyocera-20200416-Kyocera_CS_3050ci.ppd.gz 86c19f6faa8cd6cde7c490a199356044 214545
+kyocera-20200416-Kyocera_CS_308ci.ppd.gz 0d35cf1e13bfc34f90b4b83b606bee12 214545
+kyocera-20200416-Kyocera_CS_3500i.ppd.gz 28d07e97b78e0fdd6b0e261baf309ab1 188431
+kyocera-20200416-Kyocera_CS_4003i.ppd.gz 28d07e97b78e0fdd6b0e261baf309ab1 188431
+kyocera-20200416-Kyocera_CS_6500i.ppd.gz 6c68f84561aecaa4abbf212c25cbe977 188431
+kyocera-20200416-Kyocera_CS_6550ci.ppd.gz 372cbf0aa410ab10703dfc5276e41ad8 214545
+kyocera-20200416-Kyocera_CS_7003i.ppd.gz 96bdca2fedf1758f0cdfe7fa7c93aacf 188431
+kyocera-20200416-Kyocera_CS_7353ci.ppd.gz d620f5f7440d76cbc0811cbba9f3236f 214545
+kyocera-20200416-Kyocera_CS_9003i.ppd.gz 3660c9c8b740255ec6d71a51f415adff 188431
+kyocera-20200416-Kyocera_ECOSYS_M3860idnf.ppd.gz ff5fc8960cfe23c9d8b57dbe13e69f0c 188431
+kyocera-20200416-Kyocera_ECOSYS_M3860idn.ppd.gz ff5fc8960cfe23c9d8b57dbe13e69f0c 188431
+kyocera-20200416-Kyocera_ECOSYS_P3260dn.ppd.gz 2d5ba5950f7032676b88a7f19cea029a 188431
+kyocera-20200416-Kyocera_ECOSYS_P4135dn.ppd.gz 88d3ea22303f9e7496fa99ae800ec73c 188431
+kyocera-20200416-Kyocera_ECOSYS_P5018cdn.ppd.gz 454fc25f628ebb30a244a471dd658e79 214545
+kyocera-20200416-Kyocera_FS-1028MFP.ppd.gz d70cce71e3447ffc0af5223e934db5ce 188431
+kyocera-20200416-Kyocera_FS-1030MFP.ppd.gz ab9b9f6ab3035526e63fba3f1bc78504 188431
+kyocera-20200416-Kyocera_FS-1035MFP.ppd.gz ab9b9f6ab3035526e63fba3f1bc78504 188431
+kyocera-20200416-Kyocera_FS-1120D.ppd.gz f3ce9f50879a8f908cc1f81f12e3d484 188431
+kyocera-20200416-Kyocera_FS-2020D.ppd.gz e935984b361f26bd54a4607d74d7cc62 188431
+kyocera-20200416-Kyocera_FS-2100D.ppd.gz fd43604894d3187674ade84c870df234 188431
+kyocera-20200416-Kyocera_FS-3540MFP.ppd.gz 89b509aadcdadbf2fc80b5bd99382922 188431
+kyocera-20200416-Kyocera_FS-3920DN.ppd.gz 13807c28bc1c5a06b641faece2382a43 188431
+kyocera-20200416-Kyocera_FS-4100DN.ppd.gz 13807c28bc1c5a06b641faece2382a43 188431
+kyocera-20200416-Kyocera_FS-6970DN.ppd.gz 303c2d576f63c7fdf2d311e410f213aa 188431
+kyocera-20200416-Kyocera_FS-9130DN.ppd.gz 903a742d0c930be9cb4d4fe4ba630d69 188431
+kyocera-20200416-Kyocera_FS-C2026MFP.ppd.gz f0488524c1314aa735ee11bb8963e23a 214545
+kyocera-20200416-Kyocera_FS-C2026MFP+.ppd.gz f39ee8dae92becc2a69f958f3ae79d9b 214545
+kyocera-20200416-Kyocera_FS-C5250DN.ppd.gz c456fd89f2b069eaec5139f802760e01 214545
+kyocera-20200416-Kyocera_FS-C8600DN.ppd.gz fd36e2db2ff37a52c2d3cd42c85de3a6 214545
+kyocera-20200416-Kyocera_TASKalfa_3060ci.ppd.gz 911e38fd26c464807baba3cc1ab22688 214545
+kyocera-20200716-Kyocera_ECOSYS_M2540dwJ.ppd.gz eeed5fa51ad6f53b06ef0c79d39012c8 188427
+kyocera-20200716-Kyocera_ECOSYS_M3645idnJ.ppd.gz 7c2f97b49f3fd23ef09f7079b2922494 188309
+kyocera-20200716-Kyocera_ECOSYS_M4226idn.ppd.gz 08ff06d155f32f5ad031942fb1892381 188431
+kyocera-20200716-Kyocera_ECOSYS_M6635cidnJ.ppd.gz 805bcfdd1d180b067f345ef3e0f8d1a2 214541
+kyocera-20200716-Kyocera_ECOSYS_M8224cidn.ppd.gz 4a282d21657eb69037a743919f4ddc6f 214545
+kyocera-20200716-Kyocera_ECOSYS_P3060dnJ.ppd.gz 2c844d93eba9bc22faf014c43c16d87e 188427
+kyocera-20200716-Kyocera_ECOSYS_P3145dnJ.ppd.gz 5929b25c9fc645baddb73ab661d6802d 188427
+kyocera-20200716-Kyocera_ECOSYS_P3145dn.ppd.gz e087b11bd57884768328738c5a45f2a8 188431
+kyocera-20200716-Kyocera_ECOSYS_P4040dnJ.ppd.gz 71d9fddb8bc112208636c6b96685c7d5 188427
+kyocera-20200716-Kyocera_ECOSYS_P4060dnJ.ppd.gz 71d9fddb8bc112208636c6b96685c7d5 188427
+kyocera-20200716-Kyocera_ECOSYS_P4140dnJ.ppd.gz 02b584b6322678feadf7e9dc8707cba0 188427
+kyocera-20200716-Kyocera_ECOSYS_P8060cdnJ.ppd.gz e7bd3ee4f87616b289f96ec3c3b2b4d5 214541
+kyocera-20200716-Kyocera_TASKalfa_2460ciJ.ppd.gz 77460e5f6f51b45203b276569b28e124 214541
+kyocera-20200716-Kyocera_TASKalfa_2510iJ.ppd.gz 1a2f05a8ad9d73eed4aaa90450efbfe4 188427
+kyocera-20200716-Kyocera_TASKalfa_2553ciJ.ppd.gz b7de5ba713d5e98acbd45546febc21be 214541
+kyocera-20200716-Kyocera_TASKalfa_2553ci.ppd.gz 429c8c57c3b9300e721f30ca996738f9 214545
+kyocera-20200716-Kyocera_TASKalfa_308ci.ppd.gz 4cdddf87be2bbabd23bf209d38304eb4 214545
+kyocera-20200716-Kyocera_TASKalfa_3212iJ.ppd.gz 08f7ef7772277c7c82f7b99924c75edf 188309
+kyocera-20200716-Kyocera_TASKalfa_352ci.ppd.gz 4cdddf87be2bbabd23bf209d38304eb4 214545
+kyocera-20200716-Kyocera_TASKalfa_358ciJ.ppd.gz 6a1f271b68597d6bb2320c5739b68e00 214541
+kyocera-20200716-Kyocera_TASKalfa_4003i.ppd.gz 290dd3526abeb564e75e17b50c70a9b3 188431
+kyocera-20200716-Kyocera_TASKalfa_4012iJ.ppd.gz 9fbc53aa15ea462f2b0c70b8cb2781ba 188309
+kyocera-20200716-Kyocera_TASKalfa_5003iJ.ppd.gz c2047f95631a834428ce430d3ecc6435 188427
+kyocera-20200716-Kyocera_TASKalfa_7003iJ.ppd.gz 9152ed0748d904d9c644a949b23891e3 188427
+kyocera-20200716-Kyocera_TASKalfa_7353ciJ.ppd.gz 32523d5c24865acce77f43cde1d3357d 214541
+kyocera-20200716-TA_P-4531_MFP.ppd.gz bfa94b0f067c57197322567f07203d72 188431
+lanier-20190916-Lanier-IM_550_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+lanier-20190916-Lanier-IM_600SR_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13205
+lanier-20190916-Lanier-P_800_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13135
+lanier-20190916-Lanier-P_C600_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13207
+lexmark-20200918-Lexmark_X651de.ppd.gz d6c67858bde25dd9b9183340d0c45752 316228
+lexmark-20200918-Lexmark_X658de.ppd.gz c1a0a8d5b7b34ab7c2e8d224997c9e20 316611
+lexmark-20201101-Lexmark_6500e_Series.ppd.gz 85e922bc93e1963cbb7e05e5d7c25087 316762
+lexmark-20201101-Lexmark_B2300_Series.ppd.gz cd7396bacadd9f8e761403f073763cc5 189260
+lexmark-20201101-Lexmark_C2200_Series.ppd.gz 669bcb3086926129469cbabfdb652507 216298
+lexmark-20201101-Lexmark_C2300_Series.ppd.gz e3e9c539200e6367adfee8a29b9039ae 216075
+lexmark-20201101-Lexmark_C2400_Series.ppd.gz c376325bb8baf21e1e951f2c91bb1607 216228
+lexmark-20201101-Lexmark_C3400_Series.ppd.gz 1de85a7649d159664cf8b3898a1832f8 215854
+lexmark-20201101-Lexmark_C740_Series.ppd.gz 329bb7b436b43606e2956942521e793b 702005
+lexmark-20201101-Lexmark_C790_Series.ppd.gz 2bb41646ad016e811d8c0367352dc3a1 702473
+lexmark-20201101-Lexmark_C9200_Series.ppd.gz e35de70ad9f0e854674b7ad778d2c7f8 217114
+lexmark-20201101-Lexmark_C920_Series.ppd.gz 191278579d0d30bfd4478688f4c2c7d6 317013
+lexmark-20201101-Lexmark_C950_Series.ppd.gz 83315941f02ad3a7a8441fbb2b5b007f 317553
+lexmark-20201101-Lexmark_CS310_Series.ppd.gz 4628a4b6f9805c9f624b9d4306e187e9 215994
+lexmark-20201101-Lexmark_CS410_Series.ppd.gz 441dc1a9c8f882831462b4d8a93fca6b 216135
+lexmark-20201101-Lexmark_CS510_Series.ppd.gz 17539e46155c56d45c5aa9971af624ab 702062
+lexmark-20201101-Lexmark_CS720_Series.ppd.gz 787bc00bca78ddda29c97646d9d30a4f 216219
+lexmark-20201101-Lexmark_CS820_Series.ppd.gz 52bd36bb84a944c011add5e46d04d782 216819
+lexmark-20201101-Lexmark_CS920_Series.ppd.gz 1e6f719ae6ee348f4ffc603d515c4c81 217114
+lexmark-20201101-Lexmark_CX310_Series.ppd.gz fe64146d59f1bd62aea25823155770a1 702062
+lexmark-20201101-Lexmark_CX410_Series.ppd.gz 216b92ab9b43b297eeabc11f2a672d56 216470
+lexmark-20201101-Lexmark_CX420_Series.ppd.gz 78d407cd7a3221b57281272041959629 216228
+lexmark-20201101-Lexmark_CX430_Series.ppd.gz e92dcff2fdec9675f8fd3991f66dd36a 215854
+lexmark-20201101-Lexmark_CX510_Series.ppd.gz 289fa6577372d5eed5e526553d1a9b04 358264
+lexmark-20201101-Lexmark_CX625_Series.ppd.gz 855c06f2e30a46484565dd9d1fb8438a 216298
+lexmark-20201101-Lexmark_CX725_Series.ppd.gz 2c7787458f92df0a82d66f24aaac340c 216219
+lexmark-20201101-Lexmark_CX820_Series.ppd.gz 287cef2ba3e943f3b238a077d1a826aa 216819
+lexmark-20201101-Lexmark_CX825_Series.ppd.gz 3ade3050e96b7c16588c28843f8fdf50 217174
+lexmark-20201101-Lexmark_CX920_Series.ppd.gz 718b073b63dfe083ac79b66815ad8503 217114
+lexmark-20201101-Lexmark_M1100_Series.ppd.gz 9eaf11de83f1bfec03d29b789492fcf8 227734
+lexmark-20201101-Lexmark_M3100_Series.ppd.gz 4e429f9ef8786de81601652340088e5e 227713
+lexmark-20201101-Lexmark_M5100_Series.ppd.gz 166141bbf22eeebc75f39b613d58fd6f 228121
+lexmark-20201101-Lexmark_MB2300_Series.ppd.gz 728c7d7961eca973da2974724b6d389b 189260
+lexmark-20201101-Lexmark_MC2300_Series.ppd.gz 46298c62851a2179b7b59cab2d2da8c6 216075
+lexmark-20201101-Lexmark_MS310_Series.ppd.gz 5371bd32a5f4f2dc5d958ede9af47639 189525
+lexmark-20201101-Lexmark_MS410_Series.ppd.gz 104d74a2ec20741ef0ced1fe57c41155 227694
+lexmark-20201101-Lexmark_MS510_Series.ppd.gz 9b5cfb2fb2cd56ffc67298dc6bd82ca9 316270
+lexmark-20201101-Lexmark_MS610_Series.ppd.gz 6b9c2431a0eefbf11a270712a38a4430 316270
+lexmark-20201101-Lexmark_MS620_Series.ppd.gz 75ce4429bee81495ebc1b73c408642d9 189400
+lexmark-20201101-Lexmark_MS710_Series.ppd.gz df4599a328256ba50c3a5165b6ff62f3 316651
+lexmark-20201101-Lexmark_MS725_Series.ppd.gz 0959f5df2e5bb25e0dd77a4102fe8e84 190807
+lexmark-20201101-Lexmark_MS810_Series.ppd.gz 4749d4d54a608e3091b0ca675b82baaf 316651
+lexmark-20201101-Lexmark_MS820_Series.ppd.gz 9473ba41cf840c558c1948ee7205431e 190807
+lexmark-20201101-Lexmark_MX310_Series.ppd.gz ea26f9e49ea8c66e0b9df8919b51ff3b 189526
+lexmark-20201101-Lexmark_MX410_Series.ppd.gz 9ebb1f8d5c7de09c002e44b42c7179be 316270
+lexmark-20201101-Lexmark_MX510_Series.ppd.gz df6a28226f078b5796432fe969200fbd 316270
+lexmark-20201101-Lexmark_MX520_Series.ppd.gz 988d2741b099007667edae32a310890c 189400
+lexmark-20201101-Lexmark_MX610_Series.ppd.gz 39ef87d9ecf9c167a302195d5e5dc6ad 316428
+lexmark-20201101-Lexmark_MX620_Series.ppd.gz c9bf96c626556b7a46a943ba6ce7d29c 189546
+lexmark-20201101-Lexmark_MX6500e_Series.ppd.gz 7e1996f7c67309931c12c74480bf9a45 228076
+lexmark-20201101-Lexmark_MX710_Series.ppd.gz d73aeb971b421428e7fabb76e014500b 316255
+lexmark-20201101-Lexmark_MX720_Series.ppd.gz f720609633bfb27adbb619a0148aed47 189540
+lexmark-20201101-Lexmark_MX725_Series.ppd.gz c8b19af901c5ac0d96a867ece261e4c9 189540
+lexmark-20201101-Lexmark_MX810_Series.ppd.gz 976f4530fa14e714aa370a1da0424dca 316713
+lexmark-20201101-Lexmark_MX820_Series.ppd.gz bafda12d9168a79c6b85251c3b5fdc37 190252
+lexmark-20201101-Lexmark_MX910_Series.ppd.gz ec23a553075e5c6cb206141bac41bffd 228536
+lexmark-20201101-Lexmark_X548_Series.ppd.gz 3c295a3030aa8b78b5124d03956c4f28 702079
+lexmark-20201101-Lexmark_X740_Series.ppd.gz 25f20db1b9f6734e2aa2d445af264476 702058
+lexmark-20201101-Lexmark_X790_Series.ppd.gz 08cff39b8922a487edfe0493f23ef926 702526
+lexmark-20201101-Lexmark_X920_Series.ppd.gz 92984c6d58fa6def1d7b6c758f9c3aab 317066
+lexmark-20201101-Lexmark_X950_Series.ppd.gz 9a6f79ca6ea0582895574dab7ab31b58 317606
+lexmark-20201101-Lexmark_XC2100_Series.ppd.gz ac5b0db40dd7d4ebb398a57093fbaff1 702111
+lexmark-20201101-Lexmark_XC9200_Series.ppd.gz f4938ec407e63c69ac5e7510b3fc2c94 217114
+lexmark-20201101-Lexmark_XM1100_Series.ppd.gz 9dafefb2868bbd54792deeb28b383df4 227710
+lexmark-20201101-Lexmark_XM3100_Series.ppd.gz a12ea9af9df94fa8ba9e4bf15236843f 227868
+lexmark-20201101-Lexmark_XM5100_Series.ppd.gz f6deb621c80690bde415a05648ac9029 227710
+lexmark-20201101-Lexmark_XM7100_Series.ppd.gz a583bd6627cb3079aa2e393bdd755534 228206
+oki-20200129-oki-c542-ps.ppd.gz 81d71a303ef2c46f1279192de093d32c 321612
+oki-20200329-ES8434-PS.ppd.gz a05dc6449529905be64e4c872973508a 321688
+oki-20200329-OKB432_a.ppd.gz ae43d8d60ba1c45024a03d2de62e30b2 230653
+oki-20200329-OKB512_a.ppd.gz e373ef3275e86faccd137bcffb626304 230653
+oki-20200329-OKB841_a110.ppd.gz 354b28b0c509822111c5d36425133f1b 229044
+oki-20200329-OKI-C332-PS.ppd.gz 15589bd878a8fb1418be87f7295af27d 321612
+oki-20200329-OKI-C612-PS.ppd.gz e2b4a2a4ffd5d3d81b481c280b465f1b 321751
+oki-20200329-OKI-C712-PS.ppd.gz 200e127f2af6ebc938469410c4d6d838 321832
+oki-20200329-OKI-C833-PS.ppd.gz 57e0609b1e16f63b6c7d1ed3a4177330 321751
+oki-20200329-OKI-C843-PS.ppd.gz 35effad71eaa1c674a4e75934855dc35 321751
+oki-20200329-OKI-C844-PS.ppd.gz c36d3314c6e4b3363bc96666e4c73151 321688
+oki-20201022-ES6450_PS.ppd.gz 73bb6dc231b3640340fef66dd5ab5b45 321612
+oki-20201022-OKI_MC843_PS.ppd.gz feaa4cd4600d79deaef4f3411ad51e0b 321531
+oki-20201022-OKI_MC853_PS.ppd.gz 5aeadea5b81995fcb673475023d3c01a 321611
+oki-20201022-OKI_MC883_PS.ppd.gz 5554841265b6f66db431d4ed824c7d3f 321611
+ricoh-20190916-Ricoh-IPSiO_SP_3400L_PXL.ppd.gz 91b66baf1f8fcd474663381823e5427c 547178
+ricoh-20190916-Ricoh-IPSiO_SP_3510SF_PXL.ppd.gz 91b66baf1f8fcd474663381823e5427c 547178
+ricoh-20190916-Ricoh-M_C250FWB_PS.ppd.gz e3f43f7d9d60cd6289e9de906f0881e4 317968
+ricoh-20190916-Ricoh-MP_C306Z_JPN_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13180
+ricoh-20190916-Ricoh-P_C301SF_PS.ppd.gz 5012f0cfa2390136d3990e6afaf833be 317968
+ricoh-20190916-Ricoh-SP_212Nw_PXL.ppd.gz bfd546de35444db8d94de689337b2b5e 547178
+ricoh-20190916-Ricoh-SP_2200L_PXL.ppd.gz 91b66baf1f8fcd474663381823e5427c 547178
+ricoh-20190916-Ricoh-SP_320DN_PXL.ppd.gz 91b66baf1f8fcd474663381823e5427c 547178
+ricoh-20191121-Infotec-Pro_8200S_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+ricoh-20191121-Infotec-Pro_8210_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13273
+ricoh-20191121-Infotec-Pro_C5200S_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13320
+ricoh-20191121-Infotec-Pro_C7200_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13369
+ricoh-20191121-Infotec-Pro_C7200S_Light_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13369
+ricoh-20191218-SP_C420e_JPN-PostscriptColor-Ricoh.ppd.gz aa2352550fe92e1eef5144957368be21 316142
+ricoh-20200221-Gestetner-IM_C300_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13234
+ricoh-20200221-Lanier-IM_C400SR_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13250
+ricoh-20200221-Ricoh-SP_C342M_JPN_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13182
+ricoh-20200527-Gestetner-GS3021_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13230
+ricoh-20200527-Infotec-Pro_C5300S_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13396
+ricoh-20200527-Lanier-IM_C6500_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13320
+ricoh-20200527-Ricoh-P_6000_JPN.ppd.gz 6ae65c90f7fabde3226c7b786aecc579 227449
+ricoh-20200821-Infotec-Pro_C5300SL_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13396
+ricoh-20200821-Lanier-IM_C530FB_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13207
+ricoh-20200821-Lanier-IM_C530F_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13277
+ricoh-20200821-Ricoh-IM_C2509J_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+ricoh-20200821-Ricoh-IM_C3509J_PDF.ppd.gz 555a4970ff7cfa739ef43c9b1975df63 13296
+ricoh-20200821-Ricoh-IM_C6500_JPN.ppd.gz c4dfef8d0ab5650817f3bf9861f2254f 316142
+ricoh-20200930-Ricoh_Generic_PS_Printer.ppd.gz 0c4cdf9642fa2ed37d831cf89f2884fa 318819
+sharp-20180409-Sharp-AR-M452U-ps.ppd.gz 00ec0a296a52c129f53d9592b9f7ab4c 229459
+sharp-20180409-Sharp-MX-2640NR-ps.ppd.gz 883793cbc2b40239f4fbde595986b352 322423
+sharp-20180409-Sharp-MX-M283N-ps.ppd.gz 761374b54ae164d80fab7f43bb2250be 229533
+sharp-20180409-Sharp-MX-M363F-ps-jp.ppd.gz 85e074c7c640420c6dcef050e2b3ba7a 229452
+sharp-20180409-Sharp-MX-M623N-ps.ppd.gz 7ed00ce70c7c2ac2faf774071136ca01 229381
+sharp-20180409-Sharp-MX-M623-ps-jp.ppd.gz 36dcfd7cc0cf6cd625bcf54d7dbeead9 229377
+sharp-20190711-Sharp-MX-6240N-ps.ppd.gz 8f368e5df89d826674a51f95f834edfe 325556
+sharp-20190711-Sharp-MX-6500N-ps.ppd.gz 842ff2aa6a496719337b69f1aaff3462 326293
+sharp-20190711-Sharp-MX-6540FN-ps-jp.ppd.gz accd5818da05659c7b7475b912fa8387 325552
+sharp-20190711-Sharp-MX-C250-ps.ppd.gz 2d41be365b63a139706b415254858f07 321283
+sharp-20190711-Sharp-MX-C301-ps.ppd.gz 852174ad3775f398b093a67f13f96de2 321488
+sharp-20190711-Sharp-MX-M1054-ps.ppd.gz 8216315886dbf05d700dc9904c7b4781 233681
+sharp-20190711-Sharp-MX-M1055-ps.ppd.gz f43afc9645a62f241b27bbefb8dada6d 233681
+sharp-20190711-Sharp-MX-M654FN-ps-jp.ppd.gz 19b5ad79bac07a472bd4c56d18a3551f 233539
+sharp-20190711-Sharp-MX-M654N-ps.ppd.gz 23aad9f8e98a527d0ede2b3da56d1d47 233543
+sharp-20190711-Sharp-MX-M904-ps.ppd.gz 72507b0a45b3e94e413a108e4deede52 233681
+sharp-20191219-Sharp-AR-6020D-ps.ppd.gz c0529af39db5da36033d2968709c2a3e 227991
+sharp-20191219-Sharp-AR-6020-ps.ppd.gz 3dda14d5a3b4c1883783c6f91ab2d148 227892
+sharp-20191219-Sharp-AR-6026N-ps.ppd.gz a1cf955e31a3b9b6abd876d4ff26df04 227991
+sharp-20191219-Sharp-AR-G200-ps-jp.ppd.gz f7335591d10dc31a7f671d07ce50b3bb 227888
+sharp-20191219-Sharp-BP-10C20-ps.ppd.gz f1f3fc4d91e3a658efcd304b2f51e88a 322626
+sharp-20191219-Sharp-DX-2000U-ps.ppd.gz c10adf10e706a27c544e2bd7e9b3e3e0 321653
+sharp-20191219-Sharp-DX-20C20-ps-jp.ppd.gz 352f835eed262b124f716bed3abe459a 322622
+sharp-20191219-Sharp-DX-2500N-ps.ppd.gz 35bc2180e870945478346247f48ce2be 322221
+sharp-20191219-Sharp-MX-1800N-ps.ppd.gz d793c85950ab6a685548cdaea56dbde9 321070
+sharp-20191219-Sharp-MX-1810U-ps.ppd.gz 4ebdb32505c0759fcb5d0a76d8501b48 322099
+sharp-20191219-Sharp-MX-2300FG-ps-jp.ppd.gz 79cd3d0f615ce49ac39d241a285db81c 321142
+sharp-20191219-Sharp-MX-2300G-ps.ppd.gz 2023cc29e1446ffded9d85ce49c33e8c 321146
+sharp-20191219-Sharp-MX-2301N-ps.ppd.gz 58c0b488b6c8778ee2b544971fa91132 321586
+sharp-20191219-Sharp-MX-2310F-ps-jp.ppd.gz 17cc31e84e86f6e983b015f642743f92 322095
+sharp-20191219-Sharp-MX-2514FN-ps-jp.ppd.gz e64d9e7490c1e00946dac6078560ceb4 322219
+sharp-20191219-Sharp-MX-2600FG-ps-jp.ppd.gz 4773014634dfcb4ad2337a2f3733254e 321728
+sharp-20191219-Sharp-MX-2600G-ps.ppd.gz 8561398ad5b562223d299870bd660514 321732
+sharp-20191219-Sharp-MX-2610FN-ps-jp.ppd.gz 7c959106fab13edd1e9e1d5ac6d9873b 322241
+sharp-20191219-Sharp-MX-2610N-ps.ppd.gz dc574351738bcd1858d940b2058a2ae0 322245
+sharp-20191219-Sharp-MX-2614N-ps.ppd.gz e61286f2078adbe04d39b6b8615b37c2 322648
+sharp-20191219-Sharp-MX-2631-ps-jp.ppd.gz ad25a16c7a071795413eed67cbb817c0 325712
+sharp-20191219-Sharp-MX-2640FN-ps-jp.ppd.gz 54701d130b6972a390d4d8739d19d80c 322419
+sharp-20191219-Sharp-MX-2651-ps.ppd.gz 6def78cf3821298419115d7675e003ea 325723
+sharp-20191219-Sharp-MX-2661-ps-jp.ppd.gz 95924e9af5c6abb05e204940a7334847 325712
+sharp-20191219-Sharp-MX-3061-ps.ppd.gz 73d9e6a92f7f9d93991dacf21850abbd 325723
+sharp-20191219-Sharp-MX-3600FN-ps-jp.ppd.gz a184b7bb4b6d242c1b03dcf30e63016a 321728
+sharp-20191219-Sharp-MX-4100N-ps.ppd.gz fc8f8c7748ac3ea37cbf0888bb5c87fe 321732
+sharp-20191219-Sharp-MX-4110FN-ps-jp.ppd.gz 45069cf8878c161f662902bde1dbb395 322241
+sharp-20191219-Sharp-MX-4110N-ps.ppd.gz 712d406be908a12be1faf8957383461f 322245
+sharp-20191219-Sharp-MX-4140FN-ps-jp.ppd.gz 938abacc2241b8869db68242bb483b73 322419
+sharp-20191219-Sharp-MX-4140N-ps.ppd.gz 76ff77980a4342fe29e4a248a35a8daf 322423
+sharp-20191219-Sharp-MX-5500N-ps.ppd.gz 651a8e46b819bd946b3d05e40c7023f0 320994
+sharp-20191219-Sharp-MX-C303-ps.ppd.gz 23985162b7d7d73aa5ef54c84338de7f 324482
+sharp-20191219-Sharp-MX-C305W-ps-jp.ppd.gz 40fb723cb17cb92d011fd6610e1c2b92 324478
+sharp-20191219-Sharp-MX-M264FP-ps-jp.ppd.gz 1bc28afa2cb749414b55066cf7cb9161 229956
+sharp-20191219-Sharp-MX-M264NV-ps.ppd.gz d01c390b02918b64786b1f8f289c81f7 229960
+sharp-20191219-Sharp-MX-M265N-ps.ppd.gz b1e3aeee4ae030d460aada01f0d66697 230056
+sharp-20191219-Sharp-MX-M266FP-ps-jp.ppd.gz e1e03e8a781ee2ab00b3d4f721f27ea2 229975
+sharp-20191219-Sharp-MX-M266N-ps.ppd.gz ca6db0dbc3840b4f338ca0f1617770a4 230055
+sharp-20191219-Sharp-MX-M316G-ps-jp.ppd.gz 7037219886caa73ca92e3029f557d012 229975
+sharp-20191219-Sharp-MX-M364N-ps.ppd.gz 6d58ffe94db9a392d45b24e68cc76476 230658
+sharp-20191219-Sharp-MX-M365FN-ps-jp.ppd.gz ce229514b0575785dca96a973fa60cc4 230654
+sharp-20191219-Sharp-MX-M365N-ps.ppd.gz 034d1048b023b0d89f6edd4595d00fca 230658
+sharp-20191219-Sharp-MX-M464FN-ps-jp.ppd.gz 8f5c35b3549483002584b4ea9c8b0193 230654
+sharp-20191230-Sharp-AR-B350W-ps-jp.ppd.gz 0b5de732db6d1e0998e9b57d30854b39 229712
+sharp-20191230-Sharp-AR-B351-ps.ppd.gz 184ffc7f4fa653481d7a0f9236c11641 229716
+sharp-20191230-Sharp-DX-C310-ps.ppd.gz 797fbc5a2843d18474003404fd207231 321413
+sharp-20191230-Sharp-MX-2630FN-ps-jp.ppd.gz 16b5e45fa4df52f5a544e33129d0f302 325122
+sharp-20191230-Sharp-MX-2630N-ps.ppd.gz ec11b8405fafd67779d720fc5215b09a 325133
+sharp-20191230-Sharp-MX-2650FN-ps-jp.ppd.gz b5d3cc6bd91518d1431e3b2a83e91351 325122
+sharp-20191230-Sharp-MX-3060N-ps.ppd.gz 1c1b825e5f1f47ad82cb97e9030ec02d 325133
+sharp-20191230-Sharp-MX-6580N-ps.ppd.gz 7629b3d379db3027423fe14218df7c37 327150
+sharp-20191230-Sharp-MX-7090N-ps.ppd.gz 5fb712b465721bd238fe330eed3e3a09 327815
+sharp-20191230-Sharp-MX-B355W-ps.ppd.gz 0a03526dac330b8bfea24627d1ebd6ec 233088
+sharp-20191230-Sharp-MX-B356W-ps.ppd.gz 4ba03ba8a88a3cfe6f30a2ae8c7be081 233219
+sharp-20191230-Sharp-MX-B380P-ps.ppd.gz 114e9e0c8a62691820fe74f8d6b0d516 229139
+sharp-20191230-Sharp-MX-M2630-ps.ppd.gz 1eead810a3e82c95e603f318cf30a36c 233737
+sharp-20191230-Sharp-MX-M2651-ps.ppd.gz f380fffcca7fb5f4f8632abd44c2f56f 233760
+sharp-20191230-Sharp-MX-M3070-ps.ppd.gz cb868b064311a780c5d45aee7d0245b3 233661
+sharp-20191230-Sharp-MX-M3071-ps.ppd.gz 61c76341f3a2a66de5bc04b9e54c497c 233684
+sharp-20191230-Sharp-MX-M3531-ps-jp.ppd.gz 3df5a4f1f6f78a9f1a33bf9872ffdf4d 233673
+sharp-20191230-Sharp-MX-M6570-ps.ppd.gz d51664d46a490cb734da50a6bcebbb7d 234898
+sharp-20191230-Sharp-MX-M905-ps.ppd.gz 0573eb409bd218666bf81da07189f4ed 234536
+star-20171009-starcupsdrv-3.6.0-hsp7000r.ppd.gz 2aac5cf72ecac95f8f857b6bdcfb6332 23323
+star-20171009-starcupsdrv-3.6.0-hsp7000s.ppd.gz 30a4c96be8ad34c568d89dbcff5c742f 9021
+star-20171009-starcupsdrv-3.6.0-hsp7000v.ppd.gz e8ef4a9054a70100556dcce64c7eb3bd 17659
+star-20171009-starcupsdrv-3.6.0-sp512.ppd.gz c9302918ce7ad89142274bc829407dbc 6884
+star-20171009-starcupsdrv-3.6.0-sp542.ppd.gz 0aea599f8b91d68e68ce16c6dc6fcf3a 6884
+star-20171009-starcupsdrv-3.6.0-tsp1000.ppd.gz 033e025bd58a5df4193d77dffcd3e494 25672
+star-20171009-starcupsdrv-3.6.0-tsp828l.ppd.gz c62fd6223287d43a28be7c7b3ecf3445 27910
+star-20171009-starcupsdrv-3.6.0-tup542.ppd.gz d18d589f68cde7611a5ceb77d39b096c 26253
+star-20171009-starcupsdrv-3.6.0-tup592.ppd.gz 2065959866afc63edb0bc88128a2723f 26282
+star-20171009-starcupsdrv-3.6.0-tup942.ppd.gz 858842fadb2f7dc6984e76c926e39101 27912
+star-20171009-starcupsdrv-3.6.0-tup992.ppd.gz 45760ce93113729f27ff1486c9b6e1c2 27919
+star-20191209-fvp10.ppd.gz edce9c39a79ad4e3ffa4753c62262bcd 23333
+star-20191209-sp712.ppd.gz f8f658fb6a69790ee14b616f1fa2884e 6903
+star-20191209-sp717.ppd.gz f8f658fb6a69790ee14b616f1fa2884e 6903
+star-20191209-sp742.ppd.gz e26eb498c5cdc8de27799feac4f78c49 6903
+star-20191209-sp747.ppd.gz e26eb498c5cdc8de27799feac4f78c49 6903
+star-20191209-tsp113.ppd.gz dbe0cef47a47c6a948e9c7b1bba406b8 23308
+star-20191209-tsp143gt.ppd.gz c628d62f722d5ff8cf43c9af31107443 23309
+star-20191209-tsp143.ppd.gz c628d62f722d5ff8cf43c9af31107443 23309
+star-20191209-tsp654.ppd.gz a535d0d1bf9b566fbdd290332074097d 23331
+star-20191209-tsp700II.ppd.gz a00b509ee2b223783570511b8ed51784 23327
+star-20191209-tsp800II.ppd.gz ddbb5ee36151d3f6efa4bca30cdd16e1 27934
+xerox-20190225-xr6605dn.ppd.gz b6253ee6b80ca899a07c9045538e31cf 315069
+xerox-20190225-xr8580dn.ppd.gz c90c438f126c1bdef6ba6ef57fb6d728 330949
+xerox-20190225-xrx3655s.ppd.gz 55c6fc14b5de1d89fa042dc1db7e0a2e 226849
+xerox-20190225-xrx4622.ppd.gz 2152a3b95954f7d3b801ced676d910da 232750
+xerox-20190225-xrx5330.ppd.gz e03141f5e1f471d495986d81db306fe1 227752
+xerox-20190225-xrx5875.ppd.gz 57115775e38dbbc67b37f3f5d32ee313 227177
+xerox-20190225-xrx7830.ppd.gz ebbfd80c2964bd168e60f32d8671b5df 315798
+xerox-20190225-xrx7970.ppd.gz ebbfd80c2964bd168e60f32d8671b5df 315798
+xerox-20190225-xrx8580n.ppd.gz d3f42cfec5d6a4679021ecc8ae47571f 330947
+xerox-20190225-xrxd95cp.ppd.gz becef960ef22ebdbba03e370982058fd 227898
+xerox-20190711-xrwc3335.ppd.gz f11618e2cbb98df1e9a9c6568d926bd8 226881
+xerox-20190711-xrx6510.ppd.gz 83dacd652dff94ef813f5c99d17e1b53 315172
+xerox-20190820-xrxosd.ppd.gz d0794808859a8fa8da75ba8bcc370383 213468
+xerox-20191030-Xerox_Phaser_7800DN.ppd.gz 86245d933d811bb431af5e41be2a4bca 324577
+xerox-20191030-Xerox_Phaser_7800DX.ppd.gz 1da5b07b7a00d842a8b0864675bd5ef7 324583
+xerox-20191030-Xerox_Phaser_7800GX.ppd.gz 7936a1236fde1f1aa999809ae00d0c69 324577
+xerox-20191030-Xerox_VersaLink_C500.ppd.gz c66d2e2be622a28cf4b69f9737e852da 315279
+xerox-20191030-Xerox_VersaLink_C505.ppd.gz 2942bce3573a3b8919f0f21d0363a046 315203
+xerox-20191030-Xerox_VersaLink_C600.ppd.gz dec1cd2299cccfeeadbe9f71dce1cf33 315356
+xerox-20191030-Xerox_VersaLink_C605.ppd.gz e5b35f7df7053fd8bb3849299b4b30f1 315280
+xerox-20191030-xrxB400.ppd.ppd.gz c353106563fe3aa1cc0b7c4447703fda 226548
+xerox-20191030-xrxB405.ppd.ppd.gz 9aa1e1b7debd031923b618c7691277d1 226548
+xerox-20191030-xrxb600.ppd.gz 34ef84669e7372fdc521ee2e5ba3d6cd 226582
+xerox-20191030-xrxb615.ppd.gz 5df8d8865a76cc47e21cf59638c1a19c 226582
+xerox-20191030-xrxB7025.ppd.gz 42f58cb2d053fc2b399a44162338db43 226916
+xerox-20191030-xrxB7030.ppd.gz 42f58cb2d053fc2b399a44162338db43 226916
+xerox-20191030-xrxB7035.ppd.gz 42f58cb2d053fc2b399a44162338db43 226916
+xerox-20191030-xrxB8045.ppd.gz 2b5ae85772c3fc0d17781f9504ed3496 227177
+xerox-20191030-xrxC400.ppd.gz 7ffb14a2c66af9900b382b61f17e562d 315199
+xerox-20191030-xrxC405.ppd.gz 7ffb14a2c66af9900b382b61f17e562d 315199
+xerox-20191030-xrxC7000.ppd.gz b78277ed2599de7eae11b84064ad0ba8 315440
+xerox-20191030-xrxC7030.ppd.gz 390198cc8283aef7465c814d6f45c84b 315540
+xerox-20191030-xrxC8000.ppd.gz 0335791047b2d17f7f7f5d9dae808268 315616
+xerox-20191030-xrxC8030.ppd.gz d79d0917e5408e25cb8c7b36a347b86e 315798
+xerox-20200129-xrxC9065.ppd.gz d62fb5a418c0d6802371aeadeea9c055 315548
+xerox-20200226-xrxB9100.ppd.gz 0930643404b4b2faecc13173e83c785b 226927
+xerox-20201014-xrxC8000W.ppd.gz 3f6c0d5fe1e3039496fb85c702247a03 315540
diff --git a/client/site_tests/platform_PrinterPpds/digests/denylist.txt b/client/site_tests/platform_PrinterPpds/digests/denylist.txt
index 300e73c..a6a3662 100644
--- a/client/site_tests/platform_PrinterPpds/digests/denylist.txt
+++ b/client/site_tests/platform_PrinterPpds/digests/denylist.txt
@@ -1,432 +1,808 @@
-Brother-DCP-1200-hl1250.ppd.gz
-Brother-DCP-7010-ljet4.ppd.gz
-Brother-DCP-7020-ljet4.ppd.gz
-Brother-HL-1030-hl1250.ppd.gz
-Brother-HL-1040-ljet2p.ppd.gz
-Brother-HL-1050-ljet4.ppd.gz
-Brother-HL-1060-ljet4.ppd.gz
-Brother-HL-10V-ljet3.ppd.gz
-Brother-HL-10h-ljet4.ppd.gz
-Brother-HL-1230-hl1250.ppd.gz
-Brother-HL-1240-laserjet.ppd.gz
-Brother-HL-1250-ljet4.ppd.gz
-Brother-HL-1430-ljet4.ppd.gz
-Brother-HL-1440-ljet4.ppd.gz
-Brother-HL-2030-ljet4.ppd.gz
-Brother-HL-2035-ljet4.ppd.gz
-Brother-HL-2040-ljet4.ppd.gz
-Brother-HL-2070N-ljet4.ppd.gz
-Brother-HL-2135-ljet4.ppd.gz
-Brother-HL-2170W-ljet4.ppd.gz
-Brother-HL-4Ve-laserjet.ppd.gz
-Brother-HL-5030-ljet4.ppd.gz
-Brother-HL-5040-ljet4.ppd.gz
-Brother-HL-5140-ljet4.ppd.gz
-Brother-HL-630-ljet2p.ppd.gz
-Brother-HL-660-ljet4.ppd.gz
-Brother-HL-760-ljet4.ppd.gz
-Brother-HL-8-ljetplus.ppd.gz
-Brother-HL-960-ljet4.ppd.gz
-Brother-MFC-6550MC-ljet2p.ppd.gz
-Brother-MFC-8300-laserjet.ppd.gz
-Brother-MFC-8600-laserjet.ppd.gz
-Brother-MFC-9500-ljet2p.ppd.gz
-Brother-MFC-9600-hl1250.ppd.gz
-Brother-MFC-P2500-hl1250.ppd.gz
-CItoh-M8510-m8510.ppd.gz
-Canon-BJC-250ex-bjc250gs.ppd.gz
-Canon-BJC-255SP-bjc250gs.ppd.gz
-Canon-BJC-265SP-bjc250gs.ppd.gz
-Canon-BJC-8200-bj8XXYYZ.upp.ppd.gz
-Canon-BJC-880J-bjc880j.ppd.gz
-Canon-LBP-1000-ljet4.ppd.gz
-Canon-LBP-1260-ljet4.ppd.gz
-Canon-LBP-1760-ljet4.ppd.gz
-Canon-LBP-3360-ljet4.ppd.gz
-Canon-LBP-430-ljet4.ppd.gz
-Canon-LBP-470-lips4.ppd.gz
-Canon-LBP-4U-lbp8.ppd.gz
-Canon-LBP-4plus-lbp8.ppd.gz
-Canon-LBP-4sx-ljet3.ppd.gz
-Canon-LBP-8A1-lbp8.ppd.gz
-Canon-LIPS-III-lips3.ppd.gz
-Canon-LIPS-IIplus-lips2p.ppd.gz
-Canon-LIPS-IV-lips4.ppd.gz
-Canon-LIPS-IVv-lips4.ppd.gz
-Canon-S330_Photo-bj8XXYYZ.upp.ppd.gz
-Canon-S500-bj8XXYYZ.upp.ppd.gz
-Canon-S600-bj8XXYYZ.upp.ppd.gz
-Canon-S630-bj8XXYYZ.upp.ppd.gz
-Canon-imageRunner_330s-ljet4.ppd.gz
-Citizen-ProJet_II-laserjet.ppd.gz
-DEC-1800-ljet3.ppd.gz
-DEC-DECWriter_500i-djet500.ppd.gz
-DEC-DECwriter_110i-djet500.ppd.gz
-DEC-LN17-ljet4.ppd.gz
-Epson-AL-C1900-ljet4.ppd.gz
-Epson-AL-C2000-ljet4.ppd.gz
-Epson-AL-C4000-ljet4.ppd.gz
-Epson-AL-C8500-ljet4.ppd.gz
-Epson-AL-C8600-ljet4.ppd.gz
-Epson-ActionLaser_1100-ljet3.ppd.gz
-Epson-ActionLaser_II-laserjet.ppd.gz
-Epson-EPL-5200-ljet3.ppd.gz
-Epson-EPL-5200plus-ljet3.ppd.gz
-Epson-EPL-5700-ljet4.ppd.gz
-Epson-EPL-5800-ljet4.ppd.gz
-Epson-EPL-5900-ljet4.ppd.gz
-Epson-EPL-6100-ljet4.ppd.gz
-Epson-EPL-7100-laserjet.ppd.gz
-Epson-EPL-N1600-ljet4.ppd.gz
-Epson-EPL-N2050-ljet4.ppd.gz
-Epson-EPL-N2050plus-ljet4.ppd.gz
-Epson-EPL-N2120-ljet4.ppd.gz
-Epson-EPL-N2500-ljet4.ppd.gz
-Epson-EPL-N2750-ljet4.ppd.gz
-Fujitsu-PrintPartner_10V-ljet4.ppd.gz
-Fujitsu-PrintPartner_16DV-ljet4.ppd.gz
-Fujitsu-PrintPartner_20W-ljet4.ppd.gz
-Fujitsu-PrintPartner_8000-ljet3.ppd.gz
-Generic-PCL_4_Printer-laserjet.ppd.gz
-Generic-PCL_5_Printer-ljet3.ppd.gz
-Generic-PCL_5c_Printer-ljet4.ppd.gz
-Generic-PCL_5e_Printer-ljet4.ppd.gz
-Generic-PCL_6_PCL_XL_Printer-ljet4.ppd.gz
-HP-2563-lp2563.ppd.gz
-HP-Color_LaserJet_5000-ljet4.ppd.gz
-HP-DesignJet_230-dnj650c.ppd.gz
-HP-DesignJet_650C-dnj650c.ppd.gz
-HP-DesignJet_750C_Plus-dnj650c.ppd.gz
-HP-LaserJet_4P-ljet4.ppd.gz
-HP-LaserJet_5-ljet4.ppd.gz
-HP-LaserJet_6-ljet4.ppd.gz
-HP-PaintJet_XL300-pjxl300.ppd.gz
-IBM-4019-laserjet.ppd.gz
-IBM-4029_030_LaserPrinter_10-laserjet.ppd.gz
-IBM-4312-laserjet.ppd.gz
-IBM-Infoprint_12-ljet4.ppd.gz
-Kyocera-F-1000-laserjet.ppd.gz
-Kyocera-F-1010-laserjet.ppd.gz
-Kyocera-F-1200-laserjet.ppd.gz
-Kyocera-F-1200S-laserjet.ppd.gz
-Kyocera-F-1800-laserjet.ppd.gz
-Kyocera-F-2000-laserjet.ppd.gz
-Kyocera-F-2010-laserjet.ppd.gz
-Kyocera-F-2200-laserjet.ppd.gz
-Kyocera-F-2200S-laserjet.ppd.gz
-Kyocera-F-3000-laserjet.ppd.gz
-Kyocera-F-3010-laserjet.ppd.gz
-Kyocera-F-3300-laserjet.ppd.gz
-Kyocera-F-5000-laserjet.ppd.gz
-Kyocera-F-800-laserjet.ppd.gz
-Kyocera-F-800T-laserjet.ppd.gz
-Kyocera-F-820-laserjet.ppd.gz
-Kyocera-FS-5500-laserjet.ppd.gz
-Lexmark-E120-ljet4.ppd.gz
-Lexmark-E120n-ljet4.ppd.gz
-Lexmark-E230-ljet4.ppd.gz
-Lexmark-E320-ljet4.ppd.gz
-Lexmark-Optra_E-ljet4.ppd.gz
-Lexmark-Optra_E321-ljet4.ppd.gz
-Lexmark-Optra_Eplus-ljet4.ppd.gz
-Lexmark-Valuewriter_300-ljet2p.ppd.gz
-Lexmark-Winwriter_400-ljetplus.ppd.gz
-Minolta-PagePro_1100-ljet4.ppd.gz
-Minolta-PagePro_6-ljet4.ppd.gz
-Minolta-PagePro_6e-ljet4.ppd.gz
-Minolta-PagePro_6ex-ljet4.ppd.gz
-Minolta-PagePro_8-ljet4.ppd.gz
-Minolta-PagePro_8L-ljet2p.ppd.gz
-NEC-P2X-necp2xX.upp.ppd.gz
-NEC-SuperScript_1260-ljet2p.ppd.gz
-NEC-SuperScript_1400-ljet4.ppd.gz
-NEC-SuperScript_1800-ljet4.ppd.gz
-NEC-SuperScript_660i-ljet4.ppd.gz
-NEC-SuperScript_860-ljet2p.ppd.gz
-NEC-SuperScript_870-ljet2p.ppd.gz
-Oce-9050-oce9050.ppd.gz
-Oki-B410-ljet4.ppd.gz
-Oki-OL400-laserjet.ppd.gz
-Oki-OL400e-ljet2p.ppd.gz
-Oki-OL400ex-ljet2p.ppd.gz
-Oki-OL410e-ljet4.ppd.gz
-Oki-OL600e-ljet2p.ppd.gz
-Oki-OL610e_S-laserjet.ppd.gz
-Oki-OL800-laserjet.ppd.gz
-Oki-OL810ex-ljet4.ppd.gz
-Oki-Okipage_10e-ljet4.ppd.gz
-Oki-Okipage_10ex-ljet4.ppd.gz
-Oki-Okipage_14ex-ljet4.ppd.gz
-Oki-Okipage_6e-ljet4.ppd.gz
-Oki-Okipage_6ex-ljet4.ppd.gz
-Oki-Okipage_8p-ljet4.ppd.gz
-Oki-Super_6e-ljet4.ppd.gz
-Olivetti-JP350S-laserjet.ppd.gz
-Olivetti-JP450-djet500.ppd.gz
-Olivetti-PG_306-laserjet.ppd.gz
-PCPI-1030-laserjet.ppd.gz
-Panasonic-KX-P4410-ljet2p.ppd.gz
-Panasonic-KX-P4450-ljetplus.ppd.gz
-Panasonic-KX-P6150-laserjet.ppd.gz
-Panasonic-KX-P6500-ljet2p.ppd.gz
-Raven-LP-410-ljet2p.ppd.gz
-Ricoh-Aficio_220-ljet4.ppd.gz
-Ricoh-Aficio_401-ljet4.ppd.gz
-Ricoh-Aficio_700-ljet4.ppd.gz
-Samsung-ML-1250-ljet4.ppd.gz
-Samsung-ML-1450-ljet4.ppd.gz
-Samsung-ML-1650-ljet4.ppd.gz
-Samsung-ML-1750-ljet4.ppd.gz
-Samsung-ML-2150-ljet4.ppd.gz
-Samsung-ML-2151N-ljet4.ppd.gz
-Samsung-ML-2152W-ljet4.ppd.gz
-Samsung-ML-4600-ljet4.ppd.gz
-Samsung-ML-5000a-ljet4.ppd.gz
-Samsung-ML-6000-ljet4.ppd.gz
-Samsung-ML-6100-ljet4.ppd.gz
-Samsung-ML-7000-ljet4.ppd.gz
-Samsung-ML-7000N-ljet4.ppd.gz
-Samsung-ML-7000P-ljet4.ppd.gz
-Samsung-ML-7050-ljet4.ppd.gz
-Samsung-ML-85-ljet4.ppd.gz
-Samsung-QL-5100A-ljet4.ppd.gz
-Samsung-QL-6050-ljet4.ppd.gz
-Seiko-SpeedJET_200-laserjet.ppd.gz
-Sharp-AR-161-ljet4.ppd.gz
-Star-LS-04-ljet2p.ppd.gz
-Star-LaserPrinter_8-laserjet.ppd.gz
-Tally-MT908-ljet3.ppd.gz
-Xerox-Able_1406-ljet4.ppd.gz
-Xerox-DocuPrint_4508-ljet4.ppd.gz
-Xerox-DocuPrint_N4512-ljet4.ppd.gz
-Xerox-DocuPrint_P12-ljet2p.ppd.gz
-Xerox-DocuPrint_P1202-ljet4.ppd.gz
-Xerox-DocuPrint_P8e-ljet4.ppd.gz
-Xerox-Document_Centre_400-ljet4.ppd.gz
-hplip-3.17.10-apollo-2100.ppd.gz
-hplip-3.17.10-apollo-2150.ppd.gz
-hplip-3.17.10-apollo-2200.ppd.gz
-hplip-3.17.10-apollo-2500.ppd.gz
-hplip-3.17.10-apollo-2600.ppd.gz
-hplip-3.17.10-apollo-2650.ppd.gz
-hplip-3.17.10-apollo-p2000-u.ppd.gz
-hplip-3.17.10-apollo-p2250.ppd.gz
-hplip-3.17.10-hp-2000c.ppd.gz
-hplip-3.17.10-hp-2500c.ppd.gz
-hplip-3.17.10-hp-deskjet_1100.ppd.gz
-hplip-3.17.10-hp-deskjet_1120.ppd.gz
-hplip-3.17.10-hp-deskjet_1125.ppd.gz
-hplip-3.17.10-hp-deskjet_1220c.ppd.gz
-hplip-3.17.10-hp-deskjet_1280.ppd.gz
-hplip-3.17.10-hp-deskjet_3810.ppd.gz
-hplip-3.17.10-hp-deskjet_3816.ppd.gz
-hplip-3.17.10-hp-deskjet_3819.ppd.gz
-hplip-3.17.10-hp-deskjet_3820.ppd.gz
-hplip-3.17.10-hp-deskjet_3822.ppd.gz
-hplip-3.17.10-hp-deskjet_3870.ppd.gz
-hplip-3.17.10-hp-deskjet_400.ppd.gz
-hplip-3.17.10-hp-deskjet_400l.ppd.gz
-hplip-3.17.10-hp-deskjet_500.ppd.gz
-hplip-3.17.10-hp-deskjet_500c.ppd.gz
-hplip-3.17.10-hp-deskjet_505j.ppd.gz
-hplip-3.17.10-hp-deskjet_510.ppd.gz
-hplip-3.17.10-hp-deskjet_520.ppd.gz
-hplip-3.17.10-hp-deskjet_540.ppd.gz
-hplip-3.17.10-hp-deskjet_550c.ppd.gz
-hplip-3.17.10-hp-deskjet_600.ppd.gz
-hplip-3.17.10-hp-deskjet_610c.ppd.gz
-hplip-3.17.10-hp-deskjet_610cl.ppd.gz
-hplip-3.17.10-hp-deskjet_612c.ppd.gz
-hplip-3.17.10-hp-deskjet_630c.ppd.gz
-hplip-3.17.10-hp-deskjet_632c.ppd.gz
-hplip-3.17.10-hp-deskjet_640c.ppd.gz
-hplip-3.17.10-hp-deskjet_648c.ppd.gz
-hplip-3.17.10-hp-deskjet_656c.ppd.gz
-hplip-3.17.10-hp-deskjet_660.ppd.gz
-hplip-3.17.10-hp-deskjet_670.ppd.gz
-hplip-3.17.10-hp-deskjet_670c.ppd.gz
-hplip-3.17.10-hp-deskjet_670tv.ppd.gz
-hplip-3.17.10-hp-deskjet_672c.ppd.gz
-hplip-3.17.10-hp-deskjet_680.ppd.gz
-hplip-3.17.10-hp-deskjet_682.ppd.gz
-hplip-3.17.10-hp-deskjet_690.ppd.gz
-hplip-3.17.10-hp-deskjet_690c.ppd.gz
-hplip-3.17.10-hp-deskjet_692.ppd.gz
-hplip-3.17.10-hp-deskjet_693.ppd.gz
-hplip-3.17.10-hp-deskjet_694.ppd.gz
-hplip-3.17.10-hp-deskjet_695.ppd.gz
-hplip-3.17.10-hp-deskjet_697.ppd.gz
-hplip-3.17.10-hp-deskjet_810c.ppd.gz
-hplip-3.17.10-hp-deskjet_812c.ppd.gz
-hplip-3.17.10-hp-deskjet_815c.ppd.gz
-hplip-3.17.10-hp-deskjet_816c.ppd.gz
-hplip-3.17.10-hp-deskjet_825c.ppd.gz
-hplip-3.17.10-hp-deskjet_830c.ppd.gz
-hplip-3.17.10-hp-deskjet_832c.ppd.gz
-hplip-3.17.10-hp-deskjet_840c.ppd.gz
-hplip-3.17.10-hp-deskjet_841c.ppd.gz
-hplip-3.17.10-hp-deskjet_842c.ppd.gz
-hplip-3.17.10-hp-deskjet_843c.ppd.gz
-hplip-3.17.10-hp-deskjet_845c.ppd.gz
-hplip-3.17.10-hp-deskjet_850c.ppd.gz
-hplip-3.17.10-hp-deskjet_855c.ppd.gz
-hplip-3.17.10-hp-deskjet_870c.ppd.gz
-hplip-3.17.10-hp-deskjet_880c.ppd.gz
-hplip-3.17.10-hp-deskjet_882c.ppd.gz
-hplip-3.17.10-hp-deskjet_890c.ppd.gz
-hplip-3.17.10-hp-deskjet_895c.ppd.gz
-hplip-3.17.10-hp-deskjet_916c.ppd.gz
-hplip-3.17.10-hp-deskjet_920c.ppd.gz
-hplip-3.17.10-hp-deskjet_9300.ppd.gz
-hplip-3.17.10-hp-deskjet_930c.ppd.gz
-hplip-3.17.10-hp-deskjet_932c.ppd.gz
-hplip-3.17.10-hp-deskjet_933c.ppd.gz
-hplip-3.17.10-hp-deskjet_934c.ppd.gz
-hplip-3.17.10-hp-deskjet_935c.ppd.gz
-hplip-3.17.10-hp-deskjet_940c.ppd.gz
-hplip-3.17.10-hp-deskjet_948c.ppd.gz
-hplip-3.17.10-hp-deskjet_952c.ppd.gz
-hplip-3.17.10-hp-deskjet_955c.ppd.gz
-hplip-3.17.10-hp-deskjet_957c.ppd.gz
-hplip-3.17.10-hp-deskjet_959c.ppd.gz
-hplip-3.17.10-hp-deskjet_970c.ppd.gz
-hplip-3.17.10-hp-deskjet_975c.ppd.gz
-hplip-3.17.10-hp-deskjet_f4210_series.ppd.gz
-hplip-3.17.10-hp-deskjet_f4213_series.ppd.gz
-hplip-3.17.10-hp-dj350.ppd.gz
-hplip-3.17.10-hp-officejet.ppd.gz
-hplip-3.17.10-hp-officejet_5100_series.ppd.gz
-hplip-3.17.10-hp-officejet_5105.ppd.gz
-hplip-3.17.10-hp-officejet_5110.ppd.gz
-hplip-3.17.10-hp-officejet_5110v.ppd.gz
-hplip-3.17.10-hp-officejet_g55.ppd.gz
-hplip-3.17.10-hp-officejet_g55xi.ppd.gz
-hplip-3.17.10-hp-officejet_g85.ppd.gz
-hplip-3.17.10-hp-officejet_g85xi.ppd.gz
-hplip-3.17.10-hp-officejet_g95.ppd.gz
-hplip-3.17.10-hp-officejet_k60.ppd.gz
-hplip-3.17.10-hp-officejet_k60xi.ppd.gz
-hplip-3.17.10-hp-officejet_k80.ppd.gz
-hplip-3.17.10-hp-officejet_k80xi.ppd.gz
-hplip-3.17.10-hp-officejet_lx.ppd.gz
-hplip-3.17.10-hp-officejet_pro_1150c.ppd.gz
-hplip-3.17.10-hp-officejet_pro_1170c_series.ppd.gz
-hplip-3.17.10-hp-officejet_r40.ppd.gz
-hplip-3.17.10-hp-officejet_r40xi.ppd.gz
-hplip-3.17.10-hp-officejet_r45.ppd.gz
-hplip-3.17.10-hp-officejet_r60.ppd.gz
-hplip-3.17.10-hp-officejet_r65.ppd.gz
-hplip-3.17.10-hp-officejet_r80.ppd.gz
-hplip-3.17.10-hp-officejet_r80xi.ppd.gz
-hplip-3.17.10-hp-officejet_series_300.ppd.gz
-hplip-3.17.10-hp-officejet_series_310.ppd.gz
-hplip-3.17.10-hp-officejet_series_320.ppd.gz
-hplip-3.17.10-hp-officejet_series_330.ppd.gz
-hplip-3.17.10-hp-officejet_series_350.ppd.gz
-hplip-3.17.10-hp-officejet_series_520.ppd.gz
-hplip-3.17.10-hp-officejet_series_570.ppd.gz
-hplip-3.17.10-hp-officejet_series_580.ppd.gz
-hplip-3.17.10-hp-officejet_series_590.ppd.gz
-hplip-3.17.10-hp-officejet_series_600.ppd.gz
-hplip-3.17.10-hp-officejet_series_610.ppd.gz
-hplip-3.17.10-hp-officejet_series_630.ppd.gz
-hplip-3.17.10-hp-officejet_series_700.ppd.gz
-hplip-3.17.10-hp-officejet_series_710.ppd.gz
-hplip-3.17.10-hp-officejet_series_720.ppd.gz
-hplip-3.17.10-hp-officejet_series_725.ppd.gz
-hplip-3.17.10-hp-officejet_t_series.ppd.gz
-hplip-3.17.10-hp-officejet_v30.ppd.gz
-hplip-3.17.10-hp-officejet_v40.ppd.gz
-hplip-3.17.10-hp-officejet_v40xi.ppd.gz
-hplip-3.17.10-hp-officejet_v45.ppd.gz
-hplip-3.17.10-hp-photosmart_p1000.ppd.gz
-hplip-3.17.10-hp-photosmart_p1100.ppd.gz
-hplip-3.17.10-hp-printer_scanner_copier_300.ppd.gz
-hplip-3.17.10-hp-psc_500.ppd.gz
-hplip-3.17.10-hp-psc_720.ppd.gz
-hplip-3.17.10-hp-psc_750.ppd.gz
-hplip-3.17.10-hp-psc_750xi.ppd.gz
-hplip-3.17.10-hp-psc_760.ppd.gz
-hplip-3.17.10-hp-psc_780.ppd.gz
-hplip-3.17.10-hp-psc_780xi.ppd.gz
-hplip-3.17.10-hp-psc_900_series.ppd.gz
-hplip-3.17.10-hp-psc_920.ppd.gz
-hplip-3.17.10-hp-psc_950.ppd.gz
-hplip-3.17.10-hp-psc_950vr.ppd.gz
-hplip-3.17.10-hp-psc_950xi.ppd.gz
-hplip-3.18.12-hp-910.ppd.gz
-hplip-3.18.12-hp-915.ppd.gz
-hplip-3.18.12-hp-LJ-Class3.ppd.gz
-hplip-3.18.12-hp-PCL3-Class1.ppd.gz
-hplip-3.18.12-hp-PCL3-Class1A.ppd.gz
-hplip-3.18.12-hp-PCL3-Class1B.ppd.gz
-hplip-3.18.12-hp-PCL3-Class2.ppd.gz
-hplip-3.18.12-hp-amp.ppd.gz
-hplip-3.18.12-hp-deskjet_2200_series.ppd.gz
-hplip-3.18.12-hp-deskjet_3320.ppd.gz
-hplip-3.18.12-hp-deskjet_3325.ppd.gz
-hplip-3.18.12-hp-deskjet_3420.ppd.gz
-hplip-3.18.12-hp-deskjet_3425.ppd.gz
-hplip-3.18.12-hp-deskjet_3450.ppd.gz
-hplip-3.18.12-hp-deskjet_3500.ppd.gz
-hplip-3.18.12-hp-deskjet_3550.ppd.gz
-hplip-3.18.12-hp-deskjet_3600.ppd.gz
-hplip-3.18.12-hp-deskjet_3650.ppd.gz
-hplip-3.18.12-hp-deskjet_3700_series.ppd.gz
-hplip-3.18.12-hp-deskjet_3740.ppd.gz
-hplip-3.18.12-hp-deskjet_3840.ppd.gz
-hplip-3.18.12-hp-deskjet_3900.ppd.gz
-hplip-3.18.12-hp-deskjet_3910.ppd.gz
-hplip-3.18.12-hp-deskjet_3920.ppd.gz
-hplip-3.18.12-hp-deskjet_3940.ppd.gz
-hplip-3.18.12-hp-deskjet_950c.ppd.gz
-hplip-3.18.12-hp-deskjet_d1300_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d1400_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d1500_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d2300_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d2400_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d2600_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d4100_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d4200_series.ppd.gz
-hplip-3.18.12-hp-deskjet_d4300_series.ppd.gz
-hplip-3.18.12-hp-deskjet_f2100_series.ppd.gz
-hplip-3.18.12-hp-deskjet_f2200_series.ppd.gz
-hplip-3.18.12-hp-deskjet_f300_series.ppd.gz
-hplip-3.18.12-hp-deskjet_f4100_series.ppd.gz
-hplip-3.18.12-hp-deskjet_ink_advant_k109a-z.ppd.gz
-hplip-3.18.12-hp-officejet_100_mobile_l411.ppd.gz
-hplip-3.18.12-hp-officejet_150_mobile_l511.ppd.gz
-hplip-3.18.12-hp-officejet_4000_k210.ppd.gz
-hplip-3.18.12-hp-officejet_4100_series.ppd.gz
-hplip-3.18.12-hp-officejet_4105.ppd.gz
-hplip-3.18.12-hp-officejet_4115_series.ppd.gz
-hplip-3.18.12-hp-officejet_4200_series.ppd.gz
-hplip-3.18.12-hp-officejet_4255.ppd.gz
-hplip-3.18.12-hp-officejet_4300_series.ppd.gz
-hplip-3.18.12-hp-officejet_5500_series.ppd.gz
-hplip-3.18.12-hp-officejet_5600_series.ppd.gz
-hplip-3.18.12-hp-officejet_j3500_series.ppd.gz
-hplip-3.18.12-hp-officejet_j3600_series.ppd.gz
-hplip-3.18.12-hp-officejet_j5500_series.ppd.gz
-hplip-3.18.12-hp-officejet_pro_8000_a809.ppd.gz
-hplip-3.18.12-hp-officejet_pro_8500_a909a.ppd.gz
-hplip-3.18.12-hp-officejet_pro_8500_a909g.ppd.gz
-hplip-3.18.12-hp-officejet_pro_8500_a909n.ppd.gz
-hplip-3.18.12-hp-officejet_pro_8500_a910.ppd.gz
-hplip-3.18.12-hp-photosmart_100.ppd.gz
-hplip-3.18.12-hp-photosmart_130.ppd.gz
-hplip-3.18.12-hp-photosmart_140_series.ppd.gz
-hplip-3.18.12-hp-photosmart_230.ppd.gz
-hplip-3.18.12-hp-photosmart_240_series.ppd.gz
-hplip-3.18.12-hp-photosmart_470_series.ppd.gz
-hplip-3.18.12-hp-photosmart_a610_series.ppd.gz
-hplip-3.18.12-hp-photosmart_a620_series.ppd.gz
-hplip-3.18.12-hp-photosmart_a710_series.ppd.gz
-hplip-3.18.12-hp-photosmart_a820_series.ppd.gz
-hplip-3.18.12-hp-psc_1000_series.ppd.gz
-hplip-3.18.12-hp-psc_1100_series.ppd.gz
-hplip-3.18.12-hp-psc_1200_series.ppd.gz
-hplip-3.18.12-hp-psc_1300_series.ppd.gz
-hplip-3.18.12-hp-psc_1310_series.ppd.gz
-hplip-3.18.12-hp-psc_1358_series.ppd.gz
-hplip-3.18.12-hp-psc_1400_series.ppd.gz
+brother-20201006-DCP7080-cups-en.ppd.gz
+brother-20201006-DCP7080D-cups-en.ppd.gz
+brother-20201006-DCP7090-cups-en.ppd.gz
+brother-20201006-DCP7090DW-cups-en.ppd.gz
+brother-20201006-HL2290-cups-en.ppd.gz
+brother-20201006-HL2295D-cups-en.ppd.gz
+brother-20201006-MFCL2685DW-cups-en.ppd.gz
+epson-20200615-Epson-LX-10000FK_Series_PS3.ppd.gz
+epson-20200615-Epson-LX-10000F_PS.ppd.gz
+epson-20200615-Epson-LX-10010MF_Series_PS3.ppd.gz
+epson-20200615-Epson-WF-C17590_Series_PS3.ppd.gz
+epson-20200615-Epson-WF-C20590_PS.ppd.gz
+epson-20200615-Epson-WF-M20590_Series_PS3.ppd.gz
+foomatic-20170101-Samsung-M332x_382x_402x-Postscript.ppd.gz
+foomatic-20190909-Ricoh-IM_430F-PostscriptMono-Ricoh.ppd.gz
+foomatic-20191029-BR5070DN_GPL.ppd.gz
+foomatic-20191029-shar208d.ppd.gz
+foomatic-20191029-shar208s.ppd.gz
+foomatic-20200219-Apple-12_640ps-Postscript.ppd.gz
+foomatic-20200219-Apple-LaserWriter_IIg-Postscript.ppd.gz
+foomatic-20200219-Brother-DCP-8020-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-8025D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-8040-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-8045D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-9010CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-9040CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-9045CDN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-1450-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-1650_70N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-1850_70N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-2460-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-2600CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-2700CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-3070CW-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-3260N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-3450CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-4050CDN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5050-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5150D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5240-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5250DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5270DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-6050D_DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-6050-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-7050-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-8050N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-7450-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8220-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8440-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8640D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8670DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8820D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-9420CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-9440CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Canon-BJC-250ex-bjc250gs.ppd.gz
+foomatic-20200219-Canon-BJC-255SP-bjc250gs.ppd.gz
+foomatic-20200219-Canon-GP_405-Postscript.ppd.gz
+foomatic-20200219-Canon-imageRunner_C2570-Postscript.ppd.gz
+foomatic-20200219-Canon-iPR_C600-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iPR_C650_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iPR_C700_800-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iPR_C750_850_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_400_500-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_4025_4035-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_4225_4235-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_6055_6065-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_6255_6265-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_8085_8095-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_8205-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2020_2030-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2020i_2030i-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2025-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2220_2230-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2225-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C250_350-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C3320L-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C3320-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C3325_3330-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C351-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5030_5035-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5045_5051-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5235_5240-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5250_5255-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C7055_7065-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C7260_7270-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C7280-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C9060_9070-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C9065_9075-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C9270_9280-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP6670-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP6780_3580-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP710C_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP712C_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP7660C-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP7680C_5280-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP7780C_5480-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP8780-Postscript-Canon.ppd.gz
+foomatic-20200219-Dell-M5200-Postscript.ppd.gz
+foomatic-20200219-Epson-AL-2600-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C1900_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C2000_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C2600-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C2800-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C3800-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C4000_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C4100-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C4200-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C8600_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C9100-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C9200-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-CX21-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M2000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M2400-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M4000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M8000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-MX20-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-5900_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-6100_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-6200-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N2500_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N2550-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N2700-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N3000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N7000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-8300CPD-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-8500CPD-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-8800CPS-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9100PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9200C-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9500CPS-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9600SPD-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9800C-Postscript-Epson.ppd.gz
+foomatic-20200219-Fuji_Xerox-DocuPrint_CM305_df-Postscript.ppd.gz
+foomatic-20200219-Generic-PostScript_Printer-Postscript.ppd.gz
+foomatic-20200219-Gestetner-C7010-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-C7116-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-C7425dn-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-C7435n-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-C7528n-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-C7535n-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-DSc224-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-DSc328-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-DSc38-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-DSc38u-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-F9199_9199nf-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-GS1227-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7026-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7032-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7126-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7132n-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7145-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7325-Postscript-Gestetner.ppd.gz
+foomatic-20200219-Gestetner-P7431cn-Postscript-Gestetner.ppd.gz
+foomatic-20200219-IBM-4303_Network_Color_Printer-Postscript.ppd.gz
+foomatic-20200219-Kodak-IS_70_CPII-Postscript.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_1050eP-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_500-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C250P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C252P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C351-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C352P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C450P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C451-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C550-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-Kyocera-Ci-1100-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-CS-1650-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-CS-2050-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1030D-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1118MFP-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1200-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1700plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1700-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1714M-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1800-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1900-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1920-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-2000D-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3700plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3700-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3750-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3820N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3830N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3900DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-4000DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-5800C-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-5900C-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-600-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6020-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6026-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6300-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6500plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6700-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6750-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-680-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6900-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6950DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-7000-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-7028M-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-8000C-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9000-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9100DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-920-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5015N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5016N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5020N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5025N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5030N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8008N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8026N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8100DNplus_KPDL-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8100DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1510-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1810-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1820-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-2030-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-3050-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-4230_5230-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-4530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-5530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-6030-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-6230-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-6330-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C2520-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C2630-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C830-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C850-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Lanier-SP_3400N-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_3410DN-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_3600DN-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C221N-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C222DN-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C222SF-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C232SF-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C311N-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C312DN-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C360DNw-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lanier-SP_C360SFNw-Postscript-Lanier.ppd.gz
+foomatic-20200219-Lexmark-4039_10plus-Postscript.ppd.gz
+foomatic-20200219-Lexmark-C2132-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C500n-Postscript.ppd.gz
+foomatic-20200219-Lexmark-C510b-Postscript.ppd.gz
+foomatic-20200219-Lexmark-C510-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C520-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C522-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C524-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C540-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C543-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C544-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C546-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C734-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C736-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C750-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C752-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C780-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C782-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C910-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C912-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C930-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C935-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-E260dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-E350d-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-E360dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-EG460dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-Optra_Color_1200-Postscript.ppd.gz
+foomatic-20200219-Lexmark-T650-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-T656-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-W850-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X203n-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X264dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X363dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X463de-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X543-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X544-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X546-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X734de-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X860de-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X940e-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Minolta-magicolor_3100-Postscript.ppd.gz
+foomatic-20200219-NEC-P2X-necp2xX.upp.ppd.gz
+foomatic-20200219-NRG-SP_3500N-Postscript-NRG.ppd.gz
+foomatic-20200219-NRG-SP_3510DN-Postscript-NRG.ppd.gz
+foomatic-20200219-NRG-SP_C242DN-Postscript-NRG.ppd.gz
+foomatic-20200219-Oce-3145PS-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-8445PS-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-9230-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-9260-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-PPC3073PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-PPC3074PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-PPC5115PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2045PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2090PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2100PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2105PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oki-14i-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-B4350-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5400-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5700-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5900-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C6100-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C8800-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9600-Postscript-Oki.ppd.gz
+foomatic-20200219-Ricoh-ColorLaser_AP828-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-DDP_70-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-DDP_92-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-EMP_156-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_330DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_330SFN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_3700-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_3700SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_400DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_C250DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_C250SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_C261DNw-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Samsung-C140x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C2620-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C2670-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C460-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C4820-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C48x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-350-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-410-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-660-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-670-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-680-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-770-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-775-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-3300-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-6200-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-6220-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-6250-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-8380-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-8385-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-8640_8650-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-9250_9350-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-9252_9352-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-92x1_93x1-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K3250-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K401-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K703-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K7600-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M337x_387x_407x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M403x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M408x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M4370_5370-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M453x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M458x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M5270-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2150-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2550-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2570-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2850-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2855-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-3470-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-371x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4050-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4055-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-451x_501x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4550-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4555-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-551x_651x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-8850_8950-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-8x00-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-483x_5x3x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-4x28-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-5635-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-5835_5935-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6545-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6545X-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-681x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x20-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x22-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x45-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x55-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-8030_8040-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-8123_8128-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-8230_8240-Postscript-Samsung.ppd.gz
+foomatic-20200219-Sharp-AR-155FG_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-160M_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-163FG_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-163G_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-168D-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-168S-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-200M_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-205FG_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-205G_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-266FP_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-311FP_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-5220-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-555M_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-705M_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-B07-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-BC260-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-C170FP_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-C260P-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M161_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M165_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M205_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M206_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M236_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M351N-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M550N-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M700N-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-N182FG-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-N182G-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-2314NR-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-2614NR-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M1100-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M182D-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M182-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M202D-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M260FP-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M260-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M264NR-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M860-Postscript-Sharp.ppd.gz
+foomatic-20200219-Tektronix-Phaser_350-Postscript.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_205-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_282-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_3510c-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_451c-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_452-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_850-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-GL-1010-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-GL-1020-Postscript-Toshiba.ppd.gz
+fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c3375.ppd.gz
+hp-20171121-hplip-3.17.10-hp-color_laserjet-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_4-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_4si-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_4v-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_6p-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_p2055_series-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_p4010_series-ps.ppd.gz
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_42in_photo-ps.ppd.gz
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_60in_photo-ps.ppd.gz
+hp-20190111-hplip-3.18.12-hp-designjet_z6810ps_42in-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-cm8060_mfp_with_edgeline-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-color_designjet_xl_3600-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-designjet_t2600dr-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-laserjet_200_color_m251-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-laserjet_m1522_mfp-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-laserjet_m2727_mfp_series-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-LJ-Class3.ppd.gz
+hp-20190918-hplip-3.19.6-hp-postscript-inkjet.ppd.gz
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet.ppd.gz
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet-pro.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_designjet_xl_3600-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2550_series-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2800-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1015-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_e85055-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_flowmfp_m776-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_m856-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_mfp_m776-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_4000ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_4500mfp.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_d5800-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1200_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1300_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1500-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1530-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600dr-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600_printer-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700dr_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708dr_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t2300_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t2500-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t2600dr-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t3500-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps_monochrome-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t7200-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t770_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t770ps_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t920-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t930-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5200_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_42in_photo-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_60in_photo-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6600-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6610ps_60in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6800_photo-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6810ps_60in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-laserjet_100_color_mfp_m175-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_p55250-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_3900ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_blueprinter-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp_blueprinter-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps_blueprinter-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps-ps.ppd.gz
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-226i.ppd.gz
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c226.ppd.gz
+kyocera-20180809-Kyocera_TASKalfa_3051ci.ppd.gz
+kyocera-20190328-Kyocera_CS_2551ci.ppd.gz
+kyocera-20190328-Kyocera_CS_2552ci.ppd.gz
+kyocera-20190328-Kyocera_CS_3010i.ppd.gz
+kyocera-20190328-Kyocera_CS_3011i.ppd.gz
+kyocera-20190328-Kyocera_CS_306ci.ppd.gz
+kyocera-20190328-Kyocera_CS_307ci.ppd.gz
+kyocera-20190328-Kyocera_CS_3212i.ppd.gz
+kyocera-20190328-Kyocera_CS_4002i.ppd.gz
+kyocera-20190328-Kyocera_CS_7002i.ppd.gz
+kyocera-20190328-Kyocera_CS_7052ci.ppd.gz
+kyocera-20190328-Kyocera_CS_9002i.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2030dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2035dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2040dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2235dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M3040dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M3145dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M4028idn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M4125idn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M5021cdn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M5521cdn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M6026cdn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M6230cidn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M8024cidn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M8124cidn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P2035d.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P3045dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P4035dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P6026cdn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P8060cdn.ppd.gz
+kyocera-20190328-Kyocera_FS-5040DN.ppd.gz
+kyocera-20190328-Kyocera_TASKalfa_4020i.ppd.gz
+kyocera-20190328-Kyocera_TASKalfa_406ci.ppd.gz
+kyocera-20190328-Kyocera_TASKalfa_4500i.ppd.gz
+kyocera-20200211-Kyocera_TASKalfa_7003i.ppd.gz
+kyocera-20200416-Kyocera_CS_205c.ppd.gz
+kyocera-20200416-Kyocera_CS_250ci.ppd.gz
+kyocera-20200416-Kyocera_CS_2550ci.ppd.gz
+kyocera-20200416-Kyocera_CS_2553ci.ppd.gz
+kyocera-20200416-Kyocera_CS_2554ci.ppd.gz
+kyocera-20200416-Kyocera_CS_255.ppd.gz
+kyocera-20200416-Kyocera_CS_300i.ppd.gz
+kyocera-20200416-Kyocera_CS_3050ci.ppd.gz
+kyocera-20200416-Kyocera_CS_308ci.ppd.gz
+kyocera-20200416-Kyocera_CS_3500i.ppd.gz
+kyocera-20200416-Kyocera_CS_4003i.ppd.gz
+kyocera-20200416-Kyocera_CS_6500i.ppd.gz
+kyocera-20200416-Kyocera_CS_6550ci.ppd.gz
+kyocera-20200416-Kyocera_CS_7003i.ppd.gz
+kyocera-20200416-Kyocera_CS_7353ci.ppd.gz
+kyocera-20200416-Kyocera_CS_9003i.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_M3860idnf.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_M3860idn.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_P3260dn.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_P4135dn.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_P5018cdn.ppd.gz
+kyocera-20200416-Kyocera_FS-1028MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-1030MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-1035MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-1120D.ppd.gz
+kyocera-20200416-Kyocera_FS-2020D.ppd.gz
+kyocera-20200416-Kyocera_FS-2100D.ppd.gz
+kyocera-20200416-Kyocera_FS-3540MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-3920DN.ppd.gz
+kyocera-20200416-Kyocera_FS-4100DN.ppd.gz
+kyocera-20200416-Kyocera_FS-6970DN.ppd.gz
+kyocera-20200416-Kyocera_FS-9130DN.ppd.gz
+kyocera-20200416-Kyocera_FS-C2026MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-C2026MFP+.ppd.gz
+kyocera-20200416-Kyocera_FS-C5250DN.ppd.gz
+kyocera-20200416-Kyocera_FS-C8600DN.ppd.gz
+kyocera-20200416-Kyocera_TASKalfa_3060ci.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M2540dwJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M3645idnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M4226idn.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M6635cidnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M8224cidn.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P3060dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P3145dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P3145dn.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P4040dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P4060dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P4140dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P8060cdnJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2460ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2510iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2553ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2553ci.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_308ci.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_3212iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_352ci.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_358ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_4003i.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_4012iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_5003iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_7003iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_7353ciJ.ppd.gz
+kyocera-20200716-TA_P-4531_MFP.ppd.gz
+lexmark-20200918-Lexmark_X651de.ppd.gz
+lexmark-20200918-Lexmark_X658de.ppd.gz
+lexmark-20201101-Lexmark_6500e_Series.ppd.gz
+lexmark-20201101-Lexmark_B2300_Series.ppd.gz
+lexmark-20201101-Lexmark_C2200_Series.ppd.gz
+lexmark-20201101-Lexmark_C2300_Series.ppd.gz
+lexmark-20201101-Lexmark_C2400_Series.ppd.gz
+lexmark-20201101-Lexmark_C3400_Series.ppd.gz
+lexmark-20201101-Lexmark_C740_Series.ppd.gz
+lexmark-20201101-Lexmark_C790_Series.ppd.gz
+lexmark-20201101-Lexmark_C9200_Series.ppd.gz
+lexmark-20201101-Lexmark_C920_Series.ppd.gz
+lexmark-20201101-Lexmark_C950_Series.ppd.gz
+lexmark-20201101-Lexmark_CS310_Series.ppd.gz
+lexmark-20201101-Lexmark_CS410_Series.ppd.gz
+lexmark-20201101-Lexmark_CS510_Series.ppd.gz
+lexmark-20201101-Lexmark_CS720_Series.ppd.gz
+lexmark-20201101-Lexmark_CS820_Series.ppd.gz
+lexmark-20201101-Lexmark_CS920_Series.ppd.gz
+lexmark-20201101-Lexmark_CX310_Series.ppd.gz
+lexmark-20201101-Lexmark_CX410_Series.ppd.gz
+lexmark-20201101-Lexmark_CX420_Series.ppd.gz
+lexmark-20201101-Lexmark_CX430_Series.ppd.gz
+lexmark-20201101-Lexmark_CX510_Series.ppd.gz
+lexmark-20201101-Lexmark_CX625_Series.ppd.gz
+lexmark-20201101-Lexmark_CX725_Series.ppd.gz
+lexmark-20201101-Lexmark_CX820_Series.ppd.gz
+lexmark-20201101-Lexmark_CX825_Series.ppd.gz
+lexmark-20201101-Lexmark_CX920_Series.ppd.gz
+lexmark-20201101-Lexmark_M1100_Series.ppd.gz
+lexmark-20201101-Lexmark_M3100_Series.ppd.gz
+lexmark-20201101-Lexmark_M5100_Series.ppd.gz
+lexmark-20201101-Lexmark_MB2300_Series.ppd.gz
+lexmark-20201101-Lexmark_MC2300_Series.ppd.gz
+lexmark-20201101-Lexmark_MS310_Series.ppd.gz
+lexmark-20201101-Lexmark_MS410_Series.ppd.gz
+lexmark-20201101-Lexmark_MS510_Series.ppd.gz
+lexmark-20201101-Lexmark_MS610_Series.ppd.gz
+lexmark-20201101-Lexmark_MS620_Series.ppd.gz
+lexmark-20201101-Lexmark_MS710_Series.ppd.gz
+lexmark-20201101-Lexmark_MS725_Series.ppd.gz
+lexmark-20201101-Lexmark_MS810_Series.ppd.gz
+lexmark-20201101-Lexmark_MS820_Series.ppd.gz
+lexmark-20201101-Lexmark_MX310_Series.ppd.gz
+lexmark-20201101-Lexmark_MX410_Series.ppd.gz
+lexmark-20201101-Lexmark_MX510_Series.ppd.gz
+lexmark-20201101-Lexmark_MX520_Series.ppd.gz
+lexmark-20201101-Lexmark_MX610_Series.ppd.gz
+lexmark-20201101-Lexmark_MX620_Series.ppd.gz
+lexmark-20201101-Lexmark_MX6500e_Series.ppd.gz
+lexmark-20201101-Lexmark_MX710_Series.ppd.gz
+lexmark-20201101-Lexmark_MX720_Series.ppd.gz
+lexmark-20201101-Lexmark_MX725_Series.ppd.gz
+lexmark-20201101-Lexmark_MX810_Series.ppd.gz
+lexmark-20201101-Lexmark_MX820_Series.ppd.gz
+lexmark-20201101-Lexmark_MX910_Series.ppd.gz
+lexmark-20201101-Lexmark_X548_Series.ppd.gz
+lexmark-20201101-Lexmark_X740_Series.ppd.gz
+lexmark-20201101-Lexmark_X790_Series.ppd.gz
+lexmark-20201101-Lexmark_X920_Series.ppd.gz
+lexmark-20201101-Lexmark_X950_Series.ppd.gz
+lexmark-20201101-Lexmark_XC2100_Series.ppd.gz
+lexmark-20201101-Lexmark_XC9200_Series.ppd.gz
+lexmark-20201101-Lexmark_XM1100_Series.ppd.gz
+lexmark-20201101-Lexmark_XM3100_Series.ppd.gz
+lexmark-20201101-Lexmark_XM5100_Series.ppd.gz
+lexmark-20201101-Lexmark_XM7100_Series.ppd.gz
+oki-20200129-oki-c542-ps.ppd.gz
+oki-20200329-ES8434-PS.ppd.gz
+oki-20200329-OKB432_a.ppd.gz
+oki-20200329-OKB512_a.ppd.gz
+oki-20200329-OKB841_a110.ppd.gz
+oki-20200329-OKI-C332-PS.ppd.gz
+oki-20200329-OKI-C612-PS.ppd.gz
+oki-20200329-OKI-C712-PS.ppd.gz
+oki-20200329-OKI-C833-PS.ppd.gz
+oki-20200329-OKI-C843-PS.ppd.gz
+oki-20200329-OKI-C844-PS.ppd.gz
+oki-20201022-ES6450_PS.ppd.gz
+oki-20201022-OKI_MC843_PS.ppd.gz
+oki-20201022-OKI_MC853_PS.ppd.gz
+oki-20201022-OKI_MC883_PS.ppd.gz
+ricoh-20190916-Ricoh-M_C250FWB_PS.ppd.gz
+ricoh-20190916-Ricoh-P_C301SF_PS.ppd.gz
+ricoh-20191218-SP_C420e_JPN-PostscriptColor-Ricoh.ppd.gz
+ricoh-20200527-Ricoh-P_6000_JPN.ppd.gz
+ricoh-20200821-Ricoh-IM_C6500_JPN.ppd.gz
+ricoh-20200930-Ricoh_Generic_PS_Printer.ppd.gz
+sharp-20180409-Sharp-AR-M452U-ps.ppd.gz
+sharp-20180409-Sharp-MX-2640NR-ps.ppd.gz
+sharp-20180409-Sharp-MX-M283N-ps.ppd.gz
+sharp-20180409-Sharp-MX-M363F-ps-jp.ppd.gz
+sharp-20180409-Sharp-MX-M623N-ps.ppd.gz
+sharp-20180409-Sharp-MX-M623-ps-jp.ppd.gz
+sharp-20190711-Sharp-MX-6240N-ps.ppd.gz
+sharp-20190711-Sharp-MX-6500N-ps.ppd.gz
+sharp-20190711-Sharp-MX-6540FN-ps-jp.ppd.gz
+sharp-20190711-Sharp-MX-C250-ps.ppd.gz
+sharp-20190711-Sharp-MX-C301-ps.ppd.gz
+sharp-20190711-Sharp-MX-M1054-ps.ppd.gz
+sharp-20190711-Sharp-MX-M1055-ps.ppd.gz
+sharp-20190711-Sharp-MX-M654FN-ps-jp.ppd.gz
+sharp-20190711-Sharp-MX-M654N-ps.ppd.gz
+sharp-20190711-Sharp-MX-M904-ps.ppd.gz
+sharp-20191219-Sharp-AR-6020D-ps.ppd.gz
+sharp-20191219-Sharp-AR-6020-ps.ppd.gz
+sharp-20191219-Sharp-AR-6026N-ps.ppd.gz
+sharp-20191219-Sharp-AR-G200-ps-jp.ppd.gz
+sharp-20191219-Sharp-BP-10C20-ps.ppd.gz
+sharp-20191219-Sharp-DX-2000U-ps.ppd.gz
+sharp-20191219-Sharp-DX-20C20-ps-jp.ppd.gz
+sharp-20191219-Sharp-DX-2500N-ps.ppd.gz
+sharp-20191219-Sharp-MX-1800N-ps.ppd.gz
+sharp-20191219-Sharp-MX-1810U-ps.ppd.gz
+sharp-20191219-Sharp-MX-2300FG-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2300G-ps.ppd.gz
+sharp-20191219-Sharp-MX-2301N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2310F-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2514FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2600FG-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2600G-ps.ppd.gz
+sharp-20191219-Sharp-MX-2610FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2610N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2614N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2631-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2640FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2651-ps.ppd.gz
+sharp-20191219-Sharp-MX-2661-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-3061-ps.ppd.gz
+sharp-20191219-Sharp-MX-3600FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-4100N-ps.ppd.gz
+sharp-20191219-Sharp-MX-4110FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-4110N-ps.ppd.gz
+sharp-20191219-Sharp-MX-4140FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-4140N-ps.ppd.gz
+sharp-20191219-Sharp-MX-5500N-ps.ppd.gz
+sharp-20191219-Sharp-MX-C303-ps.ppd.gz
+sharp-20191219-Sharp-MX-C305W-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M264FP-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M264NV-ps.ppd.gz
+sharp-20191219-Sharp-MX-M265N-ps.ppd.gz
+sharp-20191219-Sharp-MX-M266FP-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M266N-ps.ppd.gz
+sharp-20191219-Sharp-MX-M316G-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M364N-ps.ppd.gz
+sharp-20191219-Sharp-MX-M365FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M365N-ps.ppd.gz
+sharp-20191219-Sharp-MX-M464FN-ps-jp.ppd.gz
+sharp-20191230-Sharp-AR-B350W-ps-jp.ppd.gz
+sharp-20191230-Sharp-AR-B351-ps.ppd.gz
+sharp-20191230-Sharp-DX-C310-ps.ppd.gz
+sharp-20191230-Sharp-MX-2630FN-ps-jp.ppd.gz
+sharp-20191230-Sharp-MX-2630N-ps.ppd.gz
+sharp-20191230-Sharp-MX-2650FN-ps-jp.ppd.gz
+sharp-20191230-Sharp-MX-3060N-ps.ppd.gz
+sharp-20191230-Sharp-MX-6580N-ps.ppd.gz
+sharp-20191230-Sharp-MX-7090N-ps.ppd.gz
+sharp-20191230-Sharp-MX-B355W-ps.ppd.gz
+sharp-20191230-Sharp-MX-B356W-ps.ppd.gz
+sharp-20191230-Sharp-MX-B380P-ps.ppd.gz
+sharp-20191230-Sharp-MX-M2630-ps.ppd.gz
+sharp-20191230-Sharp-MX-M2651-ps.ppd.gz
+sharp-20191230-Sharp-MX-M3070-ps.ppd.gz
+sharp-20191230-Sharp-MX-M3071-ps.ppd.gz
+sharp-20191230-Sharp-MX-M3531-ps-jp.ppd.gz
+sharp-20191230-Sharp-MX-M6570-ps.ppd.gz
+sharp-20191230-Sharp-MX-M905-ps.ppd.gz
+xerox-20190225-xr6605dn.ppd.gz
+xerox-20190225-xr8580dn.ppd.gz
+xerox-20190225-xrx3655s.ppd.gz
+xerox-20190225-xrx4622.ppd.gz
+xerox-20190225-xrx5330.ppd.gz
+xerox-20190225-xrx5875.ppd.gz
+xerox-20190225-xrx7830.ppd.gz
+xerox-20190225-xrx7970.ppd.gz
+xerox-20190225-xrx8580n.ppd.gz
+xerox-20190225-xrxd95cp.ppd.gz
+xerox-20190711-xrwc3335.ppd.gz
+xerox-20190711-xrx6510.ppd.gz
+xerox-20190820-xrxosd.ppd.gz
+xerox-20191030-Xerox_Phaser_7800DN.ppd.gz
+xerox-20191030-Xerox_Phaser_7800DX.ppd.gz
+xerox-20191030-Xerox_Phaser_7800GX.ppd.gz
+xerox-20191030-Xerox_VersaLink_C500.ppd.gz
+xerox-20191030-Xerox_VersaLink_C505.ppd.gz
+xerox-20191030-Xerox_VersaLink_C600.ppd.gz
+xerox-20191030-Xerox_VersaLink_C605.ppd.gz
+xerox-20191030-xrxB400.ppd.ppd.gz
+xerox-20191030-xrxB405.ppd.ppd.gz
+xerox-20191030-xrxb600.ppd.gz
+xerox-20191030-xrxb615.ppd.gz
+xerox-20191030-xrxB7025.ppd.gz
+xerox-20191030-xrxB7030.ppd.gz
+xerox-20191030-xrxB7035.ppd.gz
+xerox-20191030-xrxB8045.ppd.gz
+xerox-20191030-xrxC400.ppd.gz
+xerox-20191030-xrxC405.ppd.gz
+xerox-20191030-xrxC7000.ppd.gz
+xerox-20191030-xrxC7030.ppd.gz
+xerox-20191030-xrxC8000.ppd.gz
+xerox-20191030-xrxC8030.ppd.gz
+xerox-20200129-xrxC9065.ppd.gz
+xerox-20200226-xrxB9100.ppd.gz
+xerox-20201014-xrxC8000W.ppd.gz
diff --git a/client/site_tests/platform_PrinterPpds/digests/embedded_images.pdf.digests b/client/site_tests/platform_PrinterPpds/digests/embedded_images.pdf.digests
index e69de29..36103b2 100644
--- a/client/site_tests/platform_PrinterPpds/digests/embedded_images.pdf.digests
+++ b/client/site_tests/platform_PrinterPpds/digests/embedded_images.pdf.digests
@@ -0,0 +1,1456 @@
+brother-20191213-DCP7180DN.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51041
+brother-20191213-DCP7195DW.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51041
+brother-20191213-DCPL5500DN.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51041
+brother-20191213-DCPL6600DW.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51041
+brother-20191213-HL5595DNH.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51041
+brother-20200131-DCP7025.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51021
+brother-20200131-DCP8080DN.ppd.gz 83154bd70a7e0da1da927a3c29634ddf 51041
+brother-20200615-DCP9030CDN.ppd.gz 13365a1789c4a6ad7f3527264b6629a4 144681
+brother-20200615-DCPL8410CDW.ppd.gz 13365a1789c4a6ad7f3527264b6629a4 144681
+brother-20200615-HLL3210CW.ppd.gz 13365a1789c4a6ad7f3527264b6629a4 144681
+brother-20200615-MFC9350CDW.ppd.gz 13365a1789c4a6ad7f3527264b6629a4 144681
+brother-20201006-DCP7080-cups-en.ppd.gz 03ac8e27d2cc41109b1a714834a7b7b5 49346
+brother-20201006-DCP7080D-cups-en.ppd.gz dba588d07f12ceb95eef42ef21da43b4 49346
+brother-20201006-DCP7090-cups-en.ppd.gz dba588d07f12ceb95eef42ef21da43b4 49346
+brother-20201006-DCP7090DW-cups-en.ppd.gz 39ac2cafc1c499f2763e19ffb16583a2 49346
+brother-20201006-HL2290-cups-en.ppd.gz 39ac2cafc1c499f2763e19ffb16583a2 49346
+brother-20201006-HL2295D-cups-en.ppd.gz 095f20627abe2a99cb4f6049bc63c203 49346
+brother-20201006-MFCL2685DW-cups-en.ppd.gz c4df3eb0430845054d9f17f94d0002dd 49346
+cups-20170101-Generic-PDF_Printer-PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33482
+dymo-20200714-lm280.ppd.gz 6f4b9652036a47137f20eb71408d3a94 2156
+dymo-20200714-lm400.ppd.gz 6f4b9652036a47137f20eb71408d3a94 2156
+dymo-20200714-lm420p.ppd.gz 543303859e81fb96a1965d81035510ba 2158
+dymo-20200714-lm450.ppd.gz af031493c09f141578ccd858a637b452 2160
+dymo-20200714-lm500ts.ppd.gz d10f465460f92419ca2ba4eba7055067 3610
+dymo-20200714-lmpc2.ppd.gz 96030bba7a4b6efa39e9a719549869a2 2158
+dymo-20200714-lmpc.ppd.gz 8b04d63ca9b329cae57189749ccaec79 2154
+dymo-20200714-lmpnp.ppd.gz cded90ff56eb2756fbd4abf7246d4210 2150
+dymo-20200714-lmpnpw.ppd.gz d8a3dbb9b42b04f7a2e2a9fdfa08f69f 3476
+dymo-20200714-lp350.ppd.gz 8b04d63ca9b329cae57189749ccaec79 2154
+dymo-20200714-lw300.ppd.gz db2f63775c103515692c3224a0c71e65 5162
+dymo-20200714-lw315.ppd.gz db2f63775c103515692c3224a0c71e65 5162
+dymo-20200714-lw320.ppd.gz f320923e7cea453904a8f8b957a9a2a0 7250
+dymo-20200714-lw330.ppd.gz f320923e7cea453904a8f8b957a9a2a0 7250
+dymo-20200714-lw330t.ppd.gz f320923e7cea453904a8f8b957a9a2a0 7250
+dymo-20200714-lw400.ppd.gz 9b38392854b3e4081a3da0c3ea512756 7252
+dymo-20200714-lw400t.ppd.gz 9b38392854b3e4081a3da0c3ea512756 7252
+dymo-20200714-lw450dl.ppd.gz 9b38392854b3e4081a3da0c3ea512756 7252
+dymo-20200714-lw450dt.ppd.gz 7c4cd5def81f2ce2908823be55a6540a 2160
+dymo-20200714-lw450.ppd.gz 9b38392854b3e4081a3da0c3ea512756 7252
+dymo-20200714-lw450t.ppd.gz 9b38392854b3e4081a3da0c3ea512756 7252
+dymo-20200714-lw450tt.ppd.gz afb984c987bc5dae270787924aa1b103 7258
+dymo-20200714-lw4xl.ppd.gz 89bda9320dd0b485eb0ccb8fa506e922 20417
+dymo-20200714-lwduol.ppd.gz 9b38392854b3e4081a3da0c3ea512756 7252
+dymo-20200714-lwduot2.ppd.gz 7c4cd5def81f2ce2908823be55a6540a 2160
+dymo-20200714-lwduot.ppd.gz 2b74c9dba137b9409b94ba82159d17d3 2156
+dymo-20200714-lwtt.ppd.gz afb984c987bc5dae270787924aa1b103 7258
+dymo-20200714-se450.ppd.gz e88028a98b5c22a45c282dc4132413ac 3767
+epson-20170125-Epson-L380_Series-epson-escpr-en-1.6.10.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20170125-Epson-L382_Series-epson-escpr-en-1.6.10.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Artisan_1430-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Artisan_630-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Artisan_700-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Artisan_710-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Artisan_730-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-E-150-epson-escpr-en.ppd.gz f3d7c622860135b332472645e868853c 108512
+epson-20200615-1_6_41-Epson-E-300-epson-escpr-en.ppd.gz 32dcd4a5fafc860f45293b7c487440cb 108512
+epson-20200615-1_6_41-Epson-E-330-epson-escpr-en.ppd.gz f3d7c622860135b332472645e868853c 108512
+epson-20200615-1_6_41-Epson-E-350-epson-escpr-en.ppd.gz f3d7c622860135b332472645e868853c 108512
+epson-20200615-1_6_41-Epson-E-370_Series-epson-escpr-en.ppd.gz 3bf28096af826e2c1e20cb1bc4164f40 129806
+epson-20200615-1_6_41-Epson-E-500-epson-escpr-en.ppd.gz 32dcd4a5fafc860f45293b7c487440cb 108512
+epson-20200615-1_6_41-Epson-E-850_Series-epson-escpr-en.ppd.gz 3bf28096af826e2c1e20cb1bc4164f40 129806
+epson-20200615-1_6_41-Epson-EP-10VA_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-306_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-30VA_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-4004-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-702A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-EP-703A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-EP-705A_Series-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-EP-706A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-707A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-708A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-709A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-710A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-711A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-775A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-777A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-801A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-EP-804A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-EP-805A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-807A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-808A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-810A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-811A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-901A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-EP-906F_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-976A3_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-977A3_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-978A3_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-979A3_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EP-M570T_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-1110_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-16500_Series-epson-escpr-en.ppd.gz be1489684650ed3c1d57182f60711ab8 346097
+epson-20200615-1_6_41-Epson-ET-2500_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-2600_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-2700_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-2750_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-4550_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-7700_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ET-7750_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EW-M5071FT_Series-epson-escpr-en.ppd.gz 47030833c15048e10a19f9957a60c461 295943
+epson-20200615-1_6_41-Epson-EW-M571T_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EW-M660FT_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EW-M770T_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-EW-M970A3T_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-K200-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-L1455_Series-epson-escpr-en.ppd.gz 0550525b128a949412dff8128e8e9a1d 365528
+epson-20200615-1_6_41-Epson-L3050_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L364_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L375_Series-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-L455_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L5190_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L575_Series-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-L605_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L7180_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L805_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-L810_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-M200_Series-epson-escpr-en.ppd.gz bda91475e9758d8ea7d340d7b2c16895 358658
+epson-20200615-1_6_41-Epson-ME_200-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-ME-301_Series-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-ME-400_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-ME_OFFICE_530-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-ME_OFFICE_570-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-ME_OFFICE_620F-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-ME_OFFICE_650FN-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-ME_OFFICE_700FW-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PF-70_Series-epson-escpr-en.ppd.gz e39efdfab490b032379978901334db90 108512
+epson-20200615-1_6_41-Epson-PF-71_Series-epson-escpr-en.ppd.gz e39efdfab490b032379978901334db90 108512
+epson-20200615-1_6_41-Epson-PF-81_Series-epson-escpr-en.ppd.gz f3d7c622860135b332472645e868853c 108512
+epson-20200615-1_6_41-Epson-PictureMate_500-epson-escpr-en.ppd.gz a73bc13933393af3920f544c749808db 142610
+epson-20200615-1_6_41-Epson-PictureMate_PM_200-epson-escpr-en.ppd.gz 8d80952341d941434a0fb2487348eacc 142610
+epson-20200615-1_6_41-Epson-PictureMate_PM_240-epson-escpr-en.ppd.gz 8d80952341d941434a0fb2487348eacc 142610
+epson-20200615-1_6_41-Epson-PictureMate_PM_270-epson-escpr-en.ppd.gz a73bc13933393af3920f544c749808db 142610
+epson-20200615-1_6_41-Epson-PictureMate_PM_300-epson-escpr-en.ppd.gz a73bc13933393af3920f544c749808db 142610
+epson-20200615-1_6_41-Epson-PM-400_Series-epson-escpr-en.ppd.gz f3d7c622860135b332472645e868853c 108512
+epson-20200615-1_6_41-Epson-PM-A750-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-A820-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-A890-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-A920-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-A950-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-A970-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-D800-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PM-G4500-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PM-G850-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-046A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-047A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-048A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-049A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-1600F-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-205_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-404A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-405A_Series-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-435A_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-501A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-502A-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-5600-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-5V-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-A620-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-A640-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-A720-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-PX-B700-epson-escpr-en.ppd.gz 583de1866584cf6e76454556311e6c5a 289152
+epson-20200615-1_6_41-Epson-PX-G5300-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-M160T_Series-epson-escpr-en.ppd.gz bda91475e9758d8ea7d340d7b2c16895 358658
+epson-20200615-1_6_41-Epson-PX-M350F-epson-escpr-en.ppd.gz bda91475e9758d8ea7d340d7b2c16895 358658
+epson-20200615-1_6_41-Epson-PX-M5040F-epson-escpr-en.ppd.gz 14c5b3d0fd89107ee6e163e13dca8abb 365528
+epson-20200615-1_6_41-Epson-PX-M5041F-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-M650A-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-M7050FP-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-M740F-epson-escpr-en.ppd.gz 14c5b3d0fd89107ee6e163e13dca8abb 365528
+epson-20200615-1_6_41-Epson-PX-M741F-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-M840F-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-M860F-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-PX-S05_Series-epson-escpr-en.ppd.gz 6e6c2ee469fddd3e41cc0e23123755a1 366968
+epson-20200615-1_6_41-Epson-PX-S06_Series-epson-escpr-en.ppd.gz 6e6c2ee469fddd3e41cc0e23123755a1 366968
+epson-20200615-1_6_41-Epson-Stylus_CX3700-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_CX3800-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_CX4200-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_CX4900-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_CX5000-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_CX5900-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_CX6000-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_CX7300-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_CX7400-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_CX8300-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_CX8400-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_DX4200-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_DX5000-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_NX210-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_NX230-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_NX300-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_NX510-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_NX530-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX650-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX730-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX800FW-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_Photo_R1900-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_Photo_R2000-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_Photo_R340-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_Photo_R350-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_Photo_R380-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX580-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX640-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX680-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX685-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-WF-100_Series-epson-escpr-en.ppd.gz 6e6c2ee469fddd3e41cc0e23123755a1 366968
+epson-20200615-1_6_41-Epson-WF-2510_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-2630_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-2650_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-2830_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-3010_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-3620_Series-epson-escpr-en.ppd.gz 14c5b3d0fd89107ee6e163e13dca8abb 365528
+epson-20200615-1_6_41-Epson-WF-3640_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-4630_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-6090_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-6530_Series-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-WF-7110_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-7510_Series-epson-escpr-en.ppd.gz 11e992e11b3e2bdb5b45cb37aa1926ae 359043
+epson-20200615-1_6_41-Epson-WF-7610_Series-epson-escpr-en.ppd.gz 14c5b3d0fd89107ee6e163e13dca8abb 365528
+epson-20200615-1_6_41-Epson-WF-8010_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WF-M5190_Series-epson-escpr-en.ppd.gz bda91475e9758d8ea7d340d7b2c16895 358658
+epson-20200615-1_6_41-Epson-WorkForce_320-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WorkForce_600-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WorkForce_610-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-WP-4010_Series-epson-escpr-en.ppd.gz bcdf2048d21ef76670ed594ef1604170 281582
+epson-20200615-1_6_41-Epson-WP-4011_Series-epson-escpr-en.ppd.gz 583de1866584cf6e76454556311e6c5a 289152
+epson-20200615-1_6_41-Epson-WP-4020_Series-epson-escpr-en.ppd.gz 47030833c15048e10a19f9957a60c461 295943
+epson-20200615-1_6_41-Epson-WP-M4011_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-201_204_208_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-2100_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-211_214_216_Series-epson-escpr-en.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-1_6_41-Epson-XP-212_213_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-220_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-225_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-255_257_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-510_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-520_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-530_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-540_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-55_Series-epson-escpr-en.ppd.gz 0b24ec7c4b7f25a5c569d1e459838c96 365528
+epson-20200615-1_6_41-Epson-XP-600_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-610_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-620_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-630_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-640_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-7100_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-720_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-750_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-830_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-850_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-900_Series-epson-escpr-en.ppd.gz 14c5b3d0fd89107ee6e163e13dca8abb 365528
+epson-20200615-1_6_41-Epson-XP-950_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-1_6_41-Epson-XP-960_Series-epson-escpr-en.ppd.gz d6acec8c7aaaa4fb4bfbd998f790f780 365528
+epson-20200615-EPSON_EW-052A_Series.ppd.gz 5cf62fbb568d73b61951a383bcbc9a34 346097
+epson-20200615-Epson-LX-10000FK_Series_PS3.ppd.gz a3a4b86560af0cd1f3640c8c5af8bcd5 334294
+epson-20200615-Epson-LX-10000F_PS.ppd.gz 7d644058446d0866ab4c24d257b94920 334294
+epson-20200615-Epson-LX-10010MF_Series_PS3.ppd.gz ac425ea30a89eb73a7f07a27275f2773 288768
+epson-20200615-Epson-WF-C17590_Series_PS3.ppd.gz 35b3015b9817f082965a99d4b6ec4b5c 334294
+epson-20200615-Epson-WF-C20590_PS.ppd.gz 35b3015b9817f082965a99d4b6ec4b5c 334294
+epson-20200615-Epson-WF-M20590_Series_PS3.ppd.gz 177f43a30682494d5b30d51ab0429ebb 288768
+foomatic-20170101-Samsung-M332x_382x_402x-Postscript.ppd.gz f12d5b3a9470e9c732383dd849d14f60 288096
+foomatic-20190909-Ricoh-IM_430F-PostscriptMono-Ricoh.ppd.gz b42b215aab8608d086185b53d5aa40cb 289495
+foomatic-20190909-Ricoh-IM_430_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20190909-Ricoh-IM_C4500_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20191029-Apollo-P-1200-pcl3.ppd.gz 079d4813b81b905a226cc0193fc11650 74141
+foomatic-20191029-BR5070DN_GPL.ppd.gz 344bbdffb0e7b0bf8fbcdb507e716048 289171
+foomatic-20191029-Gestetner-Pro_C5200S_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33642
+foomatic-20191029-Lanier-Pro_8200S_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20191029-Lanier-Pro_8210_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20191029-Lanier-Pro_C7200_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33668
+foomatic-20191029-Lanier-Pro_C7200S_Light_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33668
+foomatic-20191029-shar208d.ppd.gz b1fdac279d7dae4a8f1ed18be61ff893 289705
+foomatic-20191029-shar208s.ppd.gz 2c4429571245c205c64be71da1bac42f 289606
+foomatic-20200219-Anitech-M24-epson.ppd.gz 549ff7ffdb7e93080da50335e44c08f1 2830
+foomatic-20200219-Apple-12_640ps-Postscript.ppd.gz e63f3d3cefb0c4b56cea7ad3d0c6f189 288096
+foomatic-20200219-Apple-LaserWriter_IIg-Postscript.ppd.gz 168d4c3a4618af39a1216d855d1cc2dd 288239
+foomatic-20200219-Apple-LaserWriter_Select_360-ljet2p.ppd.gz f7239c9e170d10f2f89ea61f670bd8be 33929
+foomatic-20200219-Brother-DCP-7010-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Brother-DCP-8020-Postscript-Brother.ppd.gz 02f70e4fdf05e0be9da3b238066a7322 288904
+foomatic-20200219-Brother-DCP-8025D-Postscript-Brother.ppd.gz a120f4fc421adf6322bee578bf0e0b2f 289016
+foomatic-20200219-Brother-DCP-8040-Postscript-Brother.ppd.gz 61ccee571ad7a3799624f4c8923add7f 288904
+foomatic-20200219-Brother-DCP-8045D-Postscript-Brother.ppd.gz 12ebc5dd38cb8081a4f2dd7e9b3dbbc3 289016
+foomatic-20200219-Brother-DCP-9010CN-Postscript-Brother.ppd.gz ae593e7b6f6135b9055b4591fca4635d 475834
+foomatic-20200219-Brother-DCP-9040CN-Postscript-Brother.ppd.gz f450fb9e95e34b8953d8e43f26378682 475858
+foomatic-20200219-Brother-DCP-9045CDN-Postscript-Brother.ppd.gz 05f33ac19aeaf8c469122cd6bb460a65 476044
+foomatic-20200219-Brother-HJ-400-lq850.ppd.gz 612b7f37268bce6a320da8372e050ff7 58605
+foomatic-20200219-Brother-HL-1030-hl1250.ppd.gz da0da22e9aeadbbc91a4280488b25917 17383
+foomatic-20200219-Brother-HL-1070-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Brother-HL-10V-ljet3.ppd.gz 10e730ed71d6ca79acf7b5c6dadd85e4 17067
+foomatic-20200219-Brother-HL-1230-hl1250.ppd.gz da0da22e9aeadbbc91a4280488b25917 17383
+foomatic-20200219-Brother-HL-1240-laserjet.ppd.gz 507b9f541a287105da56acf8c2500dd7 90540
+foomatic-20200219-Brother-HL-1250-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50957
+foomatic-20200219-Brother-HL-1270N-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50957
+foomatic-20200219-Brother-HL-1450-Postscript-Brother.ppd.gz cb2b6b1d3b53a721c32a27c267647ce6 288954
+foomatic-20200219-Brother-HL-1650_70N-Postscript-Brother.ppd.gz 5e8c76f70cb61e7329d0d2de4feea73c 289263
+foomatic-20200219-Brother-HL-1650-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 51003
+foomatic-20200219-Brother-HL-1660e-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 51003
+foomatic-20200219-Brother-HL-1850_70N-Postscript-Brother.ppd.gz e32287d1f4899bcf7db181d5433bcd02 289500
+foomatic-20200219-Brother-HL-1850-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 51003
+foomatic-20200219-Brother-HL-2060-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50957
+foomatic-20200219-Brother-HL-2240D-hl1250.ppd.gz a8d19510cf18979dc063417c3bd02916 51144
+foomatic-20200219-Brother-HL-2240-hl1250.ppd.gz a8d19510cf18979dc063417c3bd02916 51098
+foomatic-20200219-Brother-HL-2400CeN-pxlcolor.ppd.gz 03e1e86b1a8a9930fdb05a4e28cd56bd 144627
+foomatic-20200219-Brother-HL-2460N-pxlmono.ppd.gz aa58c9f5adee4733e7705b8983202a36 79848
+foomatic-20200219-Brother-HL-2460-Postscript-Brother.ppd.gz 662ba22771c815ba01caa5aa1801df41 289960
+foomatic-20200219-Brother-HL-2600CN-Postscript-Brother.ppd.gz b8461fb34a3f6c5843de62ed93e86159 477792
+foomatic-20200219-Brother-HL-2700CN-Postscript-Brother.ppd.gz 55f45b2cb3b7cfe435cf4d437f1d897e 476381
+foomatic-20200219-Brother-HL-3070CW-Postscript-Brother.ppd.gz bd17c37b80f521f82c313f8d8f1a3802 475910
+foomatic-20200219-Brother-HL-3260N-Postscript-Brother.ppd.gz 5904d9023cd0767f9905adce1ae0aea4 289940
+foomatic-20200219-Brother-HL-3450CN-Postscript-Brother.ppd.gz 10ffc6c28f5756e1952f185f0d2c17f2 477792
+foomatic-20200219-Brother-HL-4050CDN-Postscript-Brother.ppd.gz e6515c55fc1129b5116e7cab6524993f 476120
+foomatic-20200219-Brother-HL-4Ve-laserjet.ppd.gz 8cc98d56bc44cac5c411d43d71e75259 90456
+foomatic-20200219-Brother-HL-5030-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50957
+foomatic-20200219-Brother-HL-5050-Postscript-Brother.ppd.gz 601c6d8f7127456bd6fef239c216debd 289060
+foomatic-20200219-Brother-HL-5140-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Brother-HL-5150D-Postscript-Brother.ppd.gz d1414b8129753e9336c494e05589eb39 289172
+foomatic-20200219-Brother-HL-5240-Postscript-Brother.ppd.gz e7fbeda5589583c3736bf707abc8e547 289086
+foomatic-20200219-Brother-HL-5250DN-Postscript-Brother.ppd.gz 9ab8014c47d76384a771e4aa202e8fdd 289198
+foomatic-20200219-Brother-HL-5270DN-Postscript-Brother.ppd.gz c843480cf0b3290ba4588aee07bc0440 289622
+foomatic-20200219-Brother-HL-6050D_DN-Postscript-Brother.ppd.gz 9e6a91bd01aaee1510f411a5be35e772 289700
+foomatic-20200219-Brother-HL-6050-Postscript-Brother.ppd.gz 38a53486538348f9e196398625439572 289588
+foomatic-20200219-Brother-HL-7050N-pxlmono.ppd.gz aa58c9f5adee4733e7705b8983202a36 79898
+foomatic-20200219-Brother-HL-7050-Postscript-Brother.ppd.gz ae74da0a180474a7d459587274b50acb 290101
+foomatic-20200219-Brother-HL-8050N-Postscript-Brother.ppd.gz ec17683f2078209aed3272cd030ee921 289918
+foomatic-20200219-Brother-HL-8-ljetplus.ppd.gz 8cc98d56bc44cac5c411d43d71e75259 90456
+foomatic-20200219-Brother-MC-3000-epson.ppd.gz 549ff7ffdb7e93080da50335e44c08f1 2830
+foomatic-20200219-Brother-MFC-7450-Postscript-Brother.ppd.gz ab41be1093c7e704a2c74c9086cc3202 289398
+foomatic-20200219-Brother-MFC-8220-Postscript-Brother.ppd.gz 322776363e659ee6e0800fa7b5eeba38 288904
+foomatic-20200219-Brother-MFC-8440-Postscript-Brother.ppd.gz 70a45c34fafcc7577c92895bd2abc307 288904
+foomatic-20200219-Brother-MFC-8640D-Postscript-Brother.ppd.gz 829992d6aa01b9afc92187c8369408a0 289016
+foomatic-20200219-Brother-MFC-8670DN-Postscript-Brother.ppd.gz 578bb21befedef753a7bb02c76b3914a 289546
+foomatic-20200219-Brother-MFC-8820D-Postscript-Brother.ppd.gz 032c4584e965d3726ebffc39b73fb4c0 289016
+foomatic-20200219-Brother-MFC-9100c-epsonc.ppd.gz ab78e0bb8d605c9f633e4e0fe42c80c5 2965
+foomatic-20200219-Brother-MFC-9420CN-Postscript-Brother.ppd.gz 410904893af70ff94303606b4717d313 475633
+foomatic-20200219-Brother-MFC-9440CN-Postscript-Brother.ppd.gz ec6accd6179c4303fa5db533e1a4def5 475932
+foomatic-20200219-Brother-MFC-P2500-hl1250.ppd.gz da0da22e9aeadbbc91a4280488b25917 17383
+foomatic-20200219-Canon-BJ-100-bj200.ppd.gz 9d0d82376eaaf79674801dc3ebabc479 52765
+foomatic-20200219-Canon-BJ-10e-bj10e.ppd.gz 01bdecd5833fc0cea9552dd1fd84d6d4 53063
+foomatic-20200219-Canon-BJ-330-bj200.ppd.gz 9d0d82376eaaf79674801dc3ebabc479 52765
+foomatic-20200219-Canon-BJC-1000-bjc600.ppd.gz b19f932855d2f5aac4d7a8a974cac32b 112481
+foomatic-20200219-Canon-BJC-2100-bjc610XY.upp.ppd.gz d5fd77d9dbdffd01cc01fadd87d91eb2 97952
+foomatic-20200219-Canon-BJC-210-bjc600.ppd.gz b19f932855d2f5aac4d7a8a974cac32b 112481
+foomatic-20200219-Canon-BJC-210SP-bj200.ppd.gz 9d0d82376eaaf79674801dc3ebabc479 52765
+foomatic-20200219-Canon-BJC-250ex-bjc250gs.ppd.gz 6ae8ff3927a8cd818d3f91b209ac1f11 149841
+foomatic-20200219-Canon-BJC-255SP-bjc250gs.ppd.gz e93ab0f8ed80186a4fe56366d831fd3d 150129
+foomatic-20200219-Canon-BJC-4550-bjc800.ppd.gz aa1ef06dc5709224509c500ba5799339 112480
+foomatic-20200219-Canon-BJC-610-bjc610XY.upp.ppd.gz d5fd77d9dbdffd01cc01fadd87d91eb2 97952
+foomatic-20200219-Canon-BJC-800-bjc800.ppd.gz aa1ef06dc5709224509c500ba5799339 112480
+foomatic-20200219-Canon-BJC-8200-bj8XXYYZ.upp.ppd.gz 9b2c56c9a3ffae12ec0364fffc657ddf 166083
+foomatic-20200219-Canon-GP_405-Postscript.ppd.gz 0468263e8a260960692ef13732f3b1d4 288096
+foomatic-20200219-Canon-imageRunner_C2570-Postscript.ppd.gz b3d73d377ab5ee4d7816674839be9983 333357
+foomatic-20200219-Canon-iPR_C600-Postscript-Canon.ppd.gz 08af4039dc4c3bbb9b3b7d643e900234 338371
+foomatic-20200219-Canon-iPR_C650_PPD-Postscript-Canon.ppd.gz cd9cacd94801dfafdc8d5078dae4dda6 339998
+foomatic-20200219-Canon-iPR_C700_800-Postscript-Canon.ppd.gz ee94ed0029aa76f9c5013d63cca18976 340004
+foomatic-20200219-Canon-iPR_C750_850_PPD-Postscript-Canon.ppd.gz 8dcda70cd71dee5a48b9e3fcccbb1065 340012
+foomatic-20200219-Canon-iR-ADV_400_500-Postscript-Canon.ppd.gz bcca93d24a057f8fac7eb58693631cf1 290797
+foomatic-20200219-Canon-iR-ADV_4025_4035-Postscript-Canon.ppd.gz ef08655a61443f51bccbfa3d7588b059 291439
+foomatic-20200219-Canon-iR-ADV_4225_4235-Postscript-Canon.ppd.gz 5d47ac246eacc1adb0213d8009cbf7ab 291792
+foomatic-20200219-Canon-iR-ADV_6055_6065-Postscript-Canon.ppd.gz bb817dd1e909229ace448f1c578e867f 291672
+foomatic-20200219-Canon-iR-ADV_6255_6265-Postscript-Canon.ppd.gz c44ca41fa9ef9746d261b084cdb5718b 292013
+foomatic-20200219-Canon-iR-ADV_8085_8095-Postscript-Canon.ppd.gz c523af319e98a824faeea0e180f7e978 291743
+foomatic-20200219-Canon-iR-ADV_8205-Postscript-Canon.ppd.gz d3be36821645e192216677431b720653 292292
+foomatic-20200219-Canon-iR-ADV_C2020_2030-Postscript-Canon.ppd.gz 877c8454db961c73d7cf564c2218f583 337377
+foomatic-20200219-Canon-iR-ADV_C2020i_2030i-Postscript-Canon.ppd.gz b9cb0c693796a6a12aec37ff0ccc82df 337373
+foomatic-20200219-Canon-iR-ADV_C2025-Postscript-Canon.ppd.gz b9cb0c693796a6a12aec37ff0ccc82df 337373
+foomatic-20200219-Canon-iR-ADV_C2220_2230-Postscript-Canon.ppd.gz e49f661d6244ac0e8ed2d3933db35d8d 337932
+foomatic-20200219-Canon-iR-ADV_C2225-Postscript-Canon.ppd.gz 0e7f27d75194cb4168cca91177c31268 337932
+foomatic-20200219-Canon-iR-ADV_C250_350-Postscript-Canon.ppd.gz 5cfd34de12a4c66cef4fac077379ec06 337114
+foomatic-20200219-Canon-iR-ADV_C3320L-Postscript-Canon.ppd.gz b843247a703baa02c5bb4756f60c2a68 337816
+foomatic-20200219-Canon-iR-ADV_C3320-Postscript-Canon.ppd.gz df414f0b1917bb286685e21f4a631f9f 337888
+foomatic-20200219-Canon-iR-ADV_C3325_3330-Postscript-Canon.ppd.gz 192c1c52ea128272a1b33b6e090cdf92 337888
+foomatic-20200219-Canon-iR-ADV_C351-Postscript-Canon.ppd.gz 812f45472a469cd7ff8c80a5b2bb2344 337043
+foomatic-20200219-Canon-iR-ADV_C5030_5035-Postscript-Canon.ppd.gz bd1b0b273b6169bfe26cf3dc5e64db34 338754
+foomatic-20200219-Canon-iR-ADV_C5045_5051-Postscript-Canon.ppd.gz 7069e277e3a281597ce3d23851f5e0eb 338754
+foomatic-20200219-Canon-iR-ADV_C5235_5240-Postscript-Canon.ppd.gz d9c6a63478c078ae2064080d077e8b88 338820
+foomatic-20200219-Canon-iR-ADV_C5250_5255-Postscript-Canon.ppd.gz d9c6a63478c078ae2064080d077e8b88 338820
+foomatic-20200219-Canon-iR-ADV_C7055_7065-Postscript-Canon.ppd.gz 7922dcc4c838811660b67514079ea4b1 338560
+foomatic-20200219-Canon-iR-ADV_C7260_7270-Postscript-Canon.ppd.gz 51ce953beedb1083c67bc0526110301d 338901
+foomatic-20200219-Canon-iR-ADV_C7280-Postscript-Canon.ppd.gz b2d0c754fa0a821a15d62f467f70a756 339176
+foomatic-20200219-Canon-iR-ADV_C9060_9070-Postscript-Canon.ppd.gz 9b9016789c2217e27ea2f297346916c7 338627
+foomatic-20200219-Canon-iR-ADV_C9065_9075-Postscript-Canon.ppd.gz bb89e856614f2cf4d38b2959ee3e8811 338631
+foomatic-20200219-Canon-iR-ADV_C9270_9280-Postscript-Canon.ppd.gz a87df291657c84dbba48c5d5beb6fd9c 339180
+foomatic-20200219-Canon-LBP-1000-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50988
+foomatic-20200219-Canon-LBP-1760-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Canon-LBP-430-ljet4.ppd.gz 1c9f47ba243d4494624b982749ad8ba2 17158
+foomatic-20200219-Canon-LBP-4U-lbp8.ppd.gz da04ba317a36d96d3937d6b8ff0c380d 43257
+foomatic-20200219-Canon-LBP6670-Postscript-Canon.ppd.gz f54b576fd54b8bfb11fdde45e53d8975 288625
+foomatic-20200219-Canon-LBP6780_3580-Postscript-Canon.ppd.gz e02cc2a06aa1a39cb423810d9009b94d 288631
+foomatic-20200219-Canon-LBP710C_PPD-Postscript-Canon.ppd.gz ca4be37aa3aaef11a0affb2e42aa3c85 334855
+foomatic-20200219-Canon-LBP712C_PPD-Postscript-Canon.ppd.gz 62efee4b185c03cbe8b6f2eb3cb02fca 334858
+foomatic-20200219-Canon-LBP7660C-Postscript-Canon.ppd.gz 8a73eaf7e39200b352858a03b8adad7a 334862
+foomatic-20200219-Canon-LBP7680C_5280-Postscript-Canon.ppd.gz 7e3a68a37a59b21b78667f0ccf11a299 334862
+foomatic-20200219-Canon-LBP7780C_5480-Postscript-Canon.ppd.gz dd0722972e366cf996e1857727c8a908 334855
+foomatic-20200219-Canon-LBP8780-Postscript-Canon.ppd.gz d86adcef71394fe28bb6e008f2cf5636 288688
+foomatic-20200219-Canon-LIPS-III-lips3.ppd.gz 6130d5cb66d80afd9749a7de834f8f71 24402
+foomatic-20200219-Canon-LIPS-IIplus-lips2p.ppd.gz 7a6087c407215fe58a1868e78fec2abe 16623
+foomatic-20200219-Canon-S500-bj8XXYYZ.upp.ppd.gz 9b2c56c9a3ffae12ec0364fffc657ddf 166083
+foomatic-20200219-Citizen-ProJet_IIc-cdj500.ppd.gz 522b949faf6c52ee92979cc67813a0f7 52113
+foomatic-20200219-CItoh-M8510-m8510.ppd.gz d363b89cf6828c36ed84c57d99355168 29927
+foomatic-20200219-Compaq-IJ900-lxm5700m.ppd.gz e326ce8ef6f2f49e29a0705490765480 201023
+foomatic-20200219-DEC-DECWriter_500i-djet500.ppd.gz 4948bea0de077922c81c04c66ae45276 17145
+foomatic-20200219-DEC-LJ250-declj250.ppd.gz 462af91ee1308fc637f4516b9012a907 49404
+foomatic-20200219-Dell-M5200-Postscript.ppd.gz 116a4aaa32d44886926905abc6907094 288096
+foomatic-20200219-Epson-ActionPrinter_3250-ap3250.ppd.gz 040efac0dde19f78b520b8eedeaaf15e 32721
+foomatic-20200219-Epson-AL-2600-Postscript-Epson.ppd.gz 0fc05576083a3426d034bc51f1f795c1 335613
+foomatic-20200219-Epson-AL-C1900_PS3-Postscript-Epson.ppd.gz 2f9b73d286afd0c6ce937403eb499b78 335543
+foomatic-20200219-Epson-AL-C2000_PS3-Postscript-Epson.ppd.gz 4169c1878f135a525860ba74c91ea246 334821
+foomatic-20200219-Epson-AL-C2600-Postscript-Epson.ppd.gz 6866c2efd7331df0cbcabbe886519a02 335626
+foomatic-20200219-Epson-AL-C2800-Postscript-Epson.ppd.gz f214966c09606dcb605cd9ceac0eb2a9 335404
+foomatic-20200219-Epson-AL-C3800-Postscript-Epson.ppd.gz 164d0caa0787bed5dcd8a61e85c15d76 335404
+foomatic-20200219-Epson-AL-C4000_PS3-Postscript-Epson.ppd.gz f4215fa377cf4ddccf07b361145a68aa 335646
+foomatic-20200219-Epson-AL-C4100-Postscript-Epson.ppd.gz bae12d54db51e8e95ed1f0f584d80521 335460
+foomatic-20200219-Epson-AL-C4200-Postscript-Epson.ppd.gz 9f86120acb774b7a6badead248009d44 335616
+foomatic-20200219-Epson-AL-C8500-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Epson-AL-C8600_PS3-Postscript-Epson.ppd.gz e48e34ef651e164e960fbb596e05dbe9 335678
+foomatic-20200219-Epson-AL-C9100-Postscript-Epson.ppd.gz 30bae1dfaae5f3b1955d68cfb1daf644 335879
+foomatic-20200219-Epson-AL-C9200-Postscript-Epson.ppd.gz 43668a296cf9b0ee9dc9b63ac8c69f35 335362
+foomatic-20200219-Epson-AL-CX21-Postscript-Epson.ppd.gz f787db8dfb25d266ac3d8cac47cb0b5c 334752
+foomatic-20200219-Epson-AL-M2000-Postscript-Epson.ppd.gz 85ace2ae679d05a9cd1fcd41aaa8f986 289605
+foomatic-20200219-Epson-AL-M2300-eplaser.ppd.gz d70e11456e17a1b72935804b231ca0dd 2572286
+foomatic-20200219-Epson-AL-M2310-eplaser.ppd.gz d70e11456e17a1b72935804b231ca0dd 2572286
+foomatic-20200219-Epson-AL-M2400-Postscript-Epson.ppd.gz 3aed6c7ebe82ef929ee1afd0edbae10e 289617
+foomatic-20200219-Epson-AL-M4000-Postscript-Epson.ppd.gz bea967738ec9d7b74f58e82cd17e7013 289866
+foomatic-20200219-Epson-AL-M8000-Postscript-Epson.ppd.gz 3151c9ee976cb717dd28594a02304210 289683
+foomatic-20200219-Epson-AL-MX20-Postscript-Epson.ppd.gz 2917c883a360edadbf78f93a26ad1cb5 289475
+foomatic-20200219-Epson-Dot_Matrix-epsonc.ppd.gz ab78e0bb8d605c9f633e4e0fe42c80c5 2965
+foomatic-20200219-Epson-EPL-5800-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Epson-EPL-5900_PS3-Postscript-Epson.ppd.gz 9db0dfc83ec7a309692cff64c0f9270b 334228
+foomatic-20200219-Epson-EPL-6100_PS3-Postscript-Epson.ppd.gz 752e2310250996e342806d12591c4cf9 334228
+foomatic-20200219-Epson-EPL-6200-Postscript-Epson.ppd.gz 800333f55623c8a06ca07e9297b709f8 334976
+foomatic-20200219-Epson-EPL-7100-laserjet.ppd.gz 8cc98d56bc44cac5c411d43d71e75259 90456
+foomatic-20200219-Epson-EPL-N2120-ljet4.ppd.gz 0e475b0c02c70744d761622ecd089ff3 50873
+foomatic-20200219-Epson-EPL-N2500_PS3-Postscript-Epson.ppd.gz 5582bbe35ea7fffd15870ef0b8effb4f 334778
+foomatic-20200219-Epson-EPL-N2550-Postscript-Epson.ppd.gz b5678550a814b1065e9f2c120e762312 289428
+foomatic-20200219-Epson-EPL-N2700-Postscript-Epson.ppd.gz 500edceaab73b423ed0f752b58533d6d 335089
+foomatic-20200219-Epson-EPL-N3000-Postscript-Epson.ppd.gz b23f5c430e07f64f711685cdd3d0f927 335108
+foomatic-20200219-Epson-EPL-N7000-Postscript-Epson.ppd.gz 8fd2508ed924f27afb8b76d669dfff46 335016
+foomatic-20200219-Epson-LP-1800-eplaser-jp.ppd.gz 8cbff1ce764e4951720e73ba17ce3368 2571894
+foomatic-20200219-Epson-LP-1900-eplaser-jp.ppd.gz d43da8d0dfe474442086add88f222e00 2572284
+foomatic-20200219-Epson-LP-2200-eplaser-jp.ppd.gz 3058902d998659833477787651dc48f0 2572284
+foomatic-20200219-Epson-LP-2400-eplaser-jp.ppd.gz b403b7b5eac6456d5cfd5ba77cfbb3e4 2572284
+foomatic-20200219-Epson-LP-2500-eplaser-jp.ppd.gz f7e077554dcf35fc52ef328bcd1df857 2572284
+foomatic-20200219-Epson-LP-3000C-eplaser-jp.ppd.gz 60a215da754ded7ff6d1d3040435a474 3056665
+foomatic-20200219-Epson-LP-7500-eplaser-jp.ppd.gz e70098735613b42e399e860006cc7d0f 2572284
+foomatic-20200219-Epson-LP-7700-eplaser-jp.ppd.gz 5911ccbad4be670e8c82919a4bf4817a 2572284
+foomatic-20200219-Epson-LP-7900-eplaser-jp.ppd.gz 2bf4cecccf75ad876bc97ce0317797de 2572284
+foomatic-20200219-Epson-LP-8000C-eplaser-jp.ppd.gz bad917d5ce7046837728e7f8c1c07989 3056645
+foomatic-20200219-Epson-LP_8000-lp8000.ppd.gz a3a5ec5cb104c64a160efde0098ab25f 32131
+foomatic-20200219-Epson-LP-8100-eplaser-jp.ppd.gz bfa1be859b69c96ced99d58db8466f49 2572284
+foomatic-20200219-Epson-LP-8200C-eplaser-jp.ppd.gz 45aa07a16da04ef2dac4e4b5e4c5bd4f 3056665
+foomatic-20200219-Epson-LP-8300C-eplaser-jp.ppd.gz 65d3cf2624669eaa7ffd4c13bb486a75 3056665
+foomatic-20200219-Epson-LP-8300CPD-Postscript-Epson.ppd.gz 96c92775b408b3b74aea82bf8f765b7a 334847
+foomatic-20200219-Epson-LP-8300F-eplaser-jp.ppd.gz 94df5734d2f4c1fadd1c5d84f2c32769 2572286
+foomatic-20200219-Epson-LP-8400F-eplaser-jp.ppd.gz 6876bc323634b50cc1d9af33a71e622b 2572286
+foomatic-20200219-Epson-LP-8500C-eplaser-jp.ppd.gz a8a279b93485e7c8712ff270d6d019f3 3056665
+foomatic-20200219-Epson-LP-8500CPD-Postscript-Epson.ppd.gz 559ca705ebfbf18e81c995f7cf130eed 334826
+foomatic-20200219-Epson-LP-8600-eplaser-jp.ppd.gz 5ef1e27e157bbc00d4e4945dc4ffa353 2572284
+foomatic-20200219-Epson-LP-8600F-eplaser-jp.ppd.gz 976c478421029bd648bdfe72cbcf1e88 2572286
+foomatic-20200219-Epson-LP-8700-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-8800C-eplaser-jp.ppd.gz ad47ce76e80a2efd7f73fb1a5cd20266 3056665
+foomatic-20200219-Epson-LP-8800CPS-Postscript-Epson.ppd.gz 7d212ccabfadfaadf2fbdb3e602bbbde 335289
+foomatic-20200219-Epson-LP-8900-eplaser-jp.ppd.gz d1311a6d09e0d430948ba78a4cb80335 2572284
+foomatic-20200219-Epson-LP-9000B-eplaser-jp.ppd.gz 9cf40224ddc00785cc4f0fb0a4a1d0c4 2572286
+foomatic-20200219-Epson-LP-9000C-eplaser-jp.ppd.gz e8c99c4c3a9d30a8341e14e9e30163b2 3056665
+foomatic-20200219-Epson-LP-9100-eplaser-jp.ppd.gz 72e1548afb786c08df3922be89eb3b82 2572284
+foomatic-20200219-Epson-LP-9100PS3-Postscript-Epson.ppd.gz 7a20d766c408ab37708dd8a0454edc28 334615
+foomatic-20200219-Epson-LP-9200B-eplaser-jp.ppd.gz 4b6da6270fef42d40a94c6ecb5072cf2 2572286
+foomatic-20200219-Epson-LP-9200C-Postscript-Epson.ppd.gz 28fc58ea36b451ed807f1e205966544a 335030
+foomatic-20200219-Epson-LP-9300-eplaser-jp.ppd.gz 871c578fb8f4830d4741715e5b4e2d05 2572284
+foomatic-20200219-Epson-LP-9400-eplaser-jp.ppd.gz 4554b6e0f939d6ca3545e13bfe3cd85d 2572284
+foomatic-20200219-Epson-LP-9500C-eplaser-jp.ppd.gz c5814311d31ea27820333df3ea93a52f 3056665
+foomatic-20200219-Epson-LP-9500CPS-Postscript-Epson.ppd.gz be722444d6c34bfdc1c853faec0dc20b 335349
+foomatic-20200219-Epson-LP-9600-eplaser-jp.ppd.gz 280f47314647285cac2628888b267689 2571894
+foomatic-20200219-Epson-LP-9600S-eplaser-jp.ppd.gz 3e6f2a5a4f23e5a551efc0c7ddb13f0b 2572286
+foomatic-20200219-Epson-LP-9600SPD-Postscript-Epson.ppd.gz 1a41479bdf2e33709e5a10e2399d1c8c 289920
+foomatic-20200219-Epson-LP-9800C-Postscript-Epson.ppd.gz 06e1036f7a920d053132698c38a9810b 335221
+foomatic-20200219-Epson-LP-M5000-eplaser-jp.ppd.gz a8a279b93485e7c8712ff270d6d019f3 3056665
+foomatic-20200219-Epson-LP-M5300-eplaser-jp.ppd.gz a8a279b93485e7c8712ff270d6d019f3 3056665
+foomatic-20200219-Epson-LP-M6000-eplaser-jp.ppd.gz a8a279b93485e7c8712ff270d6d019f3 3056665
+foomatic-20200219-Epson-LP-S210-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S3000-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S300-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S310-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S3200-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S3500-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S4000-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S4200-eplaser-jp.ppd.gz 11af52bd999e3abba1a0770f1e129022 2572284
+foomatic-20200219-Epson-LP-S4500-eplaser-jp.ppd.gz b88c89f28bb45dd61bc49fc3f25f49a2 2572286
+foomatic-20200219-Epson-LP-S6500-eplaser-jp.ppd.gz 85065da144fde7b82752923210ad451e 3056665
+foomatic-20200219-Epson-LP-S7500-eplaser-jp.ppd.gz a8a279b93485e7c8712ff270d6d019f3 3056665
+foomatic-20200219-Epson-LP-S8100-eplaser-jp.ppd.gz 3f44067416ebbcd82989df229d8f9eb6 3056653
+foomatic-20200219-Epson-LX-300plus-ibmpro.ppd.gz 3d857a98886341cea95c25f21dea50c1 4676
+foomatic-20200219-Epson-MJ_520C-stcolor.ppd.gz 88ae75e8003ee80b4e649e63e1f8d0fe 111491
+foomatic-20200219-Epson-Stylus_Color_460-stcX.upp.ppd.gz 55005626a2ee713f99ae93563f341e72 93441
+foomatic-20200219-Epson-Stylus_Color_660-stc600X.upp.ppd.gz 9eb3c2ea0641222b4d933f199f1be3a7 97123
+foomatic-20200219-Epson-Stylus_Color_777-stcanyX.upp.ppd.gz df6778eaf42a47386d1e3315f312d369 115782
+foomatic-20200219-Epson-Stylus_Color_850-stc800X.upp.ppd.gz 762fe97d9fc9482afb1212588df88093 96782
+foomatic-20200219-Epson-Stylus_Color_II-stc2X.upp.ppd.gz e1ebb4e8470468c3337c3f737deb05b7 93354
+foomatic-20200219-Epson-Stylus_Color-stcolor.ppd.gz 0f7ca6ac11a7456945fee93fb56bf155 111491
+foomatic-20200219-Fuji_Xerox-DocuPrint_CM305_df-Postscript.ppd.gz d39b00a843c7942a4d26df3741af7f09 334492
+foomatic-20200219-Generic-ESC_P_Dot_Matrix_Printer-lq850.ppd.gz 612b7f37268bce6a320da8372e050ff7 58605
+foomatic-20200219-Generic-IBM-Compatible_Dot_Matrix_Printer-ibmpro.ppd.gz 3d857a98886341cea95c25f21dea50c1 4676
+foomatic-20200219-Generic-PCL_6_PCL_XL_Printer-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50953
+foomatic-20200219-Generic-PostScript_Printer-Postscript.ppd.gz 86046aff16dc2b40e71b28a9948fc567 333573
+foomatic-20200219-Gestetner-10512-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48576
+foomatic-20200219-Gestetner-2212-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48556
+foomatic-20200219-Gestetner-3502-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48575
+foomatic-20200219-Gestetner-3532_4235g-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48548
+foomatic-20200219-Gestetner-6002-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48548
+foomatic-20200219-Gestetner-9002-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48576
+foomatic-20200219-Gestetner-C7010-Postscript-Gestetner.ppd.gz fb350e386d87be14efbe810098d3b225 335072
+foomatic-20200219-Gestetner-C7116-Postscript-Gestetner.ppd.gz 02cfaca350b32484f8ad7482a0e905cc 334854
+foomatic-20200219-Gestetner-C7425dn-Postscript-Gestetner.ppd.gz c2ff022264194fa7b4f8cfc6b86472b1 336328
+foomatic-20200219-Gestetner-C7435n-Postscript-Gestetner.ppd.gz b9bdff0c1b8bd649a9e7383d19f59d8c 336578
+foomatic-20200219-Gestetner-C7521n-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33495
+foomatic-20200219-Gestetner-C7526dn-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33505
+foomatic-20200219-Gestetner-C7528n-Postscript-Gestetner.ppd.gz 4932bf23beeb759f46c1fc66d0be7f9e 336981
+foomatic-20200219-Gestetner-C7535n-Postscript-Gestetner.ppd.gz d79fdc9e71f82a8c21f45d0420be933d 336912
+foomatic-20200219-Gestetner-C7640nD-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-C8140ND-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-CS555-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33537
+foomatic-20200219-Gestetner-DSc1020-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1030-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Gestetner-DSc1045-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Gestetner-DSc1060-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Gestetner-DSc1120-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33553
+foomatic-20200219-Gestetner-DSc1220ex-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1220-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1230ex-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1230-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1245ex-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1245-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1260ex-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc1260-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-DSc224-Postscript-Gestetner.ppd.gz af42a2c1c46be5d501dbaf69d98bca2b 335308
+foomatic-20200219-Gestetner-DSc328-Postscript-Gestetner.ppd.gz 9f060d2491bf063390142e4354b4c069 336688
+foomatic-20200219-Gestetner-DSc38-Postscript-Gestetner.ppd.gz 3c02723ff4f9dbf0b6f1a94e651d99fe 335398
+foomatic-20200219-Gestetner-DSc38u-Postscript-Gestetner.ppd.gz 6a94b87a7eaf44304451806f4858976b 336632
+foomatic-20200219-Gestetner-DSc424-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33518
+foomatic-20200219-Gestetner-DSc428-pxlcolor-Gestetner.ppd.gz beaf2bc2b31dc99c7b3b70a1ca0456a4 144768
+foomatic-20200219-Gestetner-DSm1525-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33500
+foomatic-20200219-Gestetner-DSm2525-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-DSm2540-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-DSm_2625-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-DSm_2640-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-DSm_2660-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-DSm415-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48482
+foomatic-20200219-Gestetner-DSm615-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48489
+foomatic-20200219-Gestetner-DSm618d-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48509
+foomatic-20200219-Gestetner-DSm618-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48489
+foomatic-20200219-Gestetner-DSm622-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48529
+foomatic-20200219-Gestetner-DSm651-pxlmono-Gestetner.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48566
+foomatic-20200219-Gestetner-DSm725-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33455
+foomatic-20200219-Gestetner-DSm735_735G-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-F9199_9199nf-Postscript-Gestetner.ppd.gz b7c4f771308e80e006ecbcdf667e54b4 288513
+foomatic-20200219-Gestetner-GS1227-Postscript-Gestetner.ppd.gz cf060b111bae78ca3d7adadc0082365e 292761
+foomatic-20200219-Gestetner-GS3020-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-GS3030-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-GS3160-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Gestetner-GWD2004-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33393
+foomatic-20200219-Gestetner-GWD3006-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33393
+foomatic-20200219-Gestetner-GWD5100-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33393
+foomatic-20200219-Gestetner-MP1100_DSm7110-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33499
+foomatic-20200219-Gestetner-MP1600_DSm716-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33417
+foomatic-20200219-Gestetner-MP_161_DSm416-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33410
+foomatic-20200219-Gestetner-MP_171-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33410
+foomatic-20200219-Gestetner-MP2000_DSm721d-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33437
+foomatic-20200219-Gestetner-MP_2001-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33461
+foomatic-20200219-Gestetner-MP2352_DSm923-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33475
+foomatic-20200219-Gestetner-MP2500_DSm625-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33456
+foomatic-20200219-Gestetner-MP_2501-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33461
+foomatic-20200219-Gestetner-MP_2510_DSm725e-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33455
+foomatic-20200219-Gestetner-MP_2550-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-MP_2851-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-MP_301-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33434
+foomatic-20200219-Gestetner-MP_305plus-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33434
+foomatic-20200219-Gestetner-MP3500_DSm735e-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-MP_4000-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-MP_4001-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-MP_4002-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33500
+foomatic-20200219-Gestetner-MP_401SPF-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Gestetner-MP_402SPF-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Gestetner-MP5500_DSm755-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33499
+foomatic-20200219-Gestetner-MP_6001-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33523
+foomatic-20200219-Gestetner-MP_6002-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33548
+foomatic-20200219-Gestetner-MP_6503-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MPC1500_GS106-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33513
+foomatic-20200219-Gestetner-MP_C2050-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MP_C2051-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MPC2500_DSc525-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-MP_C2800-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MP_C3001-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MP_C3002-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Gestetner-MP_C300-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33532
+foomatic-20200219-Gestetner-MP_C300SR-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33552
+foomatic-20200219-Gestetner-MP_C305-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33557
+foomatic-20200219-Gestetner-MP_C306Z-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33557
+foomatic-20200219-Gestetner-MP_C307-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33557
+foomatic-20200219-Gestetner-MPC3500_DSc535-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-MP_C4000-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MP_C401-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33557
+foomatic-20200219-Gestetner-MP_C401SR-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33600
+foomatic-20200219-Gestetner-MP_C4501-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Gestetner-MP_C4502-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Gestetner-MP_C6000-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Gestetner-MP_C6501-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33595
+foomatic-20200219-Gestetner-MP_C6502-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33620
+foomatic-20200219-Gestetner-MP_C6503-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33643
+foomatic-20200219-Gestetner-MP_CW2200-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33498
+foomatic-20200219-Gestetner-MP_CW2201-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33506
+foomatic-20200219-Gestetner-MP_W6700-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33439
+foomatic-20200219-Gestetner-MP_W7100-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33439
+foomatic-20200219-Gestetner-P7026-Postscript-Gestetner.ppd.gz 767c85144cb132e02cb0e7a658671aa9 289162
+foomatic-20200219-Gestetner-P7031n-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33430
+foomatic-20200219-Gestetner-P7032-Postscript-Gestetner.ppd.gz 694adabd7b28af3f89ccecd9837c736f 289310
+foomatic-20200219-Gestetner-P7126-Postscript-Gestetner.ppd.gz 16edd17fdd9190b9e0b7c82178d36574 289187
+foomatic-20200219-Gestetner-P7132n-Postscript-Gestetner.ppd.gz 5fe63dd4fbe3cf07edd96a1fd3e31668 290281
+foomatic-20200219-Gestetner-P7145-Postscript-Gestetner.ppd.gz 3fab159617df9ba383f7925fc5e86132 289288
+foomatic-20200219-Gestetner-P7245-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-P7325-Postscript-Gestetner.ppd.gz 05cd20daeba27660902cfc19d8a11a52 290106
+foomatic-20200219-Gestetner-P7431cn-Postscript-Gestetner.ppd.gz b886bd86079c8e31796b4f6ba02a30b1 336039
+foomatic-20200219-Gestetner-P7527-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33423
+foomatic-20200219-Gestetner-P7535n-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33423
+foomatic-20200219-Gestetner-P7575-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33489
+foomatic-20200219-Gestetner-P7675-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33499
+foomatic-20200219-Gestetner-Pro_1106EX-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33499
+foomatic-20200219-Gestetner-Pro_1107EX-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33523
+foomatic-20200219-Gestetner-SP_4210N-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33430
+foomatic-20200219-Gestetner-SP_6330N-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33432
+foomatic-20200219-Gestetner-SP_8200DN-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33474
+foomatic-20200219-Gestetner-SP_C320DN-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33505
+foomatic-20200219-Gestetner-SP_C420DN-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33505
+foomatic-20200219-Gestetner-SP_C430DN-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33505
+foomatic-20200219-Gestetner-SP_W2470-PDF-Gestetner.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33393
+foomatic-20200219-IBM-3853_JetPrinter-jetp3852.ppd.gz 29170d588588d226f0b8ab326a29b085 29176
+foomatic-20200219-IBM-4303_Network_Color_Printer-Postscript.ppd.gz 74b3c35b2a6152d1da1235c9a6e8fce5 333357
+foomatic-20200219-Imagen-ImPress-imagen.ppd.gz 84f1a47e75004bf1bab197c8b3773971 17407
+foomatic-20200219-InfoPrint-Pro_1107EX-pxlmono-InfoPrint.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48576
+foomatic-20200219-Infotec-MP_201-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33410
+foomatic-20200219-Infotec-MP_501-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Infotec-Pro_8100S-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Infotec-Pro_8110-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Infotec-Pro_8300S-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33571
+foomatic-20200219-Infotec-Pro_8310-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Infotec-Pro_8310S-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Infotec-Pro_C5100S-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33620
+foomatic-20200219-Infotec-Pro_C7100-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33668
+foomatic-20200219-Infotec-Pro_C7100S-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33668
+foomatic-20200219-Infotec-SP_5300-PDF-Infotec.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Kodak-IS_70_CPII-Postscript.ppd.gz 2f5b31c230c1bfabdbc05c7b3ed61355 333266
+foomatic-20200219-KONICA_MINOLTA-bizhub_1050eP-Postscript-KONICA_MINOLTA.ppd.gz e23904c0a495c3ea475db320811723fd 293359
+foomatic-20200219-KONICA_MINOLTA-bizhub_500-Postscript-KONICA_MINOLTA.ppd.gz f47a61c0475dd5e7d7d54313ea0efadd 290727
+foomatic-20200219-KONICA_MINOLTA-bizhub_C250P-Postscript-KONICA_MINOLTA.ppd.gz ee3535c74ae5acdc71674c4b81482382 337596
+foomatic-20200219-KONICA_MINOLTA-bizhub_C252P-Postscript-KONICA_MINOLTA.ppd.gz 1d588c5b431194e7705ad85a19d70986 337596
+foomatic-20200219-KONICA_MINOLTA-bizhub_C351-Postscript-KONICA_MINOLTA.ppd.gz 51f2a7fa9a0cec9592d7da762658b90c 337613
+foomatic-20200219-KONICA_MINOLTA-bizhub_C352P-Postscript-KONICA_MINOLTA.ppd.gz f93c587e4053004f4d265853659cae89 337591
+foomatic-20200219-KONICA_MINOLTA-bizhub_C450P-Postscript-KONICA_MINOLTA.ppd.gz 159f2b36533e9dd82ec92ed85898fdc9 337613
+foomatic-20200219-KONICA_MINOLTA-bizhub_C451-Postscript-KONICA_MINOLTA.ppd.gz d2a639384a90217e442ca7d9cdbff5d8 337605
+foomatic-20200219-KONICA_MINOLTA-bizhub_C550-Postscript-KONICA_MINOLTA.ppd.gz 4bac086fb01cf23b4e052dbd950e2267 337460
+foomatic-20200219-Kyocera-Ci-1100-Postscript-Kyocera.ppd.gz 039197282b8183cabe0eb11523b4f7e2 336766
+foomatic-20200219-Kyocera-CS-1650-Postscript-Kyocera.ppd.gz 55026fbd55897821eea11d399c1f1e67 290647
+foomatic-20200219-Kyocera-CS-2050-Postscript-Kyocera.ppd.gz 01b57d0a0a1c0870e7fa0dceec548258 290577
+foomatic-20200219-Kyocera-FS-1030D-Postscript-Kyocera.ppd.gz 1c0c421b2a42a22353b3c0d45524c391 290104
+foomatic-20200219-Kyocera-FS-1118MFP-Postscript-Kyocera.ppd.gz 34abc8193cddf6d7aed0c0bf68edfe18 289800
+foomatic-20200219-Kyocera-FS-1200-Postscript-Kyocera.ppd.gz e25e2769e9fdc1405e6897f424e44a53 290078
+foomatic-20200219-Kyocera-FS-1700plus-Postscript-Kyocera.ppd.gz 804a482468b226cdd092cb77f657dbac 289866
+foomatic-20200219-Kyocera-FS-1700-Postscript-Kyocera.ppd.gz 382e1c0e31851903e0b0c5c36823f2a9 289868
+foomatic-20200219-Kyocera-FS-1714M-Postscript-Kyocera.ppd.gz 702be46b2bbb57656212d2b645676583 290104
+foomatic-20200219-Kyocera-FS-1800-Postscript-Kyocera.ppd.gz 293f537ceb4a30fd6006c7c11c6b7435 291173
+foomatic-20200219-Kyocera-FS-1900-Postscript-Kyocera.ppd.gz e7e7d071a7609170ee744623d18f8530 290175
+foomatic-20200219-Kyocera-FS-1920-Postscript-Kyocera.ppd.gz 5722ea050f1722aabf58a314dabdca40 290188
+foomatic-20200219-Kyocera-FS-2000D-Postscript-Kyocera.ppd.gz f57594e48a333884ad6cd02e87e56b1d 290321
+foomatic-20200219-Kyocera-FS-3700plus-Postscript-Kyocera.ppd.gz 630a047738b19e3e110a1f67a40b042a 289866
+foomatic-20200219-Kyocera-FS-3700-Postscript-Kyocera.ppd.gz 0145c990c54444cf5f3d2ceeff3bc646 289868
+foomatic-20200219-Kyocera-FS-3750-Postscript-Kyocera.ppd.gz 38b90d7242bc32e028b128ffa1d92778 290105
+foomatic-20200219-Kyocera-FS-3820N-Postscript-Kyocera.ppd.gz 9123f31976f95e629fd5a3ff5ac04ae3 290188
+foomatic-20200219-Kyocera-FS-3830N-Postscript-Kyocera.ppd.gz 3e3584d84af384b44a28a23aea75fe07 290188
+foomatic-20200219-Kyocera-FS-3900DN-Postscript-Kyocera.ppd.gz 9498a47a1c9b7cb0c9e0c8b7a3326aa7 290252
+foomatic-20200219-Kyocera-FS-4000DN-Postscript-Kyocera.ppd.gz 880d1f93abd216060c373312ed2ee895 290253
+foomatic-20200219-Kyocera-FS-5800C-Postscript-Kyocera.ppd.gz fd469caf1e6b45843ad21a248329d646 336887
+foomatic-20200219-Kyocera-FS-5900C-Postscript-Kyocera.ppd.gz 3cc93954895fe2f49f4c2e64d2f6624e 336766
+foomatic-20200219-Kyocera-FS-600-Postscript-Kyocera.ppd.gz 6436384a426f784139f17496c48840ee 289540
+foomatic-20200219-Kyocera-FS-6020-Postscript-Kyocera.ppd.gz 1852caa74d5adad992d1e34a91358a67 291110
+foomatic-20200219-Kyocera-FS-6026-Postscript-Kyocera.ppd.gz 41881421844a0d78ae8e811646c13e1d 290112
+foomatic-20200219-Kyocera-FS-6300-Postscript-Kyocera.ppd.gz b3c2090fc788ab42c7df60cd0203b9fd 289942
+foomatic-20200219-Kyocera-FS-6500plus-Postscript-Kyocera.ppd.gz 2a96515be5e849965cae9dc0c80233ef 289308
+foomatic-20200219-Kyocera-FS-6700-Postscript-Kyocera.ppd.gz 2f17732fab0354ea9d476d6fd8e09af8 290869
+foomatic-20200219-Kyocera-FS-6750-Postscript-Kyocera.ppd.gz af098f76a3ff7c84170ec0a91ca4c7cd 291113
+foomatic-20200219-Kyocera-FS-680-Postscript-Kyocera.ppd.gz 9b12c9cd60126eb996071b2c83bdba55 289540
+foomatic-20200219-Kyocera-FS-6900-Postscript-Kyocera.ppd.gz b865881ef6764e05d8287f75366f3498 290940
+foomatic-20200219-Kyocera-FS-6950DN-Postscript-Kyocera.ppd.gz 9ef8ea81ddaab8d8474d6f767ae44a8a 290299
+foomatic-20200219-Kyocera-FS-7000-Postscript-Kyocera.ppd.gz b9bd1748f55664acd6b5d88fc68d4bcf 291446
+foomatic-20200219-Kyocera-FS-7028M-Postscript-Kyocera.ppd.gz fe6f97e24b8a14dca33154e2933f0bdd 291516
+foomatic-20200219-Kyocera-FS-8000C-Postscript-Kyocera.ppd.gz 4e382c395e46288ef20e5e2d2a55e107 337159
+foomatic-20200219-Kyocera-FS-9000-Postscript-Kyocera.ppd.gz bb1cd1e329d8d15a26e598cea96d23db 291517
+foomatic-20200219-Kyocera-FS-9100DN-Postscript-Kyocera.ppd.gz 5749a67d1a4372375246d60b73be20f8 291624
+foomatic-20200219-Kyocera-FS-920-Postscript-Kyocera.ppd.gz e5f1be1b1fe2a86f836ec9547eed2ba5 289581
+foomatic-20200219-Kyocera-FS-C5015N-Postscript-Kyocera.ppd.gz b59ba924c83d94f135730e94c7be92ec 335927
+foomatic-20200219-Kyocera-FS-C5016N-Postscript-Kyocera.ppd.gz c6dbc7099296c21e4bb51108dfe8295f 335564
+foomatic-20200219-Kyocera-FS-C5020N-Postscript-Kyocera.ppd.gz 3db5220fb8f0b4b10a7c341c75d8871a 335966
+foomatic-20200219-Kyocera-FS-C5025N-Postscript-Kyocera.ppd.gz 08e0a53e94dbb9ace34e66e7eafe88d1 335995
+foomatic-20200219-Kyocera-FS-C5030N-Postscript-Kyocera.ppd.gz bdba3e7028b8186b8c613751fe43e9a3 335966
+foomatic-20200219-Kyocera-FS-C8008N-Postscript-Kyocera.ppd.gz 78829de0c47fcae25bc7c274e5bd1fb0 336004
+foomatic-20200219-Kyocera-FS-C8026N-Postscript-Kyocera.ppd.gz 580a0fb03f39b583ac99019f1d77c1ac 336370
+foomatic-20200219-Kyocera-FS-C8100DNplus_KPDL-Postscript-Kyocera.ppd.gz b0182ec3e5adb48f1c7b8a2cce7b7977 336712
+foomatic-20200219-Kyocera-FS-C8100DN-Postscript-Kyocera.ppd.gz 0993cd38ec6f042eb4b1c2e4a196b1b8 336701
+foomatic-20200219-Kyocera-KM-1510-Postscript-Kyocera.ppd.gz 9cba0fadc77beb570fe48630d2a4faad 289913
+foomatic-20200219-Kyocera-KM-1530-Postscript-Kyocera.ppd.gz 21617f6b38d95f84437bb4e8ef56c663 289979
+foomatic-20200219-Kyocera-KM-1810-Postscript-Kyocera.ppd.gz 7586e373466a01f4854be84e0ea955b3 289913
+foomatic-20200219-Kyocera-KM-1820-Postscript-Kyocera.ppd.gz 633a9fe770dbd9e41391171a5cfa6bc2 290051
+foomatic-20200219-Kyocera-KM-2030-Postscript-Kyocera.ppd.gz 266ea35b87d09ac8a4358946f2177dbd 290263
+foomatic-20200219-Kyocera-KM-3050-Postscript-Kyocera.ppd.gz dd5b53e3850f8fd6af05eb46cb86e825 291310
+foomatic-20200219-Kyocera-KM-4230_5230-Postscript-Kyocera.ppd.gz dca4b71577c57a98da434f7447cd5a03 289802
+foomatic-20200219-Kyocera-KM-4530-Postscript-Kyocera.ppd.gz e3723ac5e8413b817241147305100e05 292443
+foomatic-20200219-Kyocera-KM-5530-Postscript-Kyocera.ppd.gz 71280416e15f18d54582a67344fa24b5 292509
+foomatic-20200219-Kyocera-KM-6030-Postscript-Kyocera.ppd.gz 69a1640c1cb216c70d1c635311acf2b9 291406
+foomatic-20200219-Kyocera-KM-6230-Postscript-Kyocera.ppd.gz d1eefd239bf142f895595a7dbca39a48 289846
+foomatic-20200219-Kyocera-KM-6330-Postscript-Kyocera.ppd.gz d208e1e071dae1dfcf47c6aa9c6755ae 292509
+foomatic-20200219-Kyocera-KM-C2520-Postscript-Kyocera.ppd.gz f7e699ab8b8173f3e4c0e743916f32ae 336772
+foomatic-20200219-Kyocera-KM-C2630-Postscript-Kyocera.ppd.gz 155661ba56c688869cb4eeaf9d0312bd 336370
+foomatic-20200219-Kyocera-KM-C830-Postscript-Kyocera.ppd.gz 4e3bf862baeb7293643cf47a3b05c47c 337998
+foomatic-20200219-Kyocera-KM-C850-Postscript-Kyocera.ppd.gz 008f9aabf4c9336af7eb64891c76cd9c 336609
+foomatic-20200219-Lanier-MP_C501-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Lanier-P_501-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Lanier-SG3110DN-pxlcolor-Lanier.ppd.gz c63c87522c6c43e103f8fa663192b214 122793
+foomatic-20200219-Lanier-SG3110SFNw-pxlcolor-Lanier.ppd.gz c63c87522c6c43e103f8fa663192b214 122793
+foomatic-20200219-Lanier-SP_3400N-Postscript-Lanier.ppd.gz 17b91eebdf950cc36b0136086a3935d2 289341
+foomatic-20200219-Lanier-SP_3410DN-Postscript-Lanier.ppd.gz 57766158c7448a8336951e0421397a11 289442
+foomatic-20200219-Lanier-SP_3600DN-Postscript-Lanier.ppd.gz 1be42364d4060d3ae2581bb01d5e0d5a 290503
+foomatic-20200219-Lanier-SP_4310N-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33431
+foomatic-20200219-Lanier-SP_4510DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Lanier-SP_5200DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33431
+foomatic-20200219-Lanier-SP_5200S-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33431
+foomatic-20200219-Lanier-SP_5210SF-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Lanier-SP_5210SR-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33451
+foomatic-20200219-Lanier-SP_6430DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33481
+foomatic-20200219-Lanier-SP_8300DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33500
+foomatic-20200219-Lanier-SP_8400DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33547
+foomatic-20200219-Lanier-SP_C221N-Postscript-Lanier.ppd.gz 00fe886e066753cfe1bd10810b92d9aa 335761
+foomatic-20200219-Lanier-SP_C222DN-Postscript-Lanier.ppd.gz df720185c873a86a6090c21671c020e4 335862
+foomatic-20200219-Lanier-SP_C222SF-Postscript-Lanier.ppd.gz 8946cf3c77fcdcbaef993db35a777d6c 336114
+foomatic-20200219-Lanier-SP_C232SF-Postscript-Lanier.ppd.gz 38972998420fe9be4de4b17396263bbf 336113
+foomatic-20200219-Lanier-SP_C311N-Postscript-Lanier.ppd.gz 415dda488bba0d5482ce3d98e297bb23 335761
+foomatic-20200219-Lanier-SP_C312DN-Postscript-Lanier.ppd.gz 0cc2b48fadf0504a36e9c5f3337ab674 335863
+foomatic-20200219-Lanier-SP_C340DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33531
+foomatic-20200219-Lanier-SP_C342DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33530
+foomatic-20200219-Lanier-SP_C352DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33530
+foomatic-20200219-Lanier-SP_C360DNw-Postscript-Lanier.ppd.gz 3f1aa687f9135062a2b6550150182eb7 338043
+foomatic-20200219-Lanier-SP_C360SFNw-Postscript-Lanier.ppd.gz a133196e875238f59ec1683fd7bdae33 338747
+foomatic-20200219-Lanier-SP_C435DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33530
+foomatic-20200219-Lanier-SP_C730DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33530
+foomatic-20200219-Lanier-SP_C830DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33596
+foomatic-20200219-Lanier-SP_C840DN-PDF-Lanier.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33619
+foomatic-20200219-Lexmark-1020_Business-pcl3.ppd.gz 7afaa0cc2e06d03f32df02ca5bc583b9 69191
+foomatic-20200219-Lexmark-4039_10plus-Postscript.ppd.gz 365c44e5ca6628ad727378878fb36fb4 288312
+foomatic-20200219-Lexmark-C2132-Postscript-Lexmark.ppd.gz a0c2b868718079737e0a018aef9bda04 335785
+foomatic-20200219-Lexmark-C500n-Postscript.ppd.gz 5ee65426a1dd4085bef21e0cadca78cb 333573
+foomatic-20200219-Lexmark-C510b-Postscript.ppd.gz 7eef9b983c07db44ef7be3bbace54bb7 288312
+foomatic-20200219-Lexmark-C510-Postscript-Lexmark.ppd.gz 17b00e906731a65598ff6b139f86fb94 335275
+foomatic-20200219-Lexmark-C520-Postscript-Lexmark.ppd.gz 67d1db35bb700c18f4d49cc9dc4728d1 335426
+foomatic-20200219-Lexmark-C522-Postscript-Lexmark.ppd.gz 514664ca7b825dfd5caa0744b86f17de 335568
+foomatic-20200219-Lexmark-C524-Postscript-Lexmark.ppd.gz 65160dba3e3889aa97fd48049e477e48 335754
+foomatic-20200219-Lexmark-C540-Postscript-Lexmark.ppd.gz 0c616b70d669bd933bdc16474d059390 335558
+foomatic-20200219-Lexmark-C543-Postscript-Lexmark.ppd.gz 42d2fc5e81c70a505372691d75107963 335555
+foomatic-20200219-Lexmark-C544-Postscript-Lexmark.ppd.gz d15a62b7f4d076cea3dac547e676400a 335702
+foomatic-20200219-Lexmark-C546-Postscript-Lexmark.ppd.gz e27807a15ae741ca74d3e82052b1c078 335702
+foomatic-20200219-Lexmark-C720n-pxlcolor.ppd.gz 03e1e86b1a8a9930fdb05a4e28cd56bd 144627
+foomatic-20200219-Lexmark-C734-Postscript-Lexmark.ppd.gz ba34cf4c8d1f37c5fc67c66f240c1a8f 335668
+foomatic-20200219-Lexmark-C736-Postscript-Lexmark.ppd.gz 7662c057fa9ef1f6214e77f0185a61a6 335668
+foomatic-20200219-Lexmark-C750-Postscript-Lexmark.ppd.gz 8fb50307eb09308aaf6607eae7f9d2b7 335021
+foomatic-20200219-Lexmark-C752-Postscript-Lexmark.ppd.gz 630cc6c8fb3d32d0191570daa9920a42 335798
+foomatic-20200219-Lexmark-C780-Postscript-Lexmark.ppd.gz c4e7a40066727668036c26ba933fb865 336288
+foomatic-20200219-Lexmark-C782-Postscript-Lexmark.ppd.gz 1c3e3102afcbd4253f37ceb73ad9c64d 336665
+foomatic-20200219-Lexmark-C910-Postscript-Lexmark.ppd.gz f6041638e02e61d6f37ad72e96a6905f 334946
+foomatic-20200219-Lexmark-C912-Postscript-Lexmark.ppd.gz eee138bcfc52b95bd552737521ce386c 334946
+foomatic-20200219-Lexmark-C930-Postscript-Lexmark.ppd.gz 25067f618f404bd25a128b69aa234556 336690
+foomatic-20200219-Lexmark-C935-Postscript-Lexmark.ppd.gz 365f0746927ed2ee0cb4086fafb896d5 336690
+foomatic-20200219-Lexmark-E238-pxlmono.ppd.gz aa58c9f5adee4733e7705b8983202a36 79848
+foomatic-20200219-Lexmark-E260dn-Postscript-Lexmark.ppd.gz 2dd56975d8b84f485166cb5fa872c42f 334754
+foomatic-20200219-Lexmark-E350d-Postscript-Lexmark.ppd.gz f7196c1019eab44aed65f13fd8356380 289188
+foomatic-20200219-Lexmark-E360dn-Postscript-Lexmark.ppd.gz c34d5276e16388d4c319eb93f5dd8b11 334826
+foomatic-20200219-Lexmark-EG460dn-Postscript-Lexmark.ppd.gz 00a59793b81b705188055d54d5f449de 334826
+foomatic-20200219-Lexmark-Optra_Color_1200-Postscript.ppd.gz d72f2227a4c3fe6bf0c312015a49e467 333573
+foomatic-20200219-Lexmark-T650-Postscript-Lexmark.ppd.gz 7b46a8fd1374d8ea7c21c8d0af167add 335294
+foomatic-20200219-Lexmark-T656-Postscript-Lexmark.ppd.gz 66eed4785b1bbea4ea4df56349b84eae 335218
+foomatic-20200219-Lexmark-W850-Postscript-Lexmark.ppd.gz a8fd797609b6fb4303c46c6e8545e706 335205
+foomatic-20200219-Lexmark-X203n-Postscript-Lexmark.ppd.gz 9520745e31bfe160fc9972c364ede062 334041
+foomatic-20200219-Lexmark-X264dn-Postscript-Lexmark.ppd.gz 9bf6965fbc16894465c03d7a52c0216f 334600
+foomatic-20200219-Lexmark-X363dn-Postscript-Lexmark.ppd.gz aa5280a71d1fe7d002bbcd6d7dfa77e8 334600
+foomatic-20200219-Lexmark-X463de-Postscript-Lexmark.ppd.gz 1b91cd8acd221d798e8efec2819a418f 334598
+foomatic-20200219-Lexmark-X543-Postscript-Lexmark.ppd.gz 08d4f6686f5611eda43cb464535fff13 335555
+foomatic-20200219-Lexmark-X544-Postscript-Lexmark.ppd.gz 8f68c1a67443bd632e7b6c806956217f 335702
+foomatic-20200219-Lexmark-X546-Postscript-Lexmark.ppd.gz 1992fa05579833059adb5247b96a8b7d 335702
+foomatic-20200219-Lexmark-X734de-Postscript-Lexmark.ppd.gz 948fdb7dd1a98a36ad0dfa6989bc1201 335598
+foomatic-20200219-Lexmark-X860de-Postscript-Lexmark.ppd.gz b7038260896e06e62008af06db19d626 335283
+foomatic-20200219-Lexmark-X940e-Postscript-Lexmark.ppd.gz 5eb2c052845fff339b0c54bce9303e9e 336690
+foomatic-20200219-Minolta-magicolor_3100-Postscript.ppd.gz 47c740ae62767ef358eb431ed29d158e 333357
+foomatic-20200219-Minolta-PagePro_8L-ljet2p.ppd.gz fde3c7e3f90f7b94a44b8c1977d174f6 106692
+foomatic-20200219-NEC-P2X-necp2xX.upp.ppd.gz d63f9d97c5b3018ff0759ae1a11dd0e3 136155
+foomatic-20200219-NEC-PICTY180-picty180.ppd.gz 701d6194b98c15676dcf15885176e72c 43669
+foomatic-20200219-NEC-Pinwriter_P20-necp6.ppd.gz 72fa6ea2a854a975d8a4b84ae13c82cc 58605
+foomatic-20200219-NEC-PinWriter_P6-necp6.ppd.gz 72fa6ea2a854a975d8a4b84ae13c82cc 58605
+foomatic-20200219-NEC-SuperScript_650C-pcl3.ppd.gz 7afaa0cc2e06d03f32df02ca5bc583b9 69191
+foomatic-20200219-NRG-SP_3500N-Postscript-NRG.ppd.gz b6435a70515a28ac1ef9bdb730d626d0 289457
+foomatic-20200219-NRG-SP_3510DN-Postscript-NRG.ppd.gz c8ed32e07d01a07db9b85046372a3d82 289558
+foomatic-20200219-NRG-SP_C242DN-Postscript-NRG.ppd.gz 6654ec22ff15af092b2263fe6a9486df 336654
+foomatic-20200219-Oce-3145PS-Postscript2-Oce.ppd.gz ef9548876987e4a51e30fc1cde7de437 288398
+foomatic-20200219-Oce-8445PS-Postscript2-Oce.ppd.gz b44cb34d01429d95b4cd9d2ec3535fd2 288370
+foomatic-20200219-Oce-9050-oce9050.ppd.gz 037521d171d0e95d522d20038d0aa816 18469
+foomatic-20200219-Oce-9230-Postscript2-Oce.ppd.gz 4d80e659f74ff94c80aac700113e2722 288369
+foomatic-20200219-Oce-9260-Postscript2-Oce.ppd.gz 907357c7613a2b39d685d8047698d730 288369
+foomatic-20200219-Oce-PPC3073PS-Postscript-Oce.ppd.gz 872d6ce5b9844140451ffb1c12697aa9 288449
+foomatic-20200219-Oce-PPC3074PS-Postscript-Oce.ppd.gz 872d6ce5b9844140451ffb1c12697aa9 288449
+foomatic-20200219-Oce-PPC5115PS-Postscript-Oce.ppd.gz bde30dc2bd5a64c44a8548ffb51e0c85 288567
+foomatic-20200219-Oce-VarioPrint_2045PS-Postscript-Oce.ppd.gz 681e56481bbf4f49d0de418772b9d380 288435
+foomatic-20200219-Oce-VarioPrint_2090PS-Postscript-Oce.ppd.gz 30dda5c29442c276d54c69ad03906315 334019
+foomatic-20200219-Oce-VarioPrint_2100PS-Postscript-Oce.ppd.gz b6f7a93865fc33517663c6df7d93f8a7 334521
+foomatic-20200219-Oce-VarioPrint_2105PS-Postscript-Oce.ppd.gz 43a37a2c739b078b16a2617889669e48 288458
+foomatic-20200219-Oki-14i-Postscript-Oki.ppd.gz fec4c440856768116a5026c3b6abfd32 289370
+foomatic-20200219-Oki-B4350-Postscript-Oki.ppd.gz 88a5ad14f1977f18c52f8cfad186e498 290266
+foomatic-20200219-Oki-C5400-Postscript-Oki.ppd.gz b8de5c04fc938266ca557bcdc3ab68a5 338083
+foomatic-20200219-Oki-C5700-Postscript-Oki.ppd.gz 948645a238925bfb326908e9eaf0662d 339305
+foomatic-20200219-Oki-C5900-Postscript-Oki.ppd.gz 8640378d45abe217b50797bb33bab700 339304
+foomatic-20200219-Oki-C6100-Postscript-Oki.ppd.gz 0bc2da589078b75c4d31cbfca0f0ac35 339308
+foomatic-20200219-Oki-C8800-Postscript-Oki.ppd.gz d5df71195e68bb5e26e1d5c00e873a06 339230
+foomatic-20200219-Oki-C9600-Postscript-Oki.ppd.gz 56c477eb2ff505323df78c16f679d84a 339239
+foomatic-20200219-Oki-Microline_182-oki182.ppd.gz 72136b4a6538ef16a333de42f894c16b 23158
+foomatic-20200219-Oki-ML_320-okiibm.ppd.gz 08413db1fd51369c2994e547eba091b0 10399
+foomatic-20200219-Oki-Okijet_2500-cdj550.ppd.gz a73be5cb6b248f70b08ea493eda4a7f9 53817
+foomatic-20200219-Oki-OL410e-ljet4.ppd.gz 1c9f47ba243d4494624b982749ad8ba2 17158
+foomatic-20200219-Olivetti-JP350S-laserjet.ppd.gz 8cc98d56bc44cac5c411d43d71e75259 90456
+foomatic-20200219-Olivetti-JP450-djet500.ppd.gz 4948bea0de077922c81c04c66ae45276 17145
+foomatic-20200219-Panasonic-KX-P1150-eps9high.ppd.gz fc27aa053ba65c3d90c3159cd0d5073a 10266
+foomatic-20200219-Ricoh-4081-r4081.ppd.gz be4af06638bf3a8a1b5a06ea28a10a7b 216957
+foomatic-20200219-Ricoh-ColorLaser_AP828-Postscript-Ricoh.ppd.gz 4043bc77def30fe7c1dbc07eb89de868 335096
+foomatic-20200219-Ricoh-DDP_70-Postscript-Ricoh.ppd.gz 39640ef27431f625184e652d3c817156 289999
+foomatic-20200219-Ricoh-DDP_92-Postscript-Ricoh.ppd.gz f193c4095187147ca73e6ce32278fa3d 289998
+foomatic-20200219-Ricoh-EMP_156-Postscript-Ricoh.ppd.gz 51741bb4372728e6caf5cbc2c5b125e1 289224
+foomatic-20200219-Ricoh-GX_3050N-pxlcolor-Ricoh.ppd.gz c63c87522c6c43e103f8fa663192b214 122768
+foomatic-20200219-Ricoh-GX_3050SFN-pxlcolor-Ricoh.ppd.gz c63c87522c6c43e103f8fa663192b214 122768
+foomatic-20200219-Ricoh-GX_E3350N-pxlcolor-Ricoh.ppd.gz c63c87522c6c43e103f8fa663192b214 122768
+foomatic-20200219-Ricoh-GX_E5550N-pxlcolor-Ricoh.ppd.gz c63c87522c6c43e103f8fa663192b214 122793
+foomatic-20200219-Ricoh-SP_2300L-pcl5-Ricoh.ppd.gz 0de3c5ca2bb01a6ecbd63d689a51d87b 524079
+foomatic-20200219-Ricoh-SP_330DN-Postscript-Ricoh.ppd.gz 284c89e39139298a8ff4c4373ca3a46a 289810
+foomatic-20200219-Ricoh-SP_330SFN-Postscript-Ricoh.ppd.gz a18df1e75681fea4c719c67af612e1ed 289810
+foomatic-20200219-Ricoh-SP_3700-Postscript-Ricoh.ppd.gz 8b4bb011a6e5d8947f6e10762f60890d 289810
+foomatic-20200219-Ricoh-SP_3700SF-Postscript-Ricoh.ppd.gz 64b9f82e4919b68e0dca53299131645b 289810
+foomatic-20200219-Ricoh-SP_400DN-Postscript-Ricoh.ppd.gz b7905112c5cbd7c43962679c9e261bbe 290762
+foomatic-20200219-Ricoh-SP_450DN-PDF-Ricoh.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33458
+foomatic-20200219-Ricoh-SP_C250DN-Postscript-Ricoh.ppd.gz b6758c6dfcb23a3b21f254d30e3a9375 336654
+foomatic-20200219-Ricoh-SP_C250SF-Postscript-Ricoh.ppd.gz 20d2484c38402587113fe48fed8f50f3 336654
+foomatic-20200219-Ricoh-SP_C261DNw-Postscript-Ricoh.ppd.gz 654781edd34fe0c04ce580cf522c4613 336654
+foomatic-20200219-Samsung-C140x-Postscript-Samsung.ppd.gz c08afbfadc48acbbeddc665ceba2f1c2 333891
+foomatic-20200219-Samsung-C2620-Postscript-Samsung.ppd.gz 579d2c8105f73b845d201dda98784953 334215
+foomatic-20200219-Samsung-C2670-Postscript-Samsung.ppd.gz f788cbd49c5e1f9240c9d2bf6543646a 334390
+foomatic-20200219-Samsung-C460-Postscript-Samsung.ppd.gz 7ceec7e8ff5b7a36823a02f17b8ce1e6 333830
+foomatic-20200219-Samsung-C4820-Postscript-Samsung.ppd.gz 42543334b9742e2ea77e31f44223d61d 334316
+foomatic-20200219-Samsung-C48x-Postscript-Samsung.ppd.gz c86931d81535107e706d575687366e80 333861
+foomatic-20200219-Samsung-CLP-350-Postscript-Samsung.ppd.gz 3884ac5502d78bf7f005721c63f9dbe1 333347
+foomatic-20200219-Samsung-CLP-410-Postscript-Samsung.ppd.gz 7f735030e32c34dc2bbc5449e90d4b4e 333860
+foomatic-20200219-Samsung-CLP-610-pxlcolor.ppd.gz 03e1e86b1a8a9930fdb05a4e28cd56bd 144627
+foomatic-20200219-Samsung-CLP-660-Postscript-Samsung.ppd.gz 10d5d77e76e827bbc61d0fbc18a063cc 333798
+foomatic-20200219-Samsung-CLP-670-Postscript-Samsung.ppd.gz cb9f4152c2572340c73bb96454374a56 333980
+foomatic-20200219-Samsung-CLP-680-Postscript-Samsung.ppd.gz 3d75bc01d4956d9f5fd9e875ccb4b406 334109
+foomatic-20200219-Samsung-CLP-770-Postscript-Samsung.ppd.gz 05a6f3f9630c1ce2412ecfa7186ead9f 334011
+foomatic-20200219-Samsung-CLP-775-Postscript-Samsung.ppd.gz 0a95915c5a50484c2f6e66f24ab8659d 334026
+foomatic-20200219-Samsung-CLX-3300-Postscript-Samsung.ppd.gz b15bc3c584831d4f1f2bce6236ed4b02 333830
+foomatic-20200219-Samsung-CLX-6200-Postscript-Samsung.ppd.gz 644a85157a8c9580d014b349ae8e2723 333711
+foomatic-20200219-Samsung-CLX-6220-Postscript-Samsung.ppd.gz 477477a19c698c79309ecdfff8cfd557 333931
+foomatic-20200219-Samsung-CLX-6250-Postscript-Samsung.ppd.gz efb96913f39b777dbccdd04a1e0aa286 333945
+foomatic-20200219-Samsung-CLX-8380-Postscript-Samsung.ppd.gz c9bdaea18fb1189b7cf77356de06c5b6 334036
+foomatic-20200219-Samsung-CLX-8385-Postscript-Samsung.ppd.gz 6ee027613c93ffd7f6b9f3e1c34ca1e4 334069
+foomatic-20200219-Samsung-CLX-8640_8650-Postscript-Samsung.ppd.gz 994358c729f1296d0d26f926fe676ae9 334385
+foomatic-20200219-Samsung-CLX-9250_9350-Postscript-Samsung.ppd.gz e2d2f3af710c4467bee9ec606698a66c 333897
+foomatic-20200219-Samsung-CLX-9252_9352-Postscript-Samsung.ppd.gz 5006744e2efb933f2c335f0e342fbf4a 334489
+foomatic-20200219-Samsung-CLX-92x1_93x1-Postscript-Samsung.ppd.gz 0e378927d854ce5fe75825f19c97b83b 334321
+foomatic-20200219-Samsung-K3250-Postscript-Samsung.ppd.gz 2f07fc353403f6da3d4d4709c6477e4d 288918
+foomatic-20200219-Samsung-K401-Postscript-Samsung.ppd.gz 2341fddce87bf3ebf8ce5f0642e121b2 288849
+foomatic-20200219-Samsung-K703-Postscript-Samsung.ppd.gz 47c2559051c4aa6fe1ad6e7f64d78d86 288949
+foomatic-20200219-Samsung-K7600-Postscript-Samsung.ppd.gz d835893e4bde3ee05a0169db5f9fdeaf 288949
+foomatic-20200219-Samsung-M337x_387x_407x-Postscript-Samsung.ppd.gz 42e18b15eaba2ffd2bc1bfb78aa359f6 288519
+foomatic-20200219-Samsung-M403x-Postscript-Samsung.ppd.gz b2b10a619828584a59b725a6bf5b7a67 288496
+foomatic-20200219-Samsung-M408x-Postscript-Samsung.ppd.gz 526fd2c2abd19962a5a69686f9b5d194 288556
+foomatic-20200219-Samsung-M4370_5370-Postscript-Samsung.ppd.gz ae66e99a78d5fdff56ec6e8fcc962267 288854
+foomatic-20200219-Samsung-M453x-Postscript-Samsung.ppd.gz 16dafb85ea7b8bece32c6b04bd84932d 288747
+foomatic-20200219-Samsung-M458x-Postscript-Samsung.ppd.gz af4d62fba98662d72c78eac9212927ed 288672
+foomatic-20200219-Samsung-M5270-Postscript-Samsung.ppd.gz aa28489bdd701e36ad56f806a3b7ab64 288854
+foomatic-20200219-Samsung-ML-1650-ljet4.ppd.gz 0ad2b865d397648e39fb1c0ba77cb455 50992
+foomatic-20200219-Samsung-ML-2150-Postscript-Samsung.ppd.gz 7872e5a3919af724a5f8d8ac4809948f 288122
+foomatic-20200219-Samsung-ML-2550-Postscript-Samsung.ppd.gz 7a4309a5e65d22294f92a2b0a586ca76 288122
+foomatic-20200219-Samsung-ML-2570-Postscript-Samsung.ppd.gz 8f6cfaa0596bfbfb9bacf4d0dc0d28b8 287914
+foomatic-20200219-Samsung-ML-2850-Postscript-Samsung.ppd.gz 974a7af5c7556fa0a6a911fc386cb9c7 288152
+foomatic-20200219-Samsung-ML-2855-Postscript-Samsung.ppd.gz 6972ea71e32214525109dd88209daa90 288339
+foomatic-20200219-Samsung-ML-3470-Postscript-Samsung.ppd.gz 6d3a985bb635e662eb3b7d1e12f2b371 288209
+foomatic-20200219-Samsung-ML-371x-Postscript-Samsung.ppd.gz 1f2028c9c26d2c4c5bc039543998d433 288445
+foomatic-20200219-Samsung-ML-4050-Postscript-Samsung.ppd.gz 2ddbb7137f81b438975d85c903a087bc 288133
+foomatic-20200219-Samsung-ML-4055-Postscript-Samsung.ppd.gz 4401fb516acead00ad3394c360008a74 288133
+foomatic-20200219-Samsung-ML-451x_501x-Postscript-Samsung.ppd.gz baf2a44e52d81a7abd1024fbb5e7d387 288446
+foomatic-20200219-Samsung-ML-4550-Postscript-Samsung.ppd.gz 1abd2921ee548fa36f2784376342feac 288014
+foomatic-20200219-Samsung-ML-4555-Postscript-Samsung.ppd.gz 1abd2921ee548fa36f2784376342feac 288014
+foomatic-20200219-Samsung-ML-551x_651x-Postscript-Samsung.ppd.gz 14e5ed9c3be3980684dc5880a399c3cd 288455
+foomatic-20200219-Samsung-ML-8850_8950-Postscript-Samsung.ppd.gz d9f6f7385ffd519dab22885b87d02c56 288420
+foomatic-20200219-Samsung-ML-8x00-Postscript-Samsung.ppd.gz 558b86f659a3bb45c9fcc7546b7cab74 287863
+foomatic-20200219-Samsung-SCX-483x_5x3x-Postscript-Samsung.ppd.gz 5607b44fbe6fe9eb75d9969db97fb165 288482
+foomatic-20200219-Samsung-SCX-4x28-Postscript-Samsung.ppd.gz 7bfba145c3d0827841036667e57c7484 288173
+foomatic-20200219-Samsung-SCX-5635-Postscript-Samsung.ppd.gz 1be3ecbf2704d8cbc602cb83b14eb6c3 288384
+foomatic-20200219-Samsung-SCX-5835_5935-Postscript-Samsung.ppd.gz 15fbb14ec46291b8806a82f433ded3f2 288460
+foomatic-20200219-Samsung-SCX-6545-Postscript-Samsung.ppd.gz 33839eef498c1845f2b2286cfb1e02e6 288631
+foomatic-20200219-Samsung-SCX-6545X-Postscript-Samsung.ppd.gz cfffe97d525249a55d9175fe0405f510 288719
+foomatic-20200219-Samsung-SCX-681x-Postscript-Samsung.ppd.gz 7bd9fa412114a1e6e8d580fd258246bd 288502
+foomatic-20200219-Samsung-SCX-6x20-Postscript-Samsung.ppd.gz c6825c24b4f9b44ace559bcd3b098fbd 288098
+foomatic-20200219-Samsung-SCX-6x22-Postscript-Samsung.ppd.gz f2ef0037be8b8a154834840fcb280157 288014
+foomatic-20200219-Samsung-SCX-6x45-Postscript-Samsung.ppd.gz 8f29623cbd2132488d4f04fc17ce37d9 288457
+foomatic-20200219-Samsung-SCX-6x55-Postscript-Samsung.ppd.gz d33617be0a6a7d6b9b547a1fdaeddc87 288631
+foomatic-20200219-Samsung-SCX-8030_8040-Postscript-Samsung.ppd.gz b3755871aeb3977ecaf2e6d9a0f10ea4 288459
+foomatic-20200219-Samsung-SCX-8123_8128-Postscript-Samsung.ppd.gz 4e6bd0c6712b532d15b3f29e55960969 288663
+foomatic-20200219-Samsung-SCX-8230_8240-Postscript-Samsung.ppd.gz 475b3e1e279f554b9b4a71bd8ee67589 288832
+foomatic-20200219-Sharp-AJ-1800-pcl3.ppd.gz e22685fde29e79bcb33cec61dd9c3a4c 220876
+foomatic-20200219-Sharp-AR-155FG_PS-Postscript-Sharp.ppd.gz 6d39f3a2cad3964c5793543c2f8ee215 289912
+foomatic-20200219-Sharp-AR-160M_PS-Postscript-Sharp.ppd.gz 72bc381a18f11fee8938f51574ffbd1a 289813
+foomatic-20200219-Sharp-AR-163FG_PS-Postscript-Sharp.ppd.gz e7ab549745fd7335a589f38314f137c7 290000
+foomatic-20200219-Sharp-AR-163G_PS-Postscript-Sharp.ppd.gz 9d4d26882d5188e9c4dd428b5dc33485 290003
+foomatic-20200219-Sharp-AR-168D-Postscript-Sharp.ppd.gz 7429eb7dfce180e10978829e51778d4f 289916
+foomatic-20200219-Sharp-AR-168S-Postscript-Sharp.ppd.gz dd888ac2b5e38108a6bdf0143bc84db7 289817
+foomatic-20200219-Sharp-AR-200M_PS-Postscript-Sharp.ppd.gz 70de57ca6dd201a0fd19b52a795e70e2 289813
+foomatic-20200219-Sharp-AR-205FG_PS-Postscript-Sharp.ppd.gz 17a41e67300b92d668e2ab0707135467 290099
+foomatic-20200219-Sharp-AR-205G_PS-Postscript-Sharp.ppd.gz 795afc187d82f370659e4c82c76f0631 290102
+foomatic-20200219-Sharp-AR-266FP_PS-Postscript-Sharp.ppd.gz 6aac239c2cb56726a7e2758554d5f32f 291265
+foomatic-20200219-Sharp-AR-311FP_PS-Postscript-Sharp.ppd.gz 0310ff62fbaa6a8e25042a979380b6ff 291764
+foomatic-20200219-Sharp-AR-5220-Postscript-Sharp.ppd.gz 30a1e534adfc120bb58acfc2be415bf4 289817
+foomatic-20200219-Sharp-AR-555M_PS-Postscript-Sharp.ppd.gz 813f5f6dc5a7aa2690956e98219f2e1d 291389
+foomatic-20200219-Sharp-AR-705M_PS-Postscript-Sharp.ppd.gz fc799e73235084585cb7c91924ef984e 291122
+foomatic-20200219-Sharp-AR-B07-Postscript-Sharp.ppd.gz 8960b7486d0e3cb190a495fd9aed9035 289701
+foomatic-20200219-Sharp-AR-BC260-Postscript-Sharp.ppd.gz 709881068bf90e54c5ddf09470862603 339964
+foomatic-20200219-Sharp-AR-C170FP_PS-Postscript-Sharp.ppd.gz 9d37077cd49b389c25ff5c9f24e987cf 339960
+foomatic-20200219-Sharp-AR-C260P-Postscript-Sharp.ppd.gz 709881068bf90e54c5ddf09470862603 339964
+foomatic-20200219-Sharp-AR-M161_PS-Postscript-Sharp.ppd.gz 05b73c399fe2458389d143fa8f655744 290007
+foomatic-20200219-Sharp-AR-M165_PS-Postscript-Sharp.ppd.gz 775d0fde0ae1574d83658bc71426ec25 290106
+foomatic-20200219-Sharp-AR-M205_PS-Postscript-Sharp.ppd.gz f16cd1488dba0dd1647f9cac523d4144 289916
+foomatic-20200219-Sharp-AR-M206_PS-Postscript-Sharp.ppd.gz 9fdf5b9cbad2586a060cce6c06dea92c 290106
+foomatic-20200219-Sharp-AR-M236_PS-Postscript-Sharp.ppd.gz 01071ee0affc84d5d4f1d3fe93aa6ef1 291269
+foomatic-20200219-Sharp-AR-M351N-Postscript-Sharp.ppd.gz ba2e51fbdf7662f78524612b36f670d7 291768
+foomatic-20200219-Sharp-AR-M550N-Postscript-Sharp.ppd.gz 3a7cfb23efc3f4236547efa634db0701 291393
+foomatic-20200219-Sharp-AR-M700N-Postscript-Sharp.ppd.gz b31f67eebff460af7f9a4d47763d375b 291126
+foomatic-20200219-Sharp-AR-N182FG-Postscript-Sharp.ppd.gz 5a6af35f25f3d7e6bfef3ae7e39a382d 290199
+foomatic-20200219-Sharp-AR-N182G-Postscript-Sharp.ppd.gz e0bd6a9385f72e1a235b22b312763c03 290202
+foomatic-20200219-Sharp-MX-2314NR-Postscript-Sharp.ppd.gz 306d61b02e3dd26cb0b24aa1528b159e 340957
+foomatic-20200219-Sharp-MX-2614NR-Postscript-Sharp.ppd.gz 7945e25d9cb256aaf40124cf983fd1fc 340883
+foomatic-20200219-Sharp-MX-M1100-Postscript-Sharp.ppd.gz 162ec2b6a5944eac510874c4a223b26a 292683
+foomatic-20200219-Sharp-MX-M182D-Postscript-Sharp.ppd.gz 23f7fed7df03a9523b6296517ce54d1a 290206
+foomatic-20200219-Sharp-MX-M182-Postscript-Sharp.ppd.gz c17e4dab5f8a11f1cf866cd012cb256c 290107
+foomatic-20200219-Sharp-MX-M202D-Postscript-Sharp.ppd.gz 92d06db3c6e501e1d3f307d09bcccec9 290206
+foomatic-20200219-Sharp-MX-M260FP-Postscript-Sharp.ppd.gz c66052661137400524045265ee6f7273 291199
+foomatic-20200219-Sharp-MX-M260-Postscript-Sharp.ppd.gz 9583bf20d04d988212452e302759403f 291203
+foomatic-20200219-Sharp-MX-M264NR-Postscript-Sharp.ppd.gz 03d8c3eb81a9b58e830c3008f2cbf427 291983
+foomatic-20200219-Sharp-MX-M860-Postscript-Sharp.ppd.gz 615f84d770b22bda562387359e17351a 292610
+foomatic-20200219-Star-NX-1001-eps9mid.ppd.gz 05d044bc2fc5896ad3f936ebacbc8cfb 10272
+foomatic-20200219-Star-StarJet_48-sj48.ppd.gz 96868a362e6c8ee34840a7707ed350b3 51362
+foomatic-20200219-Tektronix-4693d-t4693dX.ppd.gz 72424c8fe1a73b2325dfc1d5e9a33b55 1871123
+foomatic-20200219-Tektronix-4695-tek4696.ppd.gz bd6570ca9f9b9c4a862d7c159a1455a7 34901
+foomatic-20200219-Tektronix-4696-tek4696.ppd.gz bd6570ca9f9b9c4a862d7c159a1455a7 34901
+foomatic-20200219-Tektronix-Phaser_350-Postscript.ppd.gz 8cdc60ab70bbc969d7dacb9d8000951a 333500
+foomatic-20200219-Toshiba-e-Studio_205-Postscript-Toshiba.ppd.gz ea81e238fba6a53de825aeed8b035b67 136988
+foomatic-20200219-Toshiba-e-Studio_282-Postscript-Toshiba.ppd.gz 0966a9dc0dd4e7c441cc749f5a12136a 138390
+foomatic-20200219-Toshiba-e-Studio_3510c-Postscript-Toshiba.ppd.gz 72bfbab9bb03a59ca1655f20c9b77228 183884
+foomatic-20200219-Toshiba-e-Studio_451c-Postscript-Toshiba.ppd.gz ecab419cd832c7fe64f91aea63e2e5fc 186566
+foomatic-20200219-Toshiba-e-Studio_452-Postscript-Toshiba.ppd.gz 25c4e6fd98e6cffa131cecb2a960934a 138318
+foomatic-20200219-Toshiba-e-Studio_850-Postscript-Toshiba.ppd.gz 208668cc0152dde8a323849dba489451 138052
+foomatic-20200219-Toshiba-GL-1010-Postscript-Toshiba.ppd.gz d66816498195c7a3dca886eb87c6c91b 135725
+foomatic-20200219-Toshiba-GL-1020-Postscript-Toshiba.ppd.gz b99319a77d294bafb19d82c23449d5be 135765
+foomatic-20200219-Xerox-DocuPrint_XJ8C-lxm5700m.ppd.gz e326ce8ef6f2f49e29a0705490765480 201023
+foomatic-20200219-Xerox-Phaser_3160N-pxlcolor.ppd.gz 03e1e86b1a8a9930fdb05a4e28cd56bd 144627
+fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c3375.ppd.gz 0b056b64bd3b3aebc2311b41703947fc 334646
+hp-20171121-hplip-3.17.10-hp-color_laserjet-ps.ppd.gz a8220b1ab205533b64e4e0adad148874 334148
+hp-20171121-hplip-3.17.10-hp-deskjet_f4210_series.ppd.gz 6e09668662f1cea8a00d3d5129165841 151178
+hp-20171121-hplip-3.17.10-hp-laserjet_4-ps.ppd.gz d446b58f90f5beb9cd98370ef7e702cb 288493
+hp-20171121-hplip-3.17.10-hp-laserjet_4si-ps.ppd.gz eb7e1fcf3795a77b062e713612db13fa 288546
+hp-20171121-hplip-3.17.10-hp-laserjet_4v-ps.ppd.gz bcd4024e5ba00c542a942ecc4ca1481c 289122
+hp-20171121-hplip-3.17.10-hp-laserjet_6p-ps.ppd.gz e9b0f81ffdac879465d8d60bfadd471c 289018
+hp-20171121-hplip-3.17.10-hp-laserjet_p1505n-pcl3.ppd.gz 966c7772fa252eeca38be2e7cd408dcc 87823
+hp-20171121-hplip-3.17.10-hp-laserjet_p2055_series-ps.ppd.gz 7c17ecc5b51b96374fbd838e7d3e0442 288692
+hp-20171121-hplip-3.17.10-hp-laserjet_p4010_series-ps.ppd.gz 65d420e977675d081f50803e9f7f4b09 290174
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_42in_photo-ps.ppd.gz 3b076e1221ab853052231d4089c7fb1f 335885
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_60in_photo-ps.ppd.gz 00351aa3812850192b008ff5864fa525 335885
+hp-20190111-hplip-3.18.12-hp-designjet_z6810ps_42in-ps.ppd.gz 6dc78439509aca27d457c35abece199e 336189
+hp-20190111-hplip-3.18.12-hp-PCL3-Class1B.ppd.gz 886ed995791deb24ab9038e36045e685 150636
+hp-20190918-hplip-3.19.6-hp-Ampere.ppd.gz e3a6fd2fc7b965c00ccfb23c205b8e34 150636
+hp-20190918-hplip-3.19.6-hp-CLE17.ppd.gz 05d5ab47da934e542706f6dacee7af99 150635
+hp-20190918-hplip-3.19.6-hp-cm8060_mfp_with_edgeline-ps.ppd.gz e901ea54efdfeab167df79c38c8fa181 336958
+hp-20190918-hplip-3.19.6-hp-color_designjet_xl_3600-ps.ppd.gz 16eb89e78bbbb1e8b78d7ec440927368 335918
+hp-20190918-hplip-3.19.6-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz 1bd3ad28e3795e2c29a3569344716dfd 335339
+hp-20190918-hplip-3.19.6-hp-Copperhead12.ppd.gz e496710dcbe1cf24cca1094b402a415f 151177
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH15.ppd.gz 5e25eafc77201c9388ceaa3e07dcc46b 150636
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH17.ppd.gz 5e25eafc77201c9388ceaa3e07dcc46b 150636
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH.ppd.gz 61e495d76c8afba2a3fb1e9cd01c5f34 150636
+hp-20190918-hplip-3.19.6-hp-Copperhead.ppd.gz e496710dcbe1cf24cca1094b402a415f 151177
+hp-20190918-hplip-3.19.6-hp-CopperheadXLP.ppd.gz 86f6d46d81f7e9e44ac1917ede222afc 150636
+hp-20190918-hplip-3.19.6-hp-Corbett.ppd.gz e3a6fd2fc7b965c00ccfb23c205b8e34 150637
+hp-20190918-hplip-3.19.6-hp-designjet_t2600dr-ps.ppd.gz 53b4e5d3365ffb703e22cb2e45258660 335830
+hp-20190918-hplip-3.19.6-hp-DJ55xx.ppd.gz 438eecdf2c627ea605fdef7f13646dcb 150447
+hp-20190918-hplip-3.19.6-hp-DJ9xxVIP.ppd.gz 9c9625f9819f529a863b2442a11099a4 150446
+hp-20190918-hplip-3.19.6-hp-Gemstone.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-Kapan.ppd.gz c5e0370899766647fd06124f7d3ee206 150647
+hp-20190918-hplip-3.19.6-hp-laserjet_200_color_m251-ps.ppd.gz 5643c6e3fa124b3c19f0e83cb50f7f34 335353
+hp-20190918-hplip-3.19.6-hp-laserjet_m1522_mfp-ps.ppd.gz dbf68976a60bddbce064cae038ea10d3 288900
+hp-20190918-hplip-3.19.6-hp-laserjet_m2727_mfp_series-ps.ppd.gz c5d8e76af9e3bae82c3fa894fe6bbe3e 289239
+hp-20190918-hplip-3.19.6-hp-LJ-Class1.ppd.gz 49973e5f420715719f17455433b989a1 69913
+hp-20190918-hplip-3.19.6-hp-LJ-Class2.ppd.gz 280cbe27f9ddf9d14a291fcecc845ef3 975890
+hp-20190918-hplip-3.19.6-hp-LJ-Class3.ppd.gz a328af2fb56dcf386cb79a64427beac8 554090
+hp-20190918-hplip-3.19.6-hp-LJ-Class6.ppd.gz 966c7772fa252eeca38be2e7cd408dcc 87823
+hp-20190918-hplip-3.19.6-hp-Mimas15.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-Mimas17.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-Mimas.ppd.gz fae5d108cfc59b0ef6f684478ce1a6b7 151177
+hp-20190918-hplip-3.19.6-hp-MimasTDR.ppd.gz a744dc673ec1d67a1a422f7ba3cd18a8 109442
+hp-20190918-hplip-3.19.6-hp-OJ7000.ppd.gz ac7f4dcd6ef29bb9c56264dbf2588519 151178
+hp-20190918-hplip-3.19.6-hp-OJProKx50.ppd.gz 6e09668662f1cea8a00d3d5129165841 151178
+hp-20190918-hplip-3.19.6-hp-postscript-inkjet.ppd.gz 31a6944249e7e51af93fcc1a727c13f0 335274
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet.ppd.gz d332703dd1cdf33334ce43a833fece09 335538
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet-pro.ppd.gz fb925c249afec6d15454e81623e95097 335562
+hp-20190918-hplip-3.19.6-hp-PSP100.ppd.gz 447242fa3dd0300a02dc4fdd92a8f14d 151181
+hp-20190918-hplip-3.19.6-hp-PSP470.ppd.gz 729810610340260abea207329e5c5bdb 263703
+hp-20190918-hplip-3.19.6-hp-Pyramid15.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-PyramidPlus.ppd.gz a744dc673ec1d67a1a422f7ba3cd18a8 109442
+hp-20190918-hplip-3.19.6-hp-Pyramid.ppd.gz 0736fbff8a8e4bb34e54b6f7e599f4e4 108772
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh15.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh17.ppd.gz 05d5ab47da934e542706f6dacee7af99 150635
+hp-20190918-hplip-3.19.6-hp-Python10.ppd.gz 29fc9cd34ae64294d92de8a57c1089bb 151178
+hp-20190918-hplip-3.19.6-hp-Python11.ppd.gz ac7f4dcd6ef29bb9c56264dbf2588519 151178
+hp-20190918-hplip-3.19.6-hp-Python.ppd.gz ac7f4dcd6ef29bb9c56264dbf2588519 151178
+hp-20190918-hplip-3.19.6-hp-Saipan15B.ppd.gz 843f704eb090fefdcba8f26019ae0eca 150637
+hp-20190918-hplip-3.19.6-hp-Saipan.ppd.gz 843f704eb090fefdcba8f26019ae0eca 150637
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProAsize.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProBsize.ppd.gz fb3f816cecbd8986df9e4ec70ac1ed9c 150636
+hp-20190918-hplip-3.19.6-hp-Stabler.ppd.gz fae5d108cfc59b0ef6f684478ce1a6b7 151177
+hp-20190918-hplip-3.19.6-hp-StingrayOJ.ppd.gz ba8545b223b87286cebd49d5b4489e3b 150447
+hp-20190918-hplip-3.19.6-hp-ViperMinusVIP.ppd.gz 9535159e3a6d2a3f49cf07f7ee01ed43 153893
+hp-20190918-hplip-3.19.6-hp-ViperPlusVIP.ppd.gz fae5d108cfc59b0ef6f684478ce1a6b7 151177
+hplip-20200303-hplip-3.19.12-hp-color_designjet_xl_3600-ps.ppd.gz ddc6b08926ab6f89d2266aaca21147c3 335783
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2550_series-ps.ppd.gz feba9ea91f6c6c06e8f5665c85659df3 335237
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605-ps.ppd.gz 847af0ad26a7474e1382fde30c1c2089 335531
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700-ps.ppd.gz f0db433112a70a90c1fe8ee0e0cffab4 335295
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2800-ps.ppd.gz 16612d5465623bb61dab3d72c8271476 335173
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1015-ps.ppd.gz aecc407659a6b8010c120a51b15e6a79 335248
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_e85055-ps.ppd.gz a51a0645f2bcd3858099ac262d53f5ab 336335
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_flowmfp_m776-ps.ppd.gz f861d77212fc68afd7cdd7dc47f415b9 336708
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_m856-ps.ppd.gz fd54b7a710fdd264e2c72f6e4459581d 336639
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_mfp_m776-ps.ppd.gz 0a6d0697f7a94e1e1f47d1099c0cec09 336936
+hplip-20200303-hplip-3.19.12-hp-designjet_4000ps.ppd.gz 931e730b07d5fc8d0bf675d677b0ef46 335674
+hplip-20200303-hplip-3.19.12-hp-designjet_4500mfp.ppd.gz f80522a0f9d864265d32e2f0d39d7ee0 335681
+hplip-20200303-hplip-3.19.12-hp-designjet_d5800-ps.ppd.gz 25d9a7eb20a142d30c2907af6037bc09 335558
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_24in-ps.ppd.gz 5e44cb16329ec25b9c93221a8764c12b 335680
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_44in-ps.ppd.gz 5f8eacb00782226a90a499656413a2d2 335680
+hplip-20200303-hplip-3.19.12-hp-designjet_t1200_postscript-ps.ppd.gz 8f83d2610d56ec141ae6488dcb6be6f9 335691
+hplip-20200303-hplip-3.19.12-hp-designjet_t1300_postscript-ps.ppd.gz 387fc3641d7a20fad56f1f67f059b11f 335814
+hplip-20200303-hplip-3.19.12-hp-designjet_t1500-postscript.ppd.gz ee57dfc8dd8f8d432bc2ad822d22d62f 336087
+hplip-20200303-hplip-3.19.12-hp-designjet_t1530-postscript.ppd.gz 47306471a0e3592528c5a67efa5e27f1 336125
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600dr-ps.ppd.gz 84c4f417a1bbf889457c0d114c513404 335695
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600_printer-ps.ppd.gz ae77b10a26a8e162e12ebe2b353141be 335695
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700dr_postscript-ps.ppd.gz efc477f3957cd84359f6c451230a0f8b 335786
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700_postscript-ps.ppd.gz a3c1c4a720ccf1005d6d8f9b6b196a66 335775
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708dr_postscript-ps.ppd.gz 3e55931170b4dc955206f9a33b4e0cd4 336073
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708_postscript-ps.ppd.gz adcda046d090fe854040e62f687e89ff 336064
+hplip-20200303-hplip-3.19.12-hp-designjet_t2300_postscript-ps.ppd.gz 8db40d7addf018886136d70e4ed97875 335814
+hplip-20200303-hplip-3.19.12-hp-designjet_t2500-postscript.ppd.gz 853b42168433a014b62c90a2e1e160d2 336023
+hplip-20200303-hplip-3.19.12-hp-designjet_t2600dr-ps.ppd.gz 2221a219b5f7ada22aeb4b3895ac6219 335695
+hplip-20200303-hplip-3.19.12-hp-designjet_t3500-ps.ppd.gz 57d8cc681ca9f003e7e490877c220e64 335680
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps_monochrome-ps.ppd.gz 1e1394baf5af039c402c2d439c776253 289954
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps-ps.ppd.gz e777f9b44f280b2f565466b6e7531778 336095
+hplip-20200303-hplip-3.19.12-hp-designjet_t7200-ps.ppd.gz 523b008d634d32e9a14d281bf2048974 335830
+hplip-20200303-hplip-3.19.12-hp-designjet_t770_postscript-ps.ppd.gz 7d1aae052c4b337991410669a5b9be61 335536
+hplip-20200303-hplip-3.19.12-hp-designjet_t770ps_24in-ps.ppd.gz 90a57dad57f25bdf55445ac2ab8b87f2 335536
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_24in-ps.ppd.gz 6ab2fe22fd3e385d91110574705d5cc9 335659
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_44in-ps.ppd.gz f5440bcf4a3cbfea1b5981e79c144ecc 335659
+hplip-20200303-hplip-3.19.12-hp-designjet_t920-postscript.ppd.gz 8af5fcc67719e474329d290e934f9588 335928
+hplip-20200303-hplip-3.19.12-hp-designjet_t930-postscript.ppd.gz 9db6d0d9aef652eb42abbe2a06578eea 335928
+hplip-20200303-hplip-3.19.12-hp-designjet_z5200_postscript-ps.ppd.gz 85102a9646c7c9d3103963463ee6f5fb 337033
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_42in_photo-ps.ppd.gz b6849be5030a29e7093c93a8d2a1d5ce 335897
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_60in_photo-ps.ppd.gz b43b0ade9737eff3113f3c438b39e7e3 335897
+hplip-20200303-hplip-3.19.12-hp-designjet_z6600-postscript.ppd.gz cb6e651dae206c8910c48b2840c834ab 335792
+hplip-20200303-hplip-3.19.12-hp-designjet_z6610ps_60in-ps.ppd.gz 61563ce329840f6d102116b0902117d0 336041
+hplip-20200303-hplip-3.19.12-hp-designjet_z6800_photo-postscript.ppd.gz 4a09de3000a48bebf51c3c275e254c69 335792
+hplip-20200303-hplip-3.19.12-hp-designjet_z6810ps_60in-ps.ppd.gz 4c648c03fe7cb4aa0ae7d2abcc381e32 336189
+hplip-20200303-hplip-3.19.12-hp-deskjet_3420.ppd.gz eca0a38f04b91db0d9a58a86fdf16de6 5392105
+hplip-20200303-hplip-3.19.12-hp-deskjet_3700_series.ppd.gz 448bba9706e3e844b2fe5db656f5dd7d 150638
+hplip-20200303-hplip-3.19.12-hp-deskjet_950c.ppd.gz ce752c8ba4ec4e4a17db936eec7980f8 234383
+hplip-20200303-hplip-3.19.12-hp-deskjet_d1600_series.ppd.gz a1d541296bcfd8651d5f7f766b228230 7687460
+hplip-20200303-hplip-3.19.12-hp-deskjet_d2600_series.ppd.gz d8a5d1828e944a3fa016c5f1c102a319 8028340
+hplip-20200303-hplip-3.19.12-hp-deskjet_d4100_series.ppd.gz 89b03f358f082b1f0a56b4facb729c55 8131916
+hplip-20200303-hplip-3.19.12-hp-deskjet_f300_series.ppd.gz eca0a38f04b91db0d9a58a86fdf16de6 5392105
+hplip-20200303-hplip-3.19.12-hp-DJGenericVIP.ppd.gz a36f55f7b28e60e34610ecb6adeff845 151180
+hplip-20200303-hplip-3.19.12-hp-laserjet_100_color_mfp_m175-ps.ppd.gz e4c05fe7f493b65cdfcef4e5c02510c0 335270
+hplip-20200303-hplip-3.19.12-hp-officejet_4300_series.ppd.gz eca0a38f04b91db0d9a58a86fdf16de6 5392105
+hplip-20200303-hplip-3.19.12-hp-pagewide_p55250-ps.ppd.gz 9b70f3bbbae7710a4a517f67b1ea4a59 335017
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_3900ps_mfp-ps.ppd.gz 3d629b8c235136fd63cfe20661c1ff74 335264
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps-ps.ppd.gz c6bf34b275057b99542dd39ce87905a8 335834
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps-ps.ppd.gz abd3901a614e6e57e26ab9a536bcdc2e 335406
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_blueprinter-ps.ppd.gz 3c3e1515a830c41892cc052321a95a07 335702
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps-ps.ppd.gz 22d3043c6bb97954cc532837c33ed7b1 335834
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp_blueprinter-ps.ppd.gz f891b4c7c7ccf6e462e0138f5e931be6 335702
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp-ps.ppd.gz 4e907a9284cd0be686add9e23e27bc7a 335834
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps-ps.ppd.gz 2301eb56ecab78e3181f99a065d5b5ee 335834
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps_blueprinter-ps.ppd.gz f0bfab5d9c04e6d7082be7a5005df88d 335702
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps-ps.ppd.gz d111fe70255623befa2581add9ad31f5 335834
+hplip-20200303-hplip-3.19.12-hp-photosmart_a530_series.ppd.gz a59494820dbf825195716601c00dc2ba 378412
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-226i.ppd.gz 25bba93d6b1f9daaeaaba2fc0698c1ad 287979
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c226.ppd.gz 965fa75fe09ff60388019366b7bb38db 333310
+kyocera-20180809-Kyocera_TASKalfa_3051ci.ppd.gz 73b357a77b8f2c69850b9dd8a332e315 337558
+kyocera-20190328-Kyocera_CS_2551ci.ppd.gz 308bb52da0f0b103bba920c87b10a454 334593
+kyocera-20190328-Kyocera_CS_2552ci.ppd.gz 308bb52da0f0b103bba920c87b10a454 334593
+kyocera-20190328-Kyocera_CS_3010i.ppd.gz f6c9994e2fd052210b389aec788a4659 289210
+kyocera-20190328-Kyocera_CS_3011i.ppd.gz d9702f93d8c42c52d55d301050d5a6fe 289210
+kyocera-20190328-Kyocera_CS_306ci.ppd.gz 2435043280b0f4ad0f840f4c771fa4ce 334593
+kyocera-20190328-Kyocera_CS_307ci.ppd.gz 3e1f06313ec740ecc988a6c78cce96af 334593
+kyocera-20190328-Kyocera_CS_3212i.ppd.gz 27c1c6773a2dda41e24f2f6d7e3cd8f3 289210
+kyocera-20190328-Kyocera_CS_4002i.ppd.gz 02b5066a9920ad7fac80fdd4ab2adfa3 289210
+kyocera-20190328-Kyocera_CS_7002i.ppd.gz 02b5066a9920ad7fac80fdd4ab2adfa3 289210
+kyocera-20190328-Kyocera_CS_7052ci.ppd.gz c6f36179f2edb20c6096a1e57666357e 334593
+kyocera-20190328-Kyocera_CS_9002i.ppd.gz d236bf130b0bfc7298b233d7abdc3687 289210
+kyocera-20190328-Kyocera_ECOSYS_M2030dn.ppd.gz d06e7821723409fe1110248190a50016 289210
+kyocera-20190328-Kyocera_ECOSYS_M2035dn.ppd.gz 9a42362458ca3caa36e7833ddbf37552 289210
+kyocera-20190328-Kyocera_ECOSYS_M2040dn.ppd.gz 791470071aa0d3572b601a7d1125d24c 289210
+kyocera-20190328-Kyocera_ECOSYS_M2235dn.ppd.gz a20853748026037dec87aa3b5784fdad 289210
+kyocera-20190328-Kyocera_ECOSYS_M3040dn.ppd.gz d35bf8f0859f21f9ec62eab3e0bd4f35 289210
+kyocera-20190328-Kyocera_ECOSYS_M3145dn.ppd.gz d35bf8f0859f21f9ec62eab3e0bd4f35 289210
+kyocera-20190328-Kyocera_ECOSYS_M4028idn.ppd.gz f145ba6c203cdb7687b1827ab1877ca6 289210
+kyocera-20190328-Kyocera_ECOSYS_M4125idn.ppd.gz 4017dd12516b77b1da36f5d89ff5e316 289210
+kyocera-20190328-Kyocera_ECOSYS_M5021cdn.ppd.gz a78828b3ec3859781d561c4605ddd2e3 334593
+kyocera-20190328-Kyocera_ECOSYS_M5521cdn.ppd.gz 6b26c507b0a3d3705aabbda4e34833ec 334593
+kyocera-20190328-Kyocera_ECOSYS_M6026cdn.ppd.gz 89ad10891707d2c5fd49d21d32855455 334593
+kyocera-20190328-Kyocera_ECOSYS_M6230cidn.ppd.gz e8ddaf1e99a5700c82386d34c60a4dba 334593
+kyocera-20190328-Kyocera_ECOSYS_M8024cidn.ppd.gz c8cf78d7926c437c5d03a6226ec8b5e1 334593
+kyocera-20190328-Kyocera_ECOSYS_M8124cidn.ppd.gz c8cf78d7926c437c5d03a6226ec8b5e1 334593
+kyocera-20190328-Kyocera_ECOSYS_P2035d.ppd.gz f8f59921974eaff8f75ccc5664a2d053 289210
+kyocera-20190328-Kyocera_ECOSYS_P3045dn.ppd.gz b8587dfb6adfa57cb144f17d0bdd61a4 289210
+kyocera-20190328-Kyocera_ECOSYS_P4035dn.ppd.gz 487abeecba6d64787f82d1843dd54943 289210
+kyocera-20190328-Kyocera_ECOSYS_P6026cdn.ppd.gz ef8cd85fe8884b459619b6c532377d63 334593
+kyocera-20190328-Kyocera_ECOSYS_P8060cdn.ppd.gz e0aa4fec5d08f7832868803a49b5c5ab 334593
+kyocera-20190328-Kyocera_FS-5040DN.ppd.gz 05cca8637c402ac89fe0efd72d0bfd17 289210
+kyocera-20190328-Kyocera_TASKalfa_4020i.ppd.gz cfeb79b8fbac3546520ec16b2c5e49e9 289210
+kyocera-20190328-Kyocera_TASKalfa_406ci.ppd.gz 0bd114528f0414ad525ce7174beb5959 334593
+kyocera-20190328-Kyocera_TASKalfa_4500i.ppd.gz 789a96368b9dbe8664676be47485b38d 289210
+kyocera-20200211-Kyocera_TASKalfa_7003i.ppd.gz 2d3f95781b1067a487cda8880032b478 289210
+kyocera-20200416-Kyocera_CS_205c.ppd.gz 06dbfeb1c2d78b05c546e50da3b7a2d7 334593
+kyocera-20200416-Kyocera_CS_250ci.ppd.gz ebd24155a45e72a3c16635141ef2de51 334593
+kyocera-20200416-Kyocera_CS_2550ci.ppd.gz c4509dba570541881303ab776b4ba9ce 334593
+kyocera-20200416-Kyocera_CS_2553ci.ppd.gz 987695f68bd3801640f82137ad52d80e 334593
+kyocera-20200416-Kyocera_CS_2554ci.ppd.gz b7895bea59e2a147e7cf557fd79f31a8 334784
+kyocera-20200416-Kyocera_CS_255.ppd.gz 1398a60793714c85ed926089cb94fb34 289210
+kyocera-20200416-Kyocera_CS_300i.ppd.gz d9a4a6701f5f26d2d04a6da1b88a4c38 289210
+kyocera-20200416-Kyocera_CS_3050ci.ppd.gz 46a18a0a4c03ed4a378110771fbc6feb 334593
+kyocera-20200416-Kyocera_CS_308ci.ppd.gz 481e4bf103cd66c6945609b086f2bd7b 334593
+kyocera-20200416-Kyocera_CS_3500i.ppd.gz 6dc7d36b52fe41ba00ad4f167aa4a578 289210
+kyocera-20200416-Kyocera_CS_4003i.ppd.gz 2a68ccd847cfda3fbe0c1ea380481443 289210
+kyocera-20200416-Kyocera_CS_6500i.ppd.gz 176e1dc1520ca04c969cf6b1a9075753 289210
+kyocera-20200416-Kyocera_CS_6550ci.ppd.gz 1d9ec74bddb43e07b940184cc6af649e 334593
+kyocera-20200416-Kyocera_CS_7003i.ppd.gz f4885aededc77d94410bc8c17fc52331 289210
+kyocera-20200416-Kyocera_CS_7353ci.ppd.gz df1991d62c1a75eef4b5ab38fd5d31e4 334593
+kyocera-20200416-Kyocera_CS_9003i.ppd.gz feedb3ca4871e0890d4437c8fa85dda5 289210
+kyocera-20200416-Kyocera_ECOSYS_M3860idnf.ppd.gz c072d75158b8d10c1a4614d775e00128 289210
+kyocera-20200416-Kyocera_ECOSYS_M3860idn.ppd.gz 2cd8b6f5b2bb97badf958efebf68c804 289210
+kyocera-20200416-Kyocera_ECOSYS_P3260dn.ppd.gz c072d75158b8d10c1a4614d775e00128 289210
+kyocera-20200416-Kyocera_ECOSYS_P4135dn.ppd.gz 3947feae8b1c4d2623a9862e38e2e889 289210
+kyocera-20200416-Kyocera_ECOSYS_P5018cdn.ppd.gz 23384fb9e29a084bff2181f1c800234f 334593
+kyocera-20200416-Kyocera_FS-1028MFP.ppd.gz 228bd454dc9fccffb29803c13e171c7b 289210
+kyocera-20200416-Kyocera_FS-1030MFP.ppd.gz 5387c3272e15d9a24c64c4d207776223 289210
+kyocera-20200416-Kyocera_FS-1035MFP.ppd.gz 5387c3272e15d9a24c64c4d207776223 289210
+kyocera-20200416-Kyocera_FS-1120D.ppd.gz 99c78da71616c9f0078a7a38bfd9d464 289210
+kyocera-20200416-Kyocera_FS-2020D.ppd.gz 99c78da71616c9f0078a7a38bfd9d464 289210
+kyocera-20200416-Kyocera_FS-2100D.ppd.gz f4924d6b0deea97cafb4b5762592a796 289210
+kyocera-20200416-Kyocera_FS-3540MFP.ppd.gz 3e3f54844ce50328730aa039ea205270 289210
+kyocera-20200416-Kyocera_FS-3920DN.ppd.gz b243074eda69a3c9a3e27e920e4f170b 289210
+kyocera-20200416-Kyocera_FS-4100DN.ppd.gz b243074eda69a3c9a3e27e920e4f170b 289210
+kyocera-20200416-Kyocera_FS-6970DN.ppd.gz 887d754951955e60ae2d640481cd589a 289210
+kyocera-20200416-Kyocera_FS-9130DN.ppd.gz 006cb38303174904cbb2abf7fe0abcb1 289210
+kyocera-20200416-Kyocera_FS-C2026MFP.ppd.gz 0abd208311508ec3ecba34e61cb478d9 334593
+kyocera-20200416-Kyocera_FS-C2026MFP+.ppd.gz 69a72d275a5ddcad65068e9b44efa6a1 334593
+kyocera-20200416-Kyocera_FS-C5250DN.ppd.gz 83aa3eb87cd86e9e705f520ced64775b 334593
+kyocera-20200416-Kyocera_FS-C8600DN.ppd.gz aa29edd068c9f830a37f3c072fddf160 334593
+kyocera-20200416-Kyocera_TASKalfa_3060ci.ppd.gz d0fc4bd75a53cc472d67b753edd2394d 334593
+kyocera-20200716-Kyocera_ECOSYS_M2540dwJ.ppd.gz 179c07826e2d02342df884a965e25e2c 289206
+kyocera-20200716-Kyocera_ECOSYS_M3645idnJ.ppd.gz e2a963b35ebb5dc8c0b93d10b6e09805 289088
+kyocera-20200716-Kyocera_ECOSYS_M4226idn.ppd.gz 6395b71191e7387337b3b43b5fc55dcd 289210
+kyocera-20200716-Kyocera_ECOSYS_M6635cidnJ.ppd.gz d93b1bb8e307e50adae949fe43c31529 334589
+kyocera-20200716-Kyocera_ECOSYS_M8224cidn.ppd.gz f0f8ee3ce24d4aca7a4c97ce56a8639c 334593
+kyocera-20200716-Kyocera_ECOSYS_P3060dnJ.ppd.gz af11008c4ed85d189162ec6a677b9d33 289206
+kyocera-20200716-Kyocera_ECOSYS_P3145dnJ.ppd.gz 88c109d74089800885d1336670099e50 289206
+kyocera-20200716-Kyocera_ECOSYS_P3145dn.ppd.gz 627778a5c52b5440a0908470732946b5 289210
+kyocera-20200716-Kyocera_ECOSYS_P4040dnJ.ppd.gz 630ca4f1958412ee6066bc6fe675280b 289206
+kyocera-20200716-Kyocera_ECOSYS_P4060dnJ.ppd.gz 630ca4f1958412ee6066bc6fe675280b 289206
+kyocera-20200716-Kyocera_ECOSYS_P4140dnJ.ppd.gz 2ebc0e475e264670f651819b186d5c20 289206
+kyocera-20200716-Kyocera_ECOSYS_P8060cdnJ.ppd.gz 3d8b72f0e19cea02c725ff2cbdcfd931 334589
+kyocera-20200716-Kyocera_TASKalfa_2460ciJ.ppd.gz efc968dfa9237ee9c1ac10ac08afcffc 334589
+kyocera-20200716-Kyocera_TASKalfa_2510iJ.ppd.gz 665053017435ebd180472cbb8e20f7d2 289206
+kyocera-20200716-Kyocera_TASKalfa_2553ciJ.ppd.gz 781644040ed03aac88a80d3ac0c39ee8 334589
+kyocera-20200716-Kyocera_TASKalfa_2553ci.ppd.gz ee09fef2631b7c01cb6e20f3b63ddafc 334593
+kyocera-20200716-Kyocera_TASKalfa_308ci.ppd.gz 12ba29e561b591aa6f59d914d0e032ee 334593
+kyocera-20200716-Kyocera_TASKalfa_3212iJ.ppd.gz 6b2ee05a9aebfdeb03fd3c7e88cb1364 289087
+kyocera-20200716-Kyocera_TASKalfa_352ci.ppd.gz 12ba29e561b591aa6f59d914d0e032ee 334592
+kyocera-20200716-Kyocera_TASKalfa_358ciJ.ppd.gz a3e09d75b6160b5ff881cd01f63533ac 334588
+kyocera-20200716-Kyocera_TASKalfa_4003i.ppd.gz a6c4f0399038c21c28ee4cdb71da333f 289209
+kyocera-20200716-Kyocera_TASKalfa_4012iJ.ppd.gz c8ab26a20d3c850f8629a5cb8d27f7ab 289087
+kyocera-20200716-Kyocera_TASKalfa_5003iJ.ppd.gz 46bbb7dcac398c3f5726c2e86f416168 289205
+kyocera-20200716-Kyocera_TASKalfa_7003iJ.ppd.gz a0cc168e9cae56957104163e84873bf4 289205
+kyocera-20200716-Kyocera_TASKalfa_7353ciJ.ppd.gz efa5c3df0b91c69a97d1dba679c9a96c 334588
+kyocera-20200716-TA_P-4531_MFP.ppd.gz e3cf71a7f61161cec3e054dadfac38d7 289209
+lanier-20190916-Lanier-IM_550_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33457
+lanier-20190916-Lanier-IM_600SR_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33527
+lanier-20190916-Lanier-P_800_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33457
+lanier-20190916-Lanier-P_C600_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33529
+lexmark-20200918-Lexmark_X651de.ppd.gz 36730492df43d77b4a646f8585bbf138 334911
+lexmark-20200918-Lexmark_X658de.ppd.gz 5d981b83f11e1ebc3dc6753805968541 335294
+lexmark-20201101-Lexmark_6500e_Series.ppd.gz f4dad8f2cd473169c328c43a71a4d5ba 335421
+lexmark-20201101-Lexmark_B2300_Series.ppd.gz d03b5593148e534f352fafa261f603b8 290038
+lexmark-20201101-Lexmark_C2200_Series.ppd.gz 24279b08c5d272d20f4f883715b39aa3 336345
+lexmark-20201101-Lexmark_C2300_Series.ppd.gz 8cb05da0f2c74610c0a3715e39381e75 336122
+lexmark-20201101-Lexmark_C2400_Series.ppd.gz 014f1fee3ae6617b6daa5617ae74212e 336275
+lexmark-20201101-Lexmark_C3400_Series.ppd.gz 8cedd3e20598155d7c79fee6c856fc6b 335901
+lexmark-20201101-Lexmark_C740_Series.ppd.gz 44cd1981b2f98aaede260ba1ffa3f798 335679
+lexmark-20201101-Lexmark_C790_Series.ppd.gz f254dd425be4b1b568c1e51f293d75bc 336147
+lexmark-20201101-Lexmark_C9200_Series.ppd.gz b54f9dbe9e2ffb0071f24ac80c7315ab 337161
+lexmark-20201101-Lexmark_C920_Series.ppd.gz bf812639e9e83aaa0eae6e4afafbd2cd 335672
+lexmark-20201101-Lexmark_C950_Series.ppd.gz d08fc551239e834cab763fbaa8197f6b 336212
+lexmark-20201101-Lexmark_CS310_Series.ppd.gz 32fad0d149b8d29a1055458f40370ae1 336041
+lexmark-20201101-Lexmark_CS410_Series.ppd.gz 188cd809019ada99f9b47d5e7701c62b 336182
+lexmark-20201101-Lexmark_CS510_Series.ppd.gz d738a88507298e3cc9812e9152d59687 335736
+lexmark-20201101-Lexmark_CS720_Series.ppd.gz c21724ff76227fdda8323dc16e75be7e 336266
+lexmark-20201101-Lexmark_CS820_Series.ppd.gz 8314d7d2fab650a173cd7cfec41de981 336866
+lexmark-20201101-Lexmark_CS920_Series.ppd.gz 63beb4d71cdf6a99e989bd83c36baa7a 337161
+lexmark-20201101-Lexmark_CX310_Series.ppd.gz 4339c7bc8649e3c65579c68ea687d956 335736
+lexmark-20201101-Lexmark_CX410_Series.ppd.gz 960947b4d3c4ef46c0c1fa7619935c23 336517
+lexmark-20201101-Lexmark_CX420_Series.ppd.gz 54bde2711c5daf7d23ab4e2b01b793ff 336275
+lexmark-20201101-Lexmark_CX430_Series.ppd.gz 8bb6d7488df3913aa23dc183ddfab44d 335901
+lexmark-20201101-Lexmark_CX510_Series.ppd.gz a44e010f32b733be4b170dc8767bdee0 290475
+lexmark-20201101-Lexmark_CX625_Series.ppd.gz ae46ba57ff56c6d602a5dd4906709231 336345
+lexmark-20201101-Lexmark_CX725_Series.ppd.gz c6c124f26930e04ab62e00aac9cc614a 336266
+lexmark-20201101-Lexmark_CX820_Series.ppd.gz 7661d967b5bebbe3b8515c53e08a55e0 336866
+lexmark-20201101-Lexmark_CX825_Series.ppd.gz a40ab8d480fb72bb3349d77e75593748 337221
+lexmark-20201101-Lexmark_CX920_Series.ppd.gz 08c43b4a2b914ec95ef55729a16f8b7b 337160
+lexmark-20201101-Lexmark_M1100_Series.ppd.gz d839b0b7522abce42e03a5f450724b41 289756
+lexmark-20201101-Lexmark_M3100_Series.ppd.gz 58913846f15216ce557589ef1278cb22 289735
+lexmark-20201101-Lexmark_M5100_Series.ppd.gz fcaa62c58cfbdfee8f8716c1e1751197 290143
+lexmark-20201101-Lexmark_MB2300_Series.ppd.gz 3a73b199c2b01965a26978cb7c4ecc4d 290038
+lexmark-20201101-Lexmark_MC2300_Series.ppd.gz cf78b600d4decea3923c99dab57b6eba 336122
+lexmark-20201101-Lexmark_MS310_Series.ppd.gz 16f748fadcbfcab17acd84fe7774635b 290303
+lexmark-20201101-Lexmark_MS410_Series.ppd.gz ba15bc0bcfa9a503972b1d9f70ea71cf 289716
+lexmark-20201101-Lexmark_MS510_Series.ppd.gz 5f0c3bb0ec5b08cce5960dac3e50aaad 334929
+lexmark-20201101-Lexmark_MS610_Series.ppd.gz 571079a3ae6b744cdc370ca7effd092f 334929
+lexmark-20201101-Lexmark_MS620_Series.ppd.gz f9ee5fe91f646486bfcf9e341b5140fd 290178
+lexmark-20201101-Lexmark_MS710_Series.ppd.gz 667ba96f758204483c077c995edc90a7 335310
+lexmark-20201101-Lexmark_MS725_Series.ppd.gz 1c1d72f16e8dcad3e002d216b1d9332a 291585
+lexmark-20201101-Lexmark_MS810_Series.ppd.gz 0d92d5907b06814b424b874b9baa07ce 335310
+lexmark-20201101-Lexmark_MS820_Series.ppd.gz db4dce3356a1b312941684acce1d5295 291585
+lexmark-20201101-Lexmark_MX310_Series.ppd.gz 3aea6800e26749fa3f61c17af997b5b1 290304
+lexmark-20201101-Lexmark_MX410_Series.ppd.gz 39591f7cf637942601e98bd3d2909f17 334929
+lexmark-20201101-Lexmark_MX510_Series.ppd.gz 294e5e7c9f978262d0d15212b269e8fa 334929
+lexmark-20201101-Lexmark_MX520_Series.ppd.gz dcd5b24d569cf4d64c0933e79f0eeb3d 290178
+lexmark-20201101-Lexmark_MX610_Series.ppd.gz d22c58bf03d6af3e1f2c973711b4fed2 335087
+lexmark-20201101-Lexmark_MX620_Series.ppd.gz 2ae9ca64ce748f03051ff96637004971 290324
+lexmark-20201101-Lexmark_MX6500e_Series.ppd.gz 330569527454fdf42fab573a8311906f 290098
+lexmark-20201101-Lexmark_MX710_Series.ppd.gz 4f153ddc973829952b538793352ead00 334914
+lexmark-20201101-Lexmark_MX720_Series.ppd.gz 0ba304cc713867d1a29dda65811eca5b 290318
+lexmark-20201101-Lexmark_MX725_Series.ppd.gz 7fdd6a65b5c37385ab00db0271832d36 290318
+lexmark-20201101-Lexmark_MX810_Series.ppd.gz 8e5f398ecd7bc0ae32b15d0cbd3a6565 335372
+lexmark-20201101-Lexmark_MX820_Series.ppd.gz 9e2edbe8d4f40a2005a27bd65a2f00ac 291030
+lexmark-20201101-Lexmark_MX910_Series.ppd.gz 7c8d4016ea8a9bfd980739928ce3dcc6 290558
+lexmark-20201101-Lexmark_X548_Series.ppd.gz 176c2aa0a58572da7cf5cb1ddb194ec5 335753
+lexmark-20201101-Lexmark_X740_Series.ppd.gz a04b81cfa91476e3efef862b17d5a72f 335732
+lexmark-20201101-Lexmark_X790_Series.ppd.gz 9b37525ecf585e07cf28c8c7e4eaa8cb 336200
+lexmark-20201101-Lexmark_X920_Series.ppd.gz d4bf4e61ff15ac6949afab0b23670b03 335725
+lexmark-20201101-Lexmark_X950_Series.ppd.gz 077d06d740bcdae7fd7970ef740f547b 336265
+lexmark-20201101-Lexmark_XC2100_Series.ppd.gz eff7ca51adce1ad2770b9aa9d9a21be5 335785
+lexmark-20201101-Lexmark_XC9200_Series.ppd.gz 90d589c830c0b1215b14db884b164820 337161
+lexmark-20201101-Lexmark_XM1100_Series.ppd.gz 7b60d6e1b788df19533e5e0d67e7c918 289732
+lexmark-20201101-Lexmark_XM3100_Series.ppd.gz b7324b6b929ed9db9696fdcf118768e3 289890
+lexmark-20201101-Lexmark_XM5100_Series.ppd.gz 56da75fd205e2181b0d1ab5f8868238e 289732
+lexmark-20201101-Lexmark_XM7100_Series.ppd.gz 70b0f9d87f29f3ba74bf02df11130843 290228
+oki-20200129-oki-c542-ps.ppd.gz bce122e5026197a953d62f0a90c313ed 340295
+oki-20200329-ES8434-PS.ppd.gz ee4ca9aaf1f46e9cddd782f7ada5eaec 340371
+oki-20200329-OKB432_a.ppd.gz 550edaa62eb45b825886c8ce638fcb8c 292699
+oki-20200329-OKB512_a.ppd.gz 27902e3c710c891b183a5ca4cb32666d 292699
+oki-20200329-OKB841_a110.ppd.gz de8d046f390efcf3fedce5061ab7eff6 291090
+oki-20200329-OKI-C332-PS.ppd.gz 66d3e4440cc52f5db4f1ddfa63ea5af2 340295
+oki-20200329-OKI-C612-PS.ppd.gz 11c6f0c8ed50f9960a1a65ee941e05fe 340434
+oki-20200329-OKI-C712-PS.ppd.gz 03a7afd67e4a19ebee137842daac4142 340515
+oki-20200329-OKI-C833-PS.ppd.gz 2463a6ad57838cf72bd391b3fcb82367 340434
+oki-20200329-OKI-C843-PS.ppd.gz 5b40df630de262548388765d34854438 340434
+oki-20200329-OKI-C844-PS.ppd.gz b109b1e496af6723bf8382be1ad3faf2 340371
+oki-20201022-ES6450_PS.ppd.gz 6455a14aa69c21a1a75abbe159c189c9 340295
+oki-20201022-OKI_MC843_PS.ppd.gz f9be054e72cc80ec22ff7a7eb719aba7 340214
+oki-20201022-OKI_MC853_PS.ppd.gz 51ebd63657beb7e3664aa44a69257311 340294
+oki-20201022-OKI_MC883_PS.ppd.gz dc278203d4293a795f831faa65701d1d 340294
+ricoh-20190916-Ricoh-IPSiO_SP_3400L_PXL.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48456
+ricoh-20190916-Ricoh-IPSiO_SP_3510SF_PXL.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48456
+ricoh-20190916-Ricoh-M_C250FWB_PS.ppd.gz f3acc74bcfdcc6bc995ba244c8f5191d 336651
+ricoh-20190916-Ricoh-MP_C306Z_JPN_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33502
+ricoh-20190916-Ricoh-P_C301SF_PS.ppd.gz 8e73d39b2c35e633052f34010e34f532 336651
+ricoh-20190916-Ricoh-SP_212Nw_PXL.ppd.gz 9d28233eac79f38fc93c127cf635da4c 48456
+ricoh-20190916-Ricoh-SP_2200L_PXL.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48456
+ricoh-20190916-Ricoh-SP_320DN_PXL.ppd.gz 3ef3a04b5b30aacc99ec78b0b4eb7187 48456
+ricoh-20191121-Infotec-Pro_8200S_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33595
+ricoh-20191121-Infotec-Pro_8210_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33595
+ricoh-20191121-Infotec-Pro_C5200S_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33642
+ricoh-20191121-Infotec-Pro_C7200_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33691
+ricoh-20191121-Infotec-Pro_C7200S_Light_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33691
+ricoh-20191218-SP_C420e_JPN-PostscriptColor-Ricoh.ppd.gz 73602019327081d50b88b9f3bc0f1c76 334825
+ricoh-20200221-Gestetner-IM_C300_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33556
+ricoh-20200221-Lanier-IM_C400SR_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33572
+ricoh-20200221-Ricoh-SP_C342M_JPN_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33504
+ricoh-20200527-Gestetner-GS3021_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33552
+ricoh-20200527-Infotec-Pro_C5300S_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33718
+ricoh-20200527-Lanier-IM_C6500_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33642
+ricoh-20200527-Ricoh-P_6000_JPN.ppd.gz 026b1a4638ae4d4fc9c1a077561596f9 289495
+ricoh-20200821-Infotec-Pro_C5300SL_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33718
+ricoh-20200821-Lanier-IM_C530FB_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33529
+ricoh-20200821-Lanier-IM_C530F_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33599
+ricoh-20200821-Ricoh-IM_C2509J_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33618
+ricoh-20200821-Ricoh-IM_C3509J_PDF.ppd.gz b754ab320abe1bbdb7217ba0663899b5 33618
+ricoh-20200821-Ricoh-IM_C6500_JPN.ppd.gz 66f49b93ab0501070332d9aa5b1af4ad 334825
+ricoh-20200930-Ricoh_Generic_PS_Printer.ppd.gz 86a7465a75c2378bf69dbb57a1f3e2fe 337462
+sharp-20180409-Sharp-AR-M452U-ps.ppd.gz f178ccc5ac7ae05fd2c95e73a575db34 291481
+sharp-20180409-Sharp-MX-2640NR-ps.ppd.gz 3530b489efc79832c6ad3e98c5840920 341082
+sharp-20180409-Sharp-MX-M283N-ps.ppd.gz e0b540db250d6ea8c82cbf3285366d74 291555
+sharp-20180409-Sharp-MX-M363F-ps-jp.ppd.gz b3777f1d4ca6b68e582aebff37fd3b33 291474
+sharp-20180409-Sharp-MX-M623N-ps.ppd.gz 1f2396cd49fe83d0632d4d5d523b157c 291403
+sharp-20180409-Sharp-MX-M623-ps-jp.ppd.gz 47db17bcfcc9a0f77220c49314228a6f 291399
+sharp-20190711-Sharp-MX-6240N-ps.ppd.gz f2eb1a6b56b48c0477109b1842c1c276 344215
+sharp-20190711-Sharp-MX-6500N-ps.ppd.gz fe6c9ef731b8899533bf0bb60207d620 344952
+sharp-20190711-Sharp-MX-6540FN-ps-jp.ppd.gz 76e62567fa2f121f3a0682d6ce0f7a8b 344211
+sharp-20190711-Sharp-MX-C250-ps.ppd.gz 51bbb7bc395499bd25c5433dfbad8816 339942
+sharp-20190711-Sharp-MX-C301-ps.ppd.gz c8c7e2a8ef78232fa01e7e25696b40d7 340147
+sharp-20190711-Sharp-MX-M1054-ps.ppd.gz 54cc74361856eea1bdeab61b810b5043 295703
+sharp-20190711-Sharp-MX-M1055-ps.ppd.gz c8b2b869f397240d82dd677d76baedb8 295703
+sharp-20190711-Sharp-MX-M654FN-ps-jp.ppd.gz 1e40b27a2792c22d9e2ef287eb841196 295561
+sharp-20190711-Sharp-MX-M654N-ps.ppd.gz 8e4a0a660870f764b1a225e702ecf6ad 295565
+sharp-20190711-Sharp-MX-M904-ps.ppd.gz efdafe3c50703ecc9e8122c8ff377dfe 295703
+sharp-20191219-Sharp-AR-6020D-ps.ppd.gz 9e2fd782241225ceeea1010c02cf5bee 290013
+sharp-20191219-Sharp-AR-6020-ps.ppd.gz 40c69bd7f177b557aad36c08f5fabb87 289914
+sharp-20191219-Sharp-AR-6026N-ps.ppd.gz 2f47588aabc8d6dc00498c753632a670 290013
+sharp-20191219-Sharp-AR-G200-ps-jp.ppd.gz 96263f3f8caa03b019f0db9570880774 289910
+sharp-20191219-Sharp-BP-10C20-ps.ppd.gz 02263d53630bb507d93aa90ccfe5a57a 341285
+sharp-20191219-Sharp-DX-2000U-ps.ppd.gz 5ec6a012452967234c05f14cd742ec9b 340312
+sharp-20191219-Sharp-DX-20C20-ps-jp.ppd.gz 75298ff6bb4ef1dd50cf4cb07835ebf4 341281
+sharp-20191219-Sharp-DX-2500N-ps.ppd.gz 57ac2e9bcf7fe9c276b15ef727e0ba92 340880
+sharp-20191219-Sharp-MX-1800N-ps.ppd.gz 1c9e56a8f8ee245ac1393cccfe70b61b 339729
+sharp-20191219-Sharp-MX-1810U-ps.ppd.gz 8dcbcef0a7262ca4ecbe607faa445679 340758
+sharp-20191219-Sharp-MX-2300FG-ps-jp.ppd.gz c20f36f5c1e91fbbdfd953e65a979f2a 339801
+sharp-20191219-Sharp-MX-2300G-ps.ppd.gz 2debcb311bfc37199b402da1b454d5f8 339805
+sharp-20191219-Sharp-MX-2301N-ps.ppd.gz 91cb7b6a2f03208ca5f729e84ec06c82 340245
+sharp-20191219-Sharp-MX-2310F-ps-jp.ppd.gz c321d0713ab9a6a5e021c90d40f9f7e7 340754
+sharp-20191219-Sharp-MX-2514FN-ps-jp.ppd.gz be126d4b3ef9494ca020875735b8cebc 340878
+sharp-20191219-Sharp-MX-2600FG-ps-jp.ppd.gz e5ae1f9d0120777f2284399ad96a486c 340387
+sharp-20191219-Sharp-MX-2600G-ps.ppd.gz 628e63c490388cb9ad1f7e9c480d7dc6 340391
+sharp-20191219-Sharp-MX-2610FN-ps-jp.ppd.gz ae83577cd3a1a5d47268cd420fd05bdc 340900
+sharp-20191219-Sharp-MX-2610N-ps.ppd.gz 90df50e693aedd35e906e56c0bcfa64d 340904
+sharp-20191219-Sharp-MX-2614N-ps.ppd.gz e829bf5cb49b21c6bb3a99ac260104e0 341307
+sharp-20191219-Sharp-MX-2631-ps-jp.ppd.gz dffef0af8f30b6127d57dfe48fdb8ebb 344371
+sharp-20191219-Sharp-MX-2640FN-ps-jp.ppd.gz ca7a5e2524125b06c41c9f18a2eee7bf 341078
+sharp-20191219-Sharp-MX-2651-ps.ppd.gz b410e1898d0d1ec12ea43ca73aaaa3ae 344382
+sharp-20191219-Sharp-MX-2661-ps-jp.ppd.gz 2cb22ca22c64a9b24e45c5b7d44d79ed 344371
+sharp-20191219-Sharp-MX-3061-ps.ppd.gz e511622e0ef6697ae43b39fe7aef645e 344382
+sharp-20191219-Sharp-MX-3600FN-ps-jp.ppd.gz 11cf2a45b6fd827869a9c10aa340edbf 340387
+sharp-20191219-Sharp-MX-4100N-ps.ppd.gz 97e20bae8eb4d2f5c98c01796e175c86 340391
+sharp-20191219-Sharp-MX-4110FN-ps-jp.ppd.gz 11399459a92ba83f194af515075681a7 340900
+sharp-20191219-Sharp-MX-4110N-ps.ppd.gz fd2f8bded623a96e7b964546a6b0683f 340904
+sharp-20191219-Sharp-MX-4140FN-ps-jp.ppd.gz 77c872dfac36c9143c55e7f8b244ef14 341078
+sharp-20191219-Sharp-MX-4140N-ps.ppd.gz 953b6083c91c5e92020f700c644cf3a1 341082
+sharp-20191219-Sharp-MX-5500N-ps.ppd.gz e4e17fef9117318f78b69aa21c1406e7 339653
+sharp-20191219-Sharp-MX-C303-ps.ppd.gz ef3859ce649bf5094343c2f96c7870bd 343141
+sharp-20191219-Sharp-MX-C305W-ps-jp.ppd.gz 1c1e0024fc3b59f1678c1b1df44fb65c 343137
+sharp-20191219-Sharp-MX-M264FP-ps-jp.ppd.gz 3cdb15a52d01d55ff0e5b61cc142c79f 291978
+sharp-20191219-Sharp-MX-M264NV-ps.ppd.gz 7d185c019a530238e5d648da5f4db754 291982
+sharp-20191219-Sharp-MX-M265N-ps.ppd.gz 4e52060aa0691d819264a0207d8dca64 292078
+sharp-20191219-Sharp-MX-M266FP-ps-jp.ppd.gz 6424159902d2319e80bf3c7e0efad17f 291997
+sharp-20191219-Sharp-MX-M266N-ps.ppd.gz 78a3efe58c7f69f698455f76ae59e975 292077
+sharp-20191219-Sharp-MX-M316G-ps-jp.ppd.gz d4cf7bb7d8fbdf1810260935f93733c0 291997
+sharp-20191219-Sharp-MX-M364N-ps.ppd.gz 4255dfd2c78e477f7d53e0c3c41ab95b 292680
+sharp-20191219-Sharp-MX-M365FN-ps-jp.ppd.gz 11ccffbcc94d72054e6ff80123e4c86b 292676
+sharp-20191219-Sharp-MX-M365N-ps.ppd.gz 2a3d5dcb86060d71f41a9dd6a0732e0e 292680
+sharp-20191219-Sharp-MX-M464FN-ps-jp.ppd.gz 9319f21ece3110ecda3cd60c328f4b5a 292676
+sharp-20191230-Sharp-AR-B350W-ps-jp.ppd.gz 9b6fc47d36c8cb97995fe52fd56fd7e6 291734
+sharp-20191230-Sharp-AR-B351-ps.ppd.gz 2816dc3f6979c316e8c1a0f5941e5c5d 291738
+sharp-20191230-Sharp-DX-C310-ps.ppd.gz 9d9679cea0fdb3c98758d9549c1893fc 340072
+sharp-20191230-Sharp-MX-2630FN-ps-jp.ppd.gz 23fef27e6b62d2d27002a348ee7f9403 343781
+sharp-20191230-Sharp-MX-2630N-ps.ppd.gz 50514e22ad4e935d2f1f77395a28ae72 343792
+sharp-20191230-Sharp-MX-2650FN-ps-jp.ppd.gz 9e9ffc9cfae2f95f54e9ffda6feb5c7a 343781
+sharp-20191230-Sharp-MX-3060N-ps.ppd.gz ca4ad020160eab1cc13a1191d3dc72e2 343792
+sharp-20191230-Sharp-MX-6580N-ps.ppd.gz 0460eccf82fff5192c080eb0fe89a3ca 345809
+sharp-20191230-Sharp-MX-7090N-ps.ppd.gz 254f18dc82341e85c3d36de72eddb185 346474
+sharp-20191230-Sharp-MX-B355W-ps.ppd.gz 7662dcfc03d3f93263c7113ddc4da46e 295110
+sharp-20191230-Sharp-MX-B356W-ps.ppd.gz eec677695595c04cabf1e11b57c6c7b4 295241
+sharp-20191230-Sharp-MX-B380P-ps.ppd.gz 84b9bc9b01169a2220b977ccbda7634c 291161
+sharp-20191230-Sharp-MX-M2630-ps.ppd.gz 6eb9b585be031c1fdd64b437b55369ec 295759
+sharp-20191230-Sharp-MX-M2651-ps.ppd.gz d3b2b28bebde4ee7e3c09968513f5c3a 295782
+sharp-20191230-Sharp-MX-M3070-ps.ppd.gz 053d2d7f6060aad21367759a29f91c26 295683
+sharp-20191230-Sharp-MX-M3071-ps.ppd.gz e83b3ad48e8ecf63d695a1ebf68fb52c 295706
+sharp-20191230-Sharp-MX-M3531-ps-jp.ppd.gz 5f79be561ff0b73cbbaf90d76e37b585 295695
+sharp-20191230-Sharp-MX-M6570-ps.ppd.gz e44ccb2021eb42378ee9e9cc70e19f29 296920
+sharp-20191230-Sharp-MX-M905-ps.ppd.gz ee0b58d23948083172583ab808a934a9 296558
+star-20171009-starcupsdrv-3.6.0-hsp7000r.ppd.gz ae5f62ab22a11bbd5df7d207e0cf571f 8759
+star-20171009-starcupsdrv-3.6.0-hsp7000s.ppd.gz e77dfd54128ff4a7db77a4c7fd1dced6 8477
+star-20171009-starcupsdrv-3.6.0-hsp7000v.ppd.gz 10457e156ce5bc1ac2e8270851c81482 22011
+star-20171009-starcupsdrv-3.6.0-sp512.ppd.gz 445086d94f085523c3ec705a094683d9 6463
+star-20171009-starcupsdrv-3.6.0-sp542.ppd.gz d7350c2aa449afb0516f1a01d44add97 6463
+star-20171009-starcupsdrv-3.6.0-tsp1000.ppd.gz 08c2ffce299e15bfd033474c8dac78a7 13825
+star-20171009-starcupsdrv-3.6.0-tsp828l.ppd.gz 43799e3c157bda057a86a8a46fbc06c1 21995
+star-20171009-starcupsdrv-3.6.0-tup542.ppd.gz 743503d4eee025effbc915af089db8c1 14441
+star-20171009-starcupsdrv-3.6.0-tup592.ppd.gz 9131ce80c26fbf361f2e201b73d0bce3 14470
+star-20171009-starcupsdrv-3.6.0-tup942.ppd.gz 4625ed1c5853dba7872e08eb5f7c68e3 21997
+star-20171009-starcupsdrv-3.6.0-tup992.ppd.gz 40d14e366455669497aa40390ada0991 22004
+star-20191209-fvp10.ppd.gz 09e6cbe4e532732715059ea7222a466b 8769
+star-20191209-sp712.ppd.gz 4a1f9f9b98adcc2340fbc4784d623825 6482
+star-20191209-sp717.ppd.gz 4a1f9f9b98adcc2340fbc4784d623825 6482
+star-20191209-sp742.ppd.gz cbc7546a4d119b28da0ee89ce3840776 6482
+star-20191209-sp747.ppd.gz cbc7546a4d119b28da0ee89ce3840776 6482
+star-20191209-tsp113.ppd.gz 649b77a85fec17704b9bd6e883bc9062 8744
+star-20191209-tsp143gt.ppd.gz a8ace80a2140f740ff19d12f3dc16d95 8745
+star-20191209-tsp143.ppd.gz a8ace80a2140f740ff19d12f3dc16d95 8745
+star-20191209-tsp654.ppd.gz b6033504c6d37c2bd027f24239fc10fa 8767
+star-20191209-tsp700II.ppd.gz e6be128881e12a237b6c247644246aa9 8763
+star-20191209-tsp800II.ppd.gz 289f92018d0d49d35f4e7ae65c01a2ed 22019
+xerox-20190225-xr6605dn.ppd.gz 57e9aaf3ff74c77f52862065364e7aef 333728
+xerox-20190225-xr8580dn.ppd.gz 7f6c579a0825dd29a481d133d59e9e53 349632
+xerox-20190225-xrx3655s.ppd.gz 13b75becadf9828ccbade9137adf1268 288871
+xerox-20190225-xrx4622.ppd.gz a943b568eeddb946751f9ddb0a33d514 294796
+xerox-20190225-xrx5330.ppd.gz a360737eb26d1cfe12c773a40309fc09 289774
+xerox-20190225-xrx5875.ppd.gz 7769420ad0991d42df8cad3a60a2291d 289199
+xerox-20190225-xrx7830.ppd.gz 6bd6627707168028d3f1d3d4a68ac800 334457
+xerox-20190225-xrx7970.ppd.gz 79e4c86b84e9d0b5b4d9e55783a661bc 334457
+xerox-20190225-xrx8580n.ppd.gz c6d56697a8f28f088d8de177c548cab9 349630
+xerox-20190225-xrxd95cp.ppd.gz a73b1834d654b7377088672e308b7d96 289920
+xerox-20190711-xrwc3335.ppd.gz d6572ad74de8271b04e430758b254518 288903
+xerox-20190711-xrx6510.ppd.gz f0f844366b35eb47bb90685331be0a17 333831
+xerox-20190820-xrxosd.ppd.gz 74318f684a8aa8af759800a5a226a0c3 333539
+xerox-20191030-Xerox_Phaser_7800DN.ppd.gz e1ac11868c0f60267818a28b9a287788 343260
+xerox-20191030-Xerox_Phaser_7800DX.ppd.gz fcc3f965b49dd7b5d9e4b64117d6a05d 343266
+xerox-20191030-Xerox_Phaser_7800GX.ppd.gz 86fb5a01e53439e95d306db4144aeccb 343260
+xerox-20191030-Xerox_VersaLink_C500.ppd.gz da60726fe1fbb76d3f2657ec456c6ed7 333938
+xerox-20191030-Xerox_VersaLink_C505.ppd.gz a2b087f7e8e4b83c447d3e60f82fcf44 333862
+xerox-20191030-Xerox_VersaLink_C600.ppd.gz 7018b713c2779878fd2b845a8c04f42c 334015
+xerox-20191030-Xerox_VersaLink_C605.ppd.gz 876eeab7696247a9b7ffc75306da6f33 333939
+xerox-20191030-xrxB400.ppd.ppd.gz 9a6a62f0e9b0dad0a990ca19d7e0ca54 288570
+xerox-20191030-xrxB405.ppd.ppd.gz 6607c3a567e558724da78f91c2a147ca 288570
+xerox-20191030-xrxb600.ppd.gz 1f744412732b94d88935f342bc34e7c3 288604
+xerox-20191030-xrxb615.ppd.gz 1f744412732b94d88935f342bc34e7c3 288604
+xerox-20191030-xrxB7025.ppd.gz b042ee2bf983f2f21c3de7731ffa1c36 288938
+xerox-20191030-xrxB7030.ppd.gz 7aff6b8bd1e63a38af13b3cb889f0d02 288938
+xerox-20191030-xrxB7035.ppd.gz 7aff6b8bd1e63a38af13b3cb889f0d02 288938
+xerox-20191030-xrxB8045.ppd.gz 08d0e50d60cefa0ead2c8637961a3de2 289199
+xerox-20191030-xrxC400.ppd.gz aef45a147191c29103b08212c3ead0e3 333858
+xerox-20191030-xrxC405.ppd.gz aef45a147191c29103b08212c3ead0e3 333858
+xerox-20191030-xrxC7000.ppd.gz 55b6aa5ef564c6e8fde78176ae0f3d39 334099
+xerox-20191030-xrxC7030.ppd.gz b28b2fdfc9833d58400edd957bbcb46d 334199
+xerox-20191030-xrxC8000.ppd.gz c205ae221859bc2d0c082012dca30422 334275
+xerox-20191030-xrxC8030.ppd.gz 109903cc93d25bff1ceb89509faa6527 334457
+xerox-20200129-xrxC9065.ppd.gz 1425b0b3a46153352326a15df35d2f03 334207
+xerox-20200226-xrxB9100.ppd.gz 3821db8bec77fe4fbff40c263559a717 288949
+xerox-20201014-xrxC8000W.ppd.gz 0568276db6f9a7fd9c072ca5220d5238 334199
diff --git a/client/site_tests/platform_PrinterPpds/digests/split_streams.pdf.digests b/client/site_tests/platform_PrinterPpds/digests/split_streams.pdf.digests
index e69de29..9f0cbf4 100644
--- a/client/site_tests/platform_PrinterPpds/digests/split_streams.pdf.digests
+++ b/client/site_tests/platform_PrinterPpds/digests/split_streams.pdf.digests
@@ -0,0 +1,1456 @@
+brother-20191213-DCP7180DN.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42292
+brother-20191213-DCP7195DW.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42292
+brother-20191213-DCPL5500DN.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42292
+brother-20191213-DCPL6600DW.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42292
+brother-20191213-HL5595DNH.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42292
+brother-20200131-DCP7025.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42272
+brother-20200131-DCP8080DN.ppd.gz f4c86eb0342f01f6d0a9c56464d94b24 42292
+brother-20200615-DCP9030CDN.ppd.gz ec36e10c011a8545ead41f0da44f5cce 679564
+brother-20200615-DCPL8410CDW.ppd.gz ec36e10c011a8545ead41f0da44f5cce 679564
+brother-20200615-HLL3210CW.ppd.gz ec36e10c011a8545ead41f0da44f5cce 679564
+brother-20200615-MFC9350CDW.ppd.gz ec36e10c011a8545ead41f0da44f5cce 679564
+brother-20201006-DCP7080-cups-en.ppd.gz 4e708f8d2b96acd220fc651d21204959 41640
+brother-20201006-DCP7080D-cups-en.ppd.gz 4495f25aca826e66dd05b1df325911a1 41640
+brother-20201006-DCP7090-cups-en.ppd.gz 4495f25aca826e66dd05b1df325911a1 41640
+brother-20201006-DCP7090DW-cups-en.ppd.gz 6f01a83a684fe841cb62047f5a4b0526 41640
+brother-20201006-HL2290-cups-en.ppd.gz 6f01a83a684fe841cb62047f5a4b0526 41640
+brother-20201006-HL2295D-cups-en.ppd.gz 47b994b5525ffa4566bd27cdc9a18bc3 41640
+brother-20201006-MFCL2685DW-cups-en.ppd.gz 7dcb1040ac65da1bf2d092ceac60b15b 41640
+cups-20170101-Generic-PDF_Printer-PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2780
+dymo-20200714-lm280.ppd.gz 4b34c05894c2eaf37cea838864f64824 1151
+dymo-20200714-lm400.ppd.gz 4b34c05894c2eaf37cea838864f64824 1151
+dymo-20200714-lm420p.ppd.gz d6e3b0ad61642278f8e3375a44cf9eae 1697
+dymo-20200714-lm450.ppd.gz 18d163ca9a128210f975d066d3bb2e71 1699
+dymo-20200714-lm500ts.ppd.gz 57768960860d77312de8f86321a960e3 4890
+dymo-20200714-lmpc2.ppd.gz b45499e4dfa0ec21c314d9c47468e689 1697
+dymo-20200714-lmpc.ppd.gz 872655af2b0b44c6389e8a76c91fdca0 1149
+dymo-20200714-lmpnp.ppd.gz 7e113440c46a7f88ac5cd157ec7e2a0c 794
+dymo-20200714-lmpnpw.ppd.gz 59dd04073f30986b3880a698a4a23a3e 1202
+dymo-20200714-lp350.ppd.gz 872655af2b0b44c6389e8a76c91fdca0 1149
+dymo-20200714-lw300.ppd.gz 9914e5abc675577223a126e6ee8e55bd 15933
+dymo-20200714-lw315.ppd.gz 9914e5abc675577223a126e6ee8e55bd 15933
+dymo-20200714-lw320.ppd.gz 9740dcd4e1d942028cece540011b58b6 29521
+dymo-20200714-lw330.ppd.gz 9740dcd4e1d942028cece540011b58b6 29521
+dymo-20200714-lw330t.ppd.gz 9740dcd4e1d942028cece540011b58b6 29521
+dymo-20200714-lw400.ppd.gz fea7c2d5f1ec8cb5e708b6a2e3517bc5 29523
+dymo-20200714-lw400t.ppd.gz fea7c2d5f1ec8cb5e708b6a2e3517bc5 29523
+dymo-20200714-lw450dl.ppd.gz fea7c2d5f1ec8cb5e708b6a2e3517bc5 29523
+dymo-20200714-lw450dt.ppd.gz 711db28bf0b1f321d7f17e0232f3932a 1699
+dymo-20200714-lw450.ppd.gz fea7c2d5f1ec8cb5e708b6a2e3517bc5 29523
+dymo-20200714-lw450t.ppd.gz fea7c2d5f1ec8cb5e708b6a2e3517bc5 29523
+dymo-20200714-lw450tt.ppd.gz 3192245f4bad44e7c2b2b6ab90617e7d 29529
+dymo-20200714-lw4xl.ppd.gz 15e12adbd68d6cc3d2f93ad7f17f0764 31766
+dymo-20200714-lwduol.ppd.gz fea7c2d5f1ec8cb5e708b6a2e3517bc5 29523
+dymo-20200714-lwduot2.ppd.gz 711db28bf0b1f321d7f17e0232f3932a 1699
+dymo-20200714-lwduot.ppd.gz 7f222308b2d4e8daee28ff2dc7833bbf 1151
+dymo-20200714-lwtt.ppd.gz 3192245f4bad44e7c2b2b6ab90617e7d 29529
+dymo-20200714-se450.ppd.gz 501a6efb788873efc350e4ee323b63d3 14454
+epson-20170125-Epson-L380_Series-epson-escpr-en-1.6.10.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20170125-Epson-L382_Series-epson-escpr-en-1.6.10.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Artisan_1430-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Artisan_630-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Artisan_700-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Artisan_710-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Artisan_730-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-E-150-epson-escpr-en.ppd.gz 4f3297808b530b9197d6dca8c2a2e912 142505
+epson-20200615-1_6_41-Epson-E-300-epson-escpr-en.ppd.gz e772edd7e6072062fc35c7392288c2fd 142505
+epson-20200615-1_6_41-Epson-E-330-epson-escpr-en.ppd.gz 4f3297808b530b9197d6dca8c2a2e912 142505
+epson-20200615-1_6_41-Epson-E-350-epson-escpr-en.ppd.gz 4f3297808b530b9197d6dca8c2a2e912 142505
+epson-20200615-1_6_41-Epson-E-370_Series-epson-escpr-en.ppd.gz a9e8fc81ece9d177cac90431bf41300e 164830
+epson-20200615-1_6_41-Epson-E-500-epson-escpr-en.ppd.gz e772edd7e6072062fc35c7392288c2fd 142505
+epson-20200615-1_6_41-Epson-E-850_Series-epson-escpr-en.ppd.gz a9e8fc81ece9d177cac90431bf41300e 164830
+epson-20200615-1_6_41-Epson-EP-10VA_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-306_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-30VA_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-4004-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-702A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-703A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-705A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-706A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-707A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-708A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-709A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-710A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-711A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-775A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-777A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-801A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-804A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-805A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-807A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-808A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-810A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-811A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-901A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-906F_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-976A3_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-977A3_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-978A3_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-979A3_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EP-M570T_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-1110_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-16500_Series-epson-escpr-en.ppd.gz b14f3f817021432939250f608d46ad66 478248
+epson-20200615-1_6_41-Epson-ET-2500_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-2600_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-2700_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-2750_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-4550_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-7700_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ET-7750_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EW-M5071FT_Series-epson-escpr-en.ppd.gz 6418137bfc761ea8c79e302156c37791 378880
+epson-20200615-1_6_41-Epson-EW-M571T_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EW-M660FT_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EW-M770T_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-EW-M970A3T_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-K200-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L1455_Series-epson-escpr-en.ppd.gz 61607c53d285e620255472461e4810b5 501341
+epson-20200615-1_6_41-Epson-L3050_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L364_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L375_Series-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-L455_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L5190_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L575_Series-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-L605_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L7180_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L805_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-L810_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-M200_Series-epson-escpr-en.ppd.gz 01b87b624ec9bf403e99ef79a926e971 501341
+epson-20200615-1_6_41-Epson-ME_200-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME-301_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME-400_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME_OFFICE_530-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME_OFFICE_570-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME_OFFICE_620F-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME_OFFICE_650FN-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-ME_OFFICE_700FW-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PF-70_Series-epson-escpr-en.ppd.gz 81250e920d19bddb96d95ad783b33828 142505
+epson-20200615-1_6_41-Epson-PF-71_Series-epson-escpr-en.ppd.gz 81250e920d19bddb96d95ad783b33828 142505
+epson-20200615-1_6_41-Epson-PF-81_Series-epson-escpr-en.ppd.gz 4f3297808b530b9197d6dca8c2a2e912 142505
+epson-20200615-1_6_41-Epson-PictureMate_500-epson-escpr-en.ppd.gz 7aa213754a5a7ae82f20003c4289fd67 180184
+epson-20200615-1_6_41-Epson-PictureMate_PM_200-epson-escpr-en.ppd.gz 7a3a97a816ec10991e975f81d7a79e6b 180184
+epson-20200615-1_6_41-Epson-PictureMate_PM_240-epson-escpr-en.ppd.gz 7a3a97a816ec10991e975f81d7a79e6b 180184
+epson-20200615-1_6_41-Epson-PictureMate_PM_270-epson-escpr-en.ppd.gz 7aa213754a5a7ae82f20003c4289fd67 180184
+epson-20200615-1_6_41-Epson-PictureMate_PM_300-epson-escpr-en.ppd.gz 7aa213754a5a7ae82f20003c4289fd67 180184
+epson-20200615-1_6_41-Epson-PM-400_Series-epson-escpr-en.ppd.gz 4f3297808b530b9197d6dca8c2a2e912 142505
+epson-20200615-1_6_41-Epson-PM-A750-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-A820-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-A890-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-A920-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-A950-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-A970-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-D800-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-G4500-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PM-G850-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-046A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-047A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-048A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-049A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-1600F-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-205_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-404A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-405A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-435A_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-501A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-502A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-5600-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-5V-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-A620-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-A640-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-A720-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-B700-epson-escpr-en.ppd.gz 6418137bfc761ea8c79e302156c37791 378880
+epson-20200615-1_6_41-Epson-PX-G5300-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-M160T_Series-epson-escpr-en.ppd.gz 01b87b624ec9bf403e99ef79a926e971 501341
+epson-20200615-1_6_41-Epson-PX-M350F-epson-escpr-en.ppd.gz 01b87b624ec9bf403e99ef79a926e971 501341
+epson-20200615-1_6_41-Epson-PX-M5040F-epson-escpr-en.ppd.gz ac2801f22b48ae03d1fef5fe582856b2 501341
+epson-20200615-1_6_41-Epson-PX-M5041F-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-M650A-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-M7050FP-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-M740F-epson-escpr-en.ppd.gz ac2801f22b48ae03d1fef5fe582856b2 501341
+epson-20200615-1_6_41-Epson-PX-M741F-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-M840F-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-M860F-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-S05_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-PX-S06_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_CX3700-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_CX3800-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_CX4200-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_CX4900-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_CX5000-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_CX5900-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_CX6000-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_CX7300-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_CX7400-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_CX8300-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_CX8400-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_DX4200-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_DX5000-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_NX210-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_NX230-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_NX300-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_NX510-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_NX530-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX650-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX730-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX800FW-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_R1900-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_R2000-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_R340-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_Photo_R350-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_R380-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX580-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX640-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX680-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX685-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-100_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-2510_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-2630_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-2650_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-2830_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-3010_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-3620_Series-epson-escpr-en.ppd.gz ac2801f22b48ae03d1fef5fe582856b2 501341
+epson-20200615-1_6_41-Epson-WF-3640_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-4630_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-6090_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-6530_Series-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-WF-7110_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-7510_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-7610_Series-epson-escpr-en.ppd.gz ac2801f22b48ae03d1fef5fe582856b2 501341
+epson-20200615-1_6_41-Epson-WF-8010_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WF-M5190_Series-epson-escpr-en.ppd.gz 01b87b624ec9bf403e99ef79a926e971 501341
+epson-20200615-1_6_41-Epson-WorkForce_320-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WorkForce_600-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WorkForce_610-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-WP-4010_Series-epson-escpr-en.ppd.gz 1fecdca1a3f20e49eb65c333e0838578 360938
+epson-20200615-1_6_41-Epson-WP-4011_Series-epson-escpr-en.ppd.gz 6418137bfc761ea8c79e302156c37791 378880
+epson-20200615-1_6_41-Epson-WP-4020_Series-epson-escpr-en.ppd.gz 6418137bfc761ea8c79e302156c37791 378880
+epson-20200615-1_6_41-Epson-WP-M4011_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-201_204_208_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-2100_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-211_214_216_Series-epson-escpr-en.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-1_6_41-Epson-XP-212_213_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-220_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-225_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-255_257_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-510_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-520_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-530_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-540_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-55_Series-epson-escpr-en.ppd.gz ccf9f14078a455dfebc4103c7f3ce581 501341
+epson-20200615-1_6_41-Epson-XP-600_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-610_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-620_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-630_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-640_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-7100_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-720_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-750_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-830_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-850_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-900_Series-epson-escpr-en.ppd.gz ac2801f22b48ae03d1fef5fe582856b2 501341
+epson-20200615-1_6_41-Epson-XP-950_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-1_6_41-Epson-XP-960_Series-epson-escpr-en.ppd.gz 9da96b2142e2e429d4a45ef00535c2bb 501341
+epson-20200615-EPSON_EW-052A_Series.ppd.gz 4f90dc4f62a12296962332fa7d530230 478248
+epson-20200615-Epson-LX-10000FK_Series_PS3.ppd.gz 81617f7ef8eea6d7f9a2a5e6d3692faf 239912
+epson-20200615-Epson-LX-10000F_PS.ppd.gz 572be862c8117ba0808babb0778ac4d4 239912
+epson-20200615-Epson-LX-10010MF_Series_PS3.ppd.gz 3eb002b7438bea7731fc741b3967ec74 212924
+epson-20200615-Epson-WF-C17590_Series_PS3.ppd.gz 626c024034c82f2617be8862600afab5 239912
+epson-20200615-Epson-WF-C20590_PS.ppd.gz 3bc86ddabba87c2b05633fdd49b7c4d5 239912
+epson-20200615-Epson-WF-M20590_Series_PS3.ppd.gz fed678a41dce9e80ef4f6aa1a86cef3e 212924
+foomatic-20170101-Samsung-M332x_382x_402x-Postscript.ppd.gz 41ed70558d46dfe8f3b55f1a59ba0507 212252
+foomatic-20190909-Ricoh-IM_430F-PostscriptMono-Ricoh.ppd.gz 15948f607781434daad2cfad57292490 213651
+foomatic-20190909-Ricoh-IM_430_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20190909-Ricoh-IM_C4500_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20191029-Apollo-P-1200-pcl3.ppd.gz ab4a8b331de68cff90acec50cd913723 50798
+foomatic-20191029-BR5070DN_GPL.ppd.gz 301ae4197903de98dbf2bdb62c897507 213323
+foomatic-20191029-Gestetner-Pro_C5200S_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2940
+foomatic-20191029-Lanier-Pro_8200S_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20191029-Lanier-Pro_8210_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20191029-Lanier-Pro_C7200_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2966
+foomatic-20191029-Lanier-Pro_C7200S_Light_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2966
+foomatic-20191029-shar208d.ppd.gz 12405ad1658579344654739f4f17f073 213861
+foomatic-20191029-shar208s.ppd.gz fe5eb9a8dcc39ff46abf473300f5bb53 213762
+foomatic-20200219-Anitech-M24-epson.ppd.gz c82f267a84d8af1b42f9c2dd0edd7561 981
+foomatic-20200219-Apple-12_640ps-Postscript.ppd.gz 67887374953e82b4572c222c27a65709 212252
+foomatic-20200219-Apple-LaserWriter_IIg-Postscript.ppd.gz ea69f0255977cbd5b94b1d6499105b5a 186803
+foomatic-20200219-Apple-LaserWriter_Select_360-ljet2p.ppd.gz a1f917c7d6b0b1f8467bcbde85636e3d 28787
+foomatic-20200219-Brother-DCP-7010-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Brother-DCP-8020-Postscript-Brother.ppd.gz 12d78f525b46c044ee8f32cce653100d 213056
+foomatic-20200219-Brother-DCP-8025D-Postscript-Brother.ppd.gz 66ae6e934531207753fd98cfdd4a1333 213168
+foomatic-20200219-Brother-DCP-8040-Postscript-Brother.ppd.gz fecdd23dc4384f293fa18157e1fb7354 213056
+foomatic-20200219-Brother-DCP-8045D-Postscript-Brother.ppd.gz b7c9cac5b951748fb557f00aa4855796 213168
+foomatic-20200219-Brother-DCP-9010CN-Postscript-Brother.ppd.gz 009b022cae858115ad6bc1dc7ca71d11 10729822
+foomatic-20200219-Brother-DCP-9040CN-Postscript-Brother.ppd.gz d162467ebfb471d137cf4b662113796a 10729846
+foomatic-20200219-Brother-DCP-9045CDN-Postscript-Brother.ppd.gz 56cb14a14584d9371aa50c86179bc38f 10730032
+foomatic-20200219-Brother-HJ-400-lq850.ppd.gz ae98ea2fa55c9cfd5295fd2ae42c5e84 38020
+foomatic-20200219-Brother-HL-1030-hl1250.ppd.gz 1e72f9f80ff71a942557439a08500201 15327
+foomatic-20200219-Brother-HL-1070-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Brother-HL-10V-ljet3.ppd.gz b537f15d8120d294b184ab09cc073000 14468
+foomatic-20200219-Brother-HL-1230-hl1250.ppd.gz 1e72f9f80ff71a942557439a08500201 15327
+foomatic-20200219-Brother-HL-1240-laserjet.ppd.gz 2f0322f1fb292235dc37b9219488dca0 48492
+foomatic-20200219-Brother-HL-1250-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42208
+foomatic-20200219-Brother-HL-1270N-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42208
+foomatic-20200219-Brother-HL-1450-Postscript-Brother.ppd.gz d87093c6e06c751e444a899a6f7065ba 213106
+foomatic-20200219-Brother-HL-1650_70N-Postscript-Brother.ppd.gz e4b126a5167983b07e24fff6393da528 213415
+foomatic-20200219-Brother-HL-1650-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42254
+foomatic-20200219-Brother-HL-1660e-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42254
+foomatic-20200219-Brother-HL-1850_70N-Postscript-Brother.ppd.gz afed8b1f4f2a962fd21bc5a11d9950b1 213652
+foomatic-20200219-Brother-HL-1850-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42254
+foomatic-20200219-Brother-HL-2060-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42208
+foomatic-20200219-Brother-HL-2240D-hl1250.ppd.gz 6ed92a182eaa9e8da5dbbdaa08859b8e 42414
+foomatic-20200219-Brother-HL-2240-hl1250.ppd.gz 6ed92a182eaa9e8da5dbbdaa08859b8e 42368
+foomatic-20200219-Brother-HL-2400CeN-pxlcolor.ppd.gz f806e59260ec92ab078d06457825b9c6 679510
+foomatic-20200219-Brother-HL-2460N-pxlmono.ppd.gz a6771d9200d30ea72bfaf1e1553882e1 79767
+foomatic-20200219-Brother-HL-2460-Postscript-Brother.ppd.gz 4460a933aa1cd34abaa3dd951915b5a1 214112
+foomatic-20200219-Brother-HL-2600CN-Postscript-Brother.ppd.gz a0d54b28fcf99df9158da0f7e33e01ad 10731780
+foomatic-20200219-Brother-HL-2700CN-Postscript-Brother.ppd.gz 83a30fcb8c350043a988f86e1243f96f 10730369
+foomatic-20200219-Brother-HL-3070CW-Postscript-Brother.ppd.gz f2ee256b5e96d498a6a531f6d5653206 10729898
+foomatic-20200219-Brother-HL-3260N-Postscript-Brother.ppd.gz bd93452bce7c130420c0720d1cbd2107 214092
+foomatic-20200219-Brother-HL-3450CN-Postscript-Brother.ppd.gz dbb64f96fd605967b4fb36e762b5d96c 10731780
+foomatic-20200219-Brother-HL-4050CDN-Postscript-Brother.ppd.gz e653a290127b53838a830f26d25853c6 10730108
+foomatic-20200219-Brother-HL-4Ve-laserjet.ppd.gz 332abc3788d34ae2f95670c4015577e6 48408
+foomatic-20200219-Brother-HL-5030-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42208
+foomatic-20200219-Brother-HL-5050-Postscript-Brother.ppd.gz 5be4aa41fa48b812a2b403b8f9628627 213212
+foomatic-20200219-Brother-HL-5140-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Brother-HL-5150D-Postscript-Brother.ppd.gz f52c8ffd6aecbd7b5c728c37c8016d3d 213324
+foomatic-20200219-Brother-HL-5240-Postscript-Brother.ppd.gz d7148fa2d07153f2c4c86b1a565b3fe3 213238
+foomatic-20200219-Brother-HL-5250DN-Postscript-Brother.ppd.gz 600e49a22f5d0a7ff43e2f6806237173 213350
+foomatic-20200219-Brother-HL-5270DN-Postscript-Brother.ppd.gz 3afee844748f20cdfa7384d8a794833f 213774
+foomatic-20200219-Brother-HL-6050D_DN-Postscript-Brother.ppd.gz 6c472cfe8ad7e2a96ac5ad57c8dbfd66 213852
+foomatic-20200219-Brother-HL-6050-Postscript-Brother.ppd.gz 33af6a0821c71360bb315986ea8085f6 213740
+foomatic-20200219-Brother-HL-7050N-pxlmono.ppd.gz a6771d9200d30ea72bfaf1e1553882e1 79817
+foomatic-20200219-Brother-HL-7050-Postscript-Brother.ppd.gz 215c66264a81519bb3b3b6c1ee83bb62 214253
+foomatic-20200219-Brother-HL-8050N-Postscript-Brother.ppd.gz 8a6e6d98e14a6437cca55536e08c497f 214070
+foomatic-20200219-Brother-HL-8-ljetplus.ppd.gz 332abc3788d34ae2f95670c4015577e6 48408
+foomatic-20200219-Brother-MC-3000-epson.ppd.gz c82f267a84d8af1b42f9c2dd0edd7561 981
+foomatic-20200219-Brother-MFC-7450-Postscript-Brother.ppd.gz 1a3b65a4710926c7868c1b68f1db64f0 213550
+foomatic-20200219-Brother-MFC-8220-Postscript-Brother.ppd.gz acbafd49f8cdf7ae70a95725028d069d 213056
+foomatic-20200219-Brother-MFC-8440-Postscript-Brother.ppd.gz 1401591a865c33beb7845b54630b213a 213056
+foomatic-20200219-Brother-MFC-8640D-Postscript-Brother.ppd.gz 25bc2b4d84ff87eb8e16499c9ae31667 213168
+foomatic-20200219-Brother-MFC-8670DN-Postscript-Brother.ppd.gz 7fded50049c6ff4a3754ce7530a34c43 213698
+foomatic-20200219-Brother-MFC-8820D-Postscript-Brother.ppd.gz 973745319018552f9beccd877911b29c 213168
+foomatic-20200219-Brother-MFC-9100c-epsonc.ppd.gz 9c5c79061c314efa74b103e6a3bd58d3 2807
+foomatic-20200219-Brother-MFC-9420CN-Postscript-Brother.ppd.gz b34041128236e9f23d1ef83778820f40 10729621
+foomatic-20200219-Brother-MFC-9440CN-Postscript-Brother.ppd.gz 8d987da3f9da9c40d8dcc1442cd090b6 10729920
+foomatic-20200219-Brother-MFC-P2500-hl1250.ppd.gz 1e72f9f80ff71a942557439a08500201 15327
+foomatic-20200219-Canon-BJ-100-bj200.ppd.gz 9aa15c81a1a38dae60caf6849ecb5dbe 30537
+foomatic-20200219-Canon-BJ-10e-bj10e.ppd.gz bca1043a02a9dbc0e213649914399596 28751
+foomatic-20200219-Canon-BJ-330-bj200.ppd.gz 9aa15c81a1a38dae60caf6849ecb5dbe 30537
+foomatic-20200219-Canon-BJC-1000-bjc600.ppd.gz 957db51dd8b109096599382869417e56 80446
+foomatic-20200219-Canon-BJC-2100-bjc610XY.upp.ppd.gz 463a17a0e3672a9002185221500a1b13 83370
+foomatic-20200219-Canon-BJC-210-bjc600.ppd.gz 957db51dd8b109096599382869417e56 80446
+foomatic-20200219-Canon-BJC-210SP-bj200.ppd.gz 9aa15c81a1a38dae60caf6849ecb5dbe 30537
+foomatic-20200219-Canon-BJC-250ex-bjc250gs.ppd.gz 4405fb1348dd9636423c0cd0d054cc11 94598
+foomatic-20200219-Canon-BJC-255SP-bjc250gs.ppd.gz 9f450f08438db89de0e2a9c812ab36c5 94670
+foomatic-20200219-Canon-BJC-4550-bjc800.ppd.gz 4cb509567d93a59d830161d70aa7b9fa 80445
+foomatic-20200219-Canon-BJC-610-bjc610XY.upp.ppd.gz 463a17a0e3672a9002185221500a1b13 83370
+foomatic-20200219-Canon-BJC-800-bjc800.ppd.gz 4cb509567d93a59d830161d70aa7b9fa 80445
+foomatic-20200219-Canon-BJC-8200-bj8XXYYZ.upp.ppd.gz 92c6cc2a9c5246863955b7ec610a3b14 151005
+foomatic-20200219-Canon-GP_405-Postscript.ppd.gz 757075bc510a6e4009eec5536bb090e9 212252
+foomatic-20200219-Canon-imageRunner_C2570-Postscript.ppd.gz 8399c58902ed391d59cad51291348771 238975
+foomatic-20200219-Canon-iPR_C600-Postscript-Canon.ppd.gz 1d4a3e23b57f890912e7d3dbc24bfe9b 243989
+foomatic-20200219-Canon-iPR_C650_PPD-Postscript-Canon.ppd.gz e0b67c1601a1f91d7eec477d040c50c8 245616
+foomatic-20200219-Canon-iPR_C700_800-Postscript-Canon.ppd.gz 6901cf310b10dc8b8db3e438533b234c 245622
+foomatic-20200219-Canon-iPR_C750_850_PPD-Postscript-Canon.ppd.gz ecdf54f2b9bcc80457bab23fbe9366ed 245630
+foomatic-20200219-Canon-iR-ADV_400_500-Postscript-Canon.ppd.gz b4b97750f55ea1719f6cb207efebe1a0 214953
+foomatic-20200219-Canon-iR-ADV_4025_4035-Postscript-Canon.ppd.gz 720e7b179173a76ddda0bf57103acc46 215595
+foomatic-20200219-Canon-iR-ADV_4225_4235-Postscript-Canon.ppd.gz bdeb7fb997325cc4861ef91b11892824 215948
+foomatic-20200219-Canon-iR-ADV_6055_6065-Postscript-Canon.ppd.gz 1e251f20e2fc3e894b11a62de24869e6 215828
+foomatic-20200219-Canon-iR-ADV_6255_6265-Postscript-Canon.ppd.gz 445a1e89da1151e534eb3c4ee30cd959 216169
+foomatic-20200219-Canon-iR-ADV_8085_8095-Postscript-Canon.ppd.gz 7ed15d4325bb8299771c3b8e65c40121 215899
+foomatic-20200219-Canon-iR-ADV_8205-Postscript-Canon.ppd.gz 605ee2b598d736bf1216e810cd98a509 216448
+foomatic-20200219-Canon-iR-ADV_C2020_2030-Postscript-Canon.ppd.gz f95707e06705a0921c63d7700b752b75 242995
+foomatic-20200219-Canon-iR-ADV_C2020i_2030i-Postscript-Canon.ppd.gz 5afdc44e00ea0affbdcd81415c3c3af6 242991
+foomatic-20200219-Canon-iR-ADV_C2025-Postscript-Canon.ppd.gz 5afdc44e00ea0affbdcd81415c3c3af6 242991
+foomatic-20200219-Canon-iR-ADV_C2220_2230-Postscript-Canon.ppd.gz 300f94107c9567e22716bc062768b15b 243550
+foomatic-20200219-Canon-iR-ADV_C2225-Postscript-Canon.ppd.gz e0a994a15d20ed7aeba679135f9496ae 243550
+foomatic-20200219-Canon-iR-ADV_C250_350-Postscript-Canon.ppd.gz 976e08d41b54e7c83f6dea2cdcfa8339 242732
+foomatic-20200219-Canon-iR-ADV_C3320L-Postscript-Canon.ppd.gz 38768ef62eb90e659793a2344cec83cc 243434
+foomatic-20200219-Canon-iR-ADV_C3320-Postscript-Canon.ppd.gz ebd8fc4ed303b37197c3efbf1bcb3fd4 243506
+foomatic-20200219-Canon-iR-ADV_C3325_3330-Postscript-Canon.ppd.gz ca8b933ad4027fc14c96b9c4ea9272ec 243506
+foomatic-20200219-Canon-iR-ADV_C351-Postscript-Canon.ppd.gz 92ffb8923986fca213684ffe46e7d942 242661
+foomatic-20200219-Canon-iR-ADV_C5030_5035-Postscript-Canon.ppd.gz d5b5b5fd9e84e8fc2aafa50eca262551 244372
+foomatic-20200219-Canon-iR-ADV_C5045_5051-Postscript-Canon.ppd.gz 7c302972999ea04f067f423318621dc7 244372
+foomatic-20200219-Canon-iR-ADV_C5235_5240-Postscript-Canon.ppd.gz 6e5b11c0c3dacc50520ead565938c2ac 244438
+foomatic-20200219-Canon-iR-ADV_C5250_5255-Postscript-Canon.ppd.gz 6e5b11c0c3dacc50520ead565938c2ac 244438
+foomatic-20200219-Canon-iR-ADV_C7055_7065-Postscript-Canon.ppd.gz d16ea478a24a6137bf920e9e25d2a312 244178
+foomatic-20200219-Canon-iR-ADV_C7260_7270-Postscript-Canon.ppd.gz ec806c707a42164db0659b105799e83c 244519
+foomatic-20200219-Canon-iR-ADV_C7280-Postscript-Canon.ppd.gz a76aea03b0122e9aa557fa9f37caa3a6 244794
+foomatic-20200219-Canon-iR-ADV_C9060_9070-Postscript-Canon.ppd.gz 45b4c625d66650de7a75cc91528ffd05 244245
+foomatic-20200219-Canon-iR-ADV_C9065_9075-Postscript-Canon.ppd.gz 5293a60c5697457f1f8461c3ddb869e8 244249
+foomatic-20200219-Canon-iR-ADV_C9270_9280-Postscript-Canon.ppd.gz c76db7f9c3050417aeec60bd6656f8c1 244798
+foomatic-20200219-Canon-LBP-1000-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42239
+foomatic-20200219-Canon-LBP-1760-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Canon-LBP-430-ljet4.ppd.gz 4def7a570be40572772e3f57657ea7ae 15091
+foomatic-20200219-Canon-LBP-4U-lbp8.ppd.gz 5ee0b466344cf3d5b94ff8d184ac0abf 39182
+foomatic-20200219-Canon-LBP6670-Postscript-Canon.ppd.gz 3829e82225ecdf78e2eddbf29a3d6f5f 212781
+foomatic-20200219-Canon-LBP6780_3580-Postscript-Canon.ppd.gz 0359450c73fcdb12dae15ecf0fda49e0 212787
+foomatic-20200219-Canon-LBP710C_PPD-Postscript-Canon.ppd.gz e61a82c511c8ce3ac352a1d50e5cc642 240473
+foomatic-20200219-Canon-LBP712C_PPD-Postscript-Canon.ppd.gz 3a7969cdc9974745b000c63bc5e24884 240476
+foomatic-20200219-Canon-LBP7660C-Postscript-Canon.ppd.gz 2724e3f0b73b347fecf8e7394a2988c0 240480
+foomatic-20200219-Canon-LBP7680C_5280-Postscript-Canon.ppd.gz 2724e3f0b73b347fecf8e7394a2988c0 240480
+foomatic-20200219-Canon-LBP7780C_5480-Postscript-Canon.ppd.gz cc0d72480bcc715bf9848983fe8fe188 240473
+foomatic-20200219-Canon-LBP8780-Postscript-Canon.ppd.gz ed2c626c549bed998067696fe0edbec8 212844
+foomatic-20200219-Canon-LIPS-III-lips3.ppd.gz 2c00cf31c6a6980af62e665b51805d92 18485
+foomatic-20200219-Canon-LIPS-IIplus-lips2p.ppd.gz 6fc1190e741e131f955a00d8cadaeffb 12724
+foomatic-20200219-Canon-S500-bj8XXYYZ.upp.ppd.gz 92c6cc2a9c5246863955b7ec610a3b14 151005
+foomatic-20200219-Citizen-ProJet_IIc-cdj500.ppd.gz e44529d1020f0ac4d78f944e667101ab 37589
+foomatic-20200219-CItoh-M8510-m8510.ppd.gz 941764441d6cda079565f233fb536e12 14033
+foomatic-20200219-Compaq-IJ900-lxm5700m.ppd.gz a4e34c3997af0ab4a88fd1013b965206 99537
+foomatic-20200219-DEC-DECWriter_500i-djet500.ppd.gz 5e404c72704e88d8c252176d67f16da4 15276
+foomatic-20200219-DEC-LJ250-declj250.ppd.gz 9e78fe394a071879c3cbe5749d1f030a 36623
+foomatic-20200219-Dell-M5200-Postscript.ppd.gz 0e63c9f881466ebd86535d522c8ed6ce 212252
+foomatic-20200219-Epson-ActionPrinter_3250-ap3250.ppd.gz 26031faf80d41ce67ef52c888865fea1 17833
+foomatic-20200219-Epson-AL-2600-Postscript-Epson.ppd.gz 5c618fa8aa51fe88be1dec44df9045b7 199256
+foomatic-20200219-Epson-AL-C1900_PS3-Postscript-Epson.ppd.gz 4a544231e307dffa73c2b5f76c96c8fe 199186
+foomatic-20200219-Epson-AL-C2000_PS3-Postscript-Epson.ppd.gz b66c12f25eea5836b5f756b17c960a37 198464
+foomatic-20200219-Epson-AL-C2600-Postscript-Epson.ppd.gz f097b114a9b61c378ed14f644d4adb7c 199269
+foomatic-20200219-Epson-AL-C2800-Postscript-Epson.ppd.gz 56e06e4b4b078ff6423e36ced9bd8b56 199047
+foomatic-20200219-Epson-AL-C3800-Postscript-Epson.ppd.gz 54910277cac81270b7f730c7f9b7c0f4 199047
+foomatic-20200219-Epson-AL-C4000_PS3-Postscript-Epson.ppd.gz f64a3ed3011e8d6641b2c14ac232acf7 199289
+foomatic-20200219-Epson-AL-C4100-Postscript-Epson.ppd.gz a39c40be4c1c38166895b58393c625b5 199103
+foomatic-20200219-Epson-AL-C4200-Postscript-Epson.ppd.gz e824e0c7e35c57f104ee6db2f3f239fc 199259
+foomatic-20200219-Epson-AL-C8500-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Epson-AL-C8600_PS3-Postscript-Epson.ppd.gz f22d400780334d6028c06cbe8650f0b5 199321
+foomatic-20200219-Epson-AL-C9100-Postscript-Epson.ppd.gz 20f8270778c6d7bb9c1ee7251fc2ddec 199522
+foomatic-20200219-Epson-AL-C9200-Postscript-Epson.ppd.gz 0d0d894202e2be64afc9626390ec9a8a 199005
+foomatic-20200219-Epson-AL-CX21-Postscript-Epson.ppd.gz 7d7f86c032515b901952ed494cb2af56 198395
+foomatic-20200219-Epson-AL-M2000-Postscript-Epson.ppd.gz b90073a0892d29e89bd2264403cfd1e9 188169
+foomatic-20200219-Epson-AL-M2300-eplaser.ppd.gz 0f78881885cb17e6bd8e7eadea0fedeb 1678897
+foomatic-20200219-Epson-AL-M2310-eplaser.ppd.gz 0f78881885cb17e6bd8e7eadea0fedeb 1678897
+foomatic-20200219-Epson-AL-M2400-Postscript-Epson.ppd.gz 0bb4b3a8d289a283893356065922ddc3 188181
+foomatic-20200219-Epson-AL-M4000-Postscript-Epson.ppd.gz a4f8ee2cbf193787d6ceaa9bd10a72ba 214022
+foomatic-20200219-Epson-AL-M8000-Postscript-Epson.ppd.gz 82bb29c145c0f9d57b1117171604e9bd 213839
+foomatic-20200219-Epson-AL-MX20-Postscript-Epson.ppd.gz a58e8851eb305365a31cd2aeb7b868b6 188039
+foomatic-20200219-Epson-Dot_Matrix-epsonc.ppd.gz 9c5c79061c314efa74b103e6a3bd58d3 2807
+foomatic-20200219-Epson-EPL-5800-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Epson-EPL-5900_PS3-Postscript-Epson.ppd.gz c1d9366cba7314ea31c965b1db017ec9 239846
+foomatic-20200219-Epson-EPL-6100_PS3-Postscript-Epson.ppd.gz c1d9366cba7314ea31c965b1db017ec9 239846
+foomatic-20200219-Epson-EPL-6200-Postscript-Epson.ppd.gz 1ac7d1905d2d6872c65263ab529cb1c5 198619
+foomatic-20200219-Epson-EPL-7100-laserjet.ppd.gz 332abc3788d34ae2f95670c4015577e6 48408
+foomatic-20200219-Epson-EPL-N2120-ljet4.ppd.gz a4010572b3e6ad7dcb9c817449d7fee9 42124
+foomatic-20200219-Epson-EPL-N2500_PS3-Postscript-Epson.ppd.gz e9eff6e72643f783f3965d2d21bebdbd 240396
+foomatic-20200219-Epson-EPL-N2550-Postscript-Epson.ppd.gz 6a49782297c4e56667e95e6086b395de 213584
+foomatic-20200219-Epson-EPL-N2700-Postscript-Epson.ppd.gz d1341466bef92ca3f187e4946b6cbb07 240707
+foomatic-20200219-Epson-EPL-N3000-Postscript-Epson.ppd.gz 00f4f644a7fd464628ae55ed59374469 240726
+foomatic-20200219-Epson-EPL-N7000-Postscript-Epson.ppd.gz b6172c8dca6e5d4d3b6008a79f41b70f 240634
+foomatic-20200219-Epson-LP-1800-eplaser-jp.ppd.gz cca87398b021056a4970921ddba3a2e3 1678895
+foomatic-20200219-Epson-LP-1900-eplaser-jp.ppd.gz 3336127b7a1d4fd1ec4c1fb8fadf149a 1678895
+foomatic-20200219-Epson-LP-2200-eplaser-jp.ppd.gz b90665eada754ff9b0a3758112e65179 1678895
+foomatic-20200219-Epson-LP-2400-eplaser-jp.ppd.gz e91a07baed0e0ff579e7f60a5a010ad6 1678895
+foomatic-20200219-Epson-LP-2500-eplaser-jp.ppd.gz 4e1c8d3bdab296fa7376636c7d246d0f 1678895
+foomatic-20200219-Epson-LP-3000C-eplaser-jp.ppd.gz 459e9a2ed5957884ba7b6eb367ca430b 7286467
+foomatic-20200219-Epson-LP-7500-eplaser-jp.ppd.gz 3944c31e14e4f9e0fd2c8d1f93bc4145 1678895
+foomatic-20200219-Epson-LP-7700-eplaser-jp.ppd.gz 4b8f6c719b4091c0c7dfa057250d79c0 1678895
+foomatic-20200219-Epson-LP-7900-eplaser-jp.ppd.gz b9a22650b1ab13926c914aa24b016d87 1678895
+foomatic-20200219-Epson-LP-8000C-eplaser-jp.ppd.gz 66402f3c6ef03aaa336bacacd41eb50b 7286447
+foomatic-20200219-Epson-LP_8000-lp8000.ppd.gz 4d14051d86c35b76292fb025416216bb 24924
+foomatic-20200219-Epson-LP-8100-eplaser-jp.ppd.gz f1e44dbeb806ebccc653bab1249e8173 1678895
+foomatic-20200219-Epson-LP-8200C-eplaser-jp.ppd.gz 7cb252c9a324f8f07668ce26b1cb2134 7286467
+foomatic-20200219-Epson-LP-8300C-eplaser-jp.ppd.gz ea835e4b20a8d083b1205e07c9f383e7 7286467
+foomatic-20200219-Epson-LP-8300CPD-Postscript-Epson.ppd.gz cd43c30a59555db5d0cfaad0f1afabbb 198490
+foomatic-20200219-Epson-LP-8300F-eplaser-jp.ppd.gz bb7d9f7a2a35f1404f48f5c1232cbf75 1678897
+foomatic-20200219-Epson-LP-8400F-eplaser-jp.ppd.gz f28f4714465388a6dbc2e06084e992ca 1678897
+foomatic-20200219-Epson-LP-8500C-eplaser-jp.ppd.gz a5a7058dcff60a1e3532ef1b749f93d3 7286467
+foomatic-20200219-Epson-LP-8500CPD-Postscript-Epson.ppd.gz 0328a27928d5a452c0f0d38ee2070960 198469
+foomatic-20200219-Epson-LP-8600-eplaser-jp.ppd.gz 999a9545548ef1e82c5531b956b76c71 1678895
+foomatic-20200219-Epson-LP-8600F-eplaser-jp.ppd.gz 613e151ce5152d3924b31274946b34d1 1678897
+foomatic-20200219-Epson-LP-8700-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-8800C-eplaser-jp.ppd.gz 96561d2a574f07a836cab8462ae920b7 7286467
+foomatic-20200219-Epson-LP-8800CPS-Postscript-Epson.ppd.gz 3c6d4b599abb80ae89e7144fb91803f2 198932
+foomatic-20200219-Epson-LP-8900-eplaser-jp.ppd.gz 45c12fa7d8b5130fbe7d7805934bf9a8 1678895
+foomatic-20200219-Epson-LP-9000B-eplaser-jp.ppd.gz 2f2bbac523c2628128182b17f4dde105 1678897
+foomatic-20200219-Epson-LP-9000C-eplaser-jp.ppd.gz ac0630beb816d13dcca52bce23a4bc59 7286467
+foomatic-20200219-Epson-LP-9100-eplaser-jp.ppd.gz 855883596cc92849129f4f79c775bca1 1678895
+foomatic-20200219-Epson-LP-9100PS3-Postscript-Epson.ppd.gz d1d7cc3a832fecfe52674d558a0876b2 240233
+foomatic-20200219-Epson-LP-9200B-eplaser-jp.ppd.gz f8dca0f6c49edf8f641d0addf0039495 1678897
+foomatic-20200219-Epson-LP-9200C-Postscript-Epson.ppd.gz 82a6d81df160072efc69447117341e73 198673
+foomatic-20200219-Epson-LP-9300-eplaser-jp.ppd.gz 67e40531347f5883c530cd1e207a77df 1678895
+foomatic-20200219-Epson-LP-9400-eplaser-jp.ppd.gz 72089691029d2ac3e1d133f62c4418cf 1678895
+foomatic-20200219-Epson-LP-9500C-eplaser-jp.ppd.gz 8908a4bdc44b479e16a7179c68edc723 7286467
+foomatic-20200219-Epson-LP-9500CPS-Postscript-Epson.ppd.gz b18264bda7cc48cf9dcce8e0e3e2e87b 198992
+foomatic-20200219-Epson-LP-9600-eplaser-jp.ppd.gz f074ce00655b5929113d6241542c7310 1678895
+foomatic-20200219-Epson-LP-9600S-eplaser-jp.ppd.gz 355a95f88467cbd63e503c5c48d89075 1678897
+foomatic-20200219-Epson-LP-9600SPD-Postscript-Epson.ppd.gz a783b980e3291b371f2e9f6c2914f7a0 214076
+foomatic-20200219-Epson-LP-9800C-Postscript-Epson.ppd.gz 03dc4b194c57ba29ae157d46254050de 198864
+foomatic-20200219-Epson-LP-M5000-eplaser-jp.ppd.gz a5a7058dcff60a1e3532ef1b749f93d3 7286467
+foomatic-20200219-Epson-LP-M5300-eplaser-jp.ppd.gz a5a7058dcff60a1e3532ef1b749f93d3 7286467
+foomatic-20200219-Epson-LP-M6000-eplaser-jp.ppd.gz a5a7058dcff60a1e3532ef1b749f93d3 7286467
+foomatic-20200219-Epson-LP-S210-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S3000-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S300-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S310-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S3200-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S3500-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S4000-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S4200-eplaser-jp.ppd.gz 2f85be7ef7106aeaf64c73bbdbf26e51 1678895
+foomatic-20200219-Epson-LP-S4500-eplaser-jp.ppd.gz 39ae638ef52cfc168ef792cc1394ae2e 1678897
+foomatic-20200219-Epson-LP-S6500-eplaser-jp.ppd.gz f2a0a77cf6f35848ec1e5b524e1b9dc0 7286467
+foomatic-20200219-Epson-LP-S7500-eplaser-jp.ppd.gz a5a7058dcff60a1e3532ef1b749f93d3 7286467
+foomatic-20200219-Epson-LP-S8100-eplaser-jp.ppd.gz e90951a40e45f155c4281c7e9b3e301c 7286455
+foomatic-20200219-Epson-LX-300plus-ibmpro.ppd.gz 6b661238af63eb0c627d181a564dc9be 1861
+foomatic-20200219-Epson-MJ_520C-stcolor.ppd.gz cdbd29ecd3755bb7eee3fd0e94e72326 86298
+foomatic-20200219-Epson-Stylus_Color_460-stcX.upp.ppd.gz f2fe0c799d4120e5e0b0190fc5419db2 65316
+foomatic-20200219-Epson-Stylus_Color_660-stc600X.upp.ppd.gz 344f979da83e5700162996c7e6d5e09b 60817
+foomatic-20200219-Epson-Stylus_Color_777-stcanyX.upp.ppd.gz d475e4821a36f7631085c2ea2d97c376 92280
+foomatic-20200219-Epson-Stylus_Color_850-stc800X.upp.ppd.gz 76cc87cb18780eaa6e4f3d60ae6e65d6 60118
+foomatic-20200219-Epson-Stylus_Color_II-stc2X.upp.ppd.gz 72340b7ce9658c55861954dec88eb376 64744
+foomatic-20200219-Epson-Stylus_Color-stcolor.ppd.gz 35808c9b93f9a4455d50ed2316bcbe6b 86298
+foomatic-20200219-Fuji_Xerox-DocuPrint_CM305_df-Postscript.ppd.gz 89d9fdf67511a23f4396dba6fc11100d 198135
+foomatic-20200219-Generic-ESC_P_Dot_Matrix_Printer-lq850.ppd.gz ae98ea2fa55c9cfd5295fd2ae42c5e84 38020
+foomatic-20200219-Generic-IBM-Compatible_Dot_Matrix_Printer-ibmpro.ppd.gz 6b661238af63eb0c627d181a564dc9be 1861
+foomatic-20200219-Generic-PCL_6_PCL_XL_Printer-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42204
+foomatic-20200219-Generic-PostScript_Printer-Postscript.ppd.gz 0ea96f88932bad6cec39b1ce9f89c044 239191
+foomatic-20200219-Gestetner-10512-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79986
+foomatic-20200219-Gestetner-2212-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79966
+foomatic-20200219-Gestetner-3502-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79985
+foomatic-20200219-Gestetner-3532_4235g-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79958
+foomatic-20200219-Gestetner-6002-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79958
+foomatic-20200219-Gestetner-9002-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79986
+foomatic-20200219-Gestetner-C7010-Postscript-Gestetner.ppd.gz 1205349253fd3efd393373145a3fa7b7 240690
+foomatic-20200219-Gestetner-C7116-Postscript-Gestetner.ppd.gz 4cf1f50a4f876a4f60d96e8ad7b8c723 240472
+foomatic-20200219-Gestetner-C7425dn-Postscript-Gestetner.ppd.gz 6cf5371874301a06db2f35b68f2e3436 241946
+foomatic-20200219-Gestetner-C7435n-Postscript-Gestetner.ppd.gz 2f55730b9ae45d81261635d58a360294 242196
+foomatic-20200219-Gestetner-C7521n-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2793
+foomatic-20200219-Gestetner-C7526dn-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2803
+foomatic-20200219-Gestetner-C7528n-Postscript-Gestetner.ppd.gz 7c77d51b13e1fd130c1b0350db9f1033 242599
+foomatic-20200219-Gestetner-C7535n-Postscript-Gestetner.ppd.gz 24667d85dfb4ea7a074c158801bbd13f 242530
+foomatic-20200219-Gestetner-C7640nD-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-C8140ND-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-CS555-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2835
+foomatic-20200219-Gestetner-DSc1020-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1030-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Gestetner-DSc1045-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Gestetner-DSc1060-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Gestetner-DSc1120-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2851
+foomatic-20200219-Gestetner-DSc1220ex-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1220-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1230ex-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1230-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1245ex-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1245-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1260ex-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc1260-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-DSc224-Postscript-Gestetner.ppd.gz ebd8813f7457faf53ce9301fb56ea580 240926
+foomatic-20200219-Gestetner-DSc328-Postscript-Gestetner.ppd.gz e52642ae389b0d03130e1b576c7399d9 242306
+foomatic-20200219-Gestetner-DSc38-Postscript-Gestetner.ppd.gz 925b8628c16d28c89c49b6ef604608fc 241016
+foomatic-20200219-Gestetner-DSc38u-Postscript-Gestetner.ppd.gz c447339bad99c5c10fe720fa133d76e1 242250
+foomatic-20200219-Gestetner-DSc424-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2816
+foomatic-20200219-Gestetner-DSc428-pxlcolor-Gestetner.ppd.gz e369cc5b824b398966eea56015bacbf4 679710
+foomatic-20200219-Gestetner-DSm1525-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2798
+foomatic-20200219-Gestetner-DSm2525-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-DSm2540-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-DSm_2625-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-DSm_2640-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-DSm_2660-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-DSm415-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79892
+foomatic-20200219-Gestetner-DSm615-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79899
+foomatic-20200219-Gestetner-DSm618d-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79919
+foomatic-20200219-Gestetner-DSm618-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79899
+foomatic-20200219-Gestetner-DSm622-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79939
+foomatic-20200219-Gestetner-DSm651-pxlmono-Gestetner.ppd.gz aa68534d59f2156b897e0c665897cc44 79976
+foomatic-20200219-Gestetner-DSm725-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2753
+foomatic-20200219-Gestetner-DSm735_735G-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-F9199_9199nf-Postscript-Gestetner.ppd.gz 30ebedde5e82876d02cd22c6e82ffda7 212665
+foomatic-20200219-Gestetner-GS1227-Postscript-Gestetner.ppd.gz 1ef4daa3fc8ed9c1394a364622b9828c 216915
+foomatic-20200219-Gestetner-GS3020-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-GS3030-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-GS3160-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Gestetner-GWD2004-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2691
+foomatic-20200219-Gestetner-GWD3006-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2691
+foomatic-20200219-Gestetner-GWD5100-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2691
+foomatic-20200219-Gestetner-MP1100_DSm7110-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2797
+foomatic-20200219-Gestetner-MP1600_DSm716-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2715
+foomatic-20200219-Gestetner-MP_161_DSm416-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2708
+foomatic-20200219-Gestetner-MP_171-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2708
+foomatic-20200219-Gestetner-MP2000_DSm721d-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2735
+foomatic-20200219-Gestetner-MP_2001-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2759
+foomatic-20200219-Gestetner-MP2352_DSm923-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2773
+foomatic-20200219-Gestetner-MP2500_DSm625-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2754
+foomatic-20200219-Gestetner-MP_2501-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2759
+foomatic-20200219-Gestetner-MP_2510_DSm725e-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2753
+foomatic-20200219-Gestetner-MP_2550-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-MP_2851-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-MP_301-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2732
+foomatic-20200219-Gestetner-MP_305plus-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2732
+foomatic-20200219-Gestetner-MP3500_DSm735e-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-MP_4000-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-MP_4001-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-MP_4002-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2798
+foomatic-20200219-Gestetner-MP_401SPF-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Gestetner-MP_402SPF-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Gestetner-MP5500_DSm755-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2797
+foomatic-20200219-Gestetner-MP_6001-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2821
+foomatic-20200219-Gestetner-MP_6002-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2846
+foomatic-20200219-Gestetner-MP_6503-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MPC1500_GS106-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2811
+foomatic-20200219-Gestetner-MP_C2050-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MP_C2051-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MPC2500_DSc525-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-MP_C2800-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MP_C3001-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MP_C3002-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Gestetner-MP_C300-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2830
+foomatic-20200219-Gestetner-MP_C300SR-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2850
+foomatic-20200219-Gestetner-MP_C305-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2855
+foomatic-20200219-Gestetner-MP_C306Z-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2855
+foomatic-20200219-Gestetner-MP_C307-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2855
+foomatic-20200219-Gestetner-MPC3500_DSc535-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-MP_C4000-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MP_C401-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2855
+foomatic-20200219-Gestetner-MP_C401SR-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2898
+foomatic-20200219-Gestetner-MP_C4501-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Gestetner-MP_C4502-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Gestetner-MP_C6000-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Gestetner-MP_C6501-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2893
+foomatic-20200219-Gestetner-MP_C6502-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2918
+foomatic-20200219-Gestetner-MP_C6503-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2941
+foomatic-20200219-Gestetner-MP_CW2200-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2796
+foomatic-20200219-Gestetner-MP_CW2201-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2804
+foomatic-20200219-Gestetner-MP_W6700-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2737
+foomatic-20200219-Gestetner-MP_W7100-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2737
+foomatic-20200219-Gestetner-P7026-Postscript-Gestetner.ppd.gz 49eb38c649694adcbbf2873a277d9034 213318
+foomatic-20200219-Gestetner-P7031n-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2728
+foomatic-20200219-Gestetner-P7032-Postscript-Gestetner.ppd.gz 2043e90f0e58de8b0a656fe1f9cd6b09 213462
+foomatic-20200219-Gestetner-P7126-Postscript-Gestetner.ppd.gz 3384c9ca5991da158d54943ee1dc76bb 213343
+foomatic-20200219-Gestetner-P7132n-Postscript-Gestetner.ppd.gz 580cd1ce63bee1dd0df270bb11286322 214437
+foomatic-20200219-Gestetner-P7145-Postscript-Gestetner.ppd.gz 0523d4d34a32b40611d96e498f18d9cb 213444
+foomatic-20200219-Gestetner-P7245-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-P7325-Postscript-Gestetner.ppd.gz 88bf8a1e1a3388fde95c59cfcc24dc12 214262
+foomatic-20200219-Gestetner-P7431cn-Postscript-Gestetner.ppd.gz c273b2df2cd266feb150fe778a38caa4 241657
+foomatic-20200219-Gestetner-P7527-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2721
+foomatic-20200219-Gestetner-P7535n-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2721
+foomatic-20200219-Gestetner-P7575-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2787
+foomatic-20200219-Gestetner-P7675-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2797
+foomatic-20200219-Gestetner-Pro_1106EX-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2797
+foomatic-20200219-Gestetner-Pro_1107EX-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2821
+foomatic-20200219-Gestetner-SP_4210N-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2728
+foomatic-20200219-Gestetner-SP_6330N-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2730
+foomatic-20200219-Gestetner-SP_8200DN-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2772
+foomatic-20200219-Gestetner-SP_C320DN-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2803
+foomatic-20200219-Gestetner-SP_C420DN-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2803
+foomatic-20200219-Gestetner-SP_C430DN-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2803
+foomatic-20200219-Gestetner-SP_W2470-PDF-Gestetner.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2691
+foomatic-20200219-IBM-3853_JetPrinter-jetp3852.ppd.gz ec08c599756064f59cee26794b5ad009 16241
+foomatic-20200219-IBM-4303_Network_Color_Printer-Postscript.ppd.gz 4866bd80bb16c5e788b0cbceba8805d3 238975
+foomatic-20200219-Imagen-ImPress-imagen.ppd.gz a2e6340ed5179a244b5431e0cbf48d30 9537
+foomatic-20200219-InfoPrint-Pro_1107EX-pxlmono-InfoPrint.ppd.gz aa68534d59f2156b897e0c665897cc44 79986
+foomatic-20200219-Infotec-MP_201-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2708
+foomatic-20200219-Infotec-MP_501-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Infotec-Pro_8100S-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Infotec-Pro_8110-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Infotec-Pro_8300S-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2869
+foomatic-20200219-Infotec-Pro_8310-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Infotec-Pro_8310S-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Infotec-Pro_C5100S-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2918
+foomatic-20200219-Infotec-Pro_C7100-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2966
+foomatic-20200219-Infotec-Pro_C7100S-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2966
+foomatic-20200219-Infotec-SP_5300-PDF-Infotec.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Kodak-IS_70_CPII-Postscript.ppd.gz 315b8e2bd5ed027c11aa8dccbfc122a4 196909
+foomatic-20200219-KONICA_MINOLTA-bizhub_1050eP-Postscript-KONICA_MINOLTA.ppd.gz ed152bdcfcc530663cb1ae8c6714a1e2 217511
+foomatic-20200219-KONICA_MINOLTA-bizhub_500-Postscript-KONICA_MINOLTA.ppd.gz 6b640d71ae9d7fb2a3c6dd124842acd2 214883
+foomatic-20200219-KONICA_MINOLTA-bizhub_C250P-Postscript-KONICA_MINOLTA.ppd.gz 92f4d9022f8971958044b30a099e2e75 243214
+foomatic-20200219-KONICA_MINOLTA-bizhub_C252P-Postscript-KONICA_MINOLTA.ppd.gz 4964d406a5a0ac5c6d35d41c1a8a2dfc 243214
+foomatic-20200219-KONICA_MINOLTA-bizhub_C351-Postscript-KONICA_MINOLTA.ppd.gz 4be37c37bfe56e2c91a6d0407c6762d1 243231
+foomatic-20200219-KONICA_MINOLTA-bizhub_C352P-Postscript-KONICA_MINOLTA.ppd.gz 733d583b8b944b7c7e76d353df889431 243209
+foomatic-20200219-KONICA_MINOLTA-bizhub_C450P-Postscript-KONICA_MINOLTA.ppd.gz 4adc0991031b310883542d0523219958 243231
+foomatic-20200219-KONICA_MINOLTA-bizhub_C451-Postscript-KONICA_MINOLTA.ppd.gz 22ea4fa335126665940f5bf3abd9dcf4 243223
+foomatic-20200219-KONICA_MINOLTA-bizhub_C550-Postscript-KONICA_MINOLTA.ppd.gz bb21b43d1501c4262e8fc5cde4f3bde2 243078
+foomatic-20200219-Kyocera-Ci-1100-Postscript-Kyocera.ppd.gz 1ceeb406a019f9b86482175b50c179f5 242380
+foomatic-20200219-Kyocera-CS-1650-Postscript-Kyocera.ppd.gz 65a47735118ef86d698f052957aed39f 214799
+foomatic-20200219-Kyocera-CS-2050-Postscript-Kyocera.ppd.gz 2ab6caf4fb8eaf5c28ce93707f84ac2a 214729
+foomatic-20200219-Kyocera-FS-1030D-Postscript-Kyocera.ppd.gz cf746ac292a5710a4f37eb7739fbe4c6 214256
+foomatic-20200219-Kyocera-FS-1118MFP-Postscript-Kyocera.ppd.gz 152fe30a6e26af90237365c2ea1620e8 213952
+foomatic-20200219-Kyocera-FS-1200-Postscript-Kyocera.ppd.gz 049cdbee50f586e716c92c3ad6ced1f7 214230
+foomatic-20200219-Kyocera-FS-1700plus-Postscript-Kyocera.ppd.gz 5b928eec9d17ef87146a22fd13c424d5 214018
+foomatic-20200219-Kyocera-FS-1700-Postscript-Kyocera.ppd.gz d33b05b297a911ec1b1a19092be8847e 214020
+foomatic-20200219-Kyocera-FS-1714M-Postscript-Kyocera.ppd.gz a7e8e1ff5a6a60c9163d2677470db291 214256
+foomatic-20200219-Kyocera-FS-1800-Postscript-Kyocera.ppd.gz d9448575a06569da35c7b0a1510546b1 215325
+foomatic-20200219-Kyocera-FS-1900-Postscript-Kyocera.ppd.gz 4e8c9e09ea2dd8b6481afa1da1163c91 214327
+foomatic-20200219-Kyocera-FS-1920-Postscript-Kyocera.ppd.gz 04b2e8dfa6a7e746c7540e13eaabdbaa 214340
+foomatic-20200219-Kyocera-FS-2000D-Postscript-Kyocera.ppd.gz e863a45a205ceaac237af27e0f4e885b 214473
+foomatic-20200219-Kyocera-FS-3700plus-Postscript-Kyocera.ppd.gz a8b645cbe1ba506ab15609acf404de1c 214018
+foomatic-20200219-Kyocera-FS-3700-Postscript-Kyocera.ppd.gz ee580faf7a6a4750b0d2a8103f198428 214020
+foomatic-20200219-Kyocera-FS-3750-Postscript-Kyocera.ppd.gz 1ea5644225101b028b1dd34fea551c3e 214257
+foomatic-20200219-Kyocera-FS-3820N-Postscript-Kyocera.ppd.gz e46064cd78a2d64d0df6256064285039 214340
+foomatic-20200219-Kyocera-FS-3830N-Postscript-Kyocera.ppd.gz 124d4f4bb543c693aab1f09ff997523e 214340
+foomatic-20200219-Kyocera-FS-3900DN-Postscript-Kyocera.ppd.gz f54dc5688564ddd3f75ed05ef81c7670 214404
+foomatic-20200219-Kyocera-FS-4000DN-Postscript-Kyocera.ppd.gz 7f546cdbe60d4a6b62d46812969ee4a4 214405
+foomatic-20200219-Kyocera-FS-5800C-Postscript-Kyocera.ppd.gz ecd77afd4eb9bb517794f85da1f25396 242501
+foomatic-20200219-Kyocera-FS-5900C-Postscript-Kyocera.ppd.gz 4ee3e21fbeda4f11a4bc8d12807b2129 242380
+foomatic-20200219-Kyocera-FS-600-Postscript-Kyocera.ppd.gz 145ea8272b1d6c222c84288707c25ba6 213692
+foomatic-20200219-Kyocera-FS-6020-Postscript-Kyocera.ppd.gz 6703e6da310752f92dc445f4201d8fdc 215262
+foomatic-20200219-Kyocera-FS-6026-Postscript-Kyocera.ppd.gz 3350d58681ffc65493426ece01505d4f 214264
+foomatic-20200219-Kyocera-FS-6300-Postscript-Kyocera.ppd.gz 3e83b734536cd3af498bfe5d1765ff52 214094
+foomatic-20200219-Kyocera-FS-6500plus-Postscript-Kyocera.ppd.gz 834a098fe38daac76417e5489faacb0f 187868
+foomatic-20200219-Kyocera-FS-6700-Postscript-Kyocera.ppd.gz d096034d7b47d155612b251bc2a9f8c6 215021
+foomatic-20200219-Kyocera-FS-6750-Postscript-Kyocera.ppd.gz ae706e9078bc11ab75144eab54b78313 215265
+foomatic-20200219-Kyocera-FS-680-Postscript-Kyocera.ppd.gz fa84c78dfa5b6d6341c5b9a01f3f806d 213692
+foomatic-20200219-Kyocera-FS-6900-Postscript-Kyocera.ppd.gz b91fbbddf07378e60c313a0e2a05be73 215092
+foomatic-20200219-Kyocera-FS-6950DN-Postscript-Kyocera.ppd.gz 71def362a5e1bfed8662eb1cf6970c99 214451
+foomatic-20200219-Kyocera-FS-7000-Postscript-Kyocera.ppd.gz 891fae000b94c054a2edfd1a8882cdc6 215598
+foomatic-20200219-Kyocera-FS-7028M-Postscript-Kyocera.ppd.gz 9b916ba013c3a16e98195a2655edac6d 215668
+foomatic-20200219-Kyocera-FS-8000C-Postscript-Kyocera.ppd.gz 389631d508d15893352d5dcacd53bc04 242773
+foomatic-20200219-Kyocera-FS-9000-Postscript-Kyocera.ppd.gz c6ddf335f3a099209ea97a45543f1228 215669
+foomatic-20200219-Kyocera-FS-9100DN-Postscript-Kyocera.ppd.gz 139079f4fcdad5205d702cae4707a91e 215780
+foomatic-20200219-Kyocera-FS-920-Postscript-Kyocera.ppd.gz 9af68f834a74ab9e89bf4b73b615a813 213737
+foomatic-20200219-Kyocera-FS-C5015N-Postscript-Kyocera.ppd.gz 10a50c50eeec7643b5e5d676a1648892 241541
+foomatic-20200219-Kyocera-FS-C5016N-Postscript-Kyocera.ppd.gz a23a65f65301a61c38976bf7b2bdda64 241178
+foomatic-20200219-Kyocera-FS-C5020N-Postscript-Kyocera.ppd.gz 669d0423525edad3bde5f13328632520 241580
+foomatic-20200219-Kyocera-FS-C5025N-Postscript-Kyocera.ppd.gz b7cc97a86f20c9d8c01099ae07a9821f 241609
+foomatic-20200219-Kyocera-FS-C5030N-Postscript-Kyocera.ppd.gz 17ed4ba9dc5743f496ba59db37e1d3cc 241580
+foomatic-20200219-Kyocera-FS-C8008N-Postscript-Kyocera.ppd.gz 7eda1b30d58fbbe5b226cebf96685c64 241618
+foomatic-20200219-Kyocera-FS-C8026N-Postscript-Kyocera.ppd.gz c15fba5ab222fa82f09452f8733d359d 241984
+foomatic-20200219-Kyocera-FS-C8100DNplus_KPDL-Postscript-Kyocera.ppd.gz 8abefba708da4e70f61e9b37e929b471 242326
+foomatic-20200219-Kyocera-FS-C8100DN-Postscript-Kyocera.ppd.gz 5ab6c1c72b2b459471501c5bff577ec1 242315
+foomatic-20200219-Kyocera-KM-1510-Postscript-Kyocera.ppd.gz 06fa87b48633f3bc70399e63cb45e44d 214065
+foomatic-20200219-Kyocera-KM-1530-Postscript-Kyocera.ppd.gz cc6bc033aa97fa7c703f6731ebaf03a4 214131
+foomatic-20200219-Kyocera-KM-1810-Postscript-Kyocera.ppd.gz 64e0fa6052728a76fc373894a766619f 214065
+foomatic-20200219-Kyocera-KM-1820-Postscript-Kyocera.ppd.gz 69d3b61eb2c68f090a60fe256637ac25 214203
+foomatic-20200219-Kyocera-KM-2030-Postscript-Kyocera.ppd.gz 7952c10e442648f7ac393ffb7f6d8a7c 214415
+foomatic-20200219-Kyocera-KM-3050-Postscript-Kyocera.ppd.gz d43f76bd6e49f4ee9f9644c86f9d3bbc 215462
+foomatic-20200219-Kyocera-KM-4230_5230-Postscript-Kyocera.ppd.gz 65839f2c154920739cca1002d5446294 213954
+foomatic-20200219-Kyocera-KM-4530-Postscript-Kyocera.ppd.gz da97c951311c6de37278a0912e5966e8 216595
+foomatic-20200219-Kyocera-KM-5530-Postscript-Kyocera.ppd.gz e6074e76b2c63901d24dccce4ca0e1eb 216661
+foomatic-20200219-Kyocera-KM-6030-Postscript-Kyocera.ppd.gz 2399a89de7a623891bc1c295f65b76e3 215558
+foomatic-20200219-Kyocera-KM-6230-Postscript-Kyocera.ppd.gz 7f594bcbf2fabd0cfbcc0020b685dde4 213998
+foomatic-20200219-Kyocera-KM-6330-Postscript-Kyocera.ppd.gz 0587423d898331422bf116b10c9f76f2 216661
+foomatic-20200219-Kyocera-KM-C2520-Postscript-Kyocera.ppd.gz 3e6c522720f506c614e90fb1b2a7d458 242386
+foomatic-20200219-Kyocera-KM-C2630-Postscript-Kyocera.ppd.gz 1cac3b867fea5e1704b293d11ded7361 241984
+foomatic-20200219-Kyocera-KM-C830-Postscript-Kyocera.ppd.gz 854f0c81a2c9a26560271d536ec52942 243612
+foomatic-20200219-Kyocera-KM-C850-Postscript-Kyocera.ppd.gz a367c2adb0eb20de0a337c0212573abf 242223
+foomatic-20200219-Lanier-MP_C501-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Lanier-P_501-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Lanier-SG3110DN-pxlcolor-Lanier.ppd.gz 2e32a01e82df2fbba2801922566941ed 177373
+foomatic-20200219-Lanier-SG3110SFNw-pxlcolor-Lanier.ppd.gz 2e32a01e82df2fbba2801922566941ed 177373
+foomatic-20200219-Lanier-SP_3400N-Postscript-Lanier.ppd.gz bb0ec6374d66ef80c6e6e4925b119b04 213497
+foomatic-20200219-Lanier-SP_3410DN-Postscript-Lanier.ppd.gz 5a45ddc7653295e6a3cefa959f8135c5 213598
+foomatic-20200219-Lanier-SP_3600DN-Postscript-Lanier.ppd.gz a3530bae9658cb41e8db9b68f591687f 214657
+foomatic-20200219-Lanier-SP_4310N-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2729
+foomatic-20200219-Lanier-SP_4510DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Lanier-SP_5200DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2729
+foomatic-20200219-Lanier-SP_5200S-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2729
+foomatic-20200219-Lanier-SP_5210SF-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Lanier-SP_5210SR-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2749
+foomatic-20200219-Lanier-SP_6430DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2779
+foomatic-20200219-Lanier-SP_8300DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2798
+foomatic-20200219-Lanier-SP_8400DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2845
+foomatic-20200219-Lanier-SP_C221N-Postscript-Lanier.ppd.gz 90c56cd7e2d78a889404675d3f70b4a7 241379
+foomatic-20200219-Lanier-SP_C222DN-Postscript-Lanier.ppd.gz 1b4e3bdf9c27f4a747537585e41807e9 241480
+foomatic-20200219-Lanier-SP_C222SF-Postscript-Lanier.ppd.gz e8395f6c9fca52ce36e1d0696e2bb420 241732
+foomatic-20200219-Lanier-SP_C232SF-Postscript-Lanier.ppd.gz 46fe73b43cf356a751e8e0615c248be1 241731
+foomatic-20200219-Lanier-SP_C311N-Postscript-Lanier.ppd.gz 46afadf03ceaff4016871103c47c4100 241379
+foomatic-20200219-Lanier-SP_C312DN-Postscript-Lanier.ppd.gz 754734a75f106385d8b6b67507de02fe 241481
+foomatic-20200219-Lanier-SP_C340DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2829
+foomatic-20200219-Lanier-SP_C342DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2828
+foomatic-20200219-Lanier-SP_C352DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2828
+foomatic-20200219-Lanier-SP_C360DNw-Postscript-Lanier.ppd.gz c200f6457867c8fd1e13552146e1e6f3 243659
+foomatic-20200219-Lanier-SP_C360SFNw-Postscript-Lanier.ppd.gz 50914d551a5cf07cab9f5d6e1b2b3935 244363
+foomatic-20200219-Lanier-SP_C435DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2828
+foomatic-20200219-Lanier-SP_C730DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2828
+foomatic-20200219-Lanier-SP_C830DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2894
+foomatic-20200219-Lanier-SP_C840DN-PDF-Lanier.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2917
+foomatic-20200219-Lexmark-1020_Business-pcl3.ppd.gz 4fb6b1e69a3da5f6ba7bcced09856ccf 27082
+foomatic-20200219-Lexmark-4039_10plus-Postscript.ppd.gz d0b919e90409b4bca1484f490bc2e408 212468
+foomatic-20200219-Lexmark-C2132-Postscript-Lexmark.ppd.gz 65393076295dc3d091b82c9f6801cefd 359425
+foomatic-20200219-Lexmark-C500n-Postscript.ppd.gz abb7eb9cc99f3ec0e354251dc9800e06 239191
+foomatic-20200219-Lexmark-C510b-Postscript.ppd.gz 822ee460cdff29fd5ec427b8d714c224 212468
+foomatic-20200219-Lexmark-C510-Postscript-Lexmark.ppd.gz 45a0bd259fa90dcc43bf87271382041b 198918
+foomatic-20200219-Lexmark-C520-Postscript-Lexmark.ppd.gz 989aa9821886d411e555c0bb9c78d97a 359070
+foomatic-20200219-Lexmark-C522-Postscript-Lexmark.ppd.gz 4b8ab1cc5719203ba1d358ca83422bb3 359212
+foomatic-20200219-Lexmark-C524-Postscript-Lexmark.ppd.gz 85eee6831bb4e4bf88befab5218037b4 359398
+foomatic-20200219-Lexmark-C540-Postscript-Lexmark.ppd.gz cc1d9b5b206f70e50e646c668f243afa 359202
+foomatic-20200219-Lexmark-C543-Postscript-Lexmark.ppd.gz 67ebc6480fa38b7acc5dc11d96a0c0c6 359199
+foomatic-20200219-Lexmark-C544-Postscript-Lexmark.ppd.gz 4e3e5fdb0e28714a827c23ca66e1afb4 359346
+foomatic-20200219-Lexmark-C546-Postscript-Lexmark.ppd.gz 6f97adad660d73c6b67a2ce3824e43f7 359346
+foomatic-20200219-Lexmark-C720n-pxlcolor.ppd.gz f806e59260ec92ab078d06457825b9c6 679510
+foomatic-20200219-Lexmark-C734-Postscript-Lexmark.ppd.gz d12198172bf96277f6b77624d5286368 359312
+foomatic-20200219-Lexmark-C736-Postscript-Lexmark.ppd.gz d12198172bf96277f6b77624d5286368 359312
+foomatic-20200219-Lexmark-C750-Postscript-Lexmark.ppd.gz 79eb815e66608c61ea743dc25303b839 198664
+foomatic-20200219-Lexmark-C752-Postscript-Lexmark.ppd.gz aa68d3a8aac8cf571988c1ce4b98742c 199441
+foomatic-20200219-Lexmark-C780-Postscript-Lexmark.ppd.gz 54544f60e5bf5a3f191b8bd3540c0dc2 359932
+foomatic-20200219-Lexmark-C782-Postscript-Lexmark.ppd.gz 5a49f60f62d84837950c3ca4abbe5890 360309
+foomatic-20200219-Lexmark-C910-Postscript-Lexmark.ppd.gz fbf5e1b7a52f662188f4840b6a5cd9dd 198589
+foomatic-20200219-Lexmark-C912-Postscript-Lexmark.ppd.gz 81dcff283bfb974477b8fc791f55ba5f 198589
+foomatic-20200219-Lexmark-C930-Postscript-Lexmark.ppd.gz 10f6769ca3aaca7c8975edff81466f0f 242308
+foomatic-20200219-Lexmark-C935-Postscript-Lexmark.ppd.gz 10f6769ca3aaca7c8975edff81466f0f 242308
+foomatic-20200219-Lexmark-E238-pxlmono.ppd.gz a6771d9200d30ea72bfaf1e1553882e1 79767
+foomatic-20200219-Lexmark-E260dn-Postscript-Lexmark.ppd.gz ddc49e6d207d199c16583e3036810c9d 240372
+foomatic-20200219-Lexmark-E350d-Postscript-Lexmark.ppd.gz d610ef584f4842978b069a2fa4b962cc 213344
+foomatic-20200219-Lexmark-E360dn-Postscript-Lexmark.ppd.gz b6f022a0d008976a3f0b55fa76d14791 240444
+foomatic-20200219-Lexmark-EG460dn-Postscript-Lexmark.ppd.gz b6f022a0d008976a3f0b55fa76d14791 240444
+foomatic-20200219-Lexmark-Optra_Color_1200-Postscript.ppd.gz 6645a83a462f783ec1b7809e877cae20 239191
+foomatic-20200219-Lexmark-T650-Postscript-Lexmark.ppd.gz e4069a84e785b22bf4f8a114f47d2afa 240912
+foomatic-20200219-Lexmark-T656-Postscript-Lexmark.ppd.gz 429a9d0f336be9aa56937fb29579a3d7 240836
+foomatic-20200219-Lexmark-W850-Postscript-Lexmark.ppd.gz 007ab0b03728f3b14cd635f529c5db39 240823
+foomatic-20200219-Lexmark-X203n-Postscript-Lexmark.ppd.gz 863b194551c2346266140756711d6b69 239659
+foomatic-20200219-Lexmark-X264dn-Postscript-Lexmark.ppd.gz 754ad38ab76004998307a46137e39139 240218
+foomatic-20200219-Lexmark-X363dn-Postscript-Lexmark.ppd.gz 3922ab2bf14f9101483d507b42703668 240218
+foomatic-20200219-Lexmark-X463de-Postscript-Lexmark.ppd.gz 779beab1a1d88a5b27e0ea33286eb62f 240216
+foomatic-20200219-Lexmark-X543-Postscript-Lexmark.ppd.gz 954c8cf6ad35544fa56ab29487c88af9 359199
+foomatic-20200219-Lexmark-X544-Postscript-Lexmark.ppd.gz 5135c80176ab40a9457fb18ea6a083da 359346
+foomatic-20200219-Lexmark-X546-Postscript-Lexmark.ppd.gz cd3b868b472631e848a626cbb3f41bed 359346
+foomatic-20200219-Lexmark-X734de-Postscript-Lexmark.ppd.gz 660912557717a201fe5664820b9ba283 359242
+foomatic-20200219-Lexmark-X860de-Postscript-Lexmark.ppd.gz 5c4264d8c2cea23a601006a2a309638a 240901
+foomatic-20200219-Lexmark-X940e-Postscript-Lexmark.ppd.gz a8281efe8b3f276cfa605e0b189d894c 242308
+foomatic-20200219-Minolta-magicolor_3100-Postscript.ppd.gz 2f3b86bcb0ffb92c501b762bab4b05f0 238975
+foomatic-20200219-Minolta-PagePro_8L-ljet2p.ppd.gz 40c3cf8956d43a9308fb2a7d5ffcc84f 80915
+foomatic-20200219-NEC-P2X-necp2xX.upp.ppd.gz 6cee723564297646eef0ccdb2b39f399 34475
+foomatic-20200219-NEC-PICTY180-picty180.ppd.gz 946428ac119ac86d98954b1b0a69656d 51863
+foomatic-20200219-NEC-Pinwriter_P20-necp6.ppd.gz 2faf7d32d9d71c998285f7f2acb19eaa 38020
+foomatic-20200219-NEC-PinWriter_P6-necp6.ppd.gz 2faf7d32d9d71c998285f7f2acb19eaa 38020
+foomatic-20200219-NEC-SuperScript_650C-pcl3.ppd.gz 4fb6b1e69a3da5f6ba7bcced09856ccf 27082
+foomatic-20200219-NRG-SP_3500N-Postscript-NRG.ppd.gz b42af37dd9091725d77a50fffcb0a687 213613
+foomatic-20200219-NRG-SP_3510DN-Postscript-NRG.ppd.gz 8d3f57f06f20bc78473dea89ff5d6515 213714
+foomatic-20200219-NRG-SP_C242DN-Postscript-NRG.ppd.gz 649fe9569b3a4a485fc061b8355326a4 242272
+foomatic-20200219-Oce-3145PS-Postscript2-Oce.ppd.gz 2f7a985ca5e4e4d137e45d381953cfa5 212554
+foomatic-20200219-Oce-8445PS-Postscript2-Oce.ppd.gz ad422e1e71b7189c708c81f2f2027cdb 212526
+foomatic-20200219-Oce-9050-oce9050.ppd.gz 0cf01daa5196f45f78f7b8f28f8bdd0e 15916
+foomatic-20200219-Oce-9230-Postscript2-Oce.ppd.gz 713db7a86cb8c7aa18cf414ad72cf51d 212525
+foomatic-20200219-Oce-9260-Postscript2-Oce.ppd.gz b742c49cfdeef18dc21db48db5b6c356 212525
+foomatic-20200219-Oce-PPC3073PS-Postscript-Oce.ppd.gz c2b84cc0f4a228a780a59880bc5c0224 212605
+foomatic-20200219-Oce-PPC3074PS-Postscript-Oce.ppd.gz c2b84cc0f4a228a780a59880bc5c0224 212605
+foomatic-20200219-Oce-PPC5115PS-Postscript-Oce.ppd.gz 1a488a267b3a7ec826f11bb29754296f 212723
+foomatic-20200219-Oce-VarioPrint_2045PS-Postscript-Oce.ppd.gz 464df60cc7b10971150ec46362e6fe69 212591
+foomatic-20200219-Oce-VarioPrint_2090PS-Postscript-Oce.ppd.gz b2f24723a23ce399893da55be4469766 239637
+foomatic-20200219-Oce-VarioPrint_2100PS-Postscript-Oce.ppd.gz 3e1b7cebbe3f228c53dc4e7f38d9f8fb 240139
+foomatic-20200219-Oce-VarioPrint_2105PS-Postscript-Oce.ppd.gz e2c09354c40976721de12a6fda453a1d 212614
+foomatic-20200219-Oki-14i-Postscript-Oki.ppd.gz b8e78c214b6f12e63fd744f4e94967f0 213526
+foomatic-20200219-Oki-B4350-Postscript-Oki.ppd.gz cc0828443f17ac95dcebd6f10cf31b43 214418
+foomatic-20200219-Oki-C5400-Postscript-Oki.ppd.gz edef7179cf657851a82f03ca482bedd0 243697
+foomatic-20200219-Oki-C5700-Postscript-Oki.ppd.gz 5295a26bc1ae90e2b799e15a9df02f06 202944
+foomatic-20200219-Oki-C5900-Postscript-Oki.ppd.gz 9701324dedb32fdc67bc0612e70babb5 202943
+foomatic-20200219-Oki-C6100-Postscript-Oki.ppd.gz d331806fee463fa7b3eb3a14e51f50ba 202947
+foomatic-20200219-Oki-C8800-Postscript-Oki.ppd.gz cf6870d0b93c8fd0b52dfa8520de4481 202869
+foomatic-20200219-Oki-C9600-Postscript-Oki.ppd.gz 44bf11fdff8c131c6734b8c73138b148 202882
+foomatic-20200219-Oki-Microline_182-oki182.ppd.gz 24ddf20666fe33d93fa62a31fea74c3f 10825
+foomatic-20200219-Oki-ML_320-okiibm.ppd.gz 3780eadf80a455eede5e44785addf587 4721
+foomatic-20200219-Oki-Okijet_2500-cdj550.ppd.gz 347bf504f93a83308f1bd98658b355cf 45038
+foomatic-20200219-Oki-OL410e-ljet4.ppd.gz 4def7a570be40572772e3f57657ea7ae 15091
+foomatic-20200219-Olivetti-JP350S-laserjet.ppd.gz 332abc3788d34ae2f95670c4015577e6 48408
+foomatic-20200219-Olivetti-JP450-djet500.ppd.gz 5e404c72704e88d8c252176d67f16da4 15276
+foomatic-20200219-Panasonic-KX-P1150-eps9high.ppd.gz 8a16b1daa41ba6b232d22ecf168f6956 5499
+foomatic-20200219-Ricoh-4081-r4081.ppd.gz 1626146969446c0c37da1dcaa06188de 67234
+foomatic-20200219-Ricoh-ColorLaser_AP828-Postscript-Ricoh.ppd.gz 6a54eca4258947daeabe69dca2829dc3 240714
+foomatic-20200219-Ricoh-DDP_70-Postscript-Ricoh.ppd.gz c2659797d14bf156e40504c7be2e1fed 214155
+foomatic-20200219-Ricoh-DDP_92-Postscript-Ricoh.ppd.gz 85738a673bbff9607e449bb428315655 214154
+foomatic-20200219-Ricoh-EMP_156-Postscript-Ricoh.ppd.gz 126c7718b8226bf7dd394e10a0a9641a 213380
+foomatic-20200219-Ricoh-GX_3050N-pxlcolor-Ricoh.ppd.gz 2e32a01e82df2fbba2801922566941ed 177348
+foomatic-20200219-Ricoh-GX_3050SFN-pxlcolor-Ricoh.ppd.gz 2e32a01e82df2fbba2801922566941ed 177348
+foomatic-20200219-Ricoh-GX_E3350N-pxlcolor-Ricoh.ppd.gz 2e32a01e82df2fbba2801922566941ed 177348
+foomatic-20200219-Ricoh-GX_E5550N-pxlcolor-Ricoh.ppd.gz 2e32a01e82df2fbba2801922566941ed 177373
+foomatic-20200219-Ricoh-SP_2300L-pcl5-Ricoh.ppd.gz 381a3732f2271fd45a1def9e735e8f8d 296237
+foomatic-20200219-Ricoh-SP_330DN-Postscript-Ricoh.ppd.gz 3906c991d625d145480bec539b26dddf 213966
+foomatic-20200219-Ricoh-SP_330SFN-Postscript-Ricoh.ppd.gz 95af821dc53383c3c64f6bde4e0c5e47 213966
+foomatic-20200219-Ricoh-SP_3700-Postscript-Ricoh.ppd.gz 16d744ce42bc3830697be7c070b51ec6 213966
+foomatic-20200219-Ricoh-SP_3700SF-Postscript-Ricoh.ppd.gz a51dbe69296040db008a2fa352a22c86 213966
+foomatic-20200219-Ricoh-SP_400DN-Postscript-Ricoh.ppd.gz 6a3176137af769bc17d2ae9f9eb3d074 214916
+foomatic-20200219-Ricoh-SP_450DN-PDF-Ricoh.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2756
+foomatic-20200219-Ricoh-SP_C250DN-Postscript-Ricoh.ppd.gz eb34a8d8b2443b519709fa2c87525ff2 242272
+foomatic-20200219-Ricoh-SP_C250SF-Postscript-Ricoh.ppd.gz a49229be6326321e1ea7e5fb5e56897b 242272
+foomatic-20200219-Ricoh-SP_C261DNw-Postscript-Ricoh.ppd.gz 5ee4a5ea67eb7db0ec4c764c67dca717 242272
+foomatic-20200219-Samsung-C140x-Postscript-Samsung.ppd.gz 4c93bdc2c6d71da122fe63865f592c43 239505
+foomatic-20200219-Samsung-C2620-Postscript-Samsung.ppd.gz 55ab4be2bdb5b5ad551ef164854f3f05 239829
+foomatic-20200219-Samsung-C2670-Postscript-Samsung.ppd.gz 48b0e2e28409b4d95641764c51b769f8 240004
+foomatic-20200219-Samsung-C460-Postscript-Samsung.ppd.gz a3fff3ae20a66b8e36e2dda5d12848dd 239444
+foomatic-20200219-Samsung-C4820-Postscript-Samsung.ppd.gz c33d4c4a4aa75609d326987fc22682f7 239930
+foomatic-20200219-Samsung-C48x-Postscript-Samsung.ppd.gz 8177bae198680c9a5ac4ac0b3f98b57a 239475
+foomatic-20200219-Samsung-CLP-350-Postscript-Samsung.ppd.gz eea74104b9e6e478dc4f980e958bcf4b 238961
+foomatic-20200219-Samsung-CLP-410-Postscript-Samsung.ppd.gz 4f84e70fc0fcf536c8cc1e473e766ae6 239474
+foomatic-20200219-Samsung-CLP-610-pxlcolor.ppd.gz f806e59260ec92ab078d06457825b9c6 679510
+foomatic-20200219-Samsung-CLP-660-Postscript-Samsung.ppd.gz 603a2e6c9f2182b3603acde15ce6f4f2 239412
+foomatic-20200219-Samsung-CLP-670-Postscript-Samsung.ppd.gz 902f13920f9742d9aaee44c3012e73a1 239594
+foomatic-20200219-Samsung-CLP-680-Postscript-Samsung.ppd.gz e4ffb76b24c6bd2ca54f7dc84066384e 239723
+foomatic-20200219-Samsung-CLP-770-Postscript-Samsung.ppd.gz 96c93c5e7ffabad1912ba9b5156c5644 239625
+foomatic-20200219-Samsung-CLP-775-Postscript-Samsung.ppd.gz d7ba76a46779a7957c79297d5e3eb1c9 239640
+foomatic-20200219-Samsung-CLX-3300-Postscript-Samsung.ppd.gz 96071b8ff17457f309609916b00e0816 239444
+foomatic-20200219-Samsung-CLX-6200-Postscript-Samsung.ppd.gz b0090d8ba9e4eabfbb8a93ef798be514 239325
+foomatic-20200219-Samsung-CLX-6220-Postscript-Samsung.ppd.gz e997b30b7115896865b01dea1851bf12 239545
+foomatic-20200219-Samsung-CLX-6250-Postscript-Samsung.ppd.gz 5a221b6f7ec394c011806e0bb00b8ce6 239559
+foomatic-20200219-Samsung-CLX-8380-Postscript-Samsung.ppd.gz 7301da1ff3c5b670c9591984576c8e77 239650
+foomatic-20200219-Samsung-CLX-8385-Postscript-Samsung.ppd.gz cf8647b03433bfaeca4211f0329a15d3 239683
+foomatic-20200219-Samsung-CLX-8640_8650-Postscript-Samsung.ppd.gz deae92d5d31c514dcb8c1ab13514d2e8 239999
+foomatic-20200219-Samsung-CLX-9250_9350-Postscript-Samsung.ppd.gz 7d54f264468dfcad9d1c453e731562de 239511
+foomatic-20200219-Samsung-CLX-9252_9352-Postscript-Samsung.ppd.gz b5f5e04182d0c23ac8db5ecf6cbee10e 240103
+foomatic-20200219-Samsung-CLX-92x1_93x1-Postscript-Samsung.ppd.gz 6769b43d1d7170a4299f70608b49eec7 239935
+foomatic-20200219-Samsung-K3250-Postscript-Samsung.ppd.gz efd54f099b98cae190093072491281a5 213070
+foomatic-20200219-Samsung-K401-Postscript-Samsung.ppd.gz 599921695dc358978c6d9648bb511dcc 213001
+foomatic-20200219-Samsung-K703-Postscript-Samsung.ppd.gz c26199946e58d6829db869a44f82bf94 213101
+foomatic-20200219-Samsung-K7600-Postscript-Samsung.ppd.gz 96d571a674dddaa8fcd72220333b1c86 213101
+foomatic-20200219-Samsung-M337x_387x_407x-Postscript-Samsung.ppd.gz 0d404ff8a463632388310a6428cdaa64 212671
+foomatic-20200219-Samsung-M403x-Postscript-Samsung.ppd.gz d2563ea9d61d70ee903b39aded3444e8 212648
+foomatic-20200219-Samsung-M408x-Postscript-Samsung.ppd.gz a05873d9771fafab4a42830e8e0e2996 212708
+foomatic-20200219-Samsung-M4370_5370-Postscript-Samsung.ppd.gz 0f674fca60a568bd989fd0c583857822 213006
+foomatic-20200219-Samsung-M453x-Postscript-Samsung.ppd.gz 377e9814056a05f107902f681ceec581 212899
+foomatic-20200219-Samsung-M458x-Postscript-Samsung.ppd.gz 4748c2d95fe4ebe29f4f18c7a342b06b 212824
+foomatic-20200219-Samsung-M5270-Postscript-Samsung.ppd.gz 6ef41c75a476dc9977fe22fd34d338b6 213006
+foomatic-20200219-Samsung-ML-1650-ljet4.ppd.gz f6e5a9b3f4ccee676c38c6e0e3a541b4 42243
+foomatic-20200219-Samsung-ML-2150-Postscript-Samsung.ppd.gz 711f7c075777e5ac795beaf678f05104 212274
+foomatic-20200219-Samsung-ML-2550-Postscript-Samsung.ppd.gz 8633d0845932d3c919a700979f8d5598 212274
+foomatic-20200219-Samsung-ML-2570-Postscript-Samsung.ppd.gz ad79717950f51012ca37124da53f9fb6 212066
+foomatic-20200219-Samsung-ML-2850-Postscript-Samsung.ppd.gz 5acebbd6a6ab1d860a205712d1fd05da 212304
+foomatic-20200219-Samsung-ML-2855-Postscript-Samsung.ppd.gz ceeb1554eb84efc4d0ebfbc87e9a7fcb 212491
+foomatic-20200219-Samsung-ML-3470-Postscript-Samsung.ppd.gz e75f750a43777aa2161d4b3162f9a279 212361
+foomatic-20200219-Samsung-ML-371x-Postscript-Samsung.ppd.gz 394870bca0d0cd72ffbd34f053b5d0a0 212597
+foomatic-20200219-Samsung-ML-4050-Postscript-Samsung.ppd.gz dd4e272fdb88165d45fb51972ede7b84 212285
+foomatic-20200219-Samsung-ML-4055-Postscript-Samsung.ppd.gz 7e5bc9f777fb3fc0180dd1045817f76b 212285
+foomatic-20200219-Samsung-ML-451x_501x-Postscript-Samsung.ppd.gz 1bb188cc97a34635b0a61c709d690f79 212598
+foomatic-20200219-Samsung-ML-4550-Postscript-Samsung.ppd.gz f7c48e97a8a032e4fa8ebe22d3c6e5a8 212166
+foomatic-20200219-Samsung-ML-4555-Postscript-Samsung.ppd.gz 5fb77840dd33537a91bf81b34c121d83 212166
+foomatic-20200219-Samsung-ML-551x_651x-Postscript-Samsung.ppd.gz 329967b24856cde996f96b7d023c8fea 212607
+foomatic-20200219-Samsung-ML-8850_8950-Postscript-Samsung.ppd.gz b4cddea192cf0a60025ed1309f4e790f 212572
+foomatic-20200219-Samsung-ML-8x00-Postscript-Samsung.ppd.gz eb657115aa3e4770c03710e2f710d7f7 212015
+foomatic-20200219-Samsung-SCX-483x_5x3x-Postscript-Samsung.ppd.gz 6154e692a0781cce85a50ad946949b98 212634
+foomatic-20200219-Samsung-SCX-4x28-Postscript-Samsung.ppd.gz 20d9ed469d120bfe8a7c12611dc99f49 212325
+foomatic-20200219-Samsung-SCX-5635-Postscript-Samsung.ppd.gz d470efb874bcda55950b3888fd131691 212536
+foomatic-20200219-Samsung-SCX-5835_5935-Postscript-Samsung.ppd.gz 2fc5ee8f408743cb0b496152a8c4fae6 212612
+foomatic-20200219-Samsung-SCX-6545-Postscript-Samsung.ppd.gz c10e4b175f0e207e72ceee15fd034153 212783
+foomatic-20200219-Samsung-SCX-6545X-Postscript-Samsung.ppd.gz 57f20357afd2db1312feef1eccb288ec 212871
+foomatic-20200219-Samsung-SCX-681x-Postscript-Samsung.ppd.gz 4de07dfda5382c4edc65d419e18f56da 212654
+foomatic-20200219-Samsung-SCX-6x20-Postscript-Samsung.ppd.gz 6afa7e7e385dced741eb83e12a195e76 212250
+foomatic-20200219-Samsung-SCX-6x22-Postscript-Samsung.ppd.gz dc7125f3c51669f872b0b5d3c630cefa 212166
+foomatic-20200219-Samsung-SCX-6x45-Postscript-Samsung.ppd.gz 46568b73c9733f2963b52eb6f8ba779f 212609
+foomatic-20200219-Samsung-SCX-6x55-Postscript-Samsung.ppd.gz bb66255fdd1ff310853a1b292f54bf00 212783
+foomatic-20200219-Samsung-SCX-8030_8040-Postscript-Samsung.ppd.gz 111ad89e1b92b5548ba77a4e1198db5a 212611
+foomatic-20200219-Samsung-SCX-8123_8128-Postscript-Samsung.ppd.gz 2d25ad10bddf7c5b817e336f982e9437 212815
+foomatic-20200219-Samsung-SCX-8230_8240-Postscript-Samsung.ppd.gz d4bf073b576a00f127f76bfa867ec3ad 212984
+foomatic-20200219-Sharp-AJ-1800-pcl3.ppd.gz 02b55132a6a7bce16ca416f42d5ffbdb 162187
+foomatic-20200219-Sharp-AR-155FG_PS-Postscript-Sharp.ppd.gz a2d8fbbf732bc5dbcbb5ffb80fd3ddd7 214064
+foomatic-20200219-Sharp-AR-160M_PS-Postscript-Sharp.ppd.gz ee81f78176cb8f6eb023eca543cfb933 213965
+foomatic-20200219-Sharp-AR-163FG_PS-Postscript-Sharp.ppd.gz fde5658e92383e3b1a2b3aefae4f5f46 214152
+foomatic-20200219-Sharp-AR-163G_PS-Postscript-Sharp.ppd.gz d19e468de8f0c22a6e878195d6dc6745 214155
+foomatic-20200219-Sharp-AR-168D-Postscript-Sharp.ppd.gz 5dab7762aa6a6cf6400a3b27c1688d48 214068
+foomatic-20200219-Sharp-AR-168S-Postscript-Sharp.ppd.gz ac5dba65a4488de640091c0f38704e7d 213969
+foomatic-20200219-Sharp-AR-200M_PS-Postscript-Sharp.ppd.gz 4e4e6f5d06370ba81f9221e50dc22e2c 213965
+foomatic-20200219-Sharp-AR-205FG_PS-Postscript-Sharp.ppd.gz 429a3b0d711852b3e264b482730eaa0c 214251
+foomatic-20200219-Sharp-AR-205G_PS-Postscript-Sharp.ppd.gz 5b02e25581f246bf11d4da5876f9860e 214254
+foomatic-20200219-Sharp-AR-266FP_PS-Postscript-Sharp.ppd.gz b3f8b3272a9458eb0b5e740839da1e05 215417
+foomatic-20200219-Sharp-AR-311FP_PS-Postscript-Sharp.ppd.gz fd4d571d94649f755e1a93f3767fe061 215916
+foomatic-20200219-Sharp-AR-5220-Postscript-Sharp.ppd.gz dc6738e6e8fc740ed1ada99b337de0c7 213969
+foomatic-20200219-Sharp-AR-555M_PS-Postscript-Sharp.ppd.gz 00f9384245ddba14116d56b12bea506a 215541
+foomatic-20200219-Sharp-AR-705M_PS-Postscript-Sharp.ppd.gz 1ea2a8a03fcea41e2c3da3893fcba931 215274
+foomatic-20200219-Sharp-AR-B07-Postscript-Sharp.ppd.gz 8b009c6b4ef08941ba29ccf0733e0a8a 213857
+foomatic-20200219-Sharp-AR-BC260-Postscript-Sharp.ppd.gz 46537ae86213db0213cd0cace3bd73dc 245578
+foomatic-20200219-Sharp-AR-C170FP_PS-Postscript-Sharp.ppd.gz a4c29d45ea1a3850371f75b5c6fc8fad 245574
+foomatic-20200219-Sharp-AR-C260P-Postscript-Sharp.ppd.gz c10ae4e0bba100ba0892a99b53bee2f0 245578
+foomatic-20200219-Sharp-AR-M161_PS-Postscript-Sharp.ppd.gz 3dd7e859974efab94beab6b1fa12715f 214159
+foomatic-20200219-Sharp-AR-M165_PS-Postscript-Sharp.ppd.gz 470e53939df8c88e390d1d3b9bca1fec 214258
+foomatic-20200219-Sharp-AR-M205_PS-Postscript-Sharp.ppd.gz 839f2c8ec5ea82f8332b06613a751308 214068
+foomatic-20200219-Sharp-AR-M206_PS-Postscript-Sharp.ppd.gz 05e9b1ea5ec4d44403e8ed61b3cc3354 214258
+foomatic-20200219-Sharp-AR-M236_PS-Postscript-Sharp.ppd.gz 3c1feb0f31dfb94f787cce3a87f9e3a7 215421
+foomatic-20200219-Sharp-AR-M351N-Postscript-Sharp.ppd.gz 8bae576ef9b3bf53c88446cf680fd260 215920
+foomatic-20200219-Sharp-AR-M550N-Postscript-Sharp.ppd.gz 4299284471af8d151563f02fdcb52565 215545
+foomatic-20200219-Sharp-AR-M700N-Postscript-Sharp.ppd.gz 2f6b12b6a862275f793fef88bc7ce2b8 215278
+foomatic-20200219-Sharp-AR-N182FG-Postscript-Sharp.ppd.gz 662d331c5d9d91d4b10f8ee655a9b444 214351
+foomatic-20200219-Sharp-AR-N182G-Postscript-Sharp.ppd.gz ac7329ff462bcab6c74a6d1b251478a3 214354
+foomatic-20200219-Sharp-MX-2314NR-Postscript-Sharp.ppd.gz 6c2a21fff38275bec2697b4676fa79f8 246571
+foomatic-20200219-Sharp-MX-2614NR-Postscript-Sharp.ppd.gz 5fcc68e2350abab30140e4d070f49c12 246497
+foomatic-20200219-Sharp-MX-M1100-Postscript-Sharp.ppd.gz ba068c3c22740919ca0351e390ee494f 216835
+foomatic-20200219-Sharp-MX-M182D-Postscript-Sharp.ppd.gz cf80b254973b38155d9c3184fbba2449 214358
+foomatic-20200219-Sharp-MX-M182-Postscript-Sharp.ppd.gz 3980bd13d9a4a86330d3b3e7b7a7ec51 214259
+foomatic-20200219-Sharp-MX-M202D-Postscript-Sharp.ppd.gz 34b988442b25337cd3ffbc4a0c192dce 214358
+foomatic-20200219-Sharp-MX-M260FP-Postscript-Sharp.ppd.gz 8aec4fba91956d7e377e6d2e0dc05b3f 215351
+foomatic-20200219-Sharp-MX-M260-Postscript-Sharp.ppd.gz 2726fa1bb7a2334d27dd825ab7309bf4 215355
+foomatic-20200219-Sharp-MX-M264NR-Postscript-Sharp.ppd.gz 925dbb595d9d29cdf246d1aacfaf192d 216135
+foomatic-20200219-Sharp-MX-M860-Postscript-Sharp.ppd.gz 5d54df7ac5bcab438028a36f3e9a1141 216762
+foomatic-20200219-Star-NX-1001-eps9mid.ppd.gz 6c32c5579702c088466f6e68241bdec5 5502
+foomatic-20200219-Star-StarJet_48-sj48.ppd.gz afb91f8aab0c5db3e1f55ec0470a1370 31109
+foomatic-20200219-Tektronix-4693d-t4693dX.ppd.gz 60c739246ef3679b3be458228be2f748 154869
+foomatic-20200219-Tektronix-4695-tek4696.ppd.gz 378849ee74e9df0419d7cfe66092c7d6 21105
+foomatic-20200219-Tektronix-4696-tek4696.ppd.gz 378849ee74e9df0419d7cfe66092c7d6 21105
+foomatic-20200219-Tektronix-Phaser_350-Postscript.ppd.gz 5869d299ae46c38f591968cc74cf5f18 197143
+foomatic-20200219-Toshiba-e-Studio_205-Postscript-Toshiba.ppd.gz c62040ff72c33144724aa3a2d5dd9467 124343
+foomatic-20200219-Toshiba-e-Studio_282-Postscript-Toshiba.ppd.gz cb1f93cb78df7da7a20cd31465d86fa3 125745
+foomatic-20200219-Toshiba-e-Studio_3510c-Postscript-Toshiba.ppd.gz e709843014346fd3f0f60909da5dacb9 152699
+foomatic-20200219-Toshiba-e-Studio_451c-Postscript-Toshiba.ppd.gz 03397aa3133f8ae60e776b0543043b87 155381
+foomatic-20200219-Toshiba-e-Studio_452-Postscript-Toshiba.ppd.gz f4efdef7a55e561959623c668a6b652a 125673
+foomatic-20200219-Toshiba-e-Studio_850-Postscript-Toshiba.ppd.gz c66fff98cfd15a9e32b9fdac7b21bd1b 125407
+foomatic-20200219-Toshiba-GL-1010-Postscript-Toshiba.ppd.gz 76e304011e34eec8f92809fc6b3217c1 123080
+foomatic-20200219-Toshiba-GL-1020-Postscript-Toshiba.ppd.gz 4ac9551438c37e805ef7e06e34f269a5 123120
+foomatic-20200219-Xerox-DocuPrint_XJ8C-lxm5700m.ppd.gz a4e34c3997af0ab4a88fd1013b965206 99537
+foomatic-20200219-Xerox-Phaser_3160N-pxlcolor.ppd.gz f806e59260ec92ab078d06457825b9c6 679510
+fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c3375.ppd.gz eec6dac9ce178bd49b614d4c13ec34a3 240264
+hp-20171121-hplip-3.17.10-hp-color_laserjet-ps.ppd.gz 41ca4d7955a1f3d2de9d2869d4622197 197791
+hp-20171121-hplip-3.17.10-hp-deskjet_f4210_series.ppd.gz 1c519dfb9d382d59e9fc00094e9f29a9 60680
+hp-20171121-hplip-3.17.10-hp-laserjet_4-ps.ppd.gz 373874dd5c8d1de7e7a6347346e59981 212649
+hp-20171121-hplip-3.17.10-hp-laserjet_4si-ps.ppd.gz f89f970bf172a38fd3e46f240184aee4 212702
+hp-20171121-hplip-3.17.10-hp-laserjet_4v-ps.ppd.gz 5c130fe203738f867605ebcb3bff7ced 213274
+hp-20171121-hplip-3.17.10-hp-laserjet_6p-ps.ppd.gz 3929e8b16ec2bff828cd6957b14db1cc 213174
+hp-20171121-hplip-3.17.10-hp-laserjet_p1505n-pcl3.ppd.gz 643f51e7bfac3b39b896e75a067ad686 55038
+hp-20171121-hplip-3.17.10-hp-laserjet_p2055_series-ps.ppd.gz c2bc1ab18488aaa2272a702d6f2310ea 212844
+hp-20171121-hplip-3.17.10-hp-laserjet_p4010_series-ps.ppd.gz 0bdca36c031ca13413f826b2101aa194 214330
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_42in_photo-ps.ppd.gz 3a280950ef71414b0d67e8d705dde0ba 199528
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_60in_photo-ps.ppd.gz 852fcb884e90db06d2ad376649c24856 199528
+hp-20190111-hplip-3.18.12-hp-designjet_z6810ps_42in-ps.ppd.gz 6ee27e7c30442d3213e6ee6bcdf64ea1 241807
+hp-20190111-hplip-3.18.12-hp-PCL3-Class1B.ppd.gz e702d88e3441c4795b51f6b8aa560063 69009
+hp-20190918-hplip-3.19.6-hp-Ampere.ppd.gz f69666f1e2b6a51d1b3221fd509c8f2a 69010
+hp-20190918-hplip-3.19.6-hp-CLE17.ppd.gz dc41b12dd95541460398b1883271a03e 72022
+hp-20190918-hplip-3.19.6-hp-cm8060_mfp_with_edgeline-ps.ppd.gz bd22a0f03d1fb228e5c056197e1ba4ce 242574
+hp-20190918-hplip-3.19.6-hp-color_designjet_xl_3600-ps.ppd.gz f25b74becac3a02ee344e09050a420f6 241536
+hp-20190918-hplip-3.19.6-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz a8f1ed315f6371171cd215e4cfec3761 240955
+hp-20190918-hplip-3.19.6-hp-Copperhead12.ppd.gz 7c67b4790ec048c7258e6fabc6ab0600 69017
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH15.ppd.gz 213f444ac8ed89f2a9255848a1d42f62 69414
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH17.ppd.gz 213f444ac8ed89f2a9255848a1d42f62 69415
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH.ppd.gz f9887e3c76a5d689826c6f99d12956f3 69414
+hp-20190918-hplip-3.19.6-hp-Copperhead.ppd.gz 7c67b4790ec048c7258e6fabc6ab0600 69017
+hp-20190918-hplip-3.19.6-hp-CopperheadXLP.ppd.gz 6a9c5bafc68057392c8efb807e5c8be4 72032
+hp-20190918-hplip-3.19.6-hp-Corbett.ppd.gz f69666f1e2b6a51d1b3221fd509c8f2a 69010
+hp-20190918-hplip-3.19.6-hp-designjet_t2600dr-ps.ppd.gz 5cad0c64815ce42b6e54d009debdc246 241448
+hp-20190918-hplip-3.19.6-hp-DJ55xx.ppd.gz 2d763c85487163f7712b4bad230516c7 61726
+hp-20190918-hplip-3.19.6-hp-DJ9xxVIP.ppd.gz 1134bca5011d025f41b40bc819fd83a4 61725
+hp-20190918-hplip-3.19.6-hp-Gemstone.ppd.gz db5a2bb12613cbf12ea75b9512afaca1 72022
+hp-20190918-hplip-3.19.6-hp-Kapan.ppd.gz 87183604c598ac5bf10850ce40aa7696 69020
+hp-20190918-hplip-3.19.6-hp-laserjet_200_color_m251-ps.ppd.gz 4a4233cd05e2e1b5f242645443f4e331 240965
+hp-20190918-hplip-3.19.6-hp-laserjet_m1522_mfp-ps.ppd.gz 01fe5bc66e333aac09412c1c992e634b 213054
+hp-20190918-hplip-3.19.6-hp-laserjet_m2727_mfp_series-ps.ppd.gz c05deeacf9bc514716b312b30d828a09 213393
+hp-20190918-hplip-3.19.6-hp-LJ-Class1.ppd.gz 8eb924200444d1ef2f93a2e6e3fde47f 46462
+hp-20190918-hplip-3.19.6-hp-LJ-Class2.ppd.gz ce16520362c2d3eb0576d489396392ba 190207
+hp-20190918-hplip-3.19.6-hp-LJ-Class3.ppd.gz 690763dad601d98ccf8ca053c45603a7 118262
+hp-20190918-hplip-3.19.6-hp-LJ-Class6.ppd.gz f5005426ab827b1857d1a454630e6f9a 59224
+hp-20190918-hplip-3.19.6-hp-Mimas15.ppd.gz db5a2bb12613cbf12ea75b9512afaca1 72022
+hp-20190918-hplip-3.19.6-hp-Mimas17.ppd.gz db5a2bb12613cbf12ea75b9512afaca1 72022
+hp-20190918-hplip-3.19.6-hp-Mimas.ppd.gz e11105a15b3b62d37338390dcc14d26a 69017
+hp-20190918-hplip-3.19.6-hp-MimasTDR.ppd.gz ac37833cf3ca8a51801220f49b7fc971 45958
+hp-20190918-hplip-3.19.6-hp-OJ7000.ppd.gz edb400d791b1732f741ab4ce42f0c56a 69018
+hp-20190918-hplip-3.19.6-hp-OJProKx50.ppd.gz 2d763c85487163f7712b4bad230516c7 61726
+hp-20190918-hplip-3.19.6-hp-postscript-inkjet.ppd.gz 0015108b373865356147431d04387d06 240890
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet.ppd.gz 3d31044590c72843617f071280e241d0 241154
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet-pro.ppd.gz 7cf4bb64f6e8fc528b50d519798dc269 241178
+hp-20190918-hplip-3.19.6-hp-PSP100.ppd.gz 1245948f2d298121448808fd8d15d38e 61728
+hp-20190918-hplip-3.19.6-hp-PSP470.ppd.gz fe84ee6798a8e9484f61b4cfeb3c60d1 147576
+hp-20190918-hplip-3.19.6-hp-Pyramid15.ppd.gz db5a2bb12613cbf12ea75b9512afaca1 72022
+hp-20190918-hplip-3.19.6-hp-PyramidPlus.ppd.gz ac37833cf3ca8a51801220f49b7fc971 45958
+hp-20190918-hplip-3.19.6-hp-Pyramid.ppd.gz 512bc2e60f90fde3978271be5870935f 45739
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh15.ppd.gz 4f83312b1393b65fceb8fc8f106c2d2d 68164
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh17.ppd.gz dc41b12dd95541460398b1883271a03e 72022
+hp-20190918-hplip-3.19.6-hp-Python10.ppd.gz 227d96dedf4685774d785f16fc2638f1 69017
+hp-20190918-hplip-3.19.6-hp-Python11.ppd.gz edb400d791b1732f741ab4ce42f0c56a 69018
+hp-20190918-hplip-3.19.6-hp-Python.ppd.gz edb400d791b1732f741ab4ce42f0c56a 69018
+hp-20190918-hplip-3.19.6-hp-Saipan15B.ppd.gz 9b538488d8cdbc26c0fbe7aca6464665 72032
+hp-20190918-hplip-3.19.6-hp-Saipan.ppd.gz 4d362af48deccd5b500c7e2316fb9a0e 69010
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProAsize.ppd.gz db5a2bb12613cbf12ea75b9512afaca1 72022
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProBsize.ppd.gz db5a2bb12613cbf12ea75b9512afaca1 72022
+hp-20190918-hplip-3.19.6-hp-Stabler.ppd.gz e11105a15b3b62d37338390dcc14d26a 69017
+hp-20190918-hplip-3.19.6-hp-StingrayOJ.ppd.gz e430016285e2d90897b94ba1fd77c457 66965
+hp-20190918-hplip-3.19.6-hp-ViperMinusVIP.ppd.gz 7df7364622485985c0cbf938c1124a17 68781
+hp-20190918-hplip-3.19.6-hp-ViperPlusVIP.ppd.gz e11105a15b3b62d37338390dcc14d26a 69017
+hplip-20200303-hplip-3.19.12-hp-color_designjet_xl_3600-ps.ppd.gz 6582492048d083442b5fabc9beec5ae6 241401
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2550_series-ps.ppd.gz 1cc89d8dccf0264d2c0b6357a9ec08bf 240855
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605-ps.ppd.gz 4925bbec1c90f7c04f25d9a3a216856f 241149
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700-ps.ppd.gz 7237921f66fdf802e9fb5450894af62a 240913
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2800-ps.ppd.gz 9a27877d68650dbcf5cdb2999b064f67 240791
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1015-ps.ppd.gz 379b372da5ec60cfdd8f56a9c1cd949a 240866
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_e85055-ps.ppd.gz a69f2f3d3facd48790192eae91d3db44 241951
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_flowmfp_m776-ps.ppd.gz 51b00a3fcc0e8e3790333c3524dc3f74 242324
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_m856-ps.ppd.gz 4e4bcffcefb8bad8f1bd53447c1a914e 242255
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_mfp_m776-ps.ppd.gz 210ddfa988525a056bc1976161651bb5 242552
+hplip-20200303-hplip-3.19.12-hp-designjet_4000ps.ppd.gz e0aa448d3f75bbb0c877e11ccdc387f9 199317
+hplip-20200303-hplip-3.19.12-hp-designjet_4500mfp.ppd.gz 1beb7866416ab24bae9fecb1d747d03e 199324
+hplip-20200303-hplip-3.19.12-hp-designjet_d5800-ps.ppd.gz 91e4b049e982bfc9a76f97a683867a1f 241176
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_24in-ps.ppd.gz fa127295bd22a8ccae785538a4709ec9 199323
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_44in-ps.ppd.gz 065b7d0d502c1a89df786caf1cecd315 199323
+hplip-20200303-hplip-3.19.12-hp-designjet_t1200_postscript-ps.ppd.gz b37c0fe9693390163a5db70cb2c60f1b 199334
+hplip-20200303-hplip-3.19.12-hp-designjet_t1300_postscript-ps.ppd.gz 9e9c6c51c5cc755805a615afdf2239d1 199457
+hplip-20200303-hplip-3.19.12-hp-designjet_t1500-postscript.ppd.gz 5467d65fceb25351afb132e322643cd5 199730
+hplip-20200303-hplip-3.19.12-hp-designjet_t1530-postscript.ppd.gz 7d223bc95d07780956359041a9c89ae1 199768
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600dr-ps.ppd.gz 5570e85758c033676bf1bb49eb6bfbb0 241313
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600_printer-ps.ppd.gz c5ee3c1e72d6722b3e9834e2c60ce8f1 241313
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700dr_postscript-ps.ppd.gz 5604d001d5dc771463a4a0836cb39273 241404
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700_postscript-ps.ppd.gz 010e09798efabfcc3f464ff4208fd5d7 241393
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708dr_postscript-ps.ppd.gz d022b8f92249349daab800ca023f3421 241687
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708_postscript-ps.ppd.gz ccb8eaf0c9a48cb23b1488e79644f32c 241678
+hplip-20200303-hplip-3.19.12-hp-designjet_t2300_postscript-ps.ppd.gz ef8d166fc52f8d571be1a579b7e15258 199457
+hplip-20200303-hplip-3.19.12-hp-designjet_t2500-postscript.ppd.gz 98dd849ec6a95893d266e793e8fbf540 199666
+hplip-20200303-hplip-3.19.12-hp-designjet_t2600dr-ps.ppd.gz f9f9c6d3d5c8cc56bbb7992ea70f96a9 241313
+hplip-20200303-hplip-3.19.12-hp-designjet_t3500-ps.ppd.gz 3430f129b897739f3822e023d822d54e 241298
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps_monochrome-ps.ppd.gz b4ae06e4d535334fccdd7947b675cba5 188518
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps-ps.ppd.gz 09c6d48950d57a535867083be68186ce 199738
+hplip-20200303-hplip-3.19.12-hp-designjet_t7200-ps.ppd.gz 013207c3c8f4330b7dbbd6697d747b34 241448
+hplip-20200303-hplip-3.19.12-hp-designjet_t770_postscript-ps.ppd.gz 3cc1e9c980119c6d9d71a667ab497940 199179
+hplip-20200303-hplip-3.19.12-hp-designjet_t770ps_24in-ps.ppd.gz e63563a67569d8c7fb5df273c031fb4e 199179
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_24in-ps.ppd.gz d040678de9b47f2d1fee0b0381d866bb 199302
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_44in-ps.ppd.gz 02b0539d1359fb8472aafc1e330a5384 199302
+hplip-20200303-hplip-3.19.12-hp-designjet_t920-postscript.ppd.gz 51337bf8b8f8160b2edae44284742627 199571
+hplip-20200303-hplip-3.19.12-hp-designjet_t930-postscript.ppd.gz 3a7b97344e9ebeaf3a61c298ed4f2900 199571
+hplip-20200303-hplip-3.19.12-hp-designjet_z5200_postscript-ps.ppd.gz e4d76e160b1beb17bb704fd64ff2e78b 242649
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_42in_photo-ps.ppd.gz 821948dfce39d8754a046387caa08447 199540
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_60in_photo-ps.ppd.gz 173dbc89df0a2ff82c6590ef429cf0e0 199540
+hplip-20200303-hplip-3.19.12-hp-designjet_z6600-postscript.ppd.gz 19845db0466cb162619594ca4bb3814b 241410
+hplip-20200303-hplip-3.19.12-hp-designjet_z6610ps_60in-ps.ppd.gz d39f5c8fb123609a853c34d4c7d0c758 241659
+hplip-20200303-hplip-3.19.12-hp-designjet_z6800_photo-postscript.ppd.gz f1efc6d7f4a2e7f5d0958c50d90d51d7 241410
+hplip-20200303-hplip-3.19.12-hp-designjet_z6810ps_60in-ps.ppd.gz 8db8f0676df04a9e5b2f9f919bf43367 241807
+hplip-20200303-hplip-3.19.12-hp-deskjet_3420.ppd.gz a97a623d0bb2b6318477e33b9492bd2e 1272786
+hplip-20200303-hplip-3.19.12-hp-deskjet_3700_series.ppd.gz dc41b12dd95541460398b1883271a03e 72023
+hplip-20200303-hplip-3.19.12-hp-deskjet_950c.ppd.gz bc9d338682d081892de3479187ca7638 104810
+hplip-20200303-hplip-3.19.12-hp-deskjet_d1600_series.ppd.gz d65408cc3bf03a6e78b839e42e537365 2533900
+hplip-20200303-hplip-3.19.12-hp-deskjet_d2600_series.ppd.gz 01b9cd0be0953d18271e7907ec039135 2702260
+hplip-20200303-hplip-3.19.12-hp-deskjet_d4100_series.ppd.gz eaf0299a682275cf3a5ac52547fd329c 2362612
+hplip-20200303-hplip-3.19.12-hp-deskjet_f300_series.ppd.gz 08eb08b2ef79befa7dbdd42323ed0e02 1389746
+hplip-20200303-hplip-3.19.12-hp-DJGenericVIP.ppd.gz c433c0c0faa591e82b5ab4992e895bf7 69020
+hplip-20200303-hplip-3.19.12-hp-laserjet_100_color_mfp_m175-ps.ppd.gz 6160c11ccfec849c80ff0fa992349e8c 240882
+hplip-20200303-hplip-3.19.12-hp-officejet_4300_series.ppd.gz a97a623d0bb2b6318477e33b9492bd2e 1272786
+hplip-20200303-hplip-3.19.12-hp-pagewide_p55250-ps.ppd.gz be8b5008ed6d11ef79bfe1c0c2191e44 240633
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_3900ps_mfp-ps.ppd.gz 5eaac365603e571d7284ee70d6ed5db9 240882
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps-ps.ppd.gz e254e1c46b9061d8685af8d70c65f04b 241448
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps-ps.ppd.gz ffcc863b346819b222b70a48730b6e8a 241024
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_blueprinter-ps.ppd.gz 754c436048193113e9d00d467d1f3d18 241316
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps-ps.ppd.gz eb6cd87e5ca2ab6e6b4e198b5e680335 241448
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp_blueprinter-ps.ppd.gz de34e1df77a048c9ea6d9767ccbd3feb 241316
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp-ps.ppd.gz d13da658f4dbfa4d377817b4e542e780 241448
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps-ps.ppd.gz 878fb218f9656488479668b9089aa3f7 241448
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps_blueprinter-ps.ppd.gz a2efeebe65722cd4763c5d3a392796f8 241316
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps-ps.ppd.gz b95e6e3df1391ba0407db1b053e2dffa 241448
+hplip-20200303-hplip-3.19.12-hp-photosmart_a530_series.ppd.gz c0b30155a3d836346950cefe8f8fe997 206359
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-226i.ppd.gz fa5f77f471537c4acfb033f6d5e1717b 212135
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c226.ppd.gz 7bcd4161dc58b23d1a6422be5e953e67 238928
+kyocera-20180809-Kyocera_TASKalfa_3051ci.ppd.gz 6419d60d7a7798d0cde3c1df40b145f4 243172
+kyocera-20190328-Kyocera_CS_2551ci.ppd.gz cda98d66033d8e6907292ab7e324324e 198232
+kyocera-20190328-Kyocera_CS_2552ci.ppd.gz d567e710cb921bdbfe450b87443d8542 198232
+kyocera-20190328-Kyocera_CS_3010i.ppd.gz 6b28a0b507a02c6b2df86ce602daef97 187770
+kyocera-20190328-Kyocera_CS_3011i.ppd.gz 4b634322b19153c59cf82ee7d9273b5d 187770
+kyocera-20190328-Kyocera_CS_306ci.ppd.gz e5902c4a4ae691b6d78ea4c273eb5f34 198232
+kyocera-20190328-Kyocera_CS_307ci.ppd.gz 0ba070ae097ce025fae42180bdcf782c 198232
+kyocera-20190328-Kyocera_CS_3212i.ppd.gz fa2cceca8cdbf3e2a9bee7aac010f8ae 187770
+kyocera-20190328-Kyocera_CS_4002i.ppd.gz 496e9c9810fd729e50d38d0a4e5180b3 187770
+kyocera-20190328-Kyocera_CS_7002i.ppd.gz 496e9c9810fd729e50d38d0a4e5180b3 187770
+kyocera-20190328-Kyocera_CS_7052ci.ppd.gz e10b8b7d6282c92ca17e7a7889f2023e 198232
+kyocera-20190328-Kyocera_CS_9002i.ppd.gz 8897903dc7cd2bb4e002f8c96216372d 187770
+kyocera-20190328-Kyocera_ECOSYS_M2030dn.ppd.gz 8d59e2a825f6e70a3b7a77396b343fa3 187770
+kyocera-20190328-Kyocera_ECOSYS_M2035dn.ppd.gz 93a68abbfc47d6b88dd8c0ba6db10094 187770
+kyocera-20190328-Kyocera_ECOSYS_M2040dn.ppd.gz 7d2f37611f8a980744a9e37dfb29e471 187770
+kyocera-20190328-Kyocera_ECOSYS_M2235dn.ppd.gz 51e4d220fa27e7946fffcbbf2a1d2e11 187770
+kyocera-20190328-Kyocera_ECOSYS_M3040dn.ppd.gz db4f9322f23a8026dda84e246aecb337 187770
+kyocera-20190328-Kyocera_ECOSYS_M3145dn.ppd.gz db4f9322f23a8026dda84e246aecb337 187770
+kyocera-20190328-Kyocera_ECOSYS_M4028idn.ppd.gz 2db4d3b6fcaada9f9fcee614e1dd743e 187770
+kyocera-20190328-Kyocera_ECOSYS_M4125idn.ppd.gz fb08a314095d0bb8d220cf5bffced1a7 187770
+kyocera-20190328-Kyocera_ECOSYS_M5021cdn.ppd.gz 009782cf373fb4fe1daca42dee1195f7 198232
+kyocera-20190328-Kyocera_ECOSYS_M5521cdn.ppd.gz 5ace7b68e7f651392b23d1136a713170 198232
+kyocera-20190328-Kyocera_ECOSYS_M6026cdn.ppd.gz 4c3f9d2c606ff013eac482e73cb2db72 198232
+kyocera-20190328-Kyocera_ECOSYS_M6230cidn.ppd.gz 1414718e201d2a116471ee5b31bb2bf8 198232
+kyocera-20190328-Kyocera_ECOSYS_M8024cidn.ppd.gz 4207a841bb84a950d8a6fab2d5251261 198232
+kyocera-20190328-Kyocera_ECOSYS_M8124cidn.ppd.gz 4207a841bb84a950d8a6fab2d5251261 198232
+kyocera-20190328-Kyocera_ECOSYS_P2035d.ppd.gz 4aa81f3a68709036d11afcfccc5f7ccf 187770
+kyocera-20190328-Kyocera_ECOSYS_P3045dn.ppd.gz 4aa81f3a68709036d11afcfccc5f7ccf 187770
+kyocera-20190328-Kyocera_ECOSYS_P4035dn.ppd.gz 8815d321a23b5f807386a97548d4eee4 187770
+kyocera-20190328-Kyocera_ECOSYS_P6026cdn.ppd.gz 2c728f61bb9f95dd346754098ecefd13 198232
+kyocera-20190328-Kyocera_ECOSYS_P8060cdn.ppd.gz b037ec0b3d03bf2e63e777b5b3a49420 198232
+kyocera-20190328-Kyocera_FS-5040DN.ppd.gz 53e75995e520fb8110dc86509ed3ddde 187770
+kyocera-20190328-Kyocera_TASKalfa_4020i.ppd.gz 0238ca8dd5364ca2c2bb1c6a93db91ac 187770
+kyocera-20190328-Kyocera_TASKalfa_406ci.ppd.gz dc41fc84559cd81a4dcee868cdc3a435 198232
+kyocera-20190328-Kyocera_TASKalfa_4500i.ppd.gz 1a6f3833c758e8645e87b546401f30ad 187770
+kyocera-20200211-Kyocera_TASKalfa_7003i.ppd.gz 1a6f3833c758e8645e87b546401f30ad 187770
+kyocera-20200416-Kyocera_CS_205c.ppd.gz 80b6071b6dcc77a592ba40471548fae9 198232
+kyocera-20200416-Kyocera_CS_250ci.ppd.gz 57a3f5468d512540b0c85468f894fe4b 198232
+kyocera-20200416-Kyocera_CS_2550ci.ppd.gz 69451f0a5d9ec1dc1b1e5c07e056f00a 198232
+kyocera-20200416-Kyocera_CS_2553ci.ppd.gz b980f27d7bf404d1b6675dc551782e4b 198232
+kyocera-20200416-Kyocera_CS_2554ci.ppd.gz 62d33ec78d1331feec997ca723e88594 198423
+kyocera-20200416-Kyocera_CS_255.ppd.gz 3227e395fe4a87b28312ea35a47879de 187770
+kyocera-20200416-Kyocera_CS_300i.ppd.gz f027340e1b6e978e578281c1a0f3babe 187770
+kyocera-20200416-Kyocera_CS_3050ci.ppd.gz d86b4cbd93b3d82b0131736e3f4feaa5 198232
+kyocera-20200416-Kyocera_CS_308ci.ppd.gz 1e224fc82cbb21a36b422fa6ba269a88 198232
+kyocera-20200416-Kyocera_CS_3500i.ppd.gz 69573e48816180739696d3a36ed7ad6d 187770
+kyocera-20200416-Kyocera_CS_4003i.ppd.gz c6f54990da0b1a7584c21165d911ba2f 187770
+kyocera-20200416-Kyocera_CS_6500i.ppd.gz ac0f6a5a7fed43ac154187f6069bf1b1 187770
+kyocera-20200416-Kyocera_CS_6550ci.ppd.gz 054bf8ff6d96dbad9ccfcb82edd052e6 198232
+kyocera-20200416-Kyocera_CS_7003i.ppd.gz 749d9758e3b6a6f28e7a26f4c84c4f4b 187770
+kyocera-20200416-Kyocera_CS_7353ci.ppd.gz a9d88116ea8ef894af0afc700a8a074c 198232
+kyocera-20200416-Kyocera_CS_9003i.ppd.gz 00c547cfaad4650a22add31a21981d3a 187770
+kyocera-20200416-Kyocera_ECOSYS_M3860idnf.ppd.gz ff375a3c03b23a378831ef6982800fee 187770
+kyocera-20200416-Kyocera_ECOSYS_M3860idn.ppd.gz ff375a3c03b23a378831ef6982800fee 187770
+kyocera-20200416-Kyocera_ECOSYS_P3260dn.ppd.gz d77c15e314c30e1c5194f5854ded1940 187770
+kyocera-20200416-Kyocera_ECOSYS_P4135dn.ppd.gz bf17130af266bbe6a9fc4344c45fa72f 187770
+kyocera-20200416-Kyocera_ECOSYS_P5018cdn.ppd.gz 0daf546c39b298036481e367dfa61aff 198232
+kyocera-20200416-Kyocera_FS-1028MFP.ppd.gz d6f0b89e5a1461b1f57076c3a9638ffd 187770
+kyocera-20200416-Kyocera_FS-1030MFP.ppd.gz b6c10b4961913fa57e107a1e8233309e 187770
+kyocera-20200416-Kyocera_FS-1035MFP.ppd.gz 20f1c23e6842cfb2ff081d6dcf283305 187770
+kyocera-20200416-Kyocera_FS-1120D.ppd.gz 8812ab4e1707b9f7ea803bfaa8fbe569 187770
+kyocera-20200416-Kyocera_FS-2020D.ppd.gz e685347cb0aafabe3939e3b844ce91ef 187770
+kyocera-20200416-Kyocera_FS-2100D.ppd.gz 35520fed7e84eecd3d8ac0ec9ed1b311 187770
+kyocera-20200416-Kyocera_FS-3540MFP.ppd.gz a2cb69509e39d29a4303a94dac48ef0e 187770
+kyocera-20200416-Kyocera_FS-3920DN.ppd.gz f7c7fcc23d2279daffe0bd275232ce70 187770
+kyocera-20200416-Kyocera_FS-4100DN.ppd.gz f7c7fcc23d2279daffe0bd275232ce70 187770
+kyocera-20200416-Kyocera_FS-6970DN.ppd.gz 559066b846bbac261cd251e243cc564e 187770
+kyocera-20200416-Kyocera_FS-9130DN.ppd.gz 6566a222ecd56874874d3a9a393fa4b6 187770
+kyocera-20200416-Kyocera_FS-C2026MFP.ppd.gz 0761862a9b0348858db32c4962a85902 198232
+kyocera-20200416-Kyocera_FS-C2026MFP+.ppd.gz fe8b84a6f4c766e59f52eb599874af54 198232
+kyocera-20200416-Kyocera_FS-C5250DN.ppd.gz 1025070edd688e0d61cc882b40f4be61 198232
+kyocera-20200416-Kyocera_FS-C8600DN.ppd.gz a4c3665fd6c068a2d2980c6e838d45c3 198232
+kyocera-20200416-Kyocera_TASKalfa_3060ci.ppd.gz 87b5273d13bdec15a69f09d71850476b 198232
+kyocera-20200716-Kyocera_ECOSYS_M2540dwJ.ppd.gz f609d7667b286c345b821bdaa99aecbf 187766
+kyocera-20200716-Kyocera_ECOSYS_M3645idnJ.ppd.gz a7650386b136f8fcf687f57a58670d13 187648
+kyocera-20200716-Kyocera_ECOSYS_M4226idn.ppd.gz f667dcb101223d229ffcd3d19ea16a3d 187770
+kyocera-20200716-Kyocera_ECOSYS_M6635cidnJ.ppd.gz 63c979e5688aeea92c50b3e4274db007 198228
+kyocera-20200716-Kyocera_ECOSYS_M8224cidn.ppd.gz 74dac47a9ee4b8f6db539c19cdad6354 198232
+kyocera-20200716-Kyocera_ECOSYS_P3060dnJ.ppd.gz f4dbf8c02005d9d10b4ccac7dd124819 187766
+kyocera-20200716-Kyocera_ECOSYS_P3145dnJ.ppd.gz 271376dc845241969428ccd3c7e854f6 187766
+kyocera-20200716-Kyocera_ECOSYS_P3145dn.ppd.gz 0b60ddf07b65963ba6e3472fc5ee9007 187770
+kyocera-20200716-Kyocera_ECOSYS_P4040dnJ.ppd.gz 838cb81c3df38cbabb666e847795f9cf 187766
+kyocera-20200716-Kyocera_ECOSYS_P4060dnJ.ppd.gz 838cb81c3df38cbabb666e847795f9cf 187766
+kyocera-20200716-Kyocera_ECOSYS_P4140dnJ.ppd.gz 838cb81c3df38cbabb666e847795f9cf 187766
+kyocera-20200716-Kyocera_ECOSYS_P8060cdnJ.ppd.gz 24ccb755024a77a3ad1c684cdedd8dd5 198228
+kyocera-20200716-Kyocera_TASKalfa_2460ciJ.ppd.gz 3f6cf653a3d64fff276861d458179f3d 198228
+kyocera-20200716-Kyocera_TASKalfa_2510iJ.ppd.gz 9f10b87723acab57c94c5cc88f068cd7 187766
+kyocera-20200716-Kyocera_TASKalfa_2553ciJ.ppd.gz 66c600ff0671ce8ea7cb61a319d3445b 198228
+kyocera-20200716-Kyocera_TASKalfa_2553ci.ppd.gz ebb1b3ddafd9bb20604526a83928405b 198232
+kyocera-20200716-Kyocera_TASKalfa_308ci.ppd.gz 9a78d58380b51e8c67122bdbae62fa19 198232
+kyocera-20200716-Kyocera_TASKalfa_3212iJ.ppd.gz 5f8d74e52e8bb59e5948c4563a409bbf 187648
+kyocera-20200716-Kyocera_TASKalfa_352ci.ppd.gz 9a78d58380b51e8c67122bdbae62fa19 198232
+kyocera-20200716-Kyocera_TASKalfa_358ciJ.ppd.gz 780ecbff1c91f3ca8e7a84930c4e0718 198228
+kyocera-20200716-Kyocera_TASKalfa_4003i.ppd.gz f71d37bc57d823da6bd4260700d8fcc8 187770
+kyocera-20200716-Kyocera_TASKalfa_4012iJ.ppd.gz e521b2ed138d3a1b726f3d8ebcbe669c 187647
+kyocera-20200716-Kyocera_TASKalfa_5003iJ.ppd.gz 3039c7ca415b11ecc669bd92075f9564 187765
+kyocera-20200716-Kyocera_TASKalfa_7003iJ.ppd.gz 6869715f631ef438daaae4402a4d1080 187765
+kyocera-20200716-Kyocera_TASKalfa_7353ciJ.ppd.gz 0a350bfadc13849fb8e3248888101544 198227
+kyocera-20200716-TA_P-4531_MFP.ppd.gz 5c75828e2199567c537d3c2df38387f8 187769
+lanier-20190916-Lanier-IM_550_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2755
+lanier-20190916-Lanier-IM_600SR_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2825
+lanier-20190916-Lanier-P_800_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2755
+lanier-20190916-Lanier-P_C600_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2827
+lexmark-20200918-Lexmark_X651de.ppd.gz 61f146c2e529170b181aa09d1ae640ba 240529
+lexmark-20200918-Lexmark_X658de.ppd.gz e7d24d778413e13cf91b2b0ce3e65310 240912
+lexmark-20201101-Lexmark_6500e_Series.ppd.gz c2c4f3417537f75bf67d5de859c1a945 241035
+lexmark-20201101-Lexmark_B2300_Series.ppd.gz b9874b2cbff009b743e89e84e87d8d1a 188598
+lexmark-20201101-Lexmark_C2200_Series.ppd.gz ebb5f539f79a5d7d06a840b3e62a97b7 199984
+lexmark-20201101-Lexmark_C2300_Series.ppd.gz 8bf456b6a7842f3cb2f33734b5d8bf65 199761
+lexmark-20201101-Lexmark_C2400_Series.ppd.gz f5b9670586e72f8140aec1b7d6757126 199914
+lexmark-20201101-Lexmark_C3400_Series.ppd.gz 9222fcb71ef6a1735904e44cadbf83ca 199540
+lexmark-20201101-Lexmark_C740_Series.ppd.gz f51971aeefd7f6664c4b64cb7015e3e0 359319
+lexmark-20201101-Lexmark_C790_Series.ppd.gz 88fdb6bcf4fad1300516831830f0010c 359787
+lexmark-20201101-Lexmark_C9200_Series.ppd.gz ee4d0e239dda2e910901abd8fffb9bd2 200800
+lexmark-20201101-Lexmark_C920_Series.ppd.gz 6f2221e5cfddd93f3cf9cccfcb8ea668 241286
+lexmark-20201101-Lexmark_C950_Series.ppd.gz 728dfbc2356208cb3c11aec793f7ee95 241826
+lexmark-20201101-Lexmark_CS310_Series.ppd.gz 1470d3017d87ed9eb2579edbe1c26f2b 199680
+lexmark-20201101-Lexmark_CS410_Series.ppd.gz 5bb44bdb9d23500f51eb369a56a34ff5 199821
+lexmark-20201101-Lexmark_CS510_Series.ppd.gz d02a9da2811f05a7179b26ca1650df00 359376
+lexmark-20201101-Lexmark_CS720_Series.ppd.gz 6b72341a0f18836dd251d718c9486394 199905
+lexmark-20201101-Lexmark_CS820_Series.ppd.gz 670c83e4549dce706b1b3eb6043fb1e8 200505
+lexmark-20201101-Lexmark_CS920_Series.ppd.gz 8f059e1ee358fa172f197fb8f185fed8 200800
+lexmark-20201101-Lexmark_CX310_Series.ppd.gz 131eb6d16e64e75a8f21f88abfde5ff1 359376
+lexmark-20201101-Lexmark_CX410_Series.ppd.gz 077abc7d521668b5b0c63b66eada2aaf 200156
+lexmark-20201101-Lexmark_CX420_Series.ppd.gz dea9b12cf154aec1c1458685b8dd1578 199914
+lexmark-20201101-Lexmark_CX430_Series.ppd.gz b506cf0311d413979d529bd43b1138bb 199540
+lexmark-20201101-Lexmark_CX510_Series.ppd.gz 831b59a653ba85077a03552152f34b6e 273873
+lexmark-20201101-Lexmark_CX625_Series.ppd.gz 6c69c0aaabed3af2bba5b37465c8849f 199984
+lexmark-20201101-Lexmark_CX725_Series.ppd.gz f6351829563cfea9ceaa6c06d20df236 199905
+lexmark-20201101-Lexmark_CX820_Series.ppd.gz 81fda7b706a6eff37948e1040cb127d0 200505
+lexmark-20201101-Lexmark_CX825_Series.ppd.gz 69e343b34fa3bbe0b7b7a3f1544ae76b 200860
+lexmark-20201101-Lexmark_CX920_Series.ppd.gz e24fa38e53926c99af80462e2ebd65c4 200799
+lexmark-20201101-Lexmark_M1100_Series.ppd.gz b2787dd33554d1f823563890bb0534be 213908
+lexmark-20201101-Lexmark_M3100_Series.ppd.gz 3330fe7467dc553ec0c61acb180c4311 213887
+lexmark-20201101-Lexmark_M5100_Series.ppd.gz fafe3a96ad5f6039b1ef3798a9ddf358 214295
+lexmark-20201101-Lexmark_MB2300_Series.ppd.gz 1230461c9f2ad0823b860be9bb721c7d 188598
+lexmark-20201101-Lexmark_MC2300_Series.ppd.gz 85b08c30131b230371f7d350a0644a0e 199761
+lexmark-20201101-Lexmark_MS310_Series.ppd.gz bef19bbea014fbcf19ce7584e240352e 188863
+lexmark-20201101-Lexmark_MS410_Series.ppd.gz 200e055d7c2c73fd116e8dc2081e6ba1 213868
+lexmark-20201101-Lexmark_MS510_Series.ppd.gz 42d84fbebf947f258feca3f24f728dd6 240543
+lexmark-20201101-Lexmark_MS610_Series.ppd.gz b35a6f5b8ecb8d166dfebc40a3cf88c3 240543
+lexmark-20201101-Lexmark_MS620_Series.ppd.gz a90c1a24e8c7ce0e2cc57b353e26ee1e 188738
+lexmark-20201101-Lexmark_MS710_Series.ppd.gz baae40695b16f2739b26e2c3a9ca4b9f 240924
+lexmark-20201101-Lexmark_MS725_Series.ppd.gz 31afe12036ed05c8846c732171cd7068 190145
+lexmark-20201101-Lexmark_MS810_Series.ppd.gz 7881d8209b61ca18cc5d57910d5120f7 240924
+lexmark-20201101-Lexmark_MS820_Series.ppd.gz 46b42efd09bdb61877b1d19be8c4c547 190145
+lexmark-20201101-Lexmark_MX310_Series.ppd.gz 2ba525e0a84838264ba5d96c0f644c6b 188864
+lexmark-20201101-Lexmark_MX410_Series.ppd.gz e0d12f47c0ecb85cc31d6c0706ea6097 240543
+lexmark-20201101-Lexmark_MX510_Series.ppd.gz 3b37e0cb0a337527783f9aec57ca6f49 240543
+lexmark-20201101-Lexmark_MX520_Series.ppd.gz f5a773cc8adf6b54a89646e6f92b1de0 188738
+lexmark-20201101-Lexmark_MX610_Series.ppd.gz cec71b7f07af9e9447dd3db51f5ef09e 240701
+lexmark-20201101-Lexmark_MX620_Series.ppd.gz 0597d0eb1bd7253ad7286f9c4ae6b156 188884
+lexmark-20201101-Lexmark_MX6500e_Series.ppd.gz de05962016c44bb58281ad72030ed7d2 214250
+lexmark-20201101-Lexmark_MX710_Series.ppd.gz 6ec3cd891606e956d3f5a61296abad66 240528
+lexmark-20201101-Lexmark_MX720_Series.ppd.gz ca4ea7e91024304b0cf228ccf6883a6d 188878
+lexmark-20201101-Lexmark_MX725_Series.ppd.gz 8588a4cc7a3c263158faece1d06a81eb 188878
+lexmark-20201101-Lexmark_MX810_Series.ppd.gz 6a698ca77cb314c9c67c0e146cc9e96f 240986
+lexmark-20201101-Lexmark_MX820_Series.ppd.gz 7985024dce98cf99724992fbe4fad64d 189590
+lexmark-20201101-Lexmark_MX910_Series.ppd.gz 1ef510d54084ac756a02215a46e645c8 214710
+lexmark-20201101-Lexmark_X548_Series.ppd.gz 0d0c870813b9d19524c65e31dd5d35c4 359393
+lexmark-20201101-Lexmark_X740_Series.ppd.gz 87c327a70b6d1c1ace79be58b7f54b46 359372
+lexmark-20201101-Lexmark_X790_Series.ppd.gz f13db56e8b2d8b7967f1976ec0913fa7 359840
+lexmark-20201101-Lexmark_X920_Series.ppd.gz b67ea20aeb4c7f030b1295927b091e7d 241339
+lexmark-20201101-Lexmark_X950_Series.ppd.gz c9b599858191e6ae41b0dceb690e468e 241879
+lexmark-20201101-Lexmark_XC2100_Series.ppd.gz d177be511f8cd571e561116d6128518e 359425
+lexmark-20201101-Lexmark_XC9200_Series.ppd.gz a48fd432878decc320e6477195d29ea9 200800
+lexmark-20201101-Lexmark_XM1100_Series.ppd.gz cb8aae9b3af1d658b0f0239f59d313a5 213884
+lexmark-20201101-Lexmark_XM3100_Series.ppd.gz acdb5d918ecc8d0ad1a1c983723444ec 214042
+lexmark-20201101-Lexmark_XM5100_Series.ppd.gz c397a3b42c1ad9cecd794da241935798 213884
+lexmark-20201101-Lexmark_XM7100_Series.ppd.gz b8ae626102093df9f3e8e5274b53e88c 214380
+oki-20200129-oki-c542-ps.ppd.gz 789c6b120fc77f88894a61c8667a38b9 245913
+oki-20200329-ES8434-PS.ppd.gz d59426ecf19241dff4de40ddee792f8a 245989
+oki-20200329-OKB432_a.ppd.gz 4f47375a1889135d9d821f34742b152d 216855
+oki-20200329-OKB512_a.ppd.gz c01c8847ac561f604e5ca10c5a808e6a 216855
+oki-20200329-OKB841_a110.ppd.gz 9962fc07457c66b26887fb85d29e1dd9 215246
+oki-20200329-OKI-C332-PS.ppd.gz 63aff8db087fa29d3c44ee6e2419a849 245913
+oki-20200329-OKI-C612-PS.ppd.gz ebbe71e7371e5ad7d57500a637f3d224 246052
+oki-20200329-OKI-C712-PS.ppd.gz 82cda096513add112b54d9322aee1b94 246133
+oki-20200329-OKI-C833-PS.ppd.gz 7f8c69aab9430d0e933cfa1e5ce4ab9b 246052
+oki-20200329-OKI-C843-PS.ppd.gz 904b0232c482abdfc2f7671cb2aaf894 246052
+oki-20200329-OKI-C844-PS.ppd.gz dc9e0f672c3b2c09870eeec7ef44507b 245989
+oki-20201022-ES6450_PS.ppd.gz efa67a83fb599f0c8e092518daeb873b 245913
+oki-20201022-OKI_MC843_PS.ppd.gz 0d038d44991b57cec440b8b3131fc94e 245832
+oki-20201022-OKI_MC853_PS.ppd.gz dc20c789c55be5df8bf26c141774e8c8 245912
+oki-20201022-OKI_MC883_PS.ppd.gz 972eb24001a67a88540e77cab591f145 245912
+ricoh-20190916-Ricoh-IPSiO_SP_3400L_PXL.ppd.gz aa68534d59f2156b897e0c665897cc44 79866
+ricoh-20190916-Ricoh-IPSiO_SP_3510SF_PXL.ppd.gz aa68534d59f2156b897e0c665897cc44 79866
+ricoh-20190916-Ricoh-M_C250FWB_PS.ppd.gz 0cc53deff352573945ccbaa0ea877f6d 242269
+ricoh-20190916-Ricoh-MP_C306Z_JPN_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2800
+ricoh-20190916-Ricoh-P_C301SF_PS.ppd.gz 972e759571f0c0655bd4fde8c6611450 242269
+ricoh-20190916-Ricoh-SP_212Nw_PXL.ppd.gz aa68534d59f2156b897e0c665897cc44 79866
+ricoh-20190916-Ricoh-SP_2200L_PXL.ppd.gz aa68534d59f2156b897e0c665897cc44 79866
+ricoh-20190916-Ricoh-SP_320DN_PXL.ppd.gz aa68534d59f2156b897e0c665897cc44 79866
+ricoh-20191121-Infotec-Pro_8200S_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2893
+ricoh-20191121-Infotec-Pro_8210_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2893
+ricoh-20191121-Infotec-Pro_C5200S_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2940
+ricoh-20191121-Infotec-Pro_C7200_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2989
+ricoh-20191121-Infotec-Pro_C7200S_Light_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2989
+ricoh-20191218-SP_C420e_JPN-PostscriptColor-Ricoh.ppd.gz 245ee4a58e1df732b42fab1b093efbe1 240443
+ricoh-20200221-Gestetner-IM_C300_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2854
+ricoh-20200221-Lanier-IM_C400SR_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2870
+ricoh-20200221-Ricoh-SP_C342M_JPN_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2802
+ricoh-20200527-Gestetner-GS3021_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2850
+ricoh-20200527-Infotec-Pro_C5300S_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 3016
+ricoh-20200527-Lanier-IM_C6500_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2940
+ricoh-20200527-Ricoh-P_6000_JPN.ppd.gz 907b38fd141a38f4dfda9f8e4a36f523 213651
+ricoh-20200821-Infotec-Pro_C5300SL_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 3016
+ricoh-20200821-Lanier-IM_C530FB_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2827
+ricoh-20200821-Lanier-IM_C530F_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2897
+ricoh-20200821-Ricoh-IM_C2509J_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2916
+ricoh-20200821-Ricoh-IM_C3509J_PDF.ppd.gz 01cb55c1a74a40739f0b2cdb2319cb1f 2916
+ricoh-20200821-Ricoh-IM_C6500_JPN.ppd.gz 7d14cc94cda756fdb495593e76db60e1 240443
+ricoh-20200930-Ricoh_Generic_PS_Printer.ppd.gz cc3e61ecdb3e7b7e0a0bcd21cf46306d 243076
+sharp-20180409-Sharp-AR-M452U-ps.ppd.gz eb06938edabbf45225bf4dd39f3a7615 215633
+sharp-20180409-Sharp-MX-2640NR-ps.ppd.gz bbd185cd41e7da8355fcaa2ea29a217f 246696
+sharp-20180409-Sharp-MX-M283N-ps.ppd.gz 889b2e624d770b0fe6a98c8d2d164be8 215707
+sharp-20180409-Sharp-MX-M363F-ps-jp.ppd.gz 6589cc0a6ced6440830f6f508c234cb2 215626
+sharp-20180409-Sharp-MX-M623N-ps.ppd.gz 9569d13f08963d2e9e0ab929ea1b464f 215555
+sharp-20180409-Sharp-MX-M623-ps-jp.ppd.gz bfacde8c1f152a43e748f793ab60f4e0 215551
+sharp-20190711-Sharp-MX-6240N-ps.ppd.gz 56ce50a67c37fcad3f8db6fc32632f08 249829
+sharp-20190711-Sharp-MX-6500N-ps.ppd.gz a6a517a1c74997cd58a1701a57006511 250566
+sharp-20190711-Sharp-MX-6540FN-ps-jp.ppd.gz 60bdcfb0027633ef488426aec31933a3 249825
+sharp-20190711-Sharp-MX-C250-ps.ppd.gz 28c591db4190e41d6af92754a7edadf7 245556
+sharp-20190711-Sharp-MX-C301-ps.ppd.gz 101d8525c27b90702c3034798dce4811 245761
+sharp-20190711-Sharp-MX-M1054-ps.ppd.gz a3383c434b5583720754f6664617c44c 219855
+sharp-20190711-Sharp-MX-M1055-ps.ppd.gz 929046600e68312c04719a70b80eeb1a 219855
+sharp-20190711-Sharp-MX-M654FN-ps-jp.ppd.gz b0e7d4d7accad24f0ede20060f19a24e 219713
+sharp-20190711-Sharp-MX-M654N-ps.ppd.gz 9b56e628d43215a9d2ab2eb63510a258 219717
+sharp-20190711-Sharp-MX-M904-ps.ppd.gz 72f9d7acfa5ccdafdf6ed52d05f7d664 219855
+sharp-20191219-Sharp-AR-6020D-ps.ppd.gz f720ea405403503a288a17d21e675924 214165
+sharp-20191219-Sharp-AR-6020-ps.ppd.gz 3c36e41c8cc1ee399af5718d9008c612 214066
+sharp-20191219-Sharp-AR-6026N-ps.ppd.gz 514a66c8fb6b7b84f74a512e90939082 214165
+sharp-20191219-Sharp-AR-G200-ps-jp.ppd.gz a63133127c0cdba8d0d14415da54b57c 214062
+sharp-20191219-Sharp-BP-10C20-ps.ppd.gz ded3715f6d4ea7a7e23fcee80f4e4dda 246899
+sharp-20191219-Sharp-DX-2000U-ps.ppd.gz 8c109e971a6a757fc891caf07ed77615 245926
+sharp-20191219-Sharp-DX-20C20-ps-jp.ppd.gz ceda24f91256d90f28ffac7dabc2107e 246895
+sharp-20191219-Sharp-DX-2500N-ps.ppd.gz 68486dcbf9a011aed08672e7fba57201 246494
+sharp-20191219-Sharp-MX-1800N-ps.ppd.gz e30345ea9e38c93397f9a5b10d2019ff 245343
+sharp-20191219-Sharp-MX-1810U-ps.ppd.gz e64468f68e6c117dd7ca5da58dff5769 246372
+sharp-20191219-Sharp-MX-2300FG-ps-jp.ppd.gz 0bf1a9106e997c36721442fa8514c813 245415
+sharp-20191219-Sharp-MX-2300G-ps.ppd.gz c74f44788c522f29f60942848ea764b1 245419
+sharp-20191219-Sharp-MX-2301N-ps.ppd.gz f90a88ad577bbe45ac468e85d64bc15b 245859
+sharp-20191219-Sharp-MX-2310F-ps-jp.ppd.gz 72034672ea181fcae2c05173ecb0c682 246368
+sharp-20191219-Sharp-MX-2514FN-ps-jp.ppd.gz 652938007b2e8b2f0b9cea581e4ca111 246492
+sharp-20191219-Sharp-MX-2600FG-ps-jp.ppd.gz 7986576044dcb2c619cdf5a8eacf5923 246001
+sharp-20191219-Sharp-MX-2600G-ps.ppd.gz 4439f87c632323fff071cdcc8850f0d5 246005
+sharp-20191219-Sharp-MX-2610FN-ps-jp.ppd.gz 8ec9ec064bd64c98958c572705a11d21 246514
+sharp-20191219-Sharp-MX-2610N-ps.ppd.gz f8e6a144d081b68900e9d727520f839b 246518
+sharp-20191219-Sharp-MX-2614N-ps.ppd.gz 89f30d5477b6d8b90205913a2954ecae 246921
+sharp-20191219-Sharp-MX-2631-ps-jp.ppd.gz 6ba5571f13b05cfc76e29b317012fc52 249985
+sharp-20191219-Sharp-MX-2640FN-ps-jp.ppd.gz 17e221e9b06b64776ff9e21b6317bb59 246692
+sharp-20191219-Sharp-MX-2651-ps.ppd.gz 7baa454b40e6caa4fd56c79e2cd2f08a 249996
+sharp-20191219-Sharp-MX-2661-ps-jp.ppd.gz cb4fcbaba967d0f87126b861b98de5e4 249985
+sharp-20191219-Sharp-MX-3061-ps.ppd.gz a05316a75e7ac44fe2b5d4ae3237c1af 249996
+sharp-20191219-Sharp-MX-3600FN-ps-jp.ppd.gz ab738b3b4931afde17bb8ef953af9541 246001
+sharp-20191219-Sharp-MX-4100N-ps.ppd.gz 16442535a8138b88fe903feeed8ad10e 246005
+sharp-20191219-Sharp-MX-4110FN-ps-jp.ppd.gz 50e5eba98a2216c2975245f093f98584 246514
+sharp-20191219-Sharp-MX-4110N-ps.ppd.gz aa5674549ac8a0c26a912a3472832617 246518
+sharp-20191219-Sharp-MX-4140FN-ps-jp.ppd.gz bdfaaa0f61371b8b3c558e6452b11308 246692
+sharp-20191219-Sharp-MX-4140N-ps.ppd.gz d3bcd85a775f6cfe50fce51e2ef0d75f 246696
+sharp-20191219-Sharp-MX-5500N-ps.ppd.gz ed975bdaa5151684e13675bed7c70b75 245267
+sharp-20191219-Sharp-MX-C303-ps.ppd.gz d221a324251a64e950179df7bfb4d9a2 248755
+sharp-20191219-Sharp-MX-C305W-ps-jp.ppd.gz b0000816c43a3829b65248722b9b4c4c 248751
+sharp-20191219-Sharp-MX-M264FP-ps-jp.ppd.gz 421bdaf668a742baf595de84fc615c81 216130
+sharp-20191219-Sharp-MX-M264NV-ps.ppd.gz 453b0898966be117545600de9aa0db62 216134
+sharp-20191219-Sharp-MX-M265N-ps.ppd.gz 5f7aa9cc616453a74c310ab43f45f3eb 216230
+sharp-20191219-Sharp-MX-M266FP-ps-jp.ppd.gz b799ae97b835bd50016cfe06d5993f68 216149
+sharp-20191219-Sharp-MX-M266N-ps.ppd.gz adb8fda577ea2c93d494fa4fbbf2807f 216229
+sharp-20191219-Sharp-MX-M316G-ps-jp.ppd.gz d5cc50922a48dad106e23e8aa5c81f44 216149
+sharp-20191219-Sharp-MX-M364N-ps.ppd.gz bab4a27644e58b807ec9f0a1573dcbc2 216832
+sharp-20191219-Sharp-MX-M365FN-ps-jp.ppd.gz cac542967aef6662c60fdfa604b552c4 216828
+sharp-20191219-Sharp-MX-M365N-ps.ppd.gz c3d75d72fce1694a98695b54add9af73 216832
+sharp-20191219-Sharp-MX-M464FN-ps-jp.ppd.gz 49c545cf7388623cffdd8dc192f2bf66 216828
+sharp-20191230-Sharp-AR-B350W-ps-jp.ppd.gz ed143d7e0e57e67c93bbac609dff8c5e 215886
+sharp-20191230-Sharp-AR-B351-ps.ppd.gz 3b96a28fd46bffa30a3efe5504cda93e 215890
+sharp-20191230-Sharp-DX-C310-ps.ppd.gz 91a1a35a96c5e6495f37499f946207eb 245686
+sharp-20191230-Sharp-MX-2630FN-ps-jp.ppd.gz 599dcaa5449d55518d107e82f25735a2 249395
+sharp-20191230-Sharp-MX-2630N-ps.ppd.gz 73532cdd3afba184689cf5e854a113cb 249406
+sharp-20191230-Sharp-MX-2650FN-ps-jp.ppd.gz b79836e94d33266c72f2a11d5be66347 249395
+sharp-20191230-Sharp-MX-3060N-ps.ppd.gz 4c3439a4e3ee86c1c5a0208fa2e783e8 249406
+sharp-20191230-Sharp-MX-6580N-ps.ppd.gz 4d54aef65b0a8ea8868cffdfaf243c7b 251423
+sharp-20191230-Sharp-MX-7090N-ps.ppd.gz b43d9b6c70f80a14e0211970a3c0414a 252088
+sharp-20191230-Sharp-MX-B355W-ps.ppd.gz 23163023ffe7e2192cd878f4672f6054 219262
+sharp-20191230-Sharp-MX-B356W-ps.ppd.gz 47933e21491db67c3a1af0df5582ade3 219393
+sharp-20191230-Sharp-MX-B380P-ps.ppd.gz 93cce4cb30a40296a52d1bc08aee6417 215313
+sharp-20191230-Sharp-MX-M2630-ps.ppd.gz 999fd87335f906a22b4888c14d0a1a86 219911
+sharp-20191230-Sharp-MX-M2651-ps.ppd.gz fee63cdaabf8d2cc35c8436c7b3aa586 219934
+sharp-20191230-Sharp-MX-M3070-ps.ppd.gz 879bb73fb424cd9d8d33e613c44a2e29 219835
+sharp-20191230-Sharp-MX-M3071-ps.ppd.gz 3a35c43f5a761ae59174221e8b1df379 219858
+sharp-20191230-Sharp-MX-M3531-ps-jp.ppd.gz 426872e62291dc286187273a04f82bbe 219847
+sharp-20191230-Sharp-MX-M6570-ps.ppd.gz 0ffafaa1f5db09c77708cb244a321b49 221072
+sharp-20191230-Sharp-MX-M905-ps.ppd.gz 417e72bb9c43484c7d5e7e23589ee7e9 220710
+star-20171009-starcupsdrv-3.6.0-hsp7000r.ppd.gz 90d3536a6170117dc034f65727215218 24234
+star-20171009-starcupsdrv-3.6.0-hsp7000s.ppd.gz 2f460806a14ed0291dd23904a34ffc98 11519
+star-20171009-starcupsdrv-3.6.0-hsp7000v.ppd.gz 80117743883c489448b55e4c1ee69301 12607
+star-20171009-starcupsdrv-3.6.0-sp512.ppd.gz 088d272786695afe136b52d29df4a9ba 8980
+star-20171009-starcupsdrv-3.6.0-sp542.ppd.gz 6bb0e97d8be7f1ec6daa1e7b75247dba 8980
+star-20171009-starcupsdrv-3.6.0-tsp1000.ppd.gz dd544c126b6847c84569d7330aeb1582 24215
+star-20171009-starcupsdrv-3.6.0-tsp828l.ppd.gz a2ba7a96730eb625ffc2c3fa4bc77007 24210
+star-20171009-starcupsdrv-3.6.0-tup542.ppd.gz b9788d8f8c0e769c02bf8850089f243c 24215
+star-20171009-starcupsdrv-3.6.0-tup592.ppd.gz 7f0abb14456d7c752820b4e6d4f4ed58 24244
+star-20171009-starcupsdrv-3.6.0-tup942.ppd.gz 469b9beb2df364fd3b7bc7a1e9bd0ef3 24212
+star-20171009-starcupsdrv-3.6.0-tup992.ppd.gz 6af9e072de0324077fbc0445470e9375 24219
+star-20191209-fvp10.ppd.gz 08a4ee9c1df5c0c13219898fe578826f 24244
+star-20191209-sp712.ppd.gz 571a855dd8b116615ef17eebbc40a683 8999
+star-20191209-sp717.ppd.gz 571a855dd8b116615ef17eebbc40a683 8999
+star-20191209-sp742.ppd.gz d417b28a8f9eade9d307e8a3ef854012 8999
+star-20191209-sp747.ppd.gz d417b28a8f9eade9d307e8a3ef854012 8999
+star-20191209-tsp113.ppd.gz c5f179726b84b7b688ea3fe749c59024 24219
+star-20191209-tsp143gt.ppd.gz ad066c1686148a28648929485e1519d6 24220
+star-20191209-tsp143.ppd.gz ad066c1686148a28648929485e1519d6 24220
+star-20191209-tsp654.ppd.gz 3f847c3f8b550a497cc59bed35e89235 24242
+star-20191209-tsp700II.ppd.gz 02355b92b84261faf982c238a5b5c22c 24238
+star-20191209-tsp800II.ppd.gz 3f639fb56769f12cc20408b1e31814c9 24234
+xerox-20190225-xr6605dn.ppd.gz 1c6a783066ca72863c79dc7c707be679 239342
+xerox-20190225-xr8580dn.ppd.gz bdd1884d365eeeac0aeafefcbadc7c60 255250
+xerox-20190225-xrx3655s.ppd.gz 410b048aafaf00b1c2bd5d9a428c673e 213023
+xerox-20190225-xrx4622.ppd.gz 04788a6220b4176c6cca3cbe4dc935c6 218952
+xerox-20190225-xrx5330.ppd.gz 9536187046c5494d7a58204df1399f5d 213926
+xerox-20190225-xrx5875.ppd.gz d7cf8d24be826aada7b02ae20ac61710 213351
+xerox-20190225-xrx7830.ppd.gz 02baa01c606ca93724d6feedc6292fba 240071
+xerox-20190225-xrx7970.ppd.gz 02baa01c606ca93724d6feedc6292fba 240071
+xerox-20190225-xrx8580n.ppd.gz 775ab5aab8831c9cc74a65493d787493 255248
+xerox-20190225-xrxd95cp.ppd.gz 2ec27940a6f17a127c07620489372156 214072
+xerox-20190711-xrwc3335.ppd.gz e7814d9ac9cf5a47e5fae117a9ceab17 213055
+xerox-20190711-xrx6510.ppd.gz 0f5d134c209bed25a9d32ea84ad00696 239445
+xerox-20190820-xrxosd.ppd.gz fe00660b3196891ec98256ef8da1ffd4 197182
+xerox-20191030-Xerox_Phaser_7800DN.ppd.gz 80d7988e9a3bbebd19a222bd825c2b5d 248878
+xerox-20191030-Xerox_Phaser_7800DX.ppd.gz 75155009a2d72683e459543219076376 248884
+xerox-20191030-Xerox_Phaser_7800GX.ppd.gz 1af9b7900be893594f40b33da1d7b5cf 248878
+xerox-20191030-Xerox_VersaLink_C500.ppd.gz a4b3c12e48730405680ea5fde5413a22 239552
+xerox-20191030-Xerox_VersaLink_C505.ppd.gz f06bec617936c120f8b16edd2e0b7ec1 239476
+xerox-20191030-Xerox_VersaLink_C600.ppd.gz c3aff17a4ebfe38272145ef4602ef0fc 239629
+xerox-20191030-Xerox_VersaLink_C605.ppd.gz 523bb5c807669582bc0e9fdc2f646a94 239553
+xerox-20191030-xrxB400.ppd.ppd.gz 43969d2287d6612f01d677295cb4e35a 212722
+xerox-20191030-xrxB405.ppd.ppd.gz 5999b3e234b79ff80776eaac8901ff5b 212722
+xerox-20191030-xrxb600.ppd.gz fb6efc5de8949cd4a5a687b59da68200 212756
+xerox-20191030-xrxb615.ppd.gz e10492a55524b2dff22c0888f272a690 212756
+xerox-20191030-xrxB7025.ppd.gz 9cc27e250cdc257a8d6cf257e4360cdb 213090
+xerox-20191030-xrxB7030.ppd.gz 9cc27e250cdc257a8d6cf257e4360cdb 213090
+xerox-20191030-xrxB7035.ppd.gz 9cc27e250cdc257a8d6cf257e4360cdb 213090
+xerox-20191030-xrxB8045.ppd.gz fb9946250467da0a28fb3b3c15461a5b 213351
+xerox-20191030-xrxC400.ppd.gz 4ac8dc801afd2f673b7ce9d6bf3d1e59 239472
+xerox-20191030-xrxC405.ppd.gz 4ac8dc801afd2f673b7ce9d6bf3d1e59 239472
+xerox-20191030-xrxC7000.ppd.gz a0877a97129c8abbbf13538ac3f815fc 239713
+xerox-20191030-xrxC7030.ppd.gz 5c920021ef688048cecf4fddcd8244fe 239813
+xerox-20191030-xrxC8000.ppd.gz 71e36c26b40517688eeed0c72bc9e235 239889
+xerox-20191030-xrxC8030.ppd.gz fc47570cfa77b06f279e525b892f1586 240071
+xerox-20200129-xrxC9065.ppd.gz 8539917efa4faf8f62978f6d2f0edda2 239821
+xerox-20200226-xrxB9100.ppd.gz 08bd80edf964d65e2a85869dfb11c8a2 213101
+xerox-20201014-xrxC8000W.ppd.gz b8a55288fece7f6e4ee0b98ea7784251 239813
diff --git a/client/site_tests/platform_PrinterPpds/do_not_test.txt b/client/site_tests/platform_PrinterPpds/do_not_test.txt
new file mode 100644
index 0000000..28f673a
--- /dev/null
+++ b/client/site_tests/platform_PrinterPpds/do_not_test.txt
@@ -0,0 +1,81 @@
+foomatic-20191029-Samsung_ML-2525W_Series_PXL.ppd.gz
+foomatic-20200219-Apple-Color_StyleWriter_1500-lpstyl.ppd.gz
+foomatic-20200219-Apple-ImageWriter_II-iwhi.ppd.gz
+foomatic-20200219-Apple-ImageWriter-iwhi.ppd.gz
+foomatic-20200219-Apple-ImageWriter_LQ-iwhi.ppd.gz
+foomatic-20200219-Apple-StyleWriter_1200-lpstyl.ppd.gz
+foomatic-20200219-Brother-HL-1020-hl7x0.ppd.gz
+foomatic-20200219-Canon-BJC-3000-s400X1.upp.ppd.gz
+foomatic-20200219-Canon-BJC-6000-bjc6000X1.upp.ppd.gz
+foomatic-20200219-Canon-BJC-7000-bjc800.ppd.gz
+foomatic-20200219-Canon-BJC-880J-bjc880j.ppd.gz
+foomatic-20200219-Canon-i450-bjc800.ppd.gz
+foomatic-20200219-Canon-LBP-470-lips4.ppd.gz
+foomatic-20200219-Compaq-IJ1200-drv_z42.ppd.gz
+foomatic-20200219-Compaq-IJ750-lxm3200X.ppd.gz
+foomatic-20200219-Dell-3010cn-pxldpl.ppd.gz
+foomatic-20200219-Epson-PM_760C-PM760pX.upp.ppd.gz
+foomatic-20200219-Epson-PM_820C-PM820pX.upp.ppd.gz
+foomatic-20200219-Epson-SQ_1170-stcolor.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_680-Stc680pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_760-stc740X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Photo_720-Stp720pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Photo_870-Stp870pX.upp.ppd.gz
+foomatic-20200219-Generic-PCL_3_Printer-pcl3.ppd.gz
+foomatic-20200219-Imagistics-im8530-Postscript-Oce.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_750-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-Kyocera-CS-1815-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-CS-C2525E_KPDL-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1000plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1000-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1010-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1018MFP-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1020D-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9120DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9520DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1815-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-2530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-3035-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Lexmark-X125-drv_x125.ppd.gz
+foomatic-20200219-Lexmark-Z11-cZ11somsom.ppd.gz
+foomatic-20200219-Oki-B4300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7100-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7200-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7400-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7500-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9200-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9400-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9500-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-OL400w-oki4drv.ppd.gz
+foomatic-20200219-Pentax-PocketJet_200-pentaxpj.ppd.gz
+foomatic-20200219-Pentax-PocketJet_II-pentaxpj.ppd.gz
+foomatic-20200219-Samsung-C268x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X3220-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X401-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X703-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X7600-Postscript-Samsung.ppd.gz
+foomatic-20200219-SiPix-Pocket_Printer_A6-sipixa6.upp.ppd.gz
+hp-20190918-hplip-3.19.6-hp-P15_CISS.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z2600_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5400-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5600_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z6_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z6_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z6dr_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z9_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z9_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z9dr_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL3-Class3A.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL3-Class3B.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL3-Class3.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL4-Class1.ppd.gz
+kyocera-20190830-Kyocera_Generic_Monochrome.ppd.gz
+star-20191209-mcp20.ppd.gz
+star-20191209-mcp21.ppd.gz
+star-20191209-mcp30.ppd.gz
+star-20191209-mcp31.ppd.gz
+star-20191209-pop10.ppd.gz
+star-20191209-tsp651.ppd.gz
diff --git a/client/site_tests/platform_PrinterPpds/download_ppds_make_archive.py b/client/site_tests/platform_PrinterPpds/download_ppds_make_archive.py
deleted file mode 100755
index e1e8e0e..0000000
--- a/client/site_tests/platform_PrinterPpds/download_ppds_make_archive.py
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env python2
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import subprocess
-import sys
-
-import helpers as tools
-import multithreaded_processor
-
-
-# output location - temporary directory with all downloaded PPD files
-path_dir = 'ppds_all'
-
-# output location - name of the resultant archive with PPD files
-path_archive = 'ppds_all.tar.xz'
-
-# list of PPD files
-ppd_files = []
-
-
-def download_PPD(ppd_id):
- """
- Downloads given PPD file and save it to the directory given in path_dir.
-
- @param ppd_id: an index of the PPD filename in the list ppd_files
-
- """
- ppd_file = ppd_files[ppd_id]
- ppd = tools.download_PPD_file(ppd_file)
- path_ppd = os.path.join(path_dir, ppd_file)
- with open(path_ppd, 'wb') as file_out:
- file_out.write(ppd)
-
-
-def main():
- """
- Downloads all available PPD files and creates and archive.
-
- See readme.txt for more details.
-
- """
- global path_dir
- global path_archive
- global ppd_files
-
- if os.path.exists(path_dir) or os.path.exists(path_archive):
- print ( 'Error: The file/directory "%s" or "%s" already exists. Delete'
- ' or move them and run this script again.' % (path_dir,
- path_archive) )
- sys.exit(1)
-
- # This object is used for running tasks in many threads simultaneously
- processor = multithreaded_processor.MultithreadedProcessor(10)
-
- # Downloads and extracts PPD filenames from all 20 index files (in parallel)
- outputs = processor.run(tools.get_filenames_from_PPD_index, 20)
- # joins obtained lists and performs deduplication
- set_ppd_files = set()
- for output in outputs:
- set_ppd_files.update(output)
- ppd_files = list(set_ppd_files)
-
- # Creates an output directory and downloads all PPD files there
- subprocess.call(['mkdir', path_dir])
- processor.run(download_PPD, len(ppd_files))
-
- # Creates the final archive
- subprocess.call(['tar', 'cJf', path_archive, path_dir])
-
-
-if __name__ == '__main__':
- main()
diff --git a/client/site_tests/platform_PrinterPpds/helpers.py b/client/site_tests/platform_PrinterPpds/helpers.py
index a3b3d4b..687b9e0 100644
--- a/client/site_tests/platform_PrinterPpds/helpers.py
+++ b/client/site_tests/platform_PrinterPpds/helpers.py
@@ -266,16 +266,18 @@
def parse_digests_file(path_digests, denylist):
"""
- Parses digests from file.
+ Parses digests and outputs sizes from file.
@param path_digests: a path to a file with digests
@param denylist: list of keys to omit
- @returns a dictionary with digests indexed by ppd filenames or an empty
- dictionary if the given file does not exist
+ @returns two dictionaries, both indexed by ppd filenames: the first one
+ contains digests, the second one contains output sizes; returns
+ empty dictionaries if the given file does not exist
"""
digests = dict()
+ sizes = dict()
denylist = set(denylist)
if os.path.isfile(path_digests):
with open(path_digests, 'rb') as file_digests:
@@ -284,14 +286,17 @@
cols = line.split()
if len(cols) >= 2 and cols[0] not in denylist:
digests[cols[0]] = cols[1]
- return digests
+ if len(cols) > 2 and len(cols[2]) > 0:
+ sizes[cols[0]] = int(cols[2])
+ return digests, sizes
-def save_digests_file(path_digests, digests, denylist):
+def save_digests_file(path_digests, digests, sizes, denylist):
"""
- Saves list of digests to file.
+ Saves list of digests and output sizes to file.
@param digests: dictionary with digests (keys are names)
+ @param sizes: dictionary with outputs sizes (keys are names)
@param denylist: list of keys to ignore
@return a content of digests file
@@ -303,36 +308,39 @@
digest = digests[name]
assert name.find('\t') < 0 and name.find('\n') < 0
assert digest.find('\t') < 0 and digest.find('\n') < 0
- digests_content += name + '\t' + digest + '\n'
+ digests_content += name + '\t' + digest
+ if name in sizes:
+ assert isinstance(sizes[name], int)
+ digests_content += '\t' + str(sizes[name])
+ digests_content += '\n'
with open(path_digests, 'wb') as file_digests:
file_digests.write(digests_content)
-def load_denylist(path_denylist):
+def load_lines_from_file(path):
"""
- Loads list of outputs to omit.
+ Loads strings stored in the given file as separated lines.
- Raw outputs generated by some PPD files cannot be verified by digests,
- because they contain variables like date/time, job id or other non-static
- parameters. This routine returns a list of denylisted ppds.
+ This routine returns lines read from the given file. All leading and
+ trailing whitespace characters in each line are removed. Lines consisting of
+ whitespace characters only are skipped.
- @param path_denylist: a path to the file with the list of denylisted
- PPD files
+ @param path: a path to the input file
- @returns a list of ppds to ignore during verification of digests
+ @returns a list of non-empty strings
"""
- with open(path_denylist) as file_denylist:
- lines = file_denylist.readlines()
+ with open(path) as input_file:
+ lines = input_file.readlines()
- denylist = []
+ output_list = []
for entry in lines:
entry = entry.strip()
if entry != '':
- denylist.append(entry)
+ output_list.append(entry)
- return denylist
+ return output_list
# ===================== PPD files on the SCS server
diff --git a/client/site_tests/platform_PrinterPpds/large_clusters.txt b/client/site_tests/platform_PrinterPpds/large_clusters.txt
new file mode 100644
index 0000000..2ea347a
--- /dev/null
+++ b/client/site_tests/platform_PrinterPpds/large_clusters.txt
@@ -0,0 +1,130 @@
+brother-20191213-DCPL6600DW.ppd.gz brother-20191213-HLL6300DW.ppd.gz brother-20191213-HLL6400DW.ppd.gz brother-20191213-HLL6402DW.ppd.gz brother-20191213-MFCL6800DW.ppd.gz brother-20191213-MFCL6900DW.ppd.gz brother-20191213-MFCL6902DW.ppd.gz brother-20191213-HL5595DNH.ppd.gz brother-20191213-HLL6200DW.ppd.gz brother-20191213-HLL6202DW.ppd.gz brother-20191213-HLL6250DN.ppd.gz brother-20191213-HLL6250DW.ppd.gz brother-20191213-DCPL5500DN.ppd.gz brother-20191213-DCPL5502DN.ppd.gz brother-20191213-DCPL5600DN.ppd.gz brother-20191213-DCPL5602DN.ppd.gz brother-20191213-DCPL5650DN.ppd.gz brother-20191213-DCPL5652DN.ppd.gz brother-20191213-HL5580D.ppd.gz brother-20191213-HL5585D.ppd.gz brother-20191213-HL5590DN.ppd.gz brother-20191213-HLL5000D.ppd.gz brother-20191213-HLL5100DN.ppd.gz brother-20191213-HLL5102DW.ppd.gz brother-20191213-HLL5200DW.ppd.gz brother-20191213-HLL5202DW.ppd.gz brother-20191213-MFC8530DN.ppd.gz brother-20191213-MFC8535DN.ppd.gz brother-20191213-MFC8540DN.ppd.gz brother-20191213-MFCL5700DN.ppd.gz brother-20191213-MFCL5700DW.ppd.gz brother-20191213-MFCL5702DW.ppd.gz brother-20191213-MFCL5750DW.ppd.gz brother-20191213-MFCL5755DW.ppd.gz brother-20191213-MFCL5800DW.ppd.gz brother-20191213-MFCL5802DW.ppd.gz brother-20191213-MFCL5850DW.ppd.gz brother-20191213-MFCL5900DW.ppd.gz brother-20191213-MFCL5902DW.ppd.gz brother-20191213-MFCL6700DW.ppd.gz brother-20191213-MFCL6702DW.ppd.gz brother-20191213-MFCL6750DW.ppd.gz brother-20200131-HL5340D.ppd.gz brother-20200131-HL5350DN.ppd.gz brother-20200131-HL5370DW.ppd.gz brother-20200131-HL5380DN.ppd.gz brother-20191213-DCP7195DW.ppd.gz brother-20191213-HLL2385DW.ppd.gz brother-20191213-MFC7895DW.ppd.gz brother-20191213-MFCL2770DW.ppd.gz brother-20200131-DCP8080DN.ppd.gz brother-20200131-DCP8085DN.ppd.gz brother-20200131-DCP8110D.ppd.gz brother-20200131-DCP8110DN.ppd.gz brother-20200131-DCP8112DN.ppd.gz brother-20200131-DCP8150DN.ppd.gz brother-20200131-DCP8152DN.ppd.gz brother-20200131-DCP8155DN.ppd.gz brother-20200131-DCP8157DN.ppd.gz brother-20200131-DCP8250DN.ppd.gz brother-20200131-HL5440D.ppd.gz brother-20200131-HL5450DN.ppd.gz brother-20200131-HL5470DW.ppd.gz brother-20200131-HL6180DW.ppd.gz brother-20200131-MFC8380DN.ppd.gz brother-20200131-MFC8480DN.ppd.gz brother-20200131-MFC8510D.ppd.gz brother-20200131-MFC8510DN.ppd.gz brother-20200131-MFC8512DN.ppd.gz brother-20200131-MFC8515DN.ppd.gz brother-20200131-MFC8520DN.ppd.gz brother-20200131-MFC8680DN.ppd.gz brother-20200131-MFC8690DW.ppd.gz brother-20200131-MFC8710DN.ppd.gz brother-20200131-MFC8710DW.ppd.gz brother-20200131-MFC8712DN.ppd.gz brother-20200131-MFC8712DW.ppd.gz brother-20200131-MFC8810DW.ppd.gz brother-20200131-MFC8880DN.ppd.gz brother-20200131-MFC8890DW.ppd.gz brother-20200131-MFC8910DW.ppd.gz brother-20200131-MFC8912DW.ppd.gz brother-20200131-MFC8950DW.ppd.gz brother-20200131-MFC8952DW.ppd.gz brother-20191213-DCP7180DN.ppd.gz brother-20191213-DCP7189DW.ppd.gz brother-20191213-DCP7190DN.ppd.gz brother-20191213-DCPB7500D.ppd.gz brother-20191213-DCPB7520DW.ppd.gz brother-20191213-DCPB7530DN.ppd.gz brother-20191213-DCPB7535DW.ppd.gz brother-20191213-DCPL2535DW.ppd.gz brother-20191213-DCPL2540DN.ppd.gz brother-20191213-DCPL2540DW.ppd.gz brother-20191213-DCPL2550DN.ppd.gz brother-20191213-DCPL2550DW.ppd.gz brother-20191213-DCPL2551DN.ppd.gz brother-20191213-DCPL2560DW.ppd.gz brother-20191213-HL2560DN.ppd.gz brother-20191213-HL2569DW.ppd.gz brother-20191213-HL2590DN.ppd.gz brother-20191213-HLB2050DN.ppd.gz brother-20191213-HLB2080DW.ppd.gz brother-20191213-HLL2360D.ppd.gz brother-20191213-HLL2370DN.ppd.gz brother-20191213-HLL2370DW.ppd.gz brother-20191213-HLL2371DN.ppd.gz brother-20191213-HLL2375DW.ppd.gz brother-20191213-HLL2380DW.ppd.gz brother-20191213-HLL2395DW.ppd.gz brother-20191213-MFC7880DN.ppd.gz brother-20191213-MFC7889DW.ppd.gz brother-20191213-MFC7890DN.ppd.gz brother-20191213-MFCB7715DW.ppd.gz brother-20191213-MFCB7720DN.ppd.gz brother-20191213-MFCL2715DW.ppd.gz brother-20191213-MFCL2720DN.ppd.gz brother-20191213-MFCL2720DW.ppd.gz brother-20191213-MFCL2730DN.ppd.gz brother-20191213-MFCL2730DW.ppd.gz brother-20191213-MFCL2740DW.ppd.gz brother-20191213-MFCL2750DW.ppd.gz brother-20200131-DCP8070D.ppd.gz brother-20200131-HL2595DW.ppd.gz brother-20200131-MFC8370DN.ppd.gz brother-20200131-DCP7070DW.ppd.gz brother-20200131-FAX7860DW.ppd.gz brother-20200131-HL2250DN.ppd.gz brother-20200131-HL2270DW.ppd.gz brother-20200131-HL2280DW.ppd.gz brother-20200131-HLL2360DN.ppd.gz brother-20200131-HLL2360DW.ppd.gz brother-20200131-HLL2365DW.ppd.gz brother-20200131-HLL2372DN.ppd.gz brother-20200131-MFC7470D.ppd.gz brother-20200131-MFC7860DN.ppd.gz brother-20200131-MFC7860DW.ppd.gz brother-20200131-MFCL2705DW.ppd.gz brother-20200131-DCP7025.ppd.gz brother-20200131-DCP7045N.ppd.gz brother-20200131-HL2070N.ppd.gz brother-20200131-HL2075N.ppd.gz brother-20200131-HL2150N.ppd.gz brother-20200131-HL2170W.ppd.gz brother-20200131-MFC7225N.ppd.gz brother-20200131-MFC7820N.ppd.gz brother-20200131-MFC7840N.ppd.gz brother-20200131-MFC7840W.ppd.gz
+brother-20200615-DCPL8410CDW.ppd.gz brother-20200615-HLL8260CDN.ppd.gz brother-20200615-HLL8260CDW.ppd.gz brother-20200615-HLL8360CDW.ppd.gz brother-20200615-HLL9310CDW.ppd.gz brother-20200615-MFCL8610CDW.ppd.gz brother-20200615-MFCL8690CDW.ppd.gz brother-20200615-MFCL8900CDW.ppd.gz brother-20200615-MFCL9570CDW.ppd.gz brother-20200615-DCP9030CDN.ppd.gz brother-20200615-DCPL3510CDW.ppd.gz brother-20200615-DCPL3550CDW.ppd.gz brother-20200615-DCPL3551CDW.ppd.gz brother-20200615-HL3160CDW.ppd.gz brother-20200615-HL3190CDW.ppd.gz brother-20200615-HLL3230CDN.ppd.gz brother-20200615-HLL3230CDW.ppd.gz brother-20200615-HLL3270CDW.ppd.gz brother-20200615-HLL3290CDW.ppd.gz brother-20200615-MFC9150CDN.ppd.gz brother-20200615-MFC9350CDW.ppd.gz brother-20200615-MFCL3730CDN.ppd.gz brother-20200615-MFCL3735CDN.ppd.gz brother-20200615-MFCL3745CDW.ppd.gz brother-20200615-MFCL3750CDW.ppd.gz brother-20200615-MFCL3770CDW.ppd.gz brother-20200615-HLL3210CW.ppd.gz brother-20200615-MFCL3710CW.ppd.gz
+brother-20201006-HL2295D-cups-en.ppd.gz brother-20201006-HLB2000D-cups-en.ppd.gz brother-20201006-HLL2310D-cups-en.ppd.gz brother-20201006-HLL2325DW-cups-en.ppd.gz brother-20201006-HLL2330D-cups-en.ppd.gz brother-20201006-HLL2335D-cups-en.ppd.gz brother-20201006-HLL2350DW-cups-en.ppd.gz brother-20201006-HLL2357DW-cups-en.ppd.gz brother-20201006-DCP7090DW-cups-en.ppd.gz brother-20201006-DCP7095D-cups-en.ppd.gz brother-20201006-DCP7190DW-cups-en.ppd.gz brother-20201006-DCPL2510D-cups-en.ppd.gz brother-20201006-DCPL2530DW-cups-en.ppd.gz brother-20201006-DCPL2537DW-cups-en.ppd.gz brother-20201006-FAXL2710DN-cups-en.ppd.gz brother-20201006-HLL2390DW-cups-en.ppd.gz brother-20201006-MFC7490D-cups-en.ppd.gz brother-20201006-MFCB7700D-cups-en.ppd.gz brother-20201006-MFCL2690DW-cups-en.ppd.gz brother-20201006-MFCL2710DN-cups-en.ppd.gz brother-20201006-MFCL2710DW-cups-en.ppd.gz brother-20201006-MFCL2713DW-cups-en.ppd.gz brother-20201006-MFCL2717DW-cups-en.ppd.gz brother-20201006-DCP7080D-cups-en.ppd.gz brother-20201006-DCPL2500D-cups-en.ppd.gz brother-20201006-DCPL2520D-cups-en.ppd.gz brother-20201006-DCPL2520DW-cups-en.ppd.gz brother-20201006-FAXL2700DN-cups-en.ppd.gz brother-20201006-HL2260D-cups-en.ppd.gz brother-20201006-HLL2300D-cups-en.ppd.gz brother-20201006-HLL2315DW-cups-en.ppd.gz brother-20201006-HLL2320D-cups-en.ppd.gz brother-20201006-HLL2340D-cups-en.ppd.gz brother-20201006-MFC7480D-cups-en.ppd.gz brother-20201006-MFCL2700D-cups-en.ppd.gz brother-20201006-MFCL2700DN-cups-en.ppd.gz brother-20201006-MFCL2700DW-cups-en.ppd.gz brother-20201006-MFCL2685DW-cups-en.ppd.gz brother-20201006-MFCL2707DW-cups-en.ppd.gz brother-20201006-HL2290-cups-en.ppd.gz brother-20201006-DCP7080-cups-en.ppd.gz brother-20201006-HL2260-cups-en.ppd.gz brother-20201006-HLL2300-cups-en.ppd.gz brother-20201006-HLL2305-cups-en.ppd.gz brother-20201006-MFC7380-cups-en.ppd.gz brother-20201006-MFCL2680W-cups-en.ppd.gz brother-20201006-DCP7090-cups-en.ppd.gz brother-20201006-MFC7390-cups-en.ppd.gz
+cups-20170101-Generic-PDF_Printer-PDF.ppd.gz
+dymo-20200714-lm400.ppd.gz dymo-20200714-lw450dt.ppd.gz dymo-20200714-lwduot.ppd.gz dymo-20200714-lm450.ppd.gz dymo-20200714-lmpc.ppd.gz dymo-20200714-lwduot2.ppd.gz dymo-20200714-lm500ts.ppd.gz dymo-20200714-lmpc2.ppd.gz dymo-20200714-lmpnpw.ppd.gz dymo-20200714-lp350.ppd.gz dymo-20200714-lm420p.ppd.gz dymo-20200714-lm280.ppd.gz dymo-20200714-lmpnp.ppd.gz
+dymo-20200714-lw450tt.ppd.gz dymo-20200714-lwtt.ppd.gz dymo-20200714-lw4xl.ppd.gz dymo-20200714-lw450.ppd.gz dymo-20200714-lw450dl.ppd.gz dymo-20200714-lw450t.ppd.gz dymo-20200714-lw400.ppd.gz dymo-20200714-se450.ppd.gz dymo-20200714-lw400t.ppd.gz dymo-20200714-lwduol.ppd.gz dymo-20200714-lw330t.ppd.gz dymo-20200714-lw320.ppd.gz dymo-20200714-lw330.ppd.gz dymo-20200714-lw300.ppd.gz dymo-20200714-lw310.ppd.gz dymo-20200714-lw315.ppd.gz
+epson-20200615-1_6_41-Epson-EP-10VA_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EW-M970A3T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-979A3_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-7700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L7160_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EW-M571T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-978A3_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-811A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-810A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-30VA_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-7750_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L7180_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EW-M770T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2830_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2850_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-4100_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-808A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-900_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-960_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S06_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EW-M5071FT_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-6090_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-6590_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-7100_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-640_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-830_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2750_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L4160_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-630_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-711A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-710A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-540_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L1455_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-709A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-049A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-2100_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M860F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S860-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L4150_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-M570T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-6530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2650_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2660_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2750_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2760_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-708A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-16500_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-255_257_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-352_355_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-452_455_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L805_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2710_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2720_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-4700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3150_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3160_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-220_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-235_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-240_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-243_245_247_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-320_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-330_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-332_335_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-340_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-342_343_345_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-420_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-430_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-432_435_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-440_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-442_445_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-048A_Series-epson-escpr-en.ppd.gz epson-20170125-Epson-L382_Series-epson-escpr-en-1.6.10.ppd.gz epson-20200615-1_6_41-Epson-L3050_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3060_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3070_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L386_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L486_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PF-71_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PF-81_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L605_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-4550_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L655_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4011_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4015_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4095_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4521_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4525_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4595_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EW-M660FT_Series-epson-escpr-en.ppd.gz epson-20170125-Epson-L380_Series-epson-escpr-en-1.6.10.ppd.gz epson-20200615-1_6_41-Epson-ET-2600_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2610_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2650_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L385_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L405_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L485_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-400_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2500_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2550_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-4500_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L375_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L395_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L396_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L475_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L495_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L575_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-1110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L1110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3100_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M160T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S160T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-805A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-905A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-905F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-775A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-750_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A890-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M5041F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S5040-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7620_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A950-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-977A3_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M5040F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-205_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-605F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-675F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7610_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3010_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3540_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3640_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-850_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-976A3_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8010_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8090_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8590_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R8590_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M7050FP-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M7050FX-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M7050_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S7050PS-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S7050X-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S7050_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M741F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3620_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-807A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-907F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A970-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-T990-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-306_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-806A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M740F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S740-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A820-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A840-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A840S-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-D870-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-804A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-904A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-904F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-906F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-720_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-760_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-820_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-860_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A920-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A940-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-T960-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-55_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-620_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-4630_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-4640_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5620_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5690_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R4640_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R5690_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-950_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-777A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-705A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M840F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M840FX-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S840-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S840X-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-610_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-710_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-810_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-702A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-M5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-M5690_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-703A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-704A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-774A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-802A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-803A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-902A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-903A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-903F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M350F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S350-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-435A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-505F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-535F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-706A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-776A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-D800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-1600F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-1700F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-600_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-800_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2540_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-205_207_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-302_303_305_306_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-402_403_405_406_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-046A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-436A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-707A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-901A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-901F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-212_213_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-215_217_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-310_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-312_313_315_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-410_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-412_413_415_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M650A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M650F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L810_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L850_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2630_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-225_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-322_323_325_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-422_423_425_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-047A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-437A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX640-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX650-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-G5300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S05_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-5600-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-5V-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-7V-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-211_214_216_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R1900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R2880-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R2000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R3000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME-400_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-200_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-300_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-400_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PF-70_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-100_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_730-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_837-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX730-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-801A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-503A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-504A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-601F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-602F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-603F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-673F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-4004-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX730-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX830-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_1430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R350-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R340-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L364_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L565_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-G4500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1410-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_710-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_810-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX580-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX595-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_630-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_720-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_830-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L455_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX680-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-502A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R380-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_650FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-501A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A740-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-FA700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX310FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX660-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX700W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX720WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX810FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX820FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX700W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX710W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX720WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX810FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX720_Artisan720-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX820_Artisan830-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX650-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R360-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R390-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX560-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX585-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX590-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX610-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX650-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-405A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7511_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7515_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7521_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7525_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX685-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX690-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-G850-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R260-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R265-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R270-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX800FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX800FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_600-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_610-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-350-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-360_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-600-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-810-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-820-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-830_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_245-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX620-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_435-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_545-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_630-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_645-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_840-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_845-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME-301_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME-303_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-202_203_206_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-201_204_208_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-370_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-840_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-330-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-330S-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-340-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-720-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX510-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-404A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-434A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_320-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_700FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_900WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_940FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_960FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX635-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX305_Plus-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX525WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX535WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX600FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX610FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX620FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX630FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX635FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX925-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX935-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX600FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX610FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX620FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX510W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX525WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX535WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX600FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX610FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX620FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX550W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX560WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_620-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-B700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-B750F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-850_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX8300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX9300F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX8400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX9400F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX710W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX410-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX410-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX8400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX9400Fax-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX410-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_310-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4020_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4022_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4090_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4092_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4532_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4540_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4590_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4592_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A720-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX5900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R240-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R250-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX4900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_620F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_Office_600F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX300F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX305-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX320FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX300F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX320F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX510FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX515FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX525FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX320_WorkForce320-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4011_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4015_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4025_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4091_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4095_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4511_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4515_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4521_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4525_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4531_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4535_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4545_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4595_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4010_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4023_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4533_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_560W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX218-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX420W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX220-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX420W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX220_NX220-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX420_NX420-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_570-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX330-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX4200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX4800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX5000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX6000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX7700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX7800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A750-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-D600-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A650-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX4200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX4800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX5000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-150-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-NX430_TX435-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX420-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX440-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX235-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_240-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_250-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_280-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A640-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX7300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX7400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX7400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX200-epson-escpr-en.ppd.gz epson-20200615-EPSON_EW-052A_Series.ppd.gz epson-20200615-EPSON_L110_Series.ppd.gz epson-20200615-EPSON_L120_Series.ppd.gz epson-20200615-EPSON_L130_Series.ppd.gz epson-20200615-EPSON_L210_Series.ppd.gz epson-20200615-EPSON_L220_Series.ppd.gz epson-20200615-EPSON_L310_Series.ppd.gz epson-20200615-EPSON_L350_Series.ppd.gz epson-20200615-EPSON_L355_Series.ppd.gz epson-20200615-EPSON_L360_Series.ppd.gz epson-20200615-EPSON_L555_Series.ppd.gz epson-20200615-EPSON_M1120_Series.ppd.gz epson-20200615-EPSON_PX-S170T_Series.ppd.gz epson-20200615-EPSON_USB1.1_MFP_Full-Speed.ppd.gz epson-20200615-EPSON_USB2.0_MFP_Hi-Speed.ppd.gz epson-20200615-EPSON_USB2.0_Printer_Hi-speed.ppd.gz epson-20200615-EPSON_USB_MFP.ppd.gz epson-20200615-EPSON_USB_Printer.ppd.gz epson-20200615-Epson-generic-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_270-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A620-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX2800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX2900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX3700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX3800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX3900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX3800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX4000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_310-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-M200_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-M205_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_Deluxe-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_Express-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_215-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_225-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_235-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_260-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_290-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-M1560_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-K200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-K300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-NX230_TX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX235-epson-escpr-en.ppd.gz
+foomatic-20191029-Gestetner-Pro_C5200S_PDF.ppd.gz foomatic-20191029-Gestetner-Pro_C5210S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C5200S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C5210S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C5200S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C5210S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C5200S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C5210S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C5200S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C5210S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C5200S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C5210S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7200S_Light_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7200S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7210S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7200S_Light_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7200S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7210S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7200_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7210_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7200_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7210_PDF.ppd.gz ricoh-20200527-Infotec-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Infotec-Pro_C5310S_PDF.ppd.gz ricoh-20200527-Lanier-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Lanier-Pro_C5310S_PDF.ppd.gz ricoh-20200527-NRG-Pro_C5300S_PDF.ppd.gz ricoh-20200527-NRG-Pro_C5310S_PDF.ppd.gz ricoh-20200527-Ricoh-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Ricoh-Pro_C5310S_PDF.ppd.gz ricoh-20200527-Savin-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Savin-Pro_C5310S_PDF.ppd.gz ricoh-20200821-Infotec-Pro_C5300SL_PDF.ppd.gz ricoh-20200821-NRG-Pro_C5300SL_PDF.ppd.gz ricoh-20200821-Ricoh-Pro_C5300SL_PDF.ppd.gz foomatic-20200219-Gestetner-MP_C6502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C8002-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C8002-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C8002-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C8002-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C8002-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C8002-PDF-Savin.ppd.gz foomatic-20200219-Infotec-Pro_C7100S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_C7110S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_C7100S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_C7110S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_C7100S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_C7110S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_C7100S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_C7110S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_C7100S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_C7110S-PDF-Savin.ppd.gz foomatic-20200219-Infotec-Pro_C7100-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_C7110-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_C7100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_C7110-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_C7100-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_C7110-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_C7100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_C7110-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_C7100-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_C7110-PDF-Savin.ppd.gz ricoh-20191121-Infotec-Pro_8200S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_8210S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_8220S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8200S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8210S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8220S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8200S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8210S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8220S_PDF.ppd.gz foomatic-20191029-NRG-Pro_8200S_PDF.ppd.gz foomatic-20191029-NRG-Pro_8210S_PDF.ppd.gz foomatic-20191029-NRG-Pro_8220S_PDF.ppd.gz foomatic-20191029-Savin-Pro_8200S_PDF.ppd.gz foomatic-20191029-Savin-Pro_8210S_PDF.ppd.gz foomatic-20191029-Savin-Pro_8220S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8210_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8220_PDF.ppd.gz foomatic-20191029-NRG-Pro_8210_PDF.ppd.gz foomatic-20191029-NRG-Pro_8220_PDF.ppd.gz foomatic-20191029-Savin-Pro_8210_PDF.ppd.gz foomatic-20191029-Savin-Pro_8220_PDF.ppd.gz foomatic-20200219-Infotec-Pro_8110-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8120-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8110-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8120-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8110-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8120-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8110-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8120-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8110-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8120-PDF-Savin.ppd.gz ricoh-20191121-Infotec-Pro_8210_PDF.ppd.gz ricoh-20191121-Infotec-Pro_8220_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8210_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8220_PDF.ppd.gz foomatic-20200219-Gestetner-MP_C6503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C8003-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C8003-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C8003-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C8003-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C8003-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C8003-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm2540-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2550-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2560-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4054-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5054-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_6054-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4054-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5054-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_6054-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4054-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5054-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_6054-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4054-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5054-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_6054-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_4054-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_5054-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_6054-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_4054-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_5054-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_6054-PDF-Savin.ppd.gz foomatic-20191029-Lanier-Pro_C7200S_Light_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7200S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7210S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7200S_Light_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7200S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7210S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7200S_Light_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7200S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7210S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7200_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7210_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7200_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7210_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7200_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7210_PDF.ppd.gz foomatic-20200219-Infotec-Pro_8100S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8110S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8120S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8100S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8110S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8120S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8100S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8110S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8120S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8100S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8110S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8120S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8100S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8110S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8120S-PDF-Savin.ppd.gz foomatic-20200219-Infotec-Pro_8310S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8320S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8310S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8320S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8310S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8320S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8310S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8320S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8310S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8320S-PDF-Savin.ppd.gz foomatic-20200219-Infotec-Pro_8310-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8320-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8310-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8320-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8310-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8320-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8310-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8320-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8310-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8320-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_6002-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_9002-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6002-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_9002-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6002-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9002-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6002-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9002-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6002-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_9002-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_6002-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_7502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_9002-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1245ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4504ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4504ex-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5504ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4504ex-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5504ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4504ex-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5504ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C4504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C5504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4504ex-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5504ex-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1245-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4504-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4504-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5504-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4504-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4504-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5504-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C4504-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C5504-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4504-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1260ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C6004ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6004ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6004ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6004ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6004ex-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6004ex-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1260-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C6004-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6004-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6004-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6004-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6004-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6004-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_C840DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C842DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C840DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C842DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C840DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C842DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C840DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C842DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1045-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5503-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5503-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5503-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5503-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C4503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C5503-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5503-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_6503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_9003-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_9003-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9003-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9003-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_6503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_7503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_9003-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_6503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_7503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_9003-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1060-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C6003-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6003-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6003-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C830DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C831DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6003-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C830DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C831DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C830DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C831DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C6003-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6003-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C830DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C831DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-C8140ND-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-C8150ND-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP540C_SPC820DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP550C_SPC821DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C820DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C821DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C820DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C821DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP340D-PDF-Savin.ppd.gz foomatic-20200219-Savin-CLP350D-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm_2640-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm_2650-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4055-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5055-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4055-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5055-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4055-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5055-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4055-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5055-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_4055-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_5055-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_4055-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_5055-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C3001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3501-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3501-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3001_LD630C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3501_LD635C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9130-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9135-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm_2660-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_6055-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6055-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6055-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6055-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_6055-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_6055-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C3002-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3502-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3002-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3502-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3002-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3502-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3002-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3502-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3002-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3502-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3002-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3502-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C4501-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4501A-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5501-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5501A-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C4501A-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5501A-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MPC4501A_LD645CA-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MPC5501A_LD655CA-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C4501_LD645C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5501_LD655C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C4501A-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5501A-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4501A-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5501A-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9145-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9145A-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9155-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9155A-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C4502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4502A-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5502A-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C4502A-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5502A-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C4502A-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5502A-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C4502A-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5502A-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4502A-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5502A-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C4502A-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5502A-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1230ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3004ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3504ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3004ex-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3504ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3004ex-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3504ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3004ex-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3504ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C3004ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C3504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3004ex-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3504ex-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1230-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3004-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3504-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3004-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3504-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3004-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3504-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3004-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3504-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C3004-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C3504-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3004-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3504-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C2800-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3300-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2800-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3300-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2800_LD528C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3300_LD533C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2800-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3300-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2800-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3300-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C2828-PDF-Savin.ppd.gz foomatic-20200219-Savin-C3333-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C4000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5000-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5000-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4000_LD540C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5000_LD550C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C4040-PDF-Savin.ppd.gz foomatic-20200219-Savin-C5050-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm2525-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2530-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2535-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2554-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3054-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3554-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2554-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3054-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3554-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2554-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3054-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3554-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2554-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3054-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3554-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2554-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_2554J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3054-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3054J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3554-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3554J-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2554-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3054-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3554-PDF-Savin.ppd.gz foomatic-20200219-Infotec-Pro_C5100S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_C5110S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_C5100S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_C5110S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_C5100S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_C5110S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_C5100S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_C5110S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_C5100S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_C5110S-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C6501-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C7501-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C7501-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6501_LD365C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C7501_LD375C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C7501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C6501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C7501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9065-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9075-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-Pro_1107EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_1357EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_907EX-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-Pro_1107EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_1357EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_907EX-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_1107EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_1357EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_907EX-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_1107EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_1357EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_907EX-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_1107EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_1357EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_907EX-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_1107EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_1357EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_907EX-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1030-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3003-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3503-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3003-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3503-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3003-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3503-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3003-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3503-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C3003-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C3503-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3003-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3503-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_4002-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5002-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4002-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5002-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4002-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5002-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4002-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5002-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4002-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5002-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_4002-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_5002-PDF-Savin.ppd.gz ricoh-20200527-Lanier-IM_C6500_PDF.ppd.gz ricoh-20200527-Lanier-IM_C8000_PDF.ppd.gz ricoh-20200527-NRG-IM_C6500_PDF.ppd.gz ricoh-20200527-NRG-IM_C8000_PDF.ppd.gz ricoh-20200527-Ricoh-IM_C6500_PDF.ppd.gz ricoh-20200527-Ricoh-IM_C8000_PDF.ppd.gz ricoh-20200527-Savin-IM_C6500_PDF.ppd.gz ricoh-20200527-Savin-IM_C8000_PDF.ppd.gz foomatic-20200219-Gestetner-MP_6001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_8001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_9001-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_8001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_9001-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6001_LD360-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7001_LD370-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_8001_LD380-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9001_LD390-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_8001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9001-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_8001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_9001-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9060-PDF-Savin.ppd.gz foomatic-20200219-Savin-9070-PDF-Savin.ppd.gz foomatic-20200219-Savin-9080-PDF-Savin.ppd.gz foomatic-20200219-Savin-9090-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP2352_DSm923-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP2852_DSm928-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP3352_DSm933-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2352-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_2852-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3352-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2352-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_2852-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3352-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2352-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_2852-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3352-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2352-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2852-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3352-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2352-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_2852-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3352-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1220ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc1225ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2004ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2504ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2004ex-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2504ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2004ex-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2504ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2004ex-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2504ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2004ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2094exJ-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2594exJ-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C2004ex-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C2504ex-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm_2625-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm_2630-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm_2635-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2555-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3055-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3555-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2555-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3055-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3555-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2555-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3055-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3555-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2555-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3055-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3555-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2555-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_2595J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3055-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3095J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3555-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3595J-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2555-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3055-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3555-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1220-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc1225-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2004-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2504-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2004-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2504-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2004-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2504-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2004-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2504-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2004-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2094J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2504-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2594J-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C2004-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C2504-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C6000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C7500-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C7500-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6000_LD260c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C7500_LD275c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C7500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C6000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C7500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C6055-PDF-Savin.ppd.gz foomatic-20200219-Savin-C7570-PDF-Savin.ppd.gz foomatic-20190909-Ricoh-IM_C4500_PDF.ppd.gz foomatic-20200219-Gestetner-GS3045-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C4500-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C4500-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C4500-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_C5500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C5500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C4500-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-GS3160-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C6000-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C6000-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C6000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C6000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C6000-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_2550-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2550B-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2851-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3350-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3350B-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3351-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2550-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_2550B-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_2851-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3350-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3350B-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3351-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2550B_LD425B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_2550_LD425-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_2851_LD528-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3350B_LD433B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3350_LD433-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3351_LD533-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2550-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_2550B-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_2851-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3350-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3350B-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3351-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2550-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2550B-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2851-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3350-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3350B-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3351-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9025-PDF-Savin.ppd.gz foomatic-20200219-Savin-9025b-PDF-Savin.ppd.gz foomatic-20200219-Savin-9033-PDF-Savin.ppd.gz foomatic-20200219-Savin-9033b-PDF-Savin.ppd.gz foomatic-20200219-Savin-9228-PDF-Savin.ppd.gz foomatic-20200219-Savin-9233-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-GS3030-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C3000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C3500-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C3000-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-IM_C3500-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C3000-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_C3500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C3000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-IM_C3500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C3000-PDF-Savin.ppd.gz foomatic-20200219-Savin-IM_C3500-PDF-Savin.ppd.gz ricoh-20200821-Ricoh-IM_C3509J_PDF.ppd.gz foomatic-20200219-Lanier-SP_8400DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8400DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_8400DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_8400DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm1525-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm1530-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm1533-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2553-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3053-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3353-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2553-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3053-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3353-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2553-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3053-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3353-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2553-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3053-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3353-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2553-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3053-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3353-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2553-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3053-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3353-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-SP_8200DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP150dn_SP8200DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8200DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_8200DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP150DN-PDF-Savin.ppd.gz foomatic-20200219-Infotec-Pro_8300S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8300S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8300S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8300S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8300S-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-GS3020-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-GS3025-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C2000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C2500-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C2000-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-IM_C2500-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C2000-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_C2500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C2000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-IM_C2500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C2000-PDF-Savin.ppd.gz foomatic-20200219-Savin-IM_C2500-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1020-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc1025-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2003-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2503-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2003-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2003Z-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2503Z-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2003-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2503-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2003-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2003Z-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2503Z-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2003-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2003J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2003Z-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2503J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2503Z-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C2003-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C2503-PDF-Savin.ppd.gz ricoh-20200821-Ricoh-IM_C2509J_PDF.ppd.gz foomatic-20200219-Lanier-SP_8300DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8300DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_8300DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_8300DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_4000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4000B-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5000B-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5001-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_4000B-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_4001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5000B-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5001-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4000B_LD040B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_4000_LD040-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_4001_LD140-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5000B_LD050B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5000_LD050-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5001_LD150-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_4000B-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_4001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5000B-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5001-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4000B-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5000B-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5001-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9040-PDF-Savin.ppd.gz foomatic-20200219-Savin-9040b-PDF-Savin.ppd.gz foomatic-20200219-Savin-9050-PDF-Savin.ppd.gz foomatic-20200219-Savin-9050b-PDF-Savin.ppd.gz foomatic-20200219-Savin-9240-PDF-Savin.ppd.gz foomatic-20200219-Savin-9250-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-CS555-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc460-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_4560-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_5560-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LC155-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD160c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-CS555-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSc460-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3260C-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_Color5560-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C6045-PDF-Savin.ppd.gz foomatic-20200219-Savin-SDC555-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C2051-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2551-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2051-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2551-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD_620C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD_625C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2051-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2551-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2051-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2551-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9120-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9125-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C2050-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2550-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2050-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2550-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2050_LD520C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2550_LD525C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2050-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2550-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2050-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2550-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9020-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9025-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MPC2500_DSc525-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MPC3000_DSc530-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_2525-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_3030-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2500_LD425c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3000_LD430c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C2525-PDF-Savin.ppd.gz foomatic-20200219-Savin-C3030-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-C7640nD-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_4040DN-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LP440c_SP_C811DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C811DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C811DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP240D-PDF-Savin.ppd.gz foomatic-20200219-Lanier-MP_C501-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C501-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP5500_DSm755-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP6500_DSm765-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP7500_DSm775-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_6000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_8000-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2255-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2265-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2275-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_6000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_8000-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_5500_LD255-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_6000_LD260-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_6500_LD265-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7000_LD270-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7500_LD275-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_8000_LD280-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_5500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_6000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_6500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_8000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_8000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8055-PDF-Savin.ppd.gz foomatic-20200219-Savin-8060-PDF-Savin.ppd.gz foomatic-20200219-Savin-8065-PDF-Savin.ppd.gz foomatic-20200219-Savin-8070-PDF-Savin.ppd.gz foomatic-20200219-Savin-8075-PDF-Savin.ppd.gz foomatic-20200219-Savin-8080-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MPC3500_DSc535-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MPC4500_DSc545-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_3535-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_4045-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3500_LD435c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C4500_LD445c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C4500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C3535-PDF-Savin.ppd.gz foomatic-20200219-Savin-C4540-PDF-Savin.ppd.gz ricoh-20190916-Ricoh-MP_C306Z_JPN_PDF.ppd.gz foomatic-20200219-Gestetner-Pro_1106EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_1356EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_906EX-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-Pro_1106EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_1356EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_906EX-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_1106EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_1356EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_906EX-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_1106EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_1356EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_906EX-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_1106EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_1356EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_906EX-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_1106EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_1356EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_906EX-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP3500_DSm735e-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP4500_DSm745e-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2435-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2445-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_3500_LD335-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_4500_LD345-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_3500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_4500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8035e-PDF-Savin.ppd.gz foomatic-20200219-Savin-8045e-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc424-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc432-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_1024c-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_1032c-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD124c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD132c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-DSc424-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSc432-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3224C-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3232C-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C2410-PDF-Savin.ppd.gz foomatic-20200219-Savin-C3210e-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_2510_DSm725e-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3010_DSm730e-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2425-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2430-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2510_LD325-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3010_LD330-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2510-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3010-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2510-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3010-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8025e-PDF-Savin.ppd.gz foomatic-20200219-Savin-8030e-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm725-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm730-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2225-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2230-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD225-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD230-PDF-Lanier.ppd.gz foomatic-20200219-NRG-DSm725-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSm730-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3025-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3030-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8025-PDF-Savin.ppd.gz foomatic-20200219-Savin-8030-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSm735_735G-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm745_745G-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2235-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2245-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD235-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD245-PDF-Lanier.ppd.gz foomatic-20200219-NRG-DSm735-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSm745-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3035-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3045-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8035_8035g-PDF-Savin.ppd.gz foomatic-20200219-Savin-8045_8045g-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP1100_DSm7110-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP1350_DSm7135-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP9000_DSm790-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_3090-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_3110-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_3135-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_1100_LD1100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_1350_LD1135-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9000_LD190-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_1100-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_1350-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_1100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_1350-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_9000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8090-PDF-Savin.ppd.gz foomatic-20200219-Savin-8110-PDF-Savin.ppd.gz foomatic-20200219-Savin-8135-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C307-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C407-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C307-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C407-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C307-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C407-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C307-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C407-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C307-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C407-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C307-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C407-PDF-Savin.ppd.gz ricoh-20200221-Ricoh-SP_C342M_JPN_PDF.ppd.gz foomatic-20200219-Gestetner-MP_C306Z-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C406Z-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C306Z-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C406Z-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C306Z-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C406Z-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C306Z-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C406Z-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C306Z-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C406Z-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C306Z-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C406Z-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_305plus-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_305plus-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_305plus-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_305plus-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_305plus-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_305plus-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C305-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C305-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C305-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C305-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C305-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C305-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-C7521n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP222cn_LP221c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-C7521n-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3500N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP22-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-DSc1120-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2011-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C401SR-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2011-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C401SR-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C401SR-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2011-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C401SR-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2011-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C401SR-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C401SR-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_2501-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2501-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2501-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2501-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_C730DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C730DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C730DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C730DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C300SR-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C400SR-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C300SR-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C400SR-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD_130CSR-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD_140CSR-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C300SR-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C400SR-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C300SR-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C400SR-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C300SR-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C400SR-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C_230SR-PDF-Savin.ppd.gz foomatic-20200219-Savin-C_240SR-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-P7575-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP175_LP175hdn-PDF-Lanier.ppd.gz foomatic-20200219-NRG-P7575-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP900-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP75n-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-P7675-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-SP_9100_LP275-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_9100DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_9100DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP175n-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-P7245-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP145n_SP_8100DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8100DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_8100DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP145-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_C342DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C342DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C342DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C342DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_301-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_301-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_301-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_301-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_301-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_301-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_2001-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2001-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2001-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2001-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_2001J-PDF-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C352DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C352DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C352DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C352DN-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_C340DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C340DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C340DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C340DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C401-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C401-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C401-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C401-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C401-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C401-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP2500_DSm625-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2325-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP2500_LD125-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-7025-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_C300-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C400-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C300-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C400-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD_130C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD_140C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C300-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C400-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C300-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C400-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C300-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C400-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C_230-PDF-Savin.ppd.gz foomatic-20200219-Savin-C_240-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MPC1500_GS106-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_615G-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MPC1500_LD215c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C1500sp-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C1500_615C-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SGC_1506-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_6430DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_6430DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_6430DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_6430DN-PDF-Savin.ppd.gz foomatic-20190909-Ricoh-IM_430_PDF.ppd.gz foomatic-20200219-Gestetner-IM_350-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_430-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_350-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-IM_430-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_350-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_430-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_350-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_350-PDF-Savin.ppd.gz foomatic-20200219-Savin-IM_430-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-SP_C320DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-SP_C320DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C320DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C320DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C320DN-PDF-Savin.ppd.gz foomatic-20200219-Infotec-MP_201-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_601-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_201_LD_220-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_501-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_601-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_201-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_601-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_201-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_601-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-920-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_501-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_601-PDF-Savin.ppd.gz foomatic-20200219-Infotec-SP_5300-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-SP_5310-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-SP_5300-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_5310-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5300-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_5310-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_5300-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_5310-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5300-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_5310-PDF-Savin.ppd.gz lanier-20190916-Lanier-IM_600SR_PDF.ppd.gz nrg-20190916-NRG-IM_600SR_PDF.ppd.gz ricoh-20190916-Ricoh-IM_600SR_PDF.ppd.gz savin-20190916-Savin-IM_600SR_PDF.ppd.gz foomatic-20200219-Gestetner-MP_171-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_171-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_171_LD_117-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_171-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_171-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-917-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP2000_DSm721d-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2320-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2000_LD320d-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9021d-PDF-Savin.ppd.gz ricoh-20200221-Lanier-IM_C400SR_PDF.ppd.gz ricoh-20200221-NRG-IM_C400SR_PDF.ppd.gz ricoh-20200221-Ricoh-IM_C400SR_PDF.ppd.gz ricoh-20200221-Savin-IM_C400SR_PDF.ppd.gz ricoh-20200821-Lanier-IM_C530F_PDF.ppd.gz ricoh-20200821-NRG-IM_C530F_PDF.ppd.gz ricoh-20200821-Ricoh-IM_C530F_PDF.ppd.gz ricoh-20200821-Savin-IM_C530F_PDF.ppd.gz foomatic-20200219-Lanier-SP_5210SR-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5210SR-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5210SR-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5210SR-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_402SPF-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7535n-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_402SPF-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LP135n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_402SPF-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4310N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_402SPF-PDF-NRG.ppd.gz foomatic-20200219-NRG-P7535n-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_4310N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP610N-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4310N-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_402SPF-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP35n-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_402SPF-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_4310N-PDF-Savin.ppd.gz ricoh-20200221-Gestetner-IM_C300_PDF.ppd.gz ricoh-20200221-Gestetner-IM_C400_PDF.ppd.gz ricoh-20200221-Lanier-IM_C300_PDF.ppd.gz ricoh-20200221-Lanier-IM_C400_PDF.ppd.gz ricoh-20200221-NRG-IM_C300_PDF.ppd.gz ricoh-20200221-NRG-IM_C400_PDF.ppd.gz ricoh-20200221-Ricoh-IM_C300_PDF.ppd.gz ricoh-20200221-Ricoh-IM_C400_PDF.ppd.gz ricoh-20200221-Savin-IM_C300_PDF.ppd.gz ricoh-20200221-Savin-IM_C400_PDF.ppd.gz foomatic-20200219-Gestetner-MP_161_DSm416-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2416-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_161_LD016-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_161-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_161-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-816-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_C435DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C440DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C440DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C435DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C440DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C435DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C440DN-PDF-Savin.ppd.gz lanier-20190916-Lanier-IM_550_PDF.ppd.gz lanier-20190916-Lanier-IM_600_PDF.ppd.gz nrg-20190916-NRG-IM_550_PDF.ppd.gz nrg-20190916-NRG-IM_600_PDF.ppd.gz ricoh-20190916-Ricoh-IM_550_PDF.ppd.gz ricoh-20190916-Ricoh-IM_600_PDF.ppd.gz savin-20190916-Savin-IM_550_PDF.ppd.gz savin-20190916-Savin-IM_600_PDF.ppd.gz lanier-20190916-Lanier-P_800_PDF.ppd.gz lanier-20190916-Lanier-P_801_PDF.ppd.gz nrg-20190916-NRG-P_800_PDF.ppd.gz nrg-20190916-NRG-P_801_PDF.ppd.gz ricoh-20190916-Ricoh-P_800_PDF.ppd.gz ricoh-20190916-Ricoh-P_801_PDF.ppd.gz savin-20190916-Savin-P_800_PDF.ppd.gz savin-20190916-Savin-P_801_PDF.ppd.gz foomatic-20200219-Lanier-SP_5200DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_5210DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5200DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_5210DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5200DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5210DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5200DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_5210DN-PDF-Savin.ppd.gz foomatic-20200219-Ricoh-SP_450DN-PDF-Ricoh.ppd.gz foomatic-20200219-Gestetner-MP_401SPF-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-SP_C430DN-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-SP_C431DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP137CN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP142CN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_401SPF-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4510SF-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C430DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C431DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4510SF-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C430DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C431DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C430DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C431DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_401SPF-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_4510SF-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP37DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-CLP42DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_401SPF-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_4510SF-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_4510DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4520DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4510DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_4510DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_4520DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_4510DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_4520DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-P7031n-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7031nL-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7035n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP131n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP131nL-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP136n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4100N-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4100NL-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4110N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4100N-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_4100NL-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_4110N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4100N-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4100NL-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4110N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP31n-PDF-Savin.ppd.gz foomatic-20200219-Savin-MLP31nL-PDF-Savin.ppd.gz foomatic-20200219-Savin-MLP36n-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-P7527-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7527n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP127n_LP128n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP128-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_5210SF-PDF-Lanier.ppd.gz foomatic-20200219-NRG-P7527-PDF-NRG.ppd.gz foomatic-20200219-NRG-P7527n-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_5210SF-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP410-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP410N-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5210SF-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP28-PDF-Savin.ppd.gz foomatic-20200219-Savin-MLP28n-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_5210SF-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-SP_C420DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP331cn_SP_C420-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C420DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C420DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP131DN-PDF-Savin.ppd.gz foomatic-20200219-Lanier-SP_5200S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5200S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5200S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5200S-PDF-Savin.ppd.gz lanier-20190916-Lanier-P_C600_PDF.ppd.gz ricoh-20190916-Ricoh-P_C600_PDF.ppd.gz savin-20190916-Savin-P_C600_PDF.ppd.gz ricoh-20200527-Gestetner-GS3021_PDF.ppd.gz ricoh-20200527-Ricoh-M_C2001_PDF.ppd.gz foomatic-20200219-Gestetner-C7526dn-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-C7531dn-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_2525DN-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IPC_3030DN-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LP226c_SP_C410-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP231c_SP_C411-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C400DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C410DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C411DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C400DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C410DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C411DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP27DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-CLP31DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C400DN-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-SP_6330N-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP235N-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_6330N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_6330N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_6330N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP235n-PDF-Savin.ppd.gz foomatic-20200219-Lanier-P_501-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-P_502-PDF-Lanier.ppd.gz foomatic-20200219-Ricoh-P_501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-P_502-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-P_501-PDF-Savin.ppd.gz foomatic-20200219-Savin-P_502-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-GWD2004-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-GWD2006-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LW324-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LW326-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W2400-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W3600-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W2400-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W3600-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-2404WD-PDF-Savin.ppd.gz foomatic-20200219-Savin-2406WD-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-GWD3006-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LW426-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W2401-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W3601-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W2401-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W3601-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-3406WD-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-SP_W2470-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP124w-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_W2470-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_W2470-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-2404WDP-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-SP_4210N-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP37N-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4210N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4210N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4210N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP37N-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP1600_DSm716-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2316-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_1600_LD316-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_1600-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_1600-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9016-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_CW2201-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_CW2201-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_CW2201-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_CW2201-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_CW2201-PDF-Savin.ppd.gz ricoh-20200821-Lanier-IM_C530FB_PDF.ppd.gz ricoh-20200821-NRG-IM_C530FB_PDF.ppd.gz ricoh-20200821-Ricoh-IM_C530FB_PDF.ppd.gz ricoh-20200821-Savin-IM_C530FB_PDF.ppd.gz foomatic-20200219-Gestetner-MP_W7100-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_W8140-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_W7100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_W8140-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W7100-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W8140-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_W7100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_W8140-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_W7100-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_W8140-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_CW2200-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_CW2200-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_CW2200-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_CW2200-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_CW2200-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-MP_W6700-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_W6700-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W6700-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_W6700-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_W6700-PDF-Savin.ppd.gz foomatic-20200219-Gestetner-GWD5100-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-GWD7140-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LW5100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LW7140-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W5100-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W7140-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W5100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W7140-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-5100WD-PDF-Savin.ppd.gz foomatic-20200219-Savin-7140WD-PDF-Savin.ppd.gz
+foomatic-20191029-Samsung_ML-2525W_Series_PXL.ppd.gz
+foomatic-20200219-Anitech-M24-epson.ppd.gz foomatic-20200219-Brother-MC-3000-epson.ppd.gz foomatic-20200219-Epson-L-1000-epson.ppd.gz foomatic-20200219-Epson-LQ-500-epson.ppd.gz foomatic-20200219-Epson-LQ-570plus-epson.ppd.gz foomatic-20200219-Epson-LX-1050-epson.ppd.gz foomatic-20200219-Oki-ML_380-epson.ppd.gz foomatic-20200219-Panasonic-KX-P1123-epson.ppd.gz foomatic-20200219-Panasonic-KX-P1124-epson.ppd.gz foomatic-20200219-Panasonic-KX-P1624-epson.ppd.gz foomatic-20200219-Panasonic-KX-P2023-epson.ppd.gz foomatic-20200219-Panasonic-KX-P2123-epson.ppd.gz foomatic-20200219-Star-LC_90-epson.ppd.gz foomatic-20200219-Star-NL-10-epson.ppd.gz
+foomatic-20200219-Apple-Color_StyleWriter_1500-lpstyl.ppd.gz foomatic-20200219-Apple-Color_StyleWriter_2200-lpstyl.ppd.gz foomatic-20200219-Apple-Color_StyleWriter_2400-lpstyl.ppd.gz foomatic-20200219-Apple-Color_StyleWriter_2500-lpstyl.ppd.gz foomatic-20200219-Apple-StyleWriter_1200-lpstyl.ppd.gz foomatic-20200219-Apple-StyleWriter_I-lpstyl.ppd.gz foomatic-20200219-Apple-StyleWriter_II-lpstyl.ppd.gz
+foomatic-20200219-Apple-ImageWriter_LQ-iwhi.ppd.gz foomatic-20200219-Apple-ImageWriter-iwhi.ppd.gz foomatic-20200219-Apple-ImageWriter_II-iwhi.ppd.gz
+foomatic-20200219-Brother-HJ-400-lq850.ppd.gz foomatic-20200219-Canon-BJ-300-lq850.ppd.gz foomatic-20200219-Epson-LQ-850-lq850.ppd.gz foomatic-20200219-Generic-ESC_P_Dot_Matrix_Printer-lq850.ppd.gz
+foomatic-20200219-Brother-HL-1020-hl7x0.ppd.gz foomatic-20200219-Brother-HL-720-hl7x0.ppd.gz foomatic-20200219-Brother-HL-730-hl7x0.ppd.gz foomatic-20200219-Brother-HL-820-hl7x0.ppd.gz foomatic-20200219-Brother-MFC-9050-hl7x0.ppd.gz
+foomatic-20200219-Brother-HL-10V-ljet3.ppd.gz foomatic-20200219-Canon-LBP-4sx-ljet3.ppd.gz foomatic-20200219-DEC-1800-ljet3.ppd.gz foomatic-20200219-Epson-ActionLaser_1100-ljet3.ppd.gz foomatic-20200219-Epson-EPL-5200-ljet3.ppd.gz foomatic-20200219-Epson-EPL-5200plus-ljet3.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_8000-ljet3.ppd.gz foomatic-20200219-Generic-PCL_5_Printer-ljet3.ppd.gz foomatic-20200219-Tally-MT908-ljet3.ppd.gz
+foomatic-20200219-Brother-HL-1240-laserjet.ppd.gz foomatic-20200219-Epson-EPL-7100-laserjet.ppd.gz foomatic-20200219-Brother-HL-4Ve-laserjet.ppd.gz foomatic-20200219-Brother-MFC-8300-laserjet.ppd.gz foomatic-20200219-Brother-MFC-8600-laserjet.ppd.gz foomatic-20200219-Citizen-ProJet_II-laserjet.ppd.gz foomatic-20200219-Epson-ActionLaser_II-laserjet.ppd.gz foomatic-20200219-Generic-PCL_4_Printer-laserjet.ppd.gz foomatic-20200219-IBM-4019-laserjet.ppd.gz foomatic-20200219-IBM-4029_030_LaserPrinter_10-laserjet.ppd.gz foomatic-20200219-IBM-4312-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1010-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1200-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1200S-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1800-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2010-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2200-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2200S-laserjet.ppd.gz foomatic-20200219-Kyocera-F-3000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-3010-laserjet.ppd.gz foomatic-20200219-Kyocera-F-3300-laserjet.ppd.gz foomatic-20200219-Kyocera-F-5000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-800-laserjet.ppd.gz foomatic-20200219-Kyocera-F-800T-laserjet.ppd.gz foomatic-20200219-Kyocera-F-820-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-1500-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-1550-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-1550plus-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-3400-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-3400plus-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-3500-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-400-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-5500-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-850-laserjet.ppd.gz foomatic-20200219-Kyocera-P-2000-laserjet.ppd.gz foomatic-20200219-Kyocera-P-2002-laserjet.ppd.gz foomatic-20200219-Oki-OL400-laserjet.ppd.gz foomatic-20200219-Oki-OL610e_S-laserjet.ppd.gz foomatic-20200219-Oki-OL800-laserjet.ppd.gz foomatic-20200219-Olivetti-JP350S-laserjet.ppd.gz foomatic-20200219-Olivetti-PG_306-laserjet.ppd.gz foomatic-20200219-PCPI-1030-laserjet.ppd.gz foomatic-20200219-Panasonic-KX-P6150-laserjet.ppd.gz foomatic-20200219-Seiko-SpeedJET_200-laserjet.ppd.gz foomatic-20200219-Star-LaserPrinter_8-laserjet.ppd.gz
+foomatic-20200219-Brother-HL-2240D-hl1250.ppd.gz foomatic-20200219-Brother-HL-2240-hl1250.ppd.gz foomatic-20200219-Brother-MFC-P2500-hl1250.ppd.gz foomatic-20200219-Brother-HL-1230-hl1250.ppd.gz foomatic-20200219-Brother-HL-1030-hl1250.ppd.gz
+foomatic-20200219-Brother-HL-7050N-pxlmono.ppd.gz foomatic-20200219-Lexmark-E238-pxlmono.ppd.gz foomatic-20200219-Lexmark-E450dn-pxlmono.ppd.gz foomatic-20200219-Lexmark-X342n-pxlmono.ppd.gz foomatic-20200219-Lexmark-X642e-pxlmono.ppd.gz foomatic-20200219-Oce-fx2080-pxlmono.ppd.gz foomatic-20200219-Oce-sx1480-pxlmono.ppd.gz foomatic-20200219-Oki-B2400-pxlmono.ppd.gz foomatic-20200219-Oki-B4200-pxlmono.ppd.gz foomatic-20200219-Oki-B4250-pxlmono.ppd.gz foomatic-20200219-Oki-B4400-pxlmono.ppd.gz foomatic-20200219-Oki-B4600-pxlmono.ppd.gz foomatic-20200219-Oki-B4600_PS-pxlmono.ppd.gz foomatic-20200219-Oki-B6300-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-2330-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-4510-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-4520-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8016P-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8020E-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8045-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8060-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C213-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C262-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C264-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C354-pxlmono.ppd.gz foomatic-20200219-Samsung-K2200-pxlmono.ppd.gz foomatic-20200219-Samsung-M262x_282x-pxlmono.ppd.gz foomatic-20200219-Samsung-M267x_287x-pxlmono.ppd.gz foomatic-20200219-Samsung-M283x-pxlmono.ppd.gz foomatic-20200219-Samsung-M288x-pxlmono.ppd.gz foomatic-20200219-Samsung-M301x-pxlmono.ppd.gz foomatic-20200219-Samsung-M306x-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2571N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2580-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2850D-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2851ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2950-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3051N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3051ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3470D-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3471ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-4050N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-4551N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-4551ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-6060-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-6060N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-6060S-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-470x-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-472x-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-4x24-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-4x25-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-4x26-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_1101-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_1351-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_162-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_162d-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_167-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_203l-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_233-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_237-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_283-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_353-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_450s-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_453-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_500p-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_500s-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_523-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_523t-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_603-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_603t-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_723-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_723t-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_853-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_901-pxlmono.ppd.gz foomatic-20200219-Brother-HL-2460N-pxlmono.ppd.gz foomatic-20200219-Canon-LBP-3460-pxlmono.ppd.gz foomatic-20200219-Canon-LBP-5970-pxlmono.ppd.gz foomatic-20200219-Canon-LBP-5975-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_1023-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_1023N-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_1023iF-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2016-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2016i-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2018-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2020-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2020i-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2022-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2230-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2270-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_3025-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_3225-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_7086-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_7095-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_7105-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_8070-pxlmono.ppd.gz foomatic-20200219-Xerox-Phaser_3150-pxlmono.ppd.gz foomatic-20200219-Xerox-Phaser_3500-pxlmono.ppd.gz foomatic-20200219-Xerox-WorkCentre_PE120-pxlmono.ppd.gz
+foomatic-20200219-Brother-HL-8-ljetplus.ppd.gz foomatic-20200219-Lexmark-Winwriter_400-ljetplus.ppd.gz foomatic-20200219-Panasonic-KX-P4450-ljetplus.ppd.gz
+foomatic-20200219-Brother-MFC-9100c-epsonc.ppd.gz foomatic-20200219-Brother-MFC_7150C-epsonc.ppd.gz foomatic-20200219-Epson-Dot_Matrix-epsonc.ppd.gz foomatic-20200219-Epson-LQ-24-epsonc.ppd.gz foomatic-20200219-Epson-LQ-2550-epsonc.ppd.gz foomatic-20200219-Fujitsu-1200-epsonc.ppd.gz foomatic-20200219-Fujitsu-2400-epsonc.ppd.gz foomatic-20200219-Fujitsu-3400-epsonc.ppd.gz foomatic-20200219-Panasonic-KX-P2135-epsonc.ppd.gz foomatic-20200219-Star-LC24-200-epsonc.ppd.gz
+foomatic-20200219-CItoh-M8510-m8510.ppd.gz
+foomatic-20200219-Canon-BJ-10e-bj10e.ppd.gz foomatic-20200219-Canon-BJ-20-bj10e.ppd.gz foomatic-20200219-Canon-BJ-5-bj10e.ppd.gz
+foomatic-20200219-Canon-BJ-330-bj200.ppd.gz foomatic-20200219-Canon-BJ-100-bj200.ppd.gz foomatic-20200219-Canon-BJ-200-bj200.ppd.gz foomatic-20200219-Canon-BJ-30-bj200.ppd.gz foomatic-20200219-Canon-BJC-210SP-bj200.ppd.gz foomatic-20200219-IBM-Execjet_4072-bj200.ppd.gz
+foomatic-20200219-Canon-BJC-210-bjc600.ppd.gz foomatic-20200219-Canon-BJC-1000-bjc600.ppd.gz foomatic-20200219-Canon-BJC-2000-bjc600.ppd.gz foomatic-20200219-Canon-BJC-2010-bjc600.ppd.gz foomatic-20200219-Canon-BJC-2110-bjc600.ppd.gz foomatic-20200219-Canon-BJC-240-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4000-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4100-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4200-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4300-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4310SP-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4400-bjc600.ppd.gz foomatic-20200219-Canon-BJC-50-bjc600.ppd.gz foomatic-20200219-Canon-BJC-55-bjc600.ppd.gz foomatic-20200219-Canon-BJC-70-bjc600.ppd.gz foomatic-20200219-Canon-BJC-80-bjc600.ppd.gz foomatic-20200219-Canon-BJC-85-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C2500-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C3500-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C5000-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C5500-bjc600.ppd.gz foomatic-20200219-Canon-S100-bjc600.ppd.gz
+foomatic-20200219-Canon-BJC-250ex-bjc250gs.ppd.gz foomatic-20200219-Canon-BJC-255SP-bjc250gs.ppd.gz foomatic-20200219-Canon-BJC-265SP-bjc250gs.ppd.gz
+foomatic-20200219-Canon-BJC-3000-s400X1.upp.ppd.gz foomatic-20200219-Canon-S400-s400X1.upp.ppd.gz
+foomatic-20200219-Canon-BJC-6000-bjc6000X1.upp.ppd.gz foomatic-20200219-Canon-S450-bjc6000X1.upp.ppd.gz
+foomatic-20200219-Canon-BJC-610-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-620-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-6200-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-MultiPASS_C3000-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-2100-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-250-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-600-bjc610XY.upp.ppd.gz
+foomatic-20200219-Canon-BJC-8200-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S330_Photo-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S500-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S600-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S630-bj8XXYYZ.upp.ppd.gz
+foomatic-20200219-Canon-BJC-880J-bjc880j.ppd.gz
+foomatic-20200219-Canon-LBP-1000-ljet4.ppd.gz foomatic-20200219-Brother-HL-1650-ljet4.ppd.gz foomatic-20200219-Brother-HL-1670N-ljet4.ppd.gz foomatic-20200219-Brother-HL-1850-ljet4.ppd.gz foomatic-20200219-Brother-HL-1870N-ljet4.ppd.gz foomatic-20200219-Brother-HL-1660e-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1650-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1651N-ljet4.ppd.gz foomatic-20200219-Generic-PCL_6_PCL_XL_Printer-ljet4.ppd.gz foomatic-20200219-Brother-HL-1270N-ljet4.ppd.gz foomatic-20200219-Brother-HL-2060-ljet4.ppd.gz foomatic-20200219-Brother-HL-2140-ljet4.ppd.gz foomatic-20200219-Brother-HL-5030-ljet4.ppd.gz foomatic-20200219-Brother-HL-5040-ljet4.ppd.gz foomatic-20200219-Brother-HL-1250-ljet4.ppd.gz foomatic-20200219-Brother-HL-1430-ljet4.ppd.gz foomatic-20200219-Brother-HL-1440-ljet4.ppd.gz foomatic-20200219-Epson-AL-C8500-ljet4.ppd.gz foomatic-20200219-Epson-AL-C8500PS-ljet4.ppd.gz foomatic-20200219-Brother-HL-1070-ljet4.ppd.gz foomatic-20200219-Canon-GP_335-ljet4.ppd.gz foomatic-20200219-Canon-LBP-1760-ljet4.ppd.gz foomatic-20200219-Canon-LBP-3360-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_2200-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_2800-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_3300-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_330s-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_3570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_4570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_5000-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_5570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_6000-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_6570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_8500-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_C5870U-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_C6870U-ljet4.ppd.gz foomatic-20200219-Epson-EPL-5800PS-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N1600-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N1600PS-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050PS-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050PSplus-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2750-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2750PS-ljet4.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_20W-ljet4.ppd.gz foomatic-20200219-Generic-PCL_5c_Printer-ljet4.ppd.gz foomatic-20200219-Generic-PCL_5e_Printer-ljet4.ppd.gz foomatic-20200219-IBM-Infoprint_12-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-1600-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-1600plus-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-3600-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-3600plus-ljet4.ppd.gz foomatic-20200219-Kyocera-KM-4230-ljet4.ppd.gz foomatic-20200219-Kyocera-KM-5230-ljet4.ppd.gz foomatic-20200219-Lexmark-E120-ljet4.ppd.gz foomatic-20200219-Lexmark-E120n-ljet4.ppd.gz foomatic-20200219-Lexmark-E230-ljet4.ppd.gz foomatic-20200219-Lexmark-E320-ljet4.ppd.gz foomatic-20200219-Lexmark-Optra_E321-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_1100-ljet4.ppd.gz foomatic-20200219-NEC-SuperScript_1400-ljet4.ppd.gz foomatic-20200219-Ricoh-Aficio_220-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1250-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1450-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1450PS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1750-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2150PS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2151N-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2151NPS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2152W-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2152WPS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2250-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2551N-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2552W-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7000-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7000N-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7000P-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7050-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7300-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7300N-ljet4.ppd.gz foomatic-20200219-Sharp-ARP350-ljet4.ppd.gz foomatic-20200219-Sharp-ARP450-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750DP-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750DX-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750N-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750P-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_2135-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6130N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6180DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6180MFP-D-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6300DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6300N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6350DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6350DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6350DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6360DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6360DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DXF-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7700DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7700DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7700GX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750DXF-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750GX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7760DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7760DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7760GX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400BD-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8500DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8500N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8550DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8550DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8550DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8560DN-ljet4.ppd.gz foomatic-20200219-Xerox-WorkCentre_7345-ljet4.ppd.gz foomatic-20200219-Brother-DCP-7010-ljet4.ppd.gz foomatic-20200219-Brother-DCP-7020-ljet4.ppd.gz foomatic-20200219-Brother-HL-1050-ljet4.ppd.gz foomatic-20200219-Brother-HL-1060-ljet4.ppd.gz foomatic-20200219-Brother-HL-10h-ljet4.ppd.gz foomatic-20200219-Brother-HL-1260-ljet4.ppd.gz foomatic-20200219-Brother-HL-2035-ljet4.ppd.gz foomatic-20200219-Brother-HL-2040-ljet4.ppd.gz foomatic-20200219-Brother-HL-2135-ljet4.ppd.gz foomatic-20200219-Brother-HL-2142-ljet4.ppd.gz foomatic-20200219-Brother-HL-5140-ljet4.ppd.gz foomatic-20200219-Brother-HL-660-ljet4.ppd.gz foomatic-20200219-Brother-HL-760-ljet4.ppd.gz foomatic-20200219-Brother-HL-960-ljet4.ppd.gz foomatic-20200219-Canon-LBP-1260-ljet4.ppd.gz foomatic-20200219-Canon-LBP-430-ljet4.ppd.gz foomatic-20200219-DEC-LN17-ljet4.ppd.gz foomatic-20200219-Epson-EPL-5700-ljet4.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_10V-ljet4.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_16DV-ljet4.ppd.gz foomatic-20200219-IBM-Page_Printer_3112-ljet4.ppd.gz foomatic-20200219-Infotec-4651_MF-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-6500-ljet4.ppd.gz foomatic-20200219-Lexmark-Optra_E-ljet4.ppd.gz foomatic-20200219-Lexmark-Optra_Eplus-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_6-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_6ex-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_8-ljet4.ppd.gz foomatic-20200219-NEC-SuperScript_1800-ljet4.ppd.gz foomatic-20200219-NEC-SuperScript_660i-ljet4.ppd.gz foomatic-20200219-Oki-B410-ljet4.ppd.gz foomatic-20200219-Oki-OL810ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_10e-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_10ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_14ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_6ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_8p-ljet4.ppd.gz foomatic-20200219-Ricoh-Aficio_700-ljet4.ppd.gz foomatic-20200219-Samsung-ML-4600-ljet4.ppd.gz foomatic-20200219-Samsung-ML-5000a-ljet4.ppd.gz foomatic-20200219-Samsung-ML-6000-ljet4.ppd.gz foomatic-20200219-Samsung-ML-6100-ljet4.ppd.gz foomatic-20200219-Samsung-ML-85-ljet4.ppd.gz foomatic-20200219-Samsung-QL-5100A-ljet4.ppd.gz foomatic-20200219-Samsung-QL-6050-ljet4.ppd.gz foomatic-20200219-Sharp-AR-161-ljet4.ppd.gz foomatic-20200219-Xerox-Able_1406-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_4508-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4512-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4512PS-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_P1202-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_P8e-ljet4.ppd.gz foomatic-20200219-Xerox-Document_Centre_400-ljet4.ppd.gz foomatic-20200219-Oki-OL410e-ljet4.ppd.gz foomatic-20200219-Oki-Super_6e-ljet4.ppd.gz foomatic-20200219-Ricoh-Aficio_401-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2120-ljet4.ppd.gz foomatic-20200219-Epson-EPL-5800-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050plus-ljet4.ppd.gz
+foomatic-20200219-Canon-LBP-470-lips4.ppd.gz foomatic-20200219-Canon-LIPS-IV-lips4.ppd.gz foomatic-20200219-Canon-LIPS-IVv-lips4.ppd.gz
+foomatic-20200219-Canon-LBP-4U-lbp8.ppd.gz foomatic-20200219-Canon-LBP-4plus-lbp8.ppd.gz foomatic-20200219-Canon-LBP-8A1-lbp8.ppd.gz
+foomatic-20200219-Canon-LIPS-III-lips3.ppd.gz
+foomatic-20200219-Canon-LIPS-IIplus-lips2p.ppd.gz
+foomatic-20200219-Canon-i450-bjc800.ppd.gz foomatic-20200219-Canon-BJC-7000-bjc800.ppd.gz foomatic-20200219-Canon-BJC-7004-bjc800.ppd.gz foomatic-20200219-Canon-BJC-7100-bjc800.ppd.gz foomatic-20200219-Canon-BJC-800-bjc800.ppd.gz foomatic-20200219-Canon-BJC-4550-bjc800.ppd.gz
+foomatic-20200219-Canon-iPR_C650_PPD-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iPR_C750_850_PPD-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iPR_C700_800-Postscript-Canon.ppd.gz xerox-20190225-xr8580dn.ppd.gz xerox-20190225-xrx8580n.ppd.gz foomatic-20200219-Canon-iR-ADV_C7280-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C9270_9280-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_8205-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_8285_8295-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C7260_7270-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iPR_C600-Postscript-Canon.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p4010_series-ps.ppd.gz foomatic-20200219-Samsung-X703-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-X7600-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-K703-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-K7600-Postscript-Samsung.ppd.gz foomatic-20200219-Lexmark-X940e-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X945e-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C935-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C930-Postscript-Lexmark.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_1050eP-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-Canon-iR-ADV_C5030_5035-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C5045_5051-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C5235_5240-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C5250_5255-Postscript-Canon.ppd.gz foomatic-20200219-Lexmark-C782-Postscript-Lexmark.ppd.gz foomatic-20200219-Canon-iR-ADV_6255_6265-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_6275-Postscript-Canon.ppd.gz foomatic-20200219-Lexmark-C2132-Postscript-Lexmark.ppd.gz foomatic-20200219-Canon-iR-ADV_C2220_2230-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C2225-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_4225_4235-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_4245_4251-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C3320L-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C3320-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C3325_3330-Postscript-Canon.ppd.gz foomatic-20200219-Lexmark-C780-Postscript-Lexmark.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605dn-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605dtn-ps.ppd.gz foomatic-20200219-Lexmark-C752-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C524-Postscript-Lexmark.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700n-ps.ppd.gz foomatic-20200219-Lexmark-C522-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C736-Postscript-Lexmark.ppd.gz foomatic-20200219-Samsung-CLX-9252_9352-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-982x-Postscript-Samsung.ppd.gz foomatic-20200219-Lexmark-C734-Postscript-Lexmark.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2550_series-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1015-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1017-ps.ppd.gz foomatic-20200219-Lexmark-C520-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C546-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X546-Postscript-Lexmark.ppd.gz kyocera-20180809-Kyocera_TASKalfa_3051ci.ppd.gz foomatic-20200219-Lexmark-X544-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C544-Postscript-Lexmark.ppd.gz foomatic-20200219-Samsung-SCX-8230_8240-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-882x-Postscript-Samsung.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p2055_series-ps.ppd.gz foomatic-20200219-Samsung-CLX-9250_9350-Postscript-Samsung.ppd.gz foomatic-20200219-Lexmark-X734de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X736de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X738de-Postscript-Lexmark.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C451-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-Lexmark-X543-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C540-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C543-Postscript-Lexmark.ppd.gz foomatic-20200219-Kyocera-CS-C2525E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-C3225E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-C3232E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-C4035E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C2525E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3225E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3232E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C4035E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C2520-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3225-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3232-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-C8100DNplus_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-C8100DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Lexmark-X860de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X862de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X864de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C750-Postscript-Lexmark.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1500-postscript.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C550-Postscript-KONICA_MINOLTA.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t920-postscript.ppd.gz lexmark-20201101-Lexmark_MS410_Series.ppd.gz foomatic-20200219-Samsung-SCX-8030_8040-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-9120DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-9520DN-Postscript-Kyocera.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t930-postscript.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C250P-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C252P-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-Samsung-X401-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-X4300-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-KM-3035-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-4035-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-5035-Postscript-Kyocera.ppd.gz foomatic-20200219-Lexmark-W850-Postscript-Lexmark.ppd.gz foomatic-20200219-Kyocera-KM-2530-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-3530-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-4030-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-6030-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-8030-Postscript-Kyocera.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2500-postscript.ppd.gz foomatic-20200219-Samsung-K401-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-K4350-Postscript-Samsung.ppd.gz foomatic-20200219-Lexmark-C510-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-C910-Postscript-Lexmark.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C352P-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-Lexmark-T650-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-T652-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-T654-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-TG654-Postscript-Lexmark.ppd.gz foomatic-20200219-Kyocera-KM-3050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-4050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-5050-Postscript-Kyocera.ppd.gz foomatic-20200219-Lexmark-C912-Postscript-Lexmark.ppd.gz lexmark-20200918-Lexmark_X658de.ppd.gz foomatic-20200219-Lexmark-T656-Postscript-Lexmark.ppd.gz foomatic-20200219-Oki-C9300-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C9500-Postscript-Oki.ppd.gz sharp-20191230-Sharp-MX-7090N-ps.ppd.gz sharp-20191230-Sharp-MX-8090N-ps.ppd.gz foomatic-20200219-Samsung-X3220-Postscript-Samsung.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_750-Postscript-KONICA_MINOLTA.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_4v-ps.ppd.gz foomatic-20200219-Samsung-K3250-Postscript-Samsung.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_500-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-Lexmark-EG460dn-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-E360dn-Postscript-Lexmark.ppd.gz foomatic-20200219-Kyocera-FS-C8026N-Postscript-Kyocera.ppd.gz foomatic-20200219-Lexmark-E260dn-Postscript-Lexmark.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C450P-Postscript-KONICA_MINOLTA.ppd.gz foomatic-20200219-Kyocera-KM-C2630-Postscript-Kyocera.ppd.gz sharp-20191219-Sharp-MX-3061-ps.ppd.gz sharp-20191219-Sharp-MX-3071-ps.ppd.gz sharp-20191219-Sharp-MX-3561-ps.ppd.gz sharp-20191219-Sharp-MX-3571-ps.ppd.gz sharp-20191219-Sharp-MX-4061-ps.ppd.gz sharp-20191219-Sharp-MX-4071-ps.ppd.gz sharp-20191219-Sharp-MX-5051-ps.ppd.gz sharp-20191219-Sharp-MX-5071-ps.ppd.gz sharp-20191219-Sharp-MX-6051-ps.ppd.gz sharp-20191219-Sharp-MX-6071-ps.ppd.gz lexmark-20200918-Lexmark_X651de.ppd.gz lexmark-20200918-Lexmark_X652de.ppd.gz lexmark-20200918-Lexmark_X654de.ppd.gz lexmark-20200918-Lexmark_X656de.ppd.gz sharp-20191219-Sharp-MX-2651-ps.ppd.gz sharp-20191219-Sharp-MX-3051-ps.ppd.gz sharp-20191219-Sharp-MX-3551-ps.ppd.gz sharp-20191219-Sharp-MX-4051-ps.ppd.gz oki-20200329-ES8434-PS.ppd.gz oki-20200329-OKI-C834-PS.ppd.gz oki-20200329-OKI-C844-PS.ppd.gz foomatic-20200219-Samsung-CLX-92x1_93x1-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-981x-Postscript-Samsung.ppd.gz oki-20201022-OKI_MC853_PS.ppd.gz oki-20201022-OKI_MC873_PS.ppd.gz foomatic-20200219-KONICA_MINOLTA-bizhub_C351-Postscript-KONICA_MINOLTA.ppd.gz oki-20201022-OKI_MC883_PS.ppd.gz epson-20200615-Epson-WF-M20590_Series_PS3.ppd.gz sharp-20191230-Sharp-MX-6580N-ps.ppd.gz sharp-20191230-Sharp-MX-7580N-ps.ppd.gz foomatic-20200219-Samsung-CLX-8640_8650-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C268x-Postscript-Samsung.ppd.gz epson-20200615-Epson-WF-C20590_PS.ppd.gz foomatic-20200219-Samsung-C2670-Postscript-Samsung.ppd.gz oki-20201022-OKI_MC843_PS.ppd.gz oki-20201022-OKI_MC863_PS.ppd.gz sharp-20191219-Sharp-MX-2661-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3161-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3661-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4151-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4171-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5151-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5171-ps-jp.ppd.gz sharp-20191219-Sharp-MX-6151-ps-jp.ppd.gz sharp-20191219-Sharp-MX-6171-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2631-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3631-ps-jp.ppd.gz foomatic-20200219-Samsung-C2620-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLP-680-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6260-Postscript-Samsung.ppd.gz epson-20200615-Epson-WF-C17590_Series_PS3.ppd.gz oki-20200329-OKI-C833-PS.ppd.gz oki-20200329-OKI-C843-PS.ppd.gz sharp-20190711-Sharp-MX-6500N-ps.ppd.gz sharp-20190711-Sharp-MX-7500N-ps.ppd.gz foomatic-20200219-Kyocera-KM-6330-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-7530-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-SCX-8123_8128-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-881x-Postscript-Samsung.ppd.gz foomatic-20200219-Lexmark-X363dn-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X364dn-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X364dw-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X463de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X464de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X466de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X466dte-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X466dwe-Postscript-Lexmark.ppd.gz xerox-20191030-xrxC8030.ppd.gz xerox-20191030-xrxC8035.ppd.gz xerox-20191030-xrxC8045.ppd.gz xerox-20191030-xrxC8055.ppd.gz xerox-20191030-xrxC8070.ppd.gz foomatic-20200219-Samsung-M4370_5370-Postscript-Samsung.ppd.gz foomatic-20200219-Lexmark-X264dn-Postscript-Lexmark.ppd.gz xerox-20200129-xrxC9065.ppd.gz xerox-20200129-xrxC9070.ppd.gz foomatic-20200219-Oki-C9600-Postscript-Oki.ppd.gz sharp-20191230-Sharp-MX-M2651-ps.ppd.gz sharp-20191230-Sharp-MX-M3051-ps.ppd.gz sharp-20191230-Sharp-MX-M3551-ps.ppd.gz sharp-20191230-Sharp-MX-M4051-ps.ppd.gz sharp-20191230-Sharp-MX-M5051-ps.ppd.gz sharp-20191230-Sharp-MX-M6051-ps.ppd.gz sharp-20191230-Sharp-MX-M3071-ps.ppd.gz sharp-20191230-Sharp-MX-M3571-ps.ppd.gz sharp-20191230-Sharp-MX-M4071-ps.ppd.gz sharp-20191230-Sharp-MX-M5071-ps.ppd.gz sharp-20191230-Sharp-MX-M6071-ps.ppd.gz sharp-20191230-Sharp-MX-3060N-ps.ppd.gz sharp-20191230-Sharp-MX-3060V-ps.ppd.gz sharp-20191230-Sharp-MX-3070N-ps.ppd.gz sharp-20191230-Sharp-MX-3070V-ps.ppd.gz sharp-20191230-Sharp-MX-3560N-ps.ppd.gz sharp-20191230-Sharp-MX-3560V-ps.ppd.gz sharp-20191230-Sharp-MX-3570N-ps.ppd.gz sharp-20191230-Sharp-MX-3570V-ps.ppd.gz sharp-20191230-Sharp-MX-4060N-ps.ppd.gz sharp-20191230-Sharp-MX-4060V-ps.ppd.gz sharp-20191230-Sharp-MX-4070N-ps.ppd.gz sharp-20191230-Sharp-MX-4070V-ps.ppd.gz sharp-20191230-Sharp-MX-5050N-ps.ppd.gz sharp-20191230-Sharp-MX-5050V-ps.ppd.gz sharp-20191230-Sharp-MX-5070N-ps.ppd.gz sharp-20191230-Sharp-MX-5070V-ps.ppd.gz sharp-20191230-Sharp-MX-6050N-ps.ppd.gz sharp-20191230-Sharp-MX-6050V-ps.ppd.gz sharp-20191230-Sharp-MX-6070N-ps.ppd.gz sharp-20191230-Sharp-MX-6070V-ps.ppd.gz sharp-20191230-Sharp-MX-2630N-ps.ppd.gz sharp-20191230-Sharp-MX-3050N-ps.ppd.gz sharp-20191230-Sharp-MX-3050V-ps.ppd.gz sharp-20191230-Sharp-MX-3550N-ps.ppd.gz sharp-20191230-Sharp-MX-3550V-ps.ppd.gz sharp-20191230-Sharp-MX-4050N-ps.ppd.gz sharp-20191230-Sharp-MX-4050V-ps.ppd.gz xerox-20190225-xrx7970.ppd.gz foomatic-20200219-Samsung-CLP-670-Postscript-Samsung.ppd.gz foomatic-20200219-Canon-iR-ADV_C351-Postscript-Canon.ppd.gz foomatic-20200219-Samsung-C4820-Postscript-Samsung.ppd.gz oki-20200329-OKB512_a.ppd.gz oki-20200329-OKM562_a.ppd.gz foomatic-20200219-Lexmark-E350d-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-E352dn-Postscript-Lexmark.ppd.gz oki-20200329-OKB432_a.ppd.gz oki-20200329-OKM492_a.ppd.gz foomatic-20200219-Kyocera-KM-C850-Postscript-Kyocera.ppd.gz oki-20200329-OKI-C712-PS.ppd.gz sharp-20190711-Sharp-MX-6240N-ps.ppd.gz sharp-20190711-Sharp-MX-7040N-ps.ppd.gz oki-20201022-ES6450_PS.ppd.gz oki-20201022-OKI_C650_PS.ppd.gz xerox-20190225-xrx7830.ppd.gz xerox-20190225-xrx7835.ppd.gz xerox-20190225-xrx7845.ppd.gz xerox-20190225-xrx7855.ppd.gz foomatic-20200219-Kyocera-KM-C830-Postscript-Kyocera.ppd.gz foomatic-20200219-Canon-iR-ADV_C250_350-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C9060_9070-Postscript-Canon.ppd.gz foomatic-20200219-Samsung-M5270-Postscript-Samsung.ppd.gz oki-20200329-OKI-C612-PS.ppd.gz sharp-20190711-Sharp-MX-6540FN-ps-jp.ppd.gz foomatic-20200219-Oki-C7100-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C7300-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C7500-Postscript-Oki.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_6p-ps.ppd.gz sharp-20191230-Sharp-MX-2650FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-2650FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3650FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3650FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4170FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4170FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5170FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5170FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6170FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6170FV-ps-jp.ppd.gz foomatic-20200219-Kyocera-KM-5530-Postscript-Kyocera.ppd.gz sharp-20191230-Sharp-MX-2630FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3630FN-ps-jp.ppd.gz foomatic-20200219-Kyocera-KM-4530-Postscript-Kyocera.ppd.gz sharp-20191230-Sharp-MX-M3531-ps-jp.ppd.gz foomatic-20200219-Toshiba-e-Studio_3510c-Postscript-Toshiba.ppd.gz foomatic-20200219-Samsung-M453x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6220-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6250-Postscript-Samsung.ppd.gz foomatic-20200219-Canon-iR-ADV_C9065_9075-Postscript-Canon.ppd.gz sharp-20191230-Sharp-MX-M2630-ps.ppd.gz sharp-20191230-Sharp-MX-M3050-ps.ppd.gz sharp-20191230-Sharp-MX-M3550-ps.ppd.gz sharp-20191230-Sharp-MX-M4050-ps.ppd.gz sharp-20191230-Sharp-MX-M5050-ps.ppd.gz sharp-20191230-Sharp-MX-M6050-ps.ppd.gz sharp-20191230-Sharp-MX-M3070-ps.ppd.gz sharp-20191230-Sharp-MX-M3570-ps.ppd.gz sharp-20191230-Sharp-MX-M4070-ps.ppd.gz sharp-20191230-Sharp-MX-M5070-ps.ppd.gz sharp-20191230-Sharp-MX-M6070-ps.ppd.gz foomatic-20200219-Samsung-M458x-Postscript-Samsung.ppd.gz oki-20200129-oki-c542-ps.ppd.gz oki-20200329-OKI-C532-PS.ppd.gz oki-20200329-OKI-MC563-PS.ppd.gz oki-20200329-OKI-MC573-PS.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1200_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2300_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1300_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1120ps_44in-ps.ppd.gz foomatic-20200219-Canon-iR-ADV_C7055_7065-Postscript-Canon.ppd.gz foomatic-20200219-Oki-C5300-Postscript-Oki.ppd.gz epson-20200615-Epson-LX-10010MF_Series_PS3.ppd.gz foomatic-20200219-Samsung-CLX-8385-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-8385X-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-8540-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-C8008N-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-ML-551x_651x-Postscript-Samsung.ppd.gz sharp-20190711-Sharp-MX-M904-ps.ppd.gz sharp-20191230-Sharp-MX-M6570-ps.ppd.gz sharp-20191230-Sharp-MX-M7570-ps.ppd.gz sharp-20191230-Sharp-MX-M905-ps.ppd.gz foomatic-20200219-Sharp-AR-311FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-311N_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-311S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-351FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-351N_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-351S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-451FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-451N_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-451S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M351N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M351U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M355N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M355U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M451N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M451U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M455N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M455U-Postscript-Sharp.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_4si-ps.ppd.gz oki-20200329-OKI-C332-PS.ppd.gz oki-20200329-OKI-MC363-PS.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2800-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2820-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2830-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2840-ps.ppd.gz hp-20171121-hplip-3.17.10-hp-color_laserjet-ps.ppd.gz sharp-20190711-Sharp-MX-M1055-ps.ppd.gz sharp-20190711-Sharp-MX-M1205-ps.ppd.gz sharp-20190711-Sharp-MX-M1054-ps.ppd.gz sharp-20190711-Sharp-MX-M1204-ps.ppd.gz foomatic-20200219-Samsung-CLX-8380-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-M337x_387x_407x-Postscript-Samsung.ppd.gz foomatic-20200219-Oki-C5400-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C5450-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C5700-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C5900-Postscript-Oki.ppd.gz foomatic-20200219-Samsung-ML-451x_501x-Postscript-Samsung.ppd.gz foomatic-20200219-Oki-C6100-Postscript-Oki.ppd.gz foomatic-20200219-Samsung-SCX-483x_5x3x-Postscript-Samsung.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps-ps.ppd.gz xerox-20200226-xrxB9100.ppd.gz xerox-20200226-xrxB9110.ppd.gz xerox-20200226-xrxB9125.ppd.gz xerox-20200226-xrxB9136.ppd.gz foomatic-20200219-Kyocera-FS-C5030N-Postscript-Kyocera.ppd.gz foomatic-20200219-Canon-iR-ADV_C2020i_2030i-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_C2025-Postscript-Canon.ppd.gz foomatic-20200219-Kyocera-FS-C5020N-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-8000C-Postscript-Kyocera.ppd.gz foomatic-20200219-Epson-LP-9600SPD-Postscript-Epson.ppd.gz sharp-20191219-Sharp-MX-C303-ps.ppd.gz sharp-20191219-Sharp-MX-C303W-ps.ppd.gz sharp-20191219-Sharp-MX-C304-ps.ppd.gz sharp-20191219-Sharp-MX-C304W-ps.ppd.gz sharp-20191219-Sharp-MX-C305W-ps-jp.ppd.gz sharp-20191219-Sharp-MX-C306W-ps-jp.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t795ps_44in-ps.ppd.gz epson-20200615-Epson-LX-10000F_PS.ppd.gz epson-20200615-Epson-LX-7000F_PS.ppd.gz foomatic-20200219-Samsung-CLP-775-Postscript-Samsung.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t770_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_24in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1120ps_24in-ps.ppd.gz foomatic-20200219-Epson-EPL-N2700-Postscript-Epson.ppd.gz xerox-20191030-xrxC7030.ppd.gz sharp-20191219-Sharp-MX-2614N-ps.ppd.gz sharp-20191219-Sharp-MX-2615N-ps.ppd.gz sharp-20191219-Sharp-MX-3114N-ps.ppd.gz sharp-20191219-Sharp-MX-3115N-ps.ppd.gz epson-20200615-Epson-LX-10000FK_Series_PS3.ppd.gz foomatic-20200219-Canon-iR-ADV_C2020_2030-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_400_500-Postscript-Canon.ppd.gz foomatic-20200219-Kyocera-FS-C5025N-Postscript-Kyocera.ppd.gz sharp-20190711-Sharp-MX-M654N-ps.ppd.gz sharp-20190711-Sharp-MX-M754N-ps.ppd.gz foomatic-20200219-Samsung-SCX-6545X-Postscript-Samsung.ppd.gz foomatic-20200219-Epson-AL-C9100-Postscript-Epson.ppd.gz foomatic-20200219-Kyocera-FS-9100DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-9500DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-C140x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C145x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C1810-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C1860-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLP-410-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-4190-Postscript-Samsung.ppd.gz foomatic-20200219-Sharp-MX-M1100-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M850-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M950-Postscript-Sharp.ppd.gz oki-20200329-OKB841_a110.ppd.gz hp-20190111-hplip-3.18.12-hp-designjet_z6200_42in_photo-ps.ppd.gz hp-20190111-hplip-3.18.12-hp-designjet_z6200_60in_photo-ps.ppd.gz sharp-20191219-Sharp-MX-4140FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4140N-ps.ppd.gz sharp-20191219-Sharp-MX-4141FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4141N-ps.ppd.gz sharp-20191219-Sharp-MX-5140FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5140N-ps.ppd.gz sharp-20191219-Sharp-MX-5141FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5141N-ps.ppd.gz xerox-20190225-xrx5875.ppd.gz sharp-20191219-Sharp-MX-4110FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4110N-ps.ppd.gz sharp-20191219-Sharp-MX-4111FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4111N-ps.ppd.gz sharp-20191219-Sharp-MX-4112N-ps.ppd.gz sharp-20191219-Sharp-MX-5110FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5110N-ps.ppd.gz sharp-20191219-Sharp-MX-5111FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5111N-ps.ppd.gz sharp-20191219-Sharp-MX-5112N-ps.ppd.gz xerox-20190225-xrx5330.ppd.gz foomatic-20200219-Samsung-CLP-770-Postscript-Samsung.ppd.gz sharp-20180409-Sharp-MX-2640NR-ps.ppd.gz sharp-20180409-Sharp-MX-3140NR-ps.ppd.gz sharp-20180409-Sharp-MX-3640NR-ps.ppd.gz sharp-20191219-Sharp-MX-2640FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2640N-ps.ppd.gz sharp-20191219-Sharp-MX-3140FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3140N-ps.ppd.gz sharp-20191219-Sharp-MX-3640FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3640N-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4000ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4020ps-ps.ppd.gz sharp-20191219-Sharp-MX-2610FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2610N-ps.ppd.gz sharp-20191219-Sharp-MX-3110FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3110N-ps.ppd.gz sharp-20191219-Sharp-MX-3610FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3610N-ps.ppd.gz sharp-20190711-Sharp-MX-M654FN-ps-jp.ppd.gz sharp-20190711-Sharp-MX-M754FN-ps-jp.ppd.gz foomatic-20200219-Kyocera-FS-7028M-Postscript-Kyocera.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_42in_photo-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_60in_photo-ps.ppd.gz foomatic-20200219-Oki-C9200-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C9400-Postscript-Oki.ppd.gz foomatic-20200219-Samsung-SCX-6545-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-7000-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-ML-8850_8950-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-6x55-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-6x55X-Postscript-Samsung.ppd.gz xerox-20191030-xrxC8000.ppd.gz xerox-20191030-xrxC9000.ppd.gz sharp-20191219-Sharp-MX-3600FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4100FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4100N-ps.ppd.gz sharp-20191219-Sharp-MX-4101FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4101N-ps.ppd.gz sharp-20191219-Sharp-MX-5000FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5000N-ps.ppd.gz sharp-20191219-Sharp-MX-5001FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5001N-ps.ppd.gz foomatic-20200219-Epson-LP-8800CPS-Postscript-Epson.ppd.gz foomatic-20200219-Oce-VarioPrint_2105PS-Postscript-Oce.ppd.gz foomatic-20200219-Kyocera-FS-9000-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-SCX-681x-Postscript-Samsung.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4500mfp.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4500ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4520mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4520ps-ps.ppd.gz foomatic-20200219-Ricoh-DDP_92-Postscript-Ricoh.ppd.gz sharp-20191219-Sharp-MX-2600FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2600FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2600G-ps.ppd.gz sharp-20191219-Sharp-MX-2600N-ps.ppd.gz sharp-20191219-Sharp-MX-3100FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3100FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3100G-ps.ppd.gz sharp-20191219-Sharp-MX-3100N-ps.ppd.gz foomatic-20200219-Epson-LP-9500CPS-Postscript-Epson.ppd.gz foomatic-20200219-Lexmark-X203n-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X204n-Postscript-Lexmark.ppd.gz xerox-20191030-xrxB8045.ppd.gz xerox-20191030-xrxB8055.ppd.gz xerox-20191030-xrxB8065.ppd.gz xerox-20191030-xrxB8075.ppd.gz xerox-20191030-xrxB8090.ppd.gz foomatic-20200219-Epson-LP-9800C-Postscript-Epson.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps_monochrome-ps.ppd.gz foomatic-20200219-Samsung-M408x-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-C5015N-Postscript-Kyocera.ppd.gz foomatic-20200219-Epson-AL-M8000-Postscript-Epson.ppd.gz xerox-20201014-xrxC8000W.ppd.gz foomatic-20200219-Ricoh-DDP_70-Postscript-Ricoh.ppd.gz foomatic-20200219-Sharp-MX-2314NR-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-2314N-ps.ppd.gz foomatic-20200219-Canon-iR-ADV_8085_8095-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_8105-Postscript-Canon.ppd.gz foomatic-20200219-Kyocera-CS-1650-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-1650-Postscript-Kyocera.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_24in-ps.ppd.gz foomatic-20200219-Sharp-MX-2614NR-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-3114NR-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-2514FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2517FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2616N-ps.ppd.gz sharp-20191219-Sharp-MX-3114FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3116N-ps.ppd.gz sharp-20191219-Sharp-MX-3117FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3614FN-ps-jp.ppd.gz xerox-20191030-xrxB7025.ppd.gz xerox-20191030-xrxB7030.ppd.gz xerox-20191030-xrxB7035.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t770ps_24in-ps.ppd.gz foomatic-20200219-Epson-AL-C8600_PS3-Postscript-Epson.ppd.gz foomatic-20200219-Kyocera-CS-2050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-2550-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-2050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-2550-Postscript-Kyocera.ppd.gz sharp-20191219-Sharp-MX-1810U-ps.ppd.gz sharp-20191219-Sharp-MX-2010U-ps.ppd.gz sharp-20191219-Sharp-MX-2310F-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2310U-ps.ppd.gz sharp-20191219-Sharp-MX-3111F-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3111U-ps.ppd.gz sharp-20191219-Sharp-MX-3611F-ps-jp.ppd.gz sharp-20191219-Sharp-DX-2500N-ps.ppd.gz foomatic-20200219-Kyocera-KM-6230-Postscript-Kyocera.ppd.gz foomatic-20200219-Epson-LP-9200C-Postscript-Epson.ppd.gz foomatic-20200219-Toshiba-e-Studio_451c-Postscript-Toshiba.ppd.gz foomatic-20200219-Epson-AL-C9200-Postscript-Epson.ppd.gz sharp-20191219-Sharp-BP-10C20-ps.ppd.gz sharp-20191219-Sharp-BP-20C20-ps.ppd.gz sharp-20191219-Sharp-BP-20C25-ps.ppd.gz sharp-20191219-Sharp-DX-20C20-ps-jp.ppd.gz foomatic-20200219-Samsung-SCX-4x28-Postscript-Samsung.ppd.gz foomatic-20200219-Sharp-MX-M860-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-2300FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2300G-ps.ppd.gz sharp-20191219-Sharp-MX-2300N-ps.ppd.gz sharp-20191219-Sharp-MX-2700FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2700G-ps.ppd.gz sharp-20191219-Sharp-MX-2700N-ps.ppd.gz sharp-20191219-Sharp-MX-3500FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3500N-ps.ppd.gz sharp-20191219-Sharp-MX-3501FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3501N-ps.ppd.gz sharp-20191219-Sharp-MX-4500FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4500N-ps.ppd.gz sharp-20191219-Sharp-MX-4501FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4501N-ps.ppd.gz foomatic-20200219-Canon-iR-ADV_6055_6065-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_6075-Postscript-Canon.ppd.gz foomatic-20200219-Sharp-AR-266FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-266S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M236_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M237_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M276_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M277_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Canon-iR-ADV_4025_4035-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_4045_4051-Postscript-Canon.ppd.gz sharp-20191219-Sharp-MX-5500N-ps.ppd.gz sharp-20191219-Sharp-MX-6200N-ps.ppd.gz sharp-20191219-Sharp-MX-6201N-ps.ppd.gz sharp-20191219-Sharp-MX-7000N-ps.ppd.gz sharp-20191219-Sharp-MX-7001N-ps.ppd.gz foomatic-20200219-Epson-LP-9100PS3-Postscript-Epson.ppd.gz foomatic-20200219-Kyocera-KM-4230_5230-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-M403x-Postscript-Samsung.ppd.gz sharp-20191230-Sharp-MX-B356W-ps.ppd.gz sharp-20191230-Sharp-MX-B376W-ps.ppd.gz sharp-20191230-Sharp-MX-B456W-ps.ppd.gz sharp-20191230-Sharp-MX-B476W-ps.ppd.gz foomatic-20200219-Epson-LP-8300CPD-Postscript-Epson.ppd.gz foomatic-20200219-Epson-LP-8500CPD-Postscript-Epson.ppd.gz sharp-20191219-Sharp-MX-2301N-ps.ppd.gz foomatic-20200219-Toshiba-e-Studio_282-Postscript-Toshiba.ppd.gz sharp-20191219-Sharp-MX-M365FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M365N-ps.ppd.gz sharp-20191219-Sharp-MX-M465FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M465N-ps.ppd.gz sharp-20191219-Sharp-MX-M565FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M565N-ps.ppd.gz sharp-20191219-Sharp-MX-M364N-ps.ppd.gz sharp-20191219-Sharp-MX-M464FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M464N-ps.ppd.gz sharp-20191219-Sharp-MX-M564FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M564N-ps.ppd.gz sharp-20191219-Sharp-DX-2000U-ps.ppd.gz foomatic-20200219-Kyocera-FS-6020-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-SCX-5835_5935-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-5835_5935X-Postscript-Samsung.ppd.gz xerox-20191030-xrxC7000.ppd.gz xerox-20190225-xrxd95cp.ppd.gz foomatic-20200219-Samsung-ML-371x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-375x-Postscript-Samsung.ppd.gz foomatic-20200219-Sharp-AR-BC260-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-BC320-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C170FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C170M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C172FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C172M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260F-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260S-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261F-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261S-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C262FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C262M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C262S-Postscript-Sharp.ppd.gz foomatic-20200219-Oki-C8800-Postscript-Oki.ppd.gz foomatic-20200219-Samsung-SCX-5635-Postscript-Samsung.ppd.gz foomatic-20200219-Imagistics-im8530-Postscript-Oce.ppd.gz foomatic-20200219-Sharp-AR-C260P-Postscript-Sharp.ppd.gz foomatic-20200219-Oki-C7200-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C7400-Postscript-Oki.ppd.gz foomatic-20200219-Toshiba-e-Studio_452-Postscript-Toshiba.ppd.gz foomatic-20200219-Epson-AL-C4000_PS3-Postscript-Epson.ppd.gz foomatic-20200219-Canon-LBP712C_PPD-Postscript-Canon.ppd.gz sharp-20191219-Sharp-MX-1800N-ps.ppd.gz foomatic-20200219-Epson-AL-C4100-Postscript-Epson.ppd.gz sharp-20180409-Sharp-MX-M283N-ps.ppd.gz sharp-20180409-Sharp-MX-M363N-ps.ppd.gz sharp-20180409-Sharp-MX-M453N-ps.ppd.gz sharp-20180409-Sharp-MX-M503N-ps.ppd.gz sharp-20191219-Sharp-MX-M265N-ps.ppd.gz sharp-20191219-Sharp-MX-M265NV-ps.ppd.gz sharp-20191219-Sharp-MX-M265U-ps.ppd.gz sharp-20191219-Sharp-MX-M265UV-ps.ppd.gz sharp-20191219-Sharp-MX-M266N-ps.ppd.gz sharp-20191219-Sharp-MX-M266NV-ps.ppd.gz sharp-20191219-Sharp-MX-M315N-ps.ppd.gz sharp-20191219-Sharp-MX-M315NV-ps.ppd.gz sharp-20191219-Sharp-MX-M315U-ps.ppd.gz sharp-20191219-Sharp-MX-M315UV-ps.ppd.gz sharp-20191219-Sharp-MX-M316N-ps.ppd.gz sharp-20191219-Sharp-MX-M316NV-ps.ppd.gz sharp-20191219-Sharp-MX-M356N-ps.ppd.gz sharp-20191219-Sharp-MX-M356NV-ps.ppd.gz sharp-20191219-Sharp-MX-M356U-ps.ppd.gz sharp-20191219-Sharp-MX-M356UV-ps.ppd.gz xerox-20190711-xrwc3335.ppd.gz xerox-20190711-xrwc3345.ppd.gz xerox-20190711-xrx3330.ppd.gz sharp-20180409-Sharp-AR-M452U-ps.ppd.gz sharp-20180409-Sharp-MX-M282N-ps.ppd.gz sharp-20180409-Sharp-MX-M362N-ps.ppd.gz sharp-20180409-Sharp-MX-M363U-ps.ppd.gz sharp-20180409-Sharp-MX-M452N-ps.ppd.gz sharp-20180409-Sharp-MX-M453U-ps.ppd.gz sharp-20180409-Sharp-MX-M502N-ps.ppd.gz sharp-20180409-Sharp-MX-M503U-ps.ppd.gz sharp-20180409-Sharp-MX-M363F-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M423F-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M503F-ps-jp.ppd.gz foomatic-20200219-Kyocera-FS-1800-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-1800plus-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-3800-Postscript-Kyocera.ppd.gz foomatic-20200219-Sharp-MX-M260-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M260FP-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M260N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M310-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M310FP-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M310N-Postscript-Sharp.ppd.gz foomatic-20200219-Kyocera-FS-3820N-Postscript-Kyocera.ppd.gz sharp-20191230-Sharp-MX-B355W-ps.ppd.gz sharp-20191230-Sharp-MX-B455W-ps.ppd.gz foomatic-20200219-Epson-EPL-N7000-Postscript-Epson.ppd.gz sharp-20191219-Sharp-MX-M266FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M266FV-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M316FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M316FV-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M356FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M356FV-ps-jp.ppd.gz foomatic-20200219-Kyocera-FS-3900DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-4000DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-C5016N-Postscript-Kyocera.ppd.gz sharp-20191219-Sharp-MX-M316G-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M316GV-ps-jp.ppd.gz foomatic-20200219-Samsung-CLP-660-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6200-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6240-Postscript-Samsung.ppd.gz xerox-20191030-Xerox_Phaser_7800DN.ppd.gz xerox-20191030-Xerox_Phaser_7800DX.ppd.gz xerox-20191030-Xerox_Phaser_7800GX.ppd.gz foomatic-20200219-Epson-EPL-N2500_PS3-Postscript-Epson.ppd.gz foomatic-20200219-Toshiba-e-Studio_850-Postscript-Toshiba.ppd.gz foomatic-20200219-Canon-LBP710C_PPD-Postscript-Canon.ppd.gz foomatic-20200219-Kyocera-FS-3830N-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-6026-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-6950DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-1920-Postscript-Kyocera.ppd.gz foomatic-20200219-Epson-AL-C1900_PS3-Postscript-Epson.ppd.gz xerox-20190225-xrx3655s.ppd.gz sharp-20191230-Sharp-DX-C310-ps.ppd.gz sharp-20191230-Sharp-DX-C311-ps.ppd.gz sharp-20191230-Sharp-DX-C380-ps.ppd.gz sharp-20191230-Sharp-DX-C381-ps.ppd.gz sharp-20191230-Sharp-DX-C400-ps.ppd.gz sharp-20191230-Sharp-DX-C401-ps.ppd.gz sharp-20191230-Sharp-MX-C310-ps.ppd.gz sharp-20191230-Sharp-MX-C311-ps.ppd.gz sharp-20191230-Sharp-MX-C380-ps.ppd.gz sharp-20191230-Sharp-MX-C380P-ps.ppd.gz sharp-20191230-Sharp-MX-C381-ps.ppd.gz sharp-20191230-Sharp-MX-C400-ps.ppd.gz sharp-20191230-Sharp-MX-C400P-ps.ppd.gz sharp-20191230-Sharp-MX-C401-ps.ppd.gz foomatic-20200219-Samsung-ML-2855-Postscript-Samsung.ppd.gz foomatic-20200219-Toshiba-GL-1020-Postscript-Toshiba.ppd.gz foomatic-20200219-Toshiba-GL-1010-Postscript-Toshiba.ppd.gz foomatic-20200219-Samsung-ML-3470-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-3475-Postscript-Samsung.ppd.gz sharp-20191219-Sharp-MX-M264NV-ps.ppd.gz sharp-20191219-Sharp-MX-M314NV-ps.ppd.gz foomatic-20200219-Kyocera-FS-1900-Postscript-Kyocera.ppd.gz foomatic-20200219-Sharp-MX-M264NR-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M314NR-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M354NR-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-M264FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M264N-ps.ppd.gz sharp-20191219-Sharp-MX-M264U-ps.ppd.gz sharp-20191219-Sharp-MX-M314FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M314N-ps.ppd.gz sharp-20191219-Sharp-MX-M314U-ps.ppd.gz sharp-20191219-Sharp-MX-M354FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M354N-ps.ppd.gz sharp-20191219-Sharp-MX-M354U-ps.ppd.gz foomatic-20200219-Epson-AL-MX20-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-MX21-Postscript-Epson.ppd.gz foomatic-20200219-Canon-LBP7780C_5480-Postscript-Canon.ppd.gz foomatic-20200219-Epson-AL-C2000_PS3-Postscript-Epson.ppd.gz foomatic-20200219-Samsung-CLP-350-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-6900-Postscript-Kyocera.ppd.gz foomatic-20200219-Gestetner-P7032-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-2132-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7032-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP3200-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SLP32-Postscript-Savin.ppd.gz foomatic-20200219-Oki-B4300-Postscript-Oki.ppd.gz sharp-20180409-Sharp-MX-M623-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M623N-ps.ppd.gz sharp-20180409-Sharp-MX-M623U-ps.ppd.gz sharp-20180409-Sharp-MX-M753-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M753N-ps.ppd.gz sharp-20180409-Sharp-MX-M753U-ps.ppd.gz foomatic-20200219-Kyocera-FS-2000D-Postscript-Kyocera.ppd.gz foomatic-20200219-Oki-B4350-Postscript-Oki.ppd.gz foomatic-20200219-Kyocera-FS-3750-Postscript-Kyocera.ppd.gz sharp-20190711-Sharp-MX-C250-ps.ppd.gz sharp-20190711-Sharp-MX-C250E-ps.ppd.gz sharp-20190711-Sharp-MX-C250F-ps.ppd.gz sharp-20190711-Sharp-MX-C250FE-ps.ppd.gz sharp-20190711-Sharp-MX-C250FR-ps.ppd.gz sharp-20190711-Sharp-MX-C300-ps.ppd.gz sharp-20190711-Sharp-MX-C300E-ps.ppd.gz sharp-20190711-Sharp-MX-C300F-ps.ppd.gz sharp-20190711-Sharp-MX-C300P-ps.ppd.gz sharp-20190711-Sharp-MX-C300PE-ps.ppd.gz sharp-20190711-Sharp-MX-C300PL-ps.ppd.gz sharp-20190711-Sharp-MX-C300W-ps.ppd.gz sharp-20190711-Sharp-MX-C300WE-ps.ppd.gz sharp-20190711-Sharp-MX-C300WR-ps.ppd.gz sharp-20190711-Sharp-MX-C301-ps.ppd.gz sharp-20190711-Sharp-MX-C301F-ps.ppd.gz sharp-20190711-Sharp-MX-C301W-ps.ppd.gz foomatic-20200219-Kyocera-FS-6750-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-ML-2850-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-2853-Postscript-Samsung.ppd.gz foomatic-20200219-Brother-HL-3260N-Postscript-Brother.ppd.gz foomatic-20200219-Sharp-AR-555M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-555S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-625M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-625S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M550N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M550U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M620N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M620U-Postscript-Sharp.ppd.gz foomatic-20200219-Kyocera-FS-6700-Postscript-Kyocera.ppd.gz foomatic-20200219-Sharp-AR-705M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-705S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M700N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M700U-Postscript-Sharp.ppd.gz foomatic-20200219-Canon-LBP8780-Postscript-Canon.ppd.gz foomatic-20200219-Epson-AL-M2400-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-M2410-Postscript-Epson.ppd.gz foomatic-20200219-Epson-EPL-5900_PS3-Postscript-Epson.ppd.gz foomatic-20200219-Epson-EPL-6100_PS3-Postscript-Epson.ppd.gz foomatic-20200219-Kyocera-FS-1714M-Postscript-Kyocera.ppd.gz foomatic-20200219-Brother-HL-3450CN-Postscript-Brother.ppd.gz xerox-20191030-Xerox_VersaLink_C600.ppd.gz foomatic-20200219-Kyocera-KM-2030-Postscript-Kyocera.ppd.gz xerox-20191030-Xerox_VersaLink_C500.ppd.gz foomatic-20200219-Canon-LBP7680C_5280-Postscript-Canon.ppd.gz xerox-20191030-Xerox_VersaLink_C605.ppd.gz xerox-20190225-xrx4622.ppd.gz foomatic-20200219-Epson-AL-M2000-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-M2010-Postscript-Epson.ppd.gz foomatic-20200219-Brother-HL-2600CN-Postscript-Brother.ppd.gz foomatic-20200219-Kyocera-FS-1200-Postscript-Kyocera.ppd.gz foomatic-20200219-Oce-9260-Postscript2-Oce.ppd.gz xerox-20191030-Xerox_VersaLink_C505.ppd.gz xerox-20190711-xrx6510.ppd.gz xerox-20190711-xrx6515.ppd.gz xerox-20191030-xrxC400.ppd.gz xerox-20191030-xrxC405.ppd.gz foomatic-20200219-Epson-AL-C2600-Postscript-Epson.ppd.gz foomatic-20200219-Epson-EPL-N2550-Postscript-Epson.ppd.gz foomatic-20200219-Kyocera-FS-1700-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-C48x-Postscript-Samsung.ppd.gz foomatic-20200219-Epson-AL-2600-Postscript-Epson.ppd.gz xerox-20191030-xrxB405.ppd.ppd.gz xerox-20191030-xrxb600.ppd.gz xerox-20191030-xrxb605.ppd.gz xerox-20191030-xrxb610.ppd.gz xerox-20191030-xrxb615.ppd.gz foomatic-20200219-Samsung-C460-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C470-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-3300-Postscript-Samsung.ppd.gz xerox-20191030-xrxB400.ppd.ppd.gz foomatic-20200219-Kyocera-FS-3700-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-1700plus-Postscript-Kyocera.ppd.gz foomatic-20200219-Toshiba-e-Studio_205-Postscript-Toshiba.ppd.gz foomatic-20200219-Epson-AL-C2800-Postscript-Epson.ppd.gz sharp-20191230-Sharp-AR-B350W-ps-jp.ppd.gz sharp-20191230-Sharp-AR-B351-ps.ppd.gz sharp-20191230-Sharp-AR-B351F-ps.ppd.gz sharp-20191230-Sharp-AR-B351W-ps.ppd.gz sharp-20191230-Sharp-AR-B352P-ps.ppd.gz sharp-20191230-Sharp-AR-B353P-ps.ppd.gz sharp-20191230-Sharp-AR-B451-ps.ppd.gz sharp-20191230-Sharp-AR-B451F-ps.ppd.gz sharp-20191230-Sharp-AR-B451W-ps.ppd.gz sharp-20191230-Sharp-AR-B452P-ps.ppd.gz sharp-20191230-Sharp-AR-B453P-ps.ppd.gz sharp-20191230-Sharp-MX-B350-ps.ppd.gz sharp-20191230-Sharp-MX-B350F-ps.ppd.gz sharp-20191230-Sharp-MX-B350P-ps.ppd.gz sharp-20191230-Sharp-MX-B350W-ps.ppd.gz sharp-20191230-Sharp-MX-B351P-ps.ppd.gz sharp-20191230-Sharp-MX-B450-ps.ppd.gz sharp-20191230-Sharp-MX-B450F-ps.ppd.gz sharp-20191230-Sharp-MX-B450P-ps.ppd.gz sharp-20191230-Sharp-MX-B450W-ps.ppd.gz sharp-20191230-Sharp-MX-B451P-ps.ppd.gz foomatic-20200219-Canon-LBP6780_3580-Postscript-Canon.ppd.gz foomatic-20200219-Epson-AL-C4200-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-C3800-Postscript-Epson.ppd.gz foomatic-20200219-Canon-LBP7660C-Postscript-Canon.ppd.gz sharp-20191219-Sharp-AR-6020D-ps.ppd.gz sharp-20191219-Sharp-AR-6020N-ps.ppd.gz sharp-20191219-Sharp-AR-6020NR-ps.ppd.gz sharp-20191219-Sharp-AR-6023D-ps.ppd.gz sharp-20191219-Sharp-AR-6023N-ps.ppd.gz sharp-20191219-Sharp-AR-6023NR-ps.ppd.gz foomatic-20200219-Kyocera-FS-6300-Postscript-Kyocera.ppd.gz foomatic-20200219-Oce-VarioPrint_2045PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2050PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2055PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2060PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2065PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2070PS-Postscript-Oce.ppd.gz foomatic-20200219-Kyocera-FS-3700plus-Postscript-Kyocera.ppd.gz sharp-20191219-Sharp-AR-6026N-ps.ppd.gz sharp-20191219-Sharp-AR-6026NR-ps.ppd.gz sharp-20191219-Sharp-AR-6031N-ps.ppd.gz sharp-20191219-Sharp-AR-6031NR-ps.ppd.gz sharp-20191219-Sharp-AR-6120N-ps.ppd.gz sharp-20191219-Sharp-AR-6131N-ps.ppd.gz foomatic-20200219-Epson-EPL-6200-Postscript-Epson.ppd.gz sharp-20191230-Sharp-MX-B380P-ps.ppd.gz sharp-20191230-Sharp-MX-B381-ps.ppd.gz sharp-20191230-Sharp-MX-B382-ps.ppd.gz sharp-20191230-Sharp-MX-B382P-ps.ppd.gz sharp-20191230-Sharp-MX-B382SC-ps.ppd.gz sharp-20191230-Sharp-MX-B400P-ps.ppd.gz sharp-20191230-Sharp-MX-B401-ps.ppd.gz sharp-20191230-Sharp-MX-B402-ps.ppd.gz sharp-20191230-Sharp-MX-B402SC-ps.ppd.gz foomatic-20200219-Kyocera-Ci-1100-Postscript-Kyocera.ppd.gz foomatic-20200219-Oce-9230-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-9245-Postscript2-Oce.ppd.gz foomatic-20200219-Kyocera-FS-5800C-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-5900C-Postscript-Kyocera.ppd.gz foomatic-20200219-Sharp-AR-N182FG-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-N182G-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M182D-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M202D-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M232D-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M165_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-205FG_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-205G_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M206_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M207_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Oce-VarioPrint_2100PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2110PS-Postscript-Oce.ppd.gz foomatic-20200219-Brother-HL-2460-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-7050-Postscript-Brother.ppd.gz foomatic-20200219-Sharp-AR-M205_PS-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-AR-6020-ps.ppd.gz sharp-20191219-Sharp-AR-6023-ps.ppd.gz sharp-20191219-Sharp-AR-G200-ps-jp.ppd.gz foomatic-20200219-Gestetner-F9199_9199nf-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LF510_515e-Postscript-Lanier.ppd.gz foomatic-20200219-Oce-3145PS-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-3155PS-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-3165PS-Postscript2-Oce.ppd.gz foomatic-20200219-Ricoh-FAX5510L_5510NF-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-FAX3799_3799nf-Postscript-Savin.ppd.gz foomatic-20200219-Kyocera-FS-6500plus-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-1820-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-SCX-6x45-Postscript-Samsung.ppd.gz xerox-20190225-xr6605dn.ppd.gz foomatic-20200219-Kyocera-FS-1030D-Postscript-Kyocera.ppd.gz foomatic-20200219-Epson-EPL-N3000-Postscript-Epson.ppd.gz foomatic-20200219-Sharp-AR-163G_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M161_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M162_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M182-Postscript-Sharp.ppd.gz foomatic-20200219-Kyocera-FS-1020D-Postscript-Kyocera.ppd.gz foomatic-20200219-Sharp-AR-163FG_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Kyocera-KM-1530-Postscript-Kyocera.ppd.gz foomatic-20200219-Epson-AL-CX21-Postscript-Epson.ppd.gz foomatic-20200219-Sharp-AR-200M_PS-Postscript-Sharp.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c226.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c227.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c258.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c266.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c287.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c308.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c3351.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c368.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c3851.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c3851fs.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c458.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c558.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c658.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c659.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c759.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c250i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c300i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c3300i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c3320i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c3350i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c360i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c4000i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c4050i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c450i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c550i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c650i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-workplace-hub.ppd.gz foomatic-20200219-Brother-HL-4050CDN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-4070CDW-Postscript-Brother.ppd.gz foomatic-20200219-Ricoh-EMP_156-Postscript-Ricoh.ppd.gz foomatic-20200219-Epson-AL-M4000-Postscript-Epson.ppd.gz foomatic-20200219-Brother-DCP-9045CDN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9450CDN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC9840CDW-Postscript-Brother.ppd.gz foomatic-20200219-Kyocera-FS-1118MFP-Postscript-Kyocera.ppd.gz foomatic-20200219-Oki-14i-Postscript-Oki.ppd.gz foomatic-20200219-Brother-MFC-9440CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-8050N-Postscript-Brother.ppd.gz foomatic-20200219-Sharp-AR-160M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-5220-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M160_PS-Postscript-Sharp.ppd.gz foomatic-20191029-BR5070DN_GPL.ppd.gz foomatic-20200219-Brother-HL-2700CN-Postscript-Brother.ppd.gz foomatic-20200219-Sharp-AR-155FG_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-168D-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M155_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Brother-DCP-9040CN-Postscript-Brother.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-226i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-246i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-266i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-306i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-227.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-287.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-308.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-308e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-367.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-368.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-368e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-4052.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-458.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-458e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-4752.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-558.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-558e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-658e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-758-jp-eu.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-808-us.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-958.ppd.gz foomatic-20191029-shar208d.ppd.gz foomatic-20191029-shmb201d.ppd.gz foomatic-20200219-Sharp-AR-B07-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-NB2A-Postscript-Sharp.ppd.gz foomatic-20200219-Canon-LBP6670-Postscript-Canon.ppd.gz foomatic-20200219-Canon-LBP6680_3480-Postscript-Canon.ppd.gz foomatic-20200219-Oce-8445PS-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-8465PS-Postscript2-Oce.ppd.gz foomatic-20200219-Brother-HL-3070CW-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-6050D_DN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-DCP-9010CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9010CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9120CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9320CW-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-6050-Postscript-Brother.ppd.gz foomatic-20200219-Kyocera-KM-1815-Postscript-Kyocera.ppd.gz foomatic-20200219-Brother-HL-5050-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-5070N-Postscript-Brother.ppd.gz foomatic-20200219-Kyocera-CS-1815-Postscript-Kyocera.ppd.gz foomatic-20200219-Brother-HL-5270DN-Postscript-Brother.ppd.gz xerox-20190820-xrxosd.ppd.gz foomatic-20200219-Brother-MFC-8670DN-Postscript-Brother.ppd.gz foomatic-20200219-Kyocera-FS-920-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-ML-4050-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-4055-Postscript-Samsung.ppd.gz foomatic-20200219-Brother-HL-1850_70N-Postscript-Brother.ppd.gz hp-20190918-hplip-3.19.6-hp-color_designjet_xl_3600-ps.ppd.gz foomatic-20200219-Sharp-AR-168S-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M150_PS-Postscript-Sharp.ppd.gz foomatic-20191029-shar208s.ppd.gz foomatic-20191029-sharm200.ppd.gz foomatic-20200219-Sharp-MX-NB11-Postscript-Sharp.ppd.gz foomatic-20200219-Oce-VarioPrint_2090PS-Postscript-Oce.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_designjet_xl_3600-ps.ppd.gz foomatic-20200219-Kyocera-FS-1018MFP-Postscript-Kyocera.ppd.gz foomatic-20200219-Brother-MFC-8820D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-DCP-8025D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9420CN-Postscript-Brother.ppd.gz foomatic-20200219-Oce-PPC3074PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3094PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3114PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3073PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3093PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3113PS-Postscript-Oce.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1530-postscript.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2530-postscript.ppd.gz hp-20190918-hplip-3.19.6-hp-designjet_t2600dr-ps.ppd.gz foomatic-20200219-Samsung-ML-4550-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-4555-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-1010-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-1050-Postscript-Kyocera.ppd.gz foomatic-20200219-Brother-MFC-7450-Postscript-Brother.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1600dr-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2600dr-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1600_printer-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2600-ps.ppd.gz foomatic-20200219-Brother-HL-5250DN-Postscript-Brother.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4600ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4600ps_mfp-ps.ppd.gz foomatic-20200219-Brother-HL-5150D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-5170DN-Postscript-Brother.ppd.gz foomatic-20200219-Samsung-SCX-6x22-Postscript-Samsung.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_3900ps_mfp-ps.ppd.gz foomatic-20200219-Brother-HL-5240-Postscript-Brother.ppd.gz foomatic-20200219-Kyocera-FS-1000-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-1510-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-1810-Postscript-Kyocera.ppd.gz foomatic-20200219-Samsung-ML-2150-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-2550-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-8x00-Postscript-Samsung.ppd.gz foomatic-20200219-Brother-HL-1650_70N-Postscript-Brother.ppd.gz foomatic-20200219-Samsung-SCX-6x20-Postscript-Samsung.ppd.gz foomatic-20200219-Kyocera-FS-600-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-680-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-800-Postscript-Kyocera.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2553ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3253ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_4053ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5053ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6053ciJ.ppd.gz foomatic-20200219-Kyocera-FS-1000plus-Postscript-Kyocera.ppd.gz foomatic-20200219-Brother-DCP-8020-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8420-Postscript-Brother.ppd.gz kyocera-20200716-Kyocera_TASKalfa_7353ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_8353ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5003iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6003iJ.ppd.gz kyocera-20200416-Kyocera_CS_2554ci.ppd.gz kyocera-20200416-Kyocera_CS_3554ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_2554ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3554ci.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P8060cdnJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2552ciJ.ppd.gz foomatic-20200219-Oce-PPC5115PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC5160PS-Postscript-Oce.ppd.gz kyocera-20200716-Kyocera_TASKalfa_7003iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_9003iJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P4060dnJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2460ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2470ciJ.ppd.gz kyocera-20190328-Kyocera_CS_2552ci.ppd.gz kyocera-20190328-Kyocera_CS_3252ci.ppd.gz kyocera-20190328-Kyocera_CS_3552ci.ppd.gz kyocera-20190328-Kyocera_CS_4052ci.ppd.gz kyocera-20190328-Kyocera_CS_5052ci.ppd.gz kyocera-20190328-Kyocera_CS_6052ci.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P8060cdn.ppd.gz kyocera-20190328-Kyocera_TASKalfa_2552ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3252ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3552ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_5052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_6052ci.ppd.gz kyocera-20200416-Kyocera_CS_2553ci.ppd.gz kyocera-20200416-Kyocera_CS_3253ci.ppd.gz kyocera-20200416-Kyocera_CS_3553ci.ppd.gz kyocera-20200416-Kyocera_CS_4053ci.ppd.gz kyocera-20200416-Kyocera_CS_5053ci.ppd.gz kyocera-20200416-Kyocera_CS_6053ci.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P4040dnJ.ppd.gz foomatic-20200219-Brother-HL-1450-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-1470N-Postscript-Brother.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2553ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3253ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3553ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_4053ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5053ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6053ci.ppd.gz foomatic-20200219-Brother-DCP-8045D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8640D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8840D-Postscript-Brother.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P4140dnJ.ppd.gz kyocera-20200416-Kyocera_CS_3050ci.ppd.gz kyocera-20200416-Kyocera_CS_3051ci.ppd.gz kyocera-20200416-Kyocera_CS_3550ci.ppd.gz kyocera-20200416-Kyocera_CS_3551ci.ppd.gz kyocera-20200416-Kyocera_CS_4550ci.ppd.gz kyocera-20200416-Kyocera_CS_4551ci.ppd.gz kyocera-20200416-Kyocera_CS_5550ci.ppd.gz kyocera-20200416-Kyocera_CS_5551ci.ppd.gz kyocera-20200416-Kyocera_FS-C8600DN.ppd.gz kyocera-20200416-Kyocera_FS-C8650DN.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3050ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_4550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_4551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5551ci.ppd.gz kyocera-20190328-Kyocera_CS_7052ci.ppd.gz kyocera-20190328-Kyocera_CS_8052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_7052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_8052ci.ppd.gz kyocera-20200416-Kyocera_CS_6550ci.ppd.gz kyocera-20200416-Kyocera_CS_6551ci.ppd.gz kyocera-20200416-Kyocera_CS_7353ci.ppd.gz kyocera-20200416-Kyocera_CS_7550ci.ppd.gz kyocera-20200416-Kyocera_CS_7551ci.ppd.gz kyocera-20200416-Kyocera_CS_8353ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_7353ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_7550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_7551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8353ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2510iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2520iJ.ppd.gz kyocera-20190328-Kyocera_CS_2551ci.ppd.gz kyocera-20190328-Kyocera_CS_4002i.ppd.gz kyocera-20190328-Kyocera_CS_5002i.ppd.gz kyocera-20190328-Kyocera_CS_6002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_2551ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_5002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_6002i.ppd.gz kyocera-20200416-Kyocera_CS_250ci.ppd.gz kyocera-20200416-Kyocera_CS_300ci.ppd.gz kyocera-20200416-Kyocera_CS_4003i.ppd.gz kyocera-20200416-Kyocera_CS_400ci.ppd.gz kyocera-20200416-Kyocera_CS_5003i.ppd.gz kyocera-20200416-Kyocera_CS_500ci.ppd.gz kyocera-20200416-Kyocera_CS_552ci.ppd.gz kyocera-20200416-Kyocera_CS_6003i.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4060dn.ppd.gz kyocera-20200416-Kyocera_FS-C8500DN.ppd.gz kyocera-20200416-Kyocera_TASKalfa_250ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_300ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_400ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_500ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_552ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3212iJ.ppd.gz foomatic-20200219-Brother-DCP-8040-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8220-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8440-Postscript-Brother.ppd.gz kyocera-20200416-Kyocera_CS_2550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_2550ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_4003i.ppd.gz kyocera-20200716-Kyocera_TASKalfa_4012iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5003i.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6003i.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M8024cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M8124cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M8130cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P4035dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P4040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P4045dn.ppd.gz kyocera-20200416-Kyocera_CS_205c.ppd.gz kyocera-20200416-Kyocera_CS_255c.ppd.gz kyocera-20200416-Kyocera_FS-C8020MFP.ppd.gz kyocera-20200416-Kyocera_FS-C8025MFP.ppd.gz kyocera-20200416-Kyocera_FS-C8520MFP.ppd.gz kyocera-20200416-Kyocera_FS-C8525MFP.ppd.gz kyocera-20200416-Kyocera_TASKalfa_205c.ppd.gz kyocera-20200416-Kyocera_TASKalfa_255c.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3060ci.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M8224cidn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M8228cidn.ppd.gz kyocera-20200416-Kyocera_CS_3500i.ppd.gz kyocera-20200416-Kyocera_CS_3501i.ppd.gz kyocera-20200416-Kyocera_CS_4500i.ppd.gz kyocera-20200416-Kyocera_CS_4501i.ppd.gz kyocera-20200416-Kyocera_CS_5500i.ppd.gz kyocera-20200416-Kyocera_CS_5501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3500i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_4501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5500i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5501i.ppd.gz kyocera-20200716-Kyocera_TASKalfa_358ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_408ciJ.ppd.gz foomatic-20200219-Samsung-ML-2570-Postscript-Samsung.ppd.gz kyocera-20190328-Kyocera_CS_7002i.ppd.gz kyocera-20190328-Kyocera_CS_8002i.ppd.gz kyocera-20190328-Kyocera_CS_9002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_7002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_8002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_9002i.ppd.gz kyocera-20200211-Kyocera_TASKalfa_7003i.ppd.gz kyocera-20200416-Kyocera_CS_6500i.ppd.gz kyocera-20200416-Kyocera_CS_6501i.ppd.gz kyocera-20200416-Kyocera_CS_7003i.ppd.gz kyocera-20200416-Kyocera_CS_8000i.ppd.gz kyocera-20200416-Kyocera_CS_8001i.ppd.gz kyocera-20200416-Kyocera_CS_8003i.ppd.gz kyocera-20200416-Kyocera_CS_9003i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6500i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8000i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8001i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8003i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_9003i.ppd.gz kyocera-20190328-Kyocera_CS_3011i.ppd.gz kyocera-20190328-Kyocera_CS_3212i.ppd.gz kyocera-20190328-Kyocera_CS_3511i.ppd.gz kyocera-20190328-Kyocera_CS_4012i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3011i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3212i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3511i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4012i.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4135dn.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4140dn.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4145dn.ppd.gz kyocera-20200416-Kyocera_FS-6970DN.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M6635cidnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P6230cdnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P7240cdnJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_352ciJ.ppd.gz kyocera-20190328-Kyocera_CS_3010i.ppd.gz kyocera-20190328-Kyocera_CS_3510i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3010i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3510i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4500i.ppd.gz kyocera-20200416-Kyocera_CS_300i.ppd.gz kyocera-20200416-Kyocera_CS_420i.ppd.gz kyocera-20200416-Kyocera_CS_520i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_300i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_420i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_520i.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M4028idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M4125idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M4132idn.ppd.gz kyocera-20200416-Kyocera_CS_255.ppd.gz kyocera-20200416-Kyocera_CS_305.ppd.gz kyocera-20200416-Kyocera_FS-6025MFP.ppd.gz kyocera-20200416-Kyocera_FS-6030MFP.ppd.gz kyocera-20200416-Kyocera_FS-6525MFP.ppd.gz kyocera-20200416-Kyocera_FS-6530MFP.ppd.gz kyocera-20200416-Kyocera_FS-9130DN.ppd.gz kyocera-20200416-Kyocera_FS-9530DN.ppd.gz kyocera-20200416-Kyocera_TASKalfa_255.ppd.gz kyocera-20200416-Kyocera_TASKalfa_305.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M4226idn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M4230idn.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4020i.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3060dnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3160dnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3145dnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M2540dwJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M2640idwJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P2040dwJ.ppd.gz kyocera-20190328-Kyocera_CS_306ci.ppd.gz kyocera-20190328-Kyocera_CS_307ci.ppd.gz kyocera-20190328-Kyocera_CS_356ci.ppd.gz kyocera-20190328-Kyocera_CS_406ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_306ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_307ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_356ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_406ci.ppd.gz kyocera-20190830-Kyocera_Generic_Color.ppd.gz kyocera-20200416-Kyocera_CS_308ci.ppd.gz kyocera-20200416-Kyocera_CS_358ci.ppd.gz kyocera-20200416-Kyocera_CS_408ci.ppd.gz kyocera-20200416-Kyocera_CS_508ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_358ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_408ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_508ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_308ci.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6026cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6030cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P7035cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5021cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5520cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5520cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5521cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5521cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5525cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5526cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5526cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5020cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5020cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5021cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5021cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5025cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5026cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5026cdw.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P5018cdn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M3645idnJ.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6026cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6026cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6030cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6035cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6230cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6235cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6526cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6526cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6530cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6535cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6630cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6635cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6021cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6035cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6130cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6230cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6235cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P7040cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P7240cdn.ppd.gz kyocera-20190328-Kyocera_TASKalfa_265ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_266ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_350ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_351ci.ppd.gz kyocera-20200416-Kyocera_FS-C2026MFP+.ppd.gz kyocera-20200416-Kyocera_FS-C2126MFP+.ppd.gz kyocera-20200416-Kyocera_FS-C2526MFP.ppd.gz kyocera-20200416-Kyocera_FS-C2626MFP.ppd.gz kyocera-20200716-Kyocera_TASKalfa_352ci.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3040idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3540dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3540idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3550idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3560idn.ppd.gz kyocera-20200416-Kyocera_FS-4100DN.ppd.gz kyocera-20200416-Kyocera_FS-4200DN.ppd.gz kyocera-20200416-Kyocera_FS-4300DN.ppd.gz kyocera-20200416-Kyocera_FS-C5250DN.ppd.gz kyocera-20200416-Kyocera_FS-C5300DN.ppd.gz kyocera-20200416-Kyocera_FS-C5350DN.ppd.gz kyocera-20200416-Kyocera_FS-C5400DN.ppd.gz kyocera-20190328-Kyocera_FS-5040DN.ppd.gz kyocera-20200416-Kyocera_FS-2100D.ppd.gz kyocera-20200416-Kyocera_FS-2100DN.ppd.gz kyocera-20200416-Kyocera_FS-3040MFP+.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3145dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3145idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3645dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3645idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3655idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3660idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3045dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3050dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3055dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3060dn.ppd.gz kyocera-20200416-Kyocera_ECOSYS_M3860idn.ppd.gz kyocera-20200416-Kyocera_ECOSYS_M3860idnf.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P3260dn.ppd.gz kyocera-20200416-Kyocera_FS-C2026MFP.ppd.gz kyocera-20200416-Kyocera_FS-C2126MFP.ppd.gz kyocera-20200416-Kyocera_FS-C5100DN.ppd.gz kyocera-20200416-Kyocera_FS-C5150DN.ppd.gz kyocera-20200416-Kyocera_FS-C5200DN.ppd.gz kyocera-20200416-Kyocera_FS-3540MFP.ppd.gz kyocera-20200416-Kyocera_FS-3640MFP.ppd.gz kyocera-20200416-Kyocera_FS-3920DN.ppd.gz kyocera-20200416-Kyocera_FS-4020DN.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3145dn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3150dn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3155dn.ppd.gz kyocera-20200716-TA_P-4531_MFP.ppd.gz kyocera-20200716-TA_P-4531i_MFP.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2035dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2535dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2135dn.ppd.gz kyocera-20200416-Kyocera_FS-1035MFP.ppd.gz kyocera-20200416-Kyocera_FS-1135MFP.ppd.gz kyocera-20200416-Kyocera_FS-2020D.ppd.gz kyocera-20200416-Kyocera_FS-3040MFP.ppd.gz kyocera-20200416-Kyocera_FS-3140MFP.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2030dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2135dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2235dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2530dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2540dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2540dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2635dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2635dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2640idw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2735dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2735dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2835dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2040dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2230dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2235dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2235dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2335d.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2335dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2335dw.ppd.gz kyocera-20200416-Kyocera_FS-1030MFP.ppd.gz kyocera-20200416-Kyocera_FS-1130MFP.ppd.gz kyocera-20200416-Kyocera_FS-1028MFP.ppd.gz kyocera-20200416-Kyocera_FS-1128MFP.ppd.gz kyocera-20200416-Kyocera_FS-1320D.ppd.gz kyocera-20200416-Kyocera_FS-1350DN.ppd.gz kyocera-20200416-Kyocera_FS-1370DN.ppd.gz kyocera-20200416-Kyocera_KM-2810.ppd.gz kyocera-20200416-Kyocera_KM-2820.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2035d.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2135d.ppd.gz kyocera-20190830-Kyocera_Generic_Monochrome.ppd.gz kyocera-20200416-Kyocera_FS-1120D.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_4-ps.ppd.gz
+foomatic-20200219-Citizen-ProJet_IIc-cdj500.ppd.gz foomatic-20200219-DEC-DECwriter_520ic-cdj500.ppd.gz foomatic-20200219-Olivetti-JP470-cdj500.ppd.gz
+foomatic-20200219-Compaq-IJ1200-drv_z42.ppd.gz foomatic-20200219-Lexmark-X73-drv_z42.ppd.gz foomatic-20200219-Lexmark-Z42-drv_z42.ppd.gz foomatic-20200219-Lexmark-Z43-drv_z42.ppd.gz
+foomatic-20200219-Compaq-IJ750-lxm3200X.ppd.gz foomatic-20200219-Lexmark-3200-lxm3200X.ppd.gz foomatic-20200219-Lexmark-Z31-lxm3200X.ppd.gz
+foomatic-20200219-Compaq-IJ900-lxm5700m.ppd.gz foomatic-20200219-Lexmark-5700-lxm5700m.ppd.gz foomatic-20200219-Xerox-DocuPrint_XJ8C-lxm5700m.ppd.gz foomatic-20200219-Xerox-WorkCentre_470cx-lxm5700m.ppd.gz
+foomatic-20200219-DEC-DECWriter_500i-djet500.ppd.gz foomatic-20200219-DEC-DECwriter_110i-djet500.ppd.gz foomatic-20200219-Olivetti-JP450-djet500.ppd.gz
+foomatic-20200219-DEC-LJ250-declj250.ppd.gz
+foomatic-20200219-Dell-3010cn-pxldpl.ppd.gz
+foomatic-20200219-Epson-AL-M2300-eplaser.ppd.gz foomatic-20200219-Epson-AL-M2310-eplaser.ppd.gz
+foomatic-20200219-Epson-ActionPrinter_3250-ap3250.ppd.gz
+foomatic-20200219-Epson-LP-8000C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9600-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9600S-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8200C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8300F-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8400F-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8600-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8600F-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9300-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-1900-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-1800-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8300C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8500C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8800C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8700-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S3000-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S3200-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S3500-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S4000-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S4200-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S8100-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-7500-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-7700-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-7900-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8900-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9000B-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9000C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9100-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9200B-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9400-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-9500C-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-M5000-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-M5300-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S4500-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S6500-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S7500-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-8100-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-M6000-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-2200-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-2400-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-2500-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S210-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S300-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-S310-eplaser-jp.ppd.gz foomatic-20200219-Epson-LP-3000C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP_8000-lp8000.ppd.gz
+foomatic-20200219-Epson-LX-300plus-ibmpro.ppd.gz foomatic-20200219-Generic-IBM-Compatible_Dot_Matrix_Printer-ibmpro.ppd.gz foomatic-20200219-IBM-ProPrinterII-ibmpro.ppd.gz foomatic-20200219-Panasonic-KX-P2150-ibmpro.ppd.gz
+foomatic-20200219-Epson-MJ_520C-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_1520-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_200-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_300-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_3000-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_400-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_440-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_500-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_600-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_640-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_670-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_740-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_800-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_I-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_IIs-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_PRO-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Photo_750-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Pro_XL-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Scan_2500-stcolor.ppd.gz foomatic-20200219-Epson-SQ_1170-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_800-stcolor.ppd.gz
+foomatic-20200219-Epson-PM_760C-PM760pX.upp.ppd.gz
+foomatic-20200219-Epson-PM_820C-PM820pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_460-stcX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_660-stc600X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_680-Stc680pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_760-stc740X.upp.ppd.gz foomatic-20200219-Epson-Stylus_Color_860-stc740X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_777-stcanyX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_850-stc800X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_II-stc2X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Photo_720-Stp720pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Photo_870-Stp870pX.upp.ppd.gz
+foomatic-20200219-Generic-PCL_3_Printer-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_650C-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_750C-pcl3.ppd.gz foomatic-20200219-Xerox-DocuPrint_C11-pcl3.ppd.gz foomatic-20191029-Apollo-P-1200-pcl3.ppd.gz foomatic-20191029-Apollo-P-1220_Barbie-pcl3.ppd.gz foomatic-20191029-Apollo-P-1250-pcl3.ppd.gz foomatic-20200219-Lexmark-1020_Business-pcl3.ppd.gz foomatic-20200219-Lexmark-3000-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_100C-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_150C-pcl3.ppd.gz foomatic-20200219-Samsung-SI-630A-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-1800-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-1805-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-2000-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-2005-pcl3.ppd.gz foomatic-20200219-Xerox-DocuPrint_M750-pcl3.ppd.gz foomatic-20200219-Xerox-DocuPrint_M760-pcl3.ppd.gz
+foomatic-20200219-Generic-PostScript_Printer-Postscript.ppd.gz foomatic-20200219-Lexmark-C500n-Postscript.ppd.gz foomatic-20200219-Lexmark-C510b-Postscript.ppd.gz foomatic-20200219-Lexmark-C530dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C532dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C532n-Postscript.ppd.gz foomatic-20200219-Lexmark-C534dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C534dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C534n-Postscript.ppd.gz foomatic-20200219-Lexmark-C752b-Postscript.ppd.gz foomatic-20200219-Lexmark-C770dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C770n-Postscript.ppd.gz foomatic-20200219-Lexmark-C772dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C772n-Postscript.ppd.gz foomatic-20200219-Lexmark-C780dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C780dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C780n-Postscript.ppd.gz foomatic-20200219-Lexmark-C782dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C782dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C782n-Postscript.ppd.gz foomatic-20200219-Lexmark-C920n-Postscript.ppd.gz foomatic-20200219-Lexmark-C935dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C935dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C935hdn-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_C710-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Rplus-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_S_1250-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_S_1855-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Se_3455-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T610-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T612-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T614-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T616-Postscript.ppd.gz foomatic-20200219-Lexmark-T430-Postscript.ppd.gz foomatic-20200219-Lexmark-T640-Postscript.ppd.gz foomatic-20200219-Lexmark-T642-Postscript.ppd.gz foomatic-20200219-Lexmark-T644-Postscript.ppd.gz foomatic-20200219-Lexmark-W812-Postscript.ppd.gz foomatic-20200219-Lexmark-W840-Postscript.ppd.gz foomatic-20200219-Lexmark-X560n-Postscript.ppd.gz foomatic-20200219-Lexmark-4039_10plus-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_1200-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_1275-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_40-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_45-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_E310-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_E312-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Ep-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_K_1220-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_M410-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_M412-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_W810-Postscript.ppd.gz foomatic-20200219-Fuji_Xerox-DocuPrint_CM305_df-Postscript.ppd.gz foomatic-20170101-Samsung-M332x_382x_402x-Postscript.ppd.gz foomatic-20200219-Canon-GP_405-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C2570-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C2570i-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C2620N-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3100-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3170-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3170i-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3200-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C5800-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C6800-Postscript.ppd.gz foomatic-20200219-Dell-M5200-Postscript.ppd.gz foomatic-20200219-Dell-S2500-Postscript.ppd.gz foomatic-20200219-Genicom-LN45-Postscript.ppd.gz foomatic-20200219-Genicom-ML450-Postscript.ppd.gz foomatic-20200219-Genicom-microLaser_12-Postscript.ppd.gz foomatic-20200219-Genicom-microLaser_210-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1226tn-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1422-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1532_Express-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1540_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1560_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1570_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1572_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1580_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1585n-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1650_MFP-Postscript.ppd.gz foomatic-20200219-Minolta-PagePro_1250E-Postscript.ppd.gz foomatic-20200219-Minolta-magicolor_3100-Postscript.ppd.gz foomatic-20200219-NEC-SuperScript_4600N-Postscript.ppd.gz foomatic-20200219-Oce-PPC3073PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3074PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3093PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3094PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3113PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3114PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC5115PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC5160PS-Postscript.ppd.gz foomatic-20200219-Oce-cm2510-Postscript.ppd.gz foomatic-20200219-Oce-cm2520-Postscript.ppd.gz foomatic-20200219-Oce-cm3521-Postscript.ppd.gz foomatic-20200219-Oce-cm4010-Postscript.ppd.gz foomatic-20200219-Oce-cm4520-Postscript.ppd.gz foomatic-20200219-Oce-cm4521-Postscript.ppd.gz foomatic-20200219-Oce-cm5520-Postscript.ppd.gz foomatic-20200219-Oce-cm6520-Postscript.ppd.gz foomatic-20200219-Oce-fx3000-Postscript.ppd.gz foomatic-20200219-Oce-im2330-Postscript.ppd.gz foomatic-20200219-Oce-im2830-Postscript.ppd.gz foomatic-20200219-Oce-im3512-Postscript.ppd.gz foomatic-20200219-Oce-im3530-Postscript.ppd.gz foomatic-20200219-Oce-im4512-Postscript.ppd.gz foomatic-20200219-Oce-im4530-Postscript.ppd.gz foomatic-20200219-Oce-im5530-Postscript.ppd.gz foomatic-20200219-Oce-im6020-Postscript.ppd.gz foomatic-20200219-Oce-im6030-Postscript.ppd.gz foomatic-20200219-Oce-im7230-Postscript.ppd.gz foomatic-20200219-Oce-im7520-Postscript.ppd.gz foomatic-20200219-Oce-im8530-Postscript.ppd.gz foomatic-20200219-Oce-im9220-Postscript.ppd.gz foomatic-20200219-Oce-sx2100-Postscript.ppd.gz foomatic-20200219-Oki-B2540_MFP-Postscript.ppd.gz foomatic-20200219-Oki-B4545_MFP-Postscript.ppd.gz foomatic-20200219-Oki-B6200-Postscript.ppd.gz foomatic-20200219-Oki-B6250-Postscript.ppd.gz foomatic-20200219-Oki-B6500-Postscript.ppd.gz foomatic-20200219-Oki-C5540_MFP-Postscript.ppd.gz foomatic-20200219-Oki-C5550_MFP-Postscript.ppd.gz foomatic-20200219-Oki-C5750-Postscript.ppd.gz foomatic-20200219-Oki-C6050-Postscript.ppd.gz foomatic-20200219-Oki-C6150-Postscript.ppd.gz foomatic-20200219-Oki-C710-Postscript.ppd.gz foomatic-20200219-Oki-C9800_MFP-Postscript.ppd.gz foomatic-20200219-Panasonic-KX-P8420-Postscript.ppd.gz foomatic-20200219-Panasonic-KX-P8475-Postscript.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2000-Postscript.ppd.gz foomatic-20200219-Sharp-AR-B07-Postscript.ppd.gz foomatic-20200219-Sharp-AR-M256-Postscript.ppd.gz foomatic-20200219-Sharp-AR-NB2A-Postscript.ppd.gz foomatic-20200219-Sharp-MX-NB11-Postscript.ppd.gz foomatic-20200219-Tally-LN45-Postscript.ppd.gz foomatic-20200219-Tally-ML450-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_780-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850DP-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850DX-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850N-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_PowerPro_12-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_Pro_600-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_Pro_8-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_Pro_E-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_Basic-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_PS17-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_PS35-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_Turbo-Postscript.ppd.gz foomatic-20200219-Toshiba-DP2570-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_165-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_200L-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_202L-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_205-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_230-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_232-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_2500c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_280-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_281c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_282-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_350-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_3500c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_3510c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_3511-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_351c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_352-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_450-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_4511-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_451c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_452-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_520-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_600-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_720-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_850-Postscript.ppd.gz foomatic-20200219-Xante-Accel-a-Writer_4G-Postscript.ppd.gz foomatic-20200219-Xante-FilmMaker_4-Postscript.ppd.gz foomatic-20200219-Xante-PlateMaker_4-Postscript.ppd.gz foomatic-20200219-Xerox-DocuColor_2006-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N17-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N2125-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N24-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N3225-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N40-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4025-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4525-Postscript.ppd.gz foomatic-20200219-Xerox-FaxCenter_2121-Postscript.ppd.gz foomatic-20200219-Xerox-FaxCentre_2218-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_1235-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_3200MFP-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_3400-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_3450-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_4510-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_5500-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6100-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6120-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6130-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6180-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6360-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_7400-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_7760-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_790-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200B-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200DP-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200DX-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200N-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8560-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860B-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860DP-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860DX-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860N-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8860-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_24-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_4118-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7228-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7232-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7242-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7328-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7335-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_C2424-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_M118-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_M20-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_M24-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_Pro_128-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_Pro_133-Postscript.ppd.gz foomatic-20200219-Apple-12_640ps-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_16_600-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_4_600-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_Pro_630-Postscript.ppd.gz foomatic-20200219-Epson-EPL-5700PS-Postscript.ppd.gz foomatic-20200219-Heidelberg-Digimaster_9110-Postscript.ppd.gz foomatic-20200219-Hitachi-DDP_70_with_MicroPress-Postscript.ppd.gz foomatic-20200219-IBM-4029_10P-Postscript.ppd.gz foomatic-20200219-IBM-4303_Network_Color_Printer-Postscript.ppd.gz foomatic-20200219-Kodak-DigiSource_9110-Postscript.ppd.gz foomatic-20200219-Oki-OL610e_PS-Postscript.ppd.gz foomatic-20200219-Oki-OL810e_PS-Postscript.ppd.gz foomatic-20200219-Oki-Okipage_12i-Postscript.ppd.gz foomatic-20200219-Oki-Okipage_20DXn-Postscript.ppd.gz foomatic-20200219-Oki-Okipage_8c-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_C20-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_C55-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N32-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_IIg-Postscript.ppd.gz foomatic-20200219-DEC-LN07-Postscript.ppd.gz foomatic-20200219-NEC-SilentWriter_LC_890-Postscript.ppd.gz foomatic-20200219-NEC-Silentwriter2_S60P-Postscript.ppd.gz foomatic-20200219-NEC-Silentwriter2_model_290-Postscript.ppd.gz foomatic-20200219-NEC-Silentwriter_95f-Postscript.ppd.gz foomatic-20200219-Oki-OL830Plus-Postscript.ppd.gz foomatic-20200219-Panasonic-KX-P5400-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_350-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_IISX-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_PX-Postscript.ppd.gz foomatic-20200219-Kodak-IS_70_CPII-Postscript.ppd.gz foomatic-20200219-Ricoh-Aficio_5206-Postscript.ppd.gz
+foomatic-20200219-Gestetner-C7528n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP332c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7528n-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7200-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP128-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-C7535n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP335c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7535hdn-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7300-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP135-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-C7435n-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_3535-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP235c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7435n-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7100-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP35-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-DSc38u-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC2838-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP138c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc38u-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7000-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP28-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-DSc328-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc332-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc338-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_2028-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_2432-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_2838-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LD228c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LD232c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LD238c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc328-Postscript-NRG.ppd.gz foomatic-20200219-NRG-DSc332-Postscript-NRG.ppd.gz foomatic-20200219-NRG-DSc338-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2228C-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2232C-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2238C-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-C2820-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C3224-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C3828-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-DSc38-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IP_280-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-2138-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc38-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP3800C-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SLP38c-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-P7145-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-2145-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7145-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP4510-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP45-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-DSc224-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc232-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc524-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc532-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC1032-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-ISC824-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LD024c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LD032c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc224-Postscript-NRG.ppd.gz foomatic-20200219-NRG-DSc232-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1224C-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1232C-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-C2408-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C2524-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C2532-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C3210-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-C7010-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC1036-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP_036c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7010-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL5000-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP1036-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-P7132n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP032-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7132N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP600N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP32-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-C7116-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-C7416-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-C7417-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP116c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LP122c_LP121c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LP_020c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7116-Postscript-NRG.ppd.gz foomatic-20200219-NRG-C7416-Postscript-NRG.ppd.gz foomatic-20200219-NRG-CC7417-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL2000-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3000-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3000e-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3100-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP1620-Postscript-Savin.ppd.gz foomatic-20200219-Savin-CLP17-Postscript-Savin.ppd.gz foomatic-20200219-Savin-CLP18-Postscript-Savin.ppd.gz foomatic-20200219-Ricoh-ColorLaser_AP828-Postscript-Ricoh.ppd.gz foomatic-20200219-Gestetner-C7425dn-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_2525-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-IPC_2525e-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP125cx_LP126cn-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7425dn-Postscript-NRG.ppd.gz foomatic-20200219-NRG-C7425hdn-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL4000DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL4000HDN-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP26DN-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-P7026-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7026n-Postscript-Gestetner.ppd.gz foomatic-20200219-NRG-P7026-Postscript-NRG.ppd.gz foomatic-20200219-NRG-P7026N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2600-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2600N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2600-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2600N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SLP26-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SLP26n-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-P7126-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7126n-Postscript-Gestetner.ppd.gz foomatic-20200219-NRG-P7126-Postscript-NRG.ppd.gz foomatic-20200219-NRG-P7126N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2610-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2610N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2610-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2610N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP26-Postscript-Savin.ppd.gz foomatic-20200219-Savin-MLP26n-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-P7325-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7325n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP025N_LP026N-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LP025_LP026-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7325-Postscript-NRG.ppd.gz foomatic-20200219-NRG-P7325N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP400-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP400N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP25-Postscript-Savin.ppd.gz foomatic-20200219-Savin-MLP25n-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-P7431cn-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP031c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7431cn-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL1000N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP831-Postscript-Savin.ppd.gz
+foomatic-20200219-IBM-3853_JetPrinter-jetp3852.ppd.gz
+foomatic-20200219-Imagen-ImPress-imagen.ppd.gz
+foomatic-20200219-InfoPrint-Pro_1107EX-pxlmono-InfoPrint.ppd.gz foomatic-20200219-InfoPrint-Pro_1357EX-pxlmono-InfoPrint.ppd.gz foomatic-20200219-InfoPrint-Pro_907EX-pxlmono-InfoPrint.ppd.gz foomatic-20200219-Gestetner-DSc428-pxlcolor-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc435-pxlcolor-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc445-pxlcolor-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_2428-pxlcolor-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_2835-pxlcolor-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_3545-pxlcolor-Infotec.ppd.gz foomatic-20200219-Lanier-LD328c-pxlcolor-Lanier.ppd.gz foomatic-20200219-Lanier-LD335c-pxlcolor-Lanier.ppd.gz foomatic-20200219-Lanier-LD345c-pxlcolor-Lanier.ppd.gz foomatic-20200219-NRG-DSc428-pxlcolor-NRG.ppd.gz foomatic-20200219-NRG-DSc435-pxlcolor-NRG.ppd.gz foomatic-20200219-NRG-DSc445-pxlcolor-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3228C-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3235C-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3245C-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Savin-C2824-pxlcolor-Savin.ppd.gz foomatic-20200219-Savin-C3528-pxlcolor-Savin.ppd.gz foomatic-20200219-Savin-C4535-pxlcolor-Savin.ppd.gz foomatic-20200219-Gestetner-DSm651-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm660-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm675-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2151-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2160-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2175-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD151-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD160-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD175-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm651-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm660-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm675-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2051-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2060-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2075-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4051-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4060-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4075-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-9002-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2090-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD090-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-9005_9008_9002-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2090-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4090-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-6002-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-7502-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2060-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2075-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD060-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD075-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-6002_6005_6008-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-7502_7505_7508-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1060-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1075-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-2560-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2575-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-10512-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2105-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD0105-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-10515_10518_10512-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2105-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-40105-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-DSm622-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm627-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2122-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2127-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2132-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD122-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD127-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD132-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm622-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm627-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm632-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2022-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2027-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2032-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4022-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4027-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-2212-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-2712-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-3212-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2022-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS2027-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS2032-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-5622-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-5627-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-5632-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-2205_2238_2212-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-2705_2738_2712-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-3205_3238_3212-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1022-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1027-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1032-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-2522-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2527-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2532-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-3502-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-4502-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-4353_MF-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-4452_MF-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-5635-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-5645-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-3525_3508_3502-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-4525_4508_4502-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1035-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1045-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-2535_2235-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2545_2245-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-3532_4235g-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-4532_4245g-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm635_635G-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm645_645G-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2035-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS2045-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2135-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2145-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD035-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD045-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD135-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD145-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-3545_3518_3532-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-4545_4518_4532-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm635-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm645-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2035-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2035e-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2045-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2045e-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4035_4135g-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4035e_4135eG-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4045_4145g-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4045e_4145eG-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-DSm618d-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm620d-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2018D-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2220D-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD118d-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD120d-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm618d-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm620d-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2018D-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2020D-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4018d-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-8020d-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-DSm618-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm620-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2018-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2220-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD118-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD120-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm618-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm620-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2018-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2020-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4018-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-8020-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-DSm415-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2215-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD015-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm415-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1515-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-3515-pxlmono-Savin.ppd.gz foomatic-20200219-Gestetner-DSm615-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm616-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2015-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2216-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD115-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD116-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm615-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm616-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2015-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2016-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4015-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-8016-pxlmono-Savin.ppd.gz
+foomatic-20200219-Lanier-SG3110DN-pxlcolor-Lanier.ppd.gz foomatic-20200219-Lanier-SG3110DNw-pxlcolor-Lanier.ppd.gz foomatic-20200219-NRG-SG3110DN-pxlcolor-NRG.ppd.gz foomatic-20200219-NRG-SG3110DNw-pxlcolor-NRG.ppd.gz foomatic-20200219-Ricoh-AficioSG3110DN-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-AficioSG3110DNw-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-SG3120BSFNw-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Savin-SG3110DN-pxlcolor-Savin.ppd.gz foomatic-20200219-Savin-SG3110DNw-pxlcolor-Savin.ppd.gz
+foomatic-20200219-Lanier-SG3110SFNw-pxlcolor-Lanier.ppd.gz foomatic-20200219-NRG-SG3110SFNw-pxlcolor-NRG.ppd.gz foomatic-20200219-Ricoh-AficioSG3110SFNw-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Savin-SG3110SFNw-pxlcolor-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_3600DN-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3600SF-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3610SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_3600DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3600SF-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3610SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-SP_3600DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3600SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3610SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SP_3600DN-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SP_3600SF-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SP_3610SF-Postscript-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C360SFNw-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C361SFNw-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C360SFNw-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C360SNw-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C361SFNw-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C360SFNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C360SNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C361SFNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C360SFNw-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SP_C361SFNw-Postscript-Savin.ppd.gz foomatic-20200219-Gestetner-GS1227-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_2702-Postscript-Gestetner.ppd.gz foomatic-20200219-NRG-IM_2702-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-IM_2702-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C360DNw-Postscript-Lanier.ppd.gz foomatic-20200219-Ricoh-SP_C360DNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C360DNw-Postscript-Savin.ppd.gz foomatic-20200219-Ricoh-SP_400DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lexmark-C720n-pxlcolor.ppd.gz foomatic-20200219-Oki-C6000-pxlcolor.ppd.gz foomatic-20200219-Oki-C7350-pxlcolor.ppd.gz foomatic-20200219-Oki-C7550-pxlcolor.ppd.gz foomatic-20200219-Oki-C9650-pxlcolor.ppd.gz foomatic-20200219-Oki-C9800-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-180-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C265-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C305-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C322-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C405-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-550-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-550N-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-610-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-620-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-650-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-650N-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-660N-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-660ND-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_220cp-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_2830c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_3530c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_4500c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_4520c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_5500c-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-2400CeN-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-3400CN-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-4000CN-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-4040CN-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C2550-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5058-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5068-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5185-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5185i-pxlcolor.ppd.gz foomatic-20200219-Dell-3000cn-pxlcolor.ppd.gz foomatic-20200219-Dell-3100cn-pxlcolor.ppd.gz foomatic-20200219-Xerox-Phaser_3160N-pxlcolor.ppd.gz
+foomatic-20200219-Lexmark-X125-drv_x125.ppd.gz
+foomatic-20200219-Lexmark-Z11-cZ11somsom.ppd.gz
+foomatic-20200219-Minolta-PagePro_8L-ljet2p.ppd.gz foomatic-20200219-Apple-LaserWriter_Select_360-ljet2p.ppd.gz foomatic-20200219-Brother-DCP-1200-ljet2p.ppd.gz foomatic-20200219-Brother-HL-1040-ljet2p.ppd.gz foomatic-20200219-Brother-HL-630-ljet2p.ppd.gz foomatic-20200219-Brother-MFC-6550MC-ljet2p.ppd.gz foomatic-20200219-Brother-MFC-9500-ljet2p.ppd.gz foomatic-20200219-Brother-MFC-9600-ljet2p.ppd.gz foomatic-20200219-Lexmark-Valuewriter_300-ljet2p.ppd.gz foomatic-20200219-NEC-SuperScript_1260-ljet2p.ppd.gz foomatic-20200219-NEC-SuperScript_860-ljet2p.ppd.gz foomatic-20200219-NEC-SuperScript_870-ljet2p.ppd.gz foomatic-20200219-Oki-OL400e-ljet2p.ppd.gz foomatic-20200219-Oki-OL400ex-ljet2p.ppd.gz foomatic-20200219-Oki-OL600e-ljet2p.ppd.gz foomatic-20200219-Panasonic-KX-P4410-ljet2p.ppd.gz foomatic-20200219-Panasonic-KX-P6500-ljet2p.ppd.gz foomatic-20200219-Raven-LP-410-ljet2p.ppd.gz foomatic-20200219-Star-LS-04-ljet2p.ppd.gz foomatic-20200219-Xerox-DocuPrint_P12-ljet2p.ppd.gz
+foomatic-20200219-NEC-P2X-necp2xX.upp.ppd.gz
+foomatic-20200219-NEC-PICTY180-picty180.ppd.gz
+foomatic-20200219-NEC-PinWriter_P6-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P60-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P6_plus-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P7-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P70-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P7_plus-necp6.ppd.gz foomatic-20200219-NEC-Pinwriter_P20-necp6.ppd.gz foomatic-20200219-Star-LC24-100-necp6.ppd.gz
+foomatic-20200219-Oce-9050-oce9050.ppd.gz
+foomatic-20200219-Oki-ML_320-okiibm.ppd.gz foomatic-20200219-Oki-ML_321-okiibm.ppd.gz foomatic-20200219-Oki-Microline_IBM_compatible_9_pin-okiibm.ppd.gz
+foomatic-20200219-Oki-Microline_182-oki182.ppd.gz foomatic-20200219-Oki-Microline_192plus-oki182.ppd.gz
+foomatic-20200219-Oki-OL400w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_4w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_4wplus-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_6w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_8w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_8w_Lite-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_8z-oki4drv.ppd.gz
+foomatic-20200219-Oki-Okijet_2500-cdj550.ppd.gz foomatic-20200219-Xerox-DocuPrint_C6-cdj550.ppd.gz foomatic-20200219-Xerox-DocuPrint_C8-cdj550.ppd.gz foomatic-20200219-Xerox-DocuPrint_XJ6C-cdj550.ppd.gz foomatic-20200219-Xerox-Document_Homecentre-cdj550.ppd.gz foomatic-20200219-Xerox-WorkCentre_450cp-cdj550.ppd.gz
+foomatic-20200219-Panasonic-KX-P1150-eps9high.ppd.gz
+foomatic-20200219-Pentax-PocketJet_200-pentaxpj.ppd.gz foomatic-20200219-Pentax-PocketJet_II-pentaxpj.ppd.gz
+foomatic-20200219-Ricoh-4081-r4081.ppd.gz foomatic-20200219-Ricoh-4801-r4081.ppd.gz foomatic-20200219-Ricoh-6000-r4081.ppd.gz
+foomatic-20200219-Ricoh-GX_E5550N-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-GX_3050SFN-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-GX_5050N-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-GX_3050N-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-GX_E3350N-pxlcolor-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_2300L-pcl5-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_2300SFL-pcl5-Ricoh.ppd.gz
+foomatic-20200219-SiPix-Pocket_Printer_A6-sipixa6.upp.ppd.gz
+foomatic-20200219-Star-NX-1001-eps9mid.ppd.gz
+foomatic-20200219-Star-StarJet_48-sj48.ppd.gz
+foomatic-20200219-Tektronix-4693d-t4693dX.ppd.gz
+foomatic-20200219-Tektronix-4695-tek4696.ppd.gz foomatic-20200219-Tektronix-4696-tek4696.ppd.gz foomatic-20200219-Tektronix-4697-tek4696.ppd.gz
+fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c3375.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c4475.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c2263.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c2275.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c3370.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c3375.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucolor-1450-ga.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-205.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-c3050.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-c3450-d.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-c4000-d.ppd.gz
+hp-20190918-hplip-3.19.6-hp-CopperheadXLP.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadXLP.ppd.gz hp-20190918-hplip-3.19.6-hp-SPDOfficejetProBsize.ppd.gz hplip-20200303-hplip-3.19.12-hp-SPDOfficejetProBsize.ppd.gz hp-20190918-hplip-3.19.6-hp-CopperheadIPH15.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadIPH15.ppd.gz hp-20190918-hplip-3.19.6-hp-CopperheadIPH.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadIPH.ppd.gz hp-20190918-hplip-3.19.6-hp-Mimas15.ppd.gz hplip-20200303-hplip-3.19.12-hp-Mimas15.ppd.gz hp-20190918-hplip-3.19.6-hp-MimasTDR.ppd.gz hplip-20200303-hplip-3.19.12-hp-MimasTDR.ppd.gz hp-20190918-hplip-3.19.6-hp-Mimas17.ppd.gz hplip-20200303-hplip-3.19.12-hp-Mimas17.ppd.gz hp-20190918-hplip-3.19.6-hp-Mimas.ppd.gz hp-20190918-hplip-3.19.6-hp-Saipan.ppd.gz hplip-20200303-hplip-3.19.12-hp-Mimas.ppd.gz hplip-20200303-hplip-3.19.12-hp-Saipan.ppd.gz hp-20190918-hplip-3.19.6-hp-Copperhead12.ppd.gz hplip-20200303-hplip-3.19.12-hp-Copperhead12.ppd.gz hp-20190918-hplip-3.19.6-hp-P15_CISS.ppd.gz hp-20190918-hplip-3.19.6-hp-PyramidRefresh15.ppd.gz hplip-20200303-hplip-3.19.12-hp-P15_CISS.ppd.gz hplip-20200303-hplip-3.19.12-hp-PyramidRefresh15.ppd.gz hp-20190918-hplip-3.19.6-hp-CopperheadIPH17.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadIPH17.ppd.gz hp-20190918-hplip-3.19.6-hp-Python11.ppd.gz hplip-20200303-hplip-3.19.12-hp-Python11.ppd.gz hp-20190918-hplip-3.19.6-hp-SPDOfficejetProAsize.ppd.gz hplip-20200303-hplip-3.19.12-hp-SPDOfficejetProAsize.ppd.gz hp-20190918-hplip-3.19.6-hp-Python10.ppd.gz hplip-20200303-hplip-3.19.12-hp-Python10.ppd.gz hp-20190918-hplip-3.19.6-hp-Corbett.ppd.gz hplip-20200303-hplip-3.19.12-hp-Corbett.ppd.gz hp-20190918-hplip-3.19.6-hp-Pyramid15.ppd.gz hplip-20200303-hplip-3.19.12-hp-Pyramid15.ppd.gz hp-20190918-hplip-3.19.6-hp-Python.ppd.gz hplip-20200303-hplip-3.19.12-hp-Python.ppd.gz hp-20171121-hplip-3.17.10-hp-deskjet_f4210_series.ppd.gz hp-20171121-hplip-3.17.10-hp-deskjet_f4213_series.ppd.gz hp-20190918-hplip-3.19.6-hp-Gemstone.ppd.gz hplip-20200303-hplip-3.19.12-hp-Gemstone.ppd.gz hp-20190918-hplip-3.19.6-hp-OJProKx50.ppd.gz hplip-20200303-hplip-3.19.12-hp-OJProKx50.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d2600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_ink_advant_k109a-z.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4000_k210.ppd.gz hp-20190918-hplip-3.19.6-hp-OJ7000.ppd.gz hplip-20200303-hplip-3.19.12-hp-OJ7000.ppd.gz hp-20190918-hplip-3.19.6-hp-Saipan15B.ppd.gz hplip-20200303-hplip-3.19.12-hp-Saipan15B.ppd.gz hp-20190918-hplip-3.19.6-hp-Ampere.ppd.gz hplip-20200303-hplip-3.19.12-hp-Ampere.ppd.gz hp-20190918-hplip-3.19.6-hp-DJ55xx.ppd.gz hplip-20200303-hplip-3.19.12-hp-DJ55xx.ppd.gz hp-20190918-hplip-3.19.6-hp-ViperPlusVIP.ppd.gz hplip-20200303-hplip-3.19.12-hp-ViperPlusVIP.ppd.gz hp-20190918-hplip-3.19.6-hp-StingrayOJ.ppd.gz hplip-20200303-hplip-3.19.12-hp-StingrayOJ.ppd.gz hp-20190918-hplip-3.19.6-hp-DJ9xxVIP.ppd.gz hplip-20200303-hplip-3.19.12-hp-DJ9xxVIP.ppd.gz hp-20190918-hplip-3.19.6-hp-Copperhead.ppd.gz hplip-20200303-hplip-3.19.12-hp-Copperhead.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_950c.ppd.gz hp-20190918-hplip-3.19.6-hp-PyramidPlus.ppd.gz hplip-20200303-hplip-3.19.12-hp-PyramidPlus.ppd.gz hp-20190918-hplip-3.19.6-hp-Stabler.ppd.gz hplip-20200303-hplip-3.19.12-hp-Stabler.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d4100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-PCL3-Class3.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d4200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d4300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f4100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_5600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1400_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1310_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_j5500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3650.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3840.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d2400_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_5500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_j3600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d2300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f2200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4255.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3600.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3700_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1200_series.ppd.gz hp-20190918-hplip-3.19.6-hp-CLE17.ppd.gz hp-20190918-hplip-3.19.6-hp-Kapan.ppd.gz hp-20190918-hplip-3.19.6-hp-PyramidRefresh17.ppd.gz hplip-20200303-hplip-3.19.12-hp-CLE17.ppd.gz hplip-20200303-hplip-3.19.12-hp-Kapan.ppd.gz hplip-20200303-hplip-3.19.12-hp-PyramidRefresh17.ppd.gz hplip-20200303-hplip-3.19.12-hp-910.ppd.gz hplip-20200303-hplip-3.19.12-hp-915.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f2100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_j3500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1358_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1400_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3740.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1500_series.ppd.gz hp-20190918-hplip-3.19.6-hp-CLE.ppd.gz hplip-20200303-hplip-3.19.12-hp-CLE.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3420.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3500.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3910.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3425.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3450.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3320.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3550.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3940.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3325.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3900.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3920.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4105.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4115_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1000_series.ppd.gz hp-20190918-hplip-3.19.6-hp-LJ-Class6.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class6.ppd.gz hp-20190918-hplip-3.19.6-hp-Pyramid.ppd.gz hplip-20200303-hplip-3.19.12-hp-Pyramid.ppd.gz hp-20190111-hplip-3.18.12-hp-PCL3-Class1B.ppd.gz hp-20190918-hplip-3.19.6-hp-LJ-Class3.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class3.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p1505n-pcl3.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p2014-pcl3.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p2014n-pcl3.ppd.gz hp-20190918-hplip-3.19.6-hp-LJ-Class2.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class2.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-PCL3-Class3A.ppd.gz hplip-20200303-hplip-3.19.12-hp-PCL3-Class3B.ppd.gz hp-20190918-hplip-3.19.6-hp-ViperMinusVIP.ppd.gz hplip-20200303-hplip-3.19.12-hp-PCL4-Class1.ppd.gz hplip-20200303-hplip-3.19.12-hp-ViperMinusVIP.ppd.gz hplip-20201028-hplip-3.19.12-hp-PCL4-Class1.ppd.gz hp-20190918-hplip-3.19.6-hp-LJ-Class1.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class1.ppd.gz hp-20190918-hplip-3.19.6-hp-PSP470.ppd.gz hplip-20200303-hplip-3.19.12-hp-PSP470.ppd.gz hplip-20200303-hplip-3.19.12-hp-DJGenericVIP.ppd.gz hp-20190918-hplip-3.19.6-hp-PSP100.ppd.gz hplip-20200303-hplip-3.19.12-hp-PSP100.ppd.gz hplip-20200303-hplip-3.19.12-hp-photosmart_a530_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-photosmart_a630_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-photosmart_a640_series.ppd.gz
+hp-20190918-hplip-3.19.6-hp-cm8060_mfp_with_edgeline-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-cm8050_mfp_with_edgeline-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-cm8060_mfp_with_edgeline-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-laserjet_m2727_mfp_series-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_m2727_mfp_series-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-laserjet_m1522_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_m1522_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708dr_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1708_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_Z9dr_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1700dr_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1700_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_Z6dr_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z5600_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_Z9_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z6810ps_60in-ps.ppd.gz hp-20190111-hplip-3.18.12-hp-designjet_z6810ps_42in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_Z6_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z6610ps_60in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t3500-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_Z9_24in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z2600_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_Z6_24in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t7200-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_6000ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_6000ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4500ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4500ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_d5800-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps_blueprinter-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp_blueprinter-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_blueprinter-ps.ppd.gz lexmark-20201101-Lexmark_CS310_Series.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z6800_photo-postscript.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z6600-postscript.ppd.gz lexmark-20201101-Lexmark_MS310_Series.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_z5400-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5200_postscript-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_mfp_m776-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_m856-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-postscript-laserjet-pro.ppd.gz hplip-20200303-hplip-3.19.12-hp-postscript-laserjet-pro.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_flowmfp_m776-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-postscript-laserjet.ppd.gz hplip-20200303-hplip-3.19.12-hp-postscript-laserjet.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_e85055-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-postscript-inkjet.ppd.gz hplip-20200303-hplip-3.19.12-hp-postscript-inkjet.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_p55250-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz hp-20190918-hplip-3.19.6-hp-laserjet_200_color_m251-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_200_color_m251-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_100_color_mfp_m175-ps.ppd.gz
+lexmark-20201101-Lexmark_CX920_Series.ppd.gz lexmark-20201101-Lexmark_XC9200_Series.ppd.gz lexmark-20201101-Lexmark_CS920_Series.ppd.gz lexmark-20201101-Lexmark_C9200_Series.ppd.gz lexmark-20201101-Lexmark_X950_Series.ppd.gz lexmark-20201101-Lexmark_C950_Series.ppd.gz lexmark-20201101-Lexmark_CX825_Series.ppd.gz lexmark-20201101-Lexmark_CX860_Series.ppd.gz lexmark-20201101-Lexmark_XC8100_Series.ppd.gz lexmark-20201101-Lexmark_X790_Series.ppd.gz lexmark-20201101-Lexmark_CX820_Series.ppd.gz lexmark-20201101-Lexmark_XC6100_Series.ppd.gz lexmark-20201101-Lexmark_CS820_Series.ppd.gz lexmark-20201101-Lexmark_C6100_Series.ppd.gz lexmark-20201101-Lexmark_MX910_Series.ppd.gz lexmark-20201101-Lexmark_XM9100_Series.ppd.gz lexmark-20201101-Lexmark_MS910_Series.ppd.gz lexmark-20201101-Lexmark_X920_Series.ppd.gz lexmark-20201101-Lexmark_MS820_Series.ppd.gz lexmark-20201101-Lexmark_M5200_Series.ppd.gz lexmark-20201101-Lexmark_B2860_Series.ppd.gz lexmark-20201101-Lexmark_X740_Series.ppd.gz lexmark-20201101-Lexmark_C740_Series.ppd.gz lexmark-20201101-Lexmark_CX410_Series.ppd.gz lexmark-20201101-Lexmark_CX625_Series.ppd.gz lexmark-20201101-Lexmark_CX620_Series.ppd.gz lexmark-20201101-Lexmark_XC2200_Series.ppd.gz lexmark-20201101-Lexmark_CX520_Series.ppd.gz lexmark-20201101-Lexmark_MC2500_Series.ppd.gz lexmark-20201101-Lexmark_MC2600_Series.ppd.gz lexmark-20201101-Lexmark_XC4200_Series.ppd.gz lexmark-20201101-Lexmark_CS410_Series.ppd.gz lexmark-20201101-Lexmark_CX510_Series.ppd.gz lexmark-20201101-Lexmark_C2200_Series.ppd.gz lexmark-20201101-Lexmark_C2500_Series.ppd.gz lexmark-20201101-Lexmark_CS520_Series.ppd.gz lexmark-20201101-Lexmark_CS620_Series.ppd.gz lexmark-20201101-Lexmark_XC2100_Series.ppd.gz lexmark-20201101-Lexmark_X548_Series.ppd.gz lexmark-20201101-Lexmark_CS510_Series.ppd.gz lexmark-20201101-Lexmark_CX420_Series.ppd.gz lexmark-20201101-Lexmark_MC2400_Series.ppd.gz lexmark-20201101-Lexmark_C2400_Series.ppd.gz lexmark-20201101-Lexmark_CS420_Series.ppd.gz lexmark-20201101-Lexmark_MX820_Series.ppd.gz lexmark-20201101-Lexmark_CX725_Series.ppd.gz lexmark-20201101-Lexmark_XC4100_Series.ppd.gz lexmark-20201101-Lexmark_CX310_Series.ppd.gz lexmark-20201101-Lexmark_XM7300_Series.ppd.gz lexmark-20201101-Lexmark_6500e_Series.ppd.gz lexmark-20201101-Lexmark_CS720_Series.ppd.gz lexmark-20201101-Lexmark_CS725_Series.ppd.gz lexmark-20201101-Lexmark_C4100_Series.ppd.gz lexmark-20201101-Lexmark_MC2300_Series.ppd.gz lexmark-20201101-Lexmark_MX6500e_Series.ppd.gz lexmark-20201101-Lexmark_C2300_Series.ppd.gz lexmark-20201101-Lexmark_MS810_Series.ppd.gz lexmark-20201101-Lexmark_MS710_Series.ppd.gz lexmark-20201101-Lexmark_M5100_Series.ppd.gz lexmark-20201101-Lexmark_MX810_Series.ppd.gz lexmark-20201101-Lexmark_XM7100_Series.ppd.gz lexmark-20201101-Lexmark_CX430_Series.ppd.gz lexmark-20201101-Lexmark_MC3400_Series.ppd.gz lexmark-20201101-Lexmark_C3400_Series.ppd.gz lexmark-20201101-Lexmark_CS430_Series.ppd.gz lexmark-20201101-Lexmark_MS725_Series.ppd.gz lexmark-20201101-Lexmark_C790_Series.ppd.gz lexmark-20201101-Lexmark_MX620_Series.ppd.gz lexmark-20201101-Lexmark_MB2600_Series.ppd.gz lexmark-20201101-Lexmark_XM3200_Series.ppd.gz lexmark-20201101-Lexmark_MX520_Series.ppd.gz lexmark-20201101-Lexmark_XM1200_Series.ppd.gz lexmark-20201101-Lexmark_MB2500_Series.ppd.gz lexmark-20201101-Lexmark_MS620_Series.ppd.gz lexmark-20201101-Lexmark_M1200_Series.ppd.gz lexmark-20201101-Lexmark_B2500_Series.ppd.gz lexmark-20201101-Lexmark_B2600_Series.ppd.gz lexmark-20201101-Lexmark_M3200_Series.ppd.gz lexmark-20201101-Lexmark_MS520_Series.ppd.gz lexmark-20201101-Lexmark_MX610_Series.ppd.gz lexmark-20201101-Lexmark_XM3100_Series.ppd.gz lexmark-20201101-Lexmark_C920_Series.ppd.gz lexmark-20201101-Lexmark_MB2300_Series.ppd.gz lexmark-20201101-Lexmark_MB2400_Series.ppd.gz lexmark-20201101-Lexmark_MX320_Series.ppd.gz lexmark-20201101-Lexmark_MX420_Series.ppd.gz lexmark-20201101-Lexmark_MX720_Series.ppd.gz lexmark-20201101-Lexmark_XM5300_Series.ppd.gz lexmark-20201101-Lexmark_MB2700_Series.ppd.gz lexmark-20201101-Lexmark_B2300_Series.ppd.gz lexmark-20201101-Lexmark_B2400_Series.ppd.gz lexmark-20201101-Lexmark_MS420_Series.ppd.gz lexmark-20201101-Lexmark_MS320_Series.ppd.gz lexmark-20201101-Lexmark_MX510_Series.ppd.gz lexmark-20201101-Lexmark_XM1100_Series.ppd.gz lexmark-20201101-Lexmark_MX310_Series.ppd.gz lexmark-20201101-Lexmark_MS610_Series.ppd.gz lexmark-20201101-Lexmark_M3100_Series.ppd.gz lexmark-20201101-Lexmark_MX710_Series.ppd.gz lexmark-20201101-Lexmark_XM5100_Series.ppd.gz lexmark-20201101-Lexmark_MS510_Series.ppd.gz lexmark-20201101-Lexmark_M1100_Series.ppd.gz lexmark-20201101-Lexmark_MX410_Series.ppd.gz lexmark-20201101-Lexmark_MX725_Series.ppd.gz
+ricoh-20190916-Ricoh-IPSiO_SP_3510SF_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3510_PXL.ppd.gz ricoh-20190916-Ricoh-SP_320DN_PXL.ppd.gz ricoh-20190916-Ricoh-SP_320SFN_PXL.ppd.gz ricoh-20190916-Ricoh-SP_320SN_PXL.ppd.gz ricoh-20190916-Ricoh-SP_325DNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_325SFNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_325SNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_377DNwX_PXL.ppd.gz ricoh-20190916-Ricoh-SP_377SFNwX_PXL.ppd.gz ricoh-20190916-Ricoh-SP_377SNwX_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3400L_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3410SF_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3410_PXL.ppd.gz ricoh-20190916-Ricoh-SP_2200L_PXL.ppd.gz ricoh-20190916-Ricoh-SP_2200SFL_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212Nw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SFNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SFw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SUw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212w_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213Nw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SFNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SFw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SUw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213w_PXL.ppd.gz
+ricoh-20190916-Ricoh-P_C301SF_PS.ppd.gz ricoh-20190916-Ricoh-P_C301_PS.ppd.gz foomatic-20200219-Ricoh-SP_C261DNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C261SFNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C262DNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C262SFNw-Postscript-Ricoh.ppd.gz ricoh-20190916-Ricoh-M_C250FWB_PS.ppd.gz ricoh-20190916-Ricoh-M_C250FW_PS.ppd.gz ricoh-20190916-Ricoh-P_C300W_PS.ppd.gz ricoh-20190916-Ricoh-P_C301W_PS.ppd.gz foomatic-20200219-Ricoh-SP_C250DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C250SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C252DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C252SF-Postscript-Ricoh.ppd.gz foomatic-20200219-NRG-SP_C242DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C242SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C242DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C242SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C222SF-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C232SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C222SF-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C232SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C222SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C232SF-Postscript-Ricoh.ppd.gz foomatic-20200219-NRG-SP_3510DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3510SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3510DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3510SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C312DN-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C312DN-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C312DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_330DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_330SFN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_330SN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3710DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3710SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3700-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3700SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C222DN-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C232DN-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C222DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C232DN-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C222DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C232DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_3410DN-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3410SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_3410DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3410SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_300DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3410DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3410SF-Postscript-Ricoh.ppd.gz foomatic-20200219-NRG-SP_3500N-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3500SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3500N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3500SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C311N-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C311N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C311N-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_C221N-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C231N-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C221N-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C231N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C221N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C231N-Postscript-Ricoh.ppd.gz foomatic-20200219-Lanier-SP_3400N-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3400SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_3400N-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3400SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3400N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3400SF-Postscript-Ricoh.ppd.gz
+ricoh-20191218-SP_C420e_JPN-PostscriptColor-Ricoh.ppd.gz ricoh-20200403-Ricoh-IM_C2000_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C2500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C3000_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C300_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C3500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C4500A_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C4500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C5500A_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C5500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C6000_JPN.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C320.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C411-ME.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C411.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C420-ME.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C420.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C711.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C721.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C721M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C730.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C730M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C731.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C731M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C810.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C810M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C811.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C811M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C820.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C820M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C821.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C821M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C830.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C830M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C831.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C831M.ppd.gz ricoh-20200403-Ricoh-MP_C1803_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C2503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C2504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3003_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3004_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C305_SP_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C306_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C307_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C4503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C4504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C5503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C5504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6003_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6004_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6502_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C8002_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C8003_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5100S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5110S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5200S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5210S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7100S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7110S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7110_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7200S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7210S_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C341_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C342_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C420e_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C420e_ME_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C420e_M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C750M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C750_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C751M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C751_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840M_a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841M_a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841a1_JPN.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C1800.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2200.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2201.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2800.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2801.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2802.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3300.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3301.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3302.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3500it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4000it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4001A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4001it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4002A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4500it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5000it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001A_it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5002A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C6000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C6001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C7500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C7501.ppd.gz ricoh-20200821-Ricoh-IM_C6500_JPN.ppd.gz ricoh-20200821-Ricoh-IM_C8000_JPN.ppd.gz ricoh-20200821-Ricoh-Pro_C5300S_JPN.ppd.gz ricoh-20200821-Ricoh-Pro_C5310S_JPN.ppd.gz foomatic-20190909-Ricoh-IM_430F-PostscriptMono-Ricoh.ppd.gz ricoh-20200403-Ricoh-IM_430F.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_4210.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_4300.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_4310.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6110.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6120.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6210.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6220.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6310.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6320.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6330.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8100.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8100M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8200.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8200M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8300.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8300M.ppd.gz ricoh-20200403-Ricoh-IP_500SF.ppd.gz ricoh-20200403-Ricoh-MP_1301_JPN.ppd.gz ricoh-20200403-Ricoh-MP_1601_JPN.ppd.gz ricoh-20200403-Ricoh-MP_2553_JPN.ppd.gz ricoh-20200403-Ricoh-MP_2554_JPN.ppd.gz ricoh-20200403-Ricoh-MP_2555_JPN.ppd.gz ricoh-20200403-Ricoh-MP_305plus_JPN.ppd.gz ricoh-20200403-Ricoh-MP_305plus_SPF_JPN.ppd.gz ricoh-20200403-Ricoh-MP_3353_JPN.ppd.gz ricoh-20200403-Ricoh-MP_3554_JPN.ppd.gz ricoh-20200403-Ricoh-MP_3555_JPN.ppd.gz ricoh-20200403-Ricoh-MP_401SPF_JPN.ppd.gz ricoh-20200403-Ricoh-MP_4054_JPN.ppd.gz ricoh-20200403-Ricoh-MP_4055_JPN.ppd.gz ricoh-20200403-Ricoh-MP_5054_JPN.ppd.gz ricoh-20200403-Ricoh-MP_5055_JPN.ppd.gz ricoh-20200403-Ricoh-MP_6054_JPN.ppd.gz ricoh-20200403-Ricoh-MP_6055_JPN.ppd.gz ricoh-20200403-Ricoh-MP_6503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_7503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_9003_JPN.ppd.gz ricoh-20200403-Ricoh-P_500_JPN.ppd.gz ricoh-20200403-Ricoh-P_501_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_1107EXP.ppd.gz ricoh-20200403-Ricoh-Pro_1357EXP.ppd.gz ricoh-20200403-Ricoh-Pro_6100HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_6100_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8100S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8110HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8110S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8110Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8120HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8120S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8120Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8200S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8210HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8210S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8210Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8220HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8220S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8220Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8300S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8310HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8310S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8310Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8320HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8320S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8320Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_907EXP.ppd.gz ricoh-20200403-Ricoh-SP_4500_JPN.ppd.gz ricoh-20200403-Ricoh-SP_4510SF_JPN.ppd.gz ricoh-20200403-Ricoh-SP_4510_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6410_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6420M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6420_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6430M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6430_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6440M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6440_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6450_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400M_a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400a1_JPN.ppd.gz ricoh-20200403-Ricoh-imagio_MP_1100.ppd.gz ricoh-20200403-Ricoh-imagio_MP_1350.ppd.gz ricoh-20200403-Ricoh-imagio_MP_2550.ppd.gz ricoh-20200403-Ricoh-imagio_MP_2552.ppd.gz ricoh-20200403-Ricoh-imagio_MP_3350.ppd.gz ricoh-20200403-Ricoh-imagio_MP_3352.ppd.gz ricoh-20200403-Ricoh-imagio_MP_4000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_4002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_5000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_5002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6001GP.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6002GP.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7500T.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7501.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7502.ppd.gz ricoh-20200403-Ricoh-imagio_MP_8000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_8000T.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9001T.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9002T.ppd.gz ricoh-20200403-Ricoh-imagio_Neo_452.ppd.gz ricoh-20200403-Ricoh-imagio_Neo_453.ppd.gz ricoh-20200527-Ricoh-P_6000_JPN.ppd.gz ricoh-20200527-Ricoh-P_6010M_JPN.ppd.gz ricoh-20200527-Ricoh-P_6010_JPN.ppd.gz ricoh-20200527-Ricoh-P_6020M_JPN.ppd.gz ricoh-20200527-Ricoh-P_6020_JPN.ppd.gz ricoh-20200527-Ricoh-P_6030M_JPN.ppd.gz ricoh-20200527-Ricoh-P_6030_JPN.ppd.gz
+ricoh-20200930-Ricoh_Generic_PS_Printer.ppd.gz
+star-20171009-starcupsdrv-3.6.0-hsp7000r.ppd.gz
+star-20171009-starcupsdrv-3.6.0-hsp7000s.ppd.gz
+star-20171009-starcupsdrv-3.6.0-hsp7000v.ppd.gz
+star-20171009-starcupsdrv-3.6.0-sp512.ppd.gz
+star-20171009-starcupsdrv-3.6.0-sp542.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tsp1000.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tsp828l.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup542.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup592.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup942.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup992.ppd.gz
+star-20191209-fvp10.ppd.gz
+star-20191209-mcp20.ppd.gz
+star-20191209-mcp21.ppd.gz
+star-20191209-mcp30.ppd.gz
+star-20191209-mcp31.ppd.gz
+star-20191209-pop10.ppd.gz
+star-20191209-sp712.ppd.gz
+star-20191209-sp717.ppd.gz
+star-20191209-sp742.ppd.gz
+star-20191209-sp747.ppd.gz
+star-20191209-tsp113.ppd.gz star-20191209-tsp113gt.ppd.gz
+star-20191209-tsp143.ppd.gz star-20191209-tsp143gt.ppd.gz
+star-20191209-tsp651.ppd.gz
+star-20191209-tsp654.ppd.gz
+star-20191209-tsp700II.ppd.gz
+star-20191209-tsp800II.ppd.gz
diff --git a/client/site_tests/platform_PrinterPpds/platform_PrinterPpds.py b/client/site_tests/platform_PrinterPpds/platform_PrinterPpds.py
index 4935fff..eca6b2f 100644
--- a/client/site_tests/platform_PrinterPpds/platform_PrinterPpds.py
+++ b/client/site_tests/platform_PrinterPpds/platform_PrinterPpds.py
@@ -35,13 +35,6 @@
# Values are from platform/system_api/dbus/debugd/dbus-constants.h.
_CUPS_SUCCESS = 0
-# Exceptions, cases that we want to omit/ignore
-# key: document; values: list of PPD files
-_EXCEPTIONS = { 'split_streams.pdf': ['HP-DeskJet_200-pcl3.ppd.gz',
- 'HP-DeskJet_310-pcl3.ppd.gz', 'HP-DeskJet_320-pcl3.ppd.gz',
- 'HP-DeskJet_340C-pcl3.ppd.gz', 'HP-DeskJet_540C-pcl3.ppd.gz',
- 'HP-DeskJet_560C-pcl3.ppd.gz'] }
-
class platform_PrinterPpds(test.test):
"""
This test gets a list of PPD files and a list of test documents. It tries
@@ -85,14 +78,16 @@
return os.path.join(path_current, path)
- def initialize(
- self, path_docs, path_ppds=None, path_digests=None,
- debug_mode=False, threads_count=8):
+ def initialize(self,
+ path_docs,
+ path_ppds,
+ path_digests=None,
+ debug_mode=False,
+ threads_count=8):
"""
@param path_docs: path to local directory with documents to print
@param path_ppds: path to local directory with PPD files to test;
- if None is set then all PPD files from the SCS server are
- downloaded and tested
+ the directory is supposed to be compressed as .tar.xz.
@param path_digests: path to local directory with digests files for
test documents; if None is set then content of printed
documents is not verified
@@ -119,51 +114,49 @@
self._configurator = configurator.Configurator()
self._configurator.configure(debug_mode)
- # Reads list of test documents
+ # Read list of test documents
self._docs = helpers.list_entries_from_directory(
path=self._location_of_test_docs,
with_suffixes=('.pdf'),
nonempty_results=True,
include_directories=False)
- # Get list of PPD files ...
- if self._location_of_PPD_files is None:
- # ... from the SCS server
- self._ppds = self._get_filenames_from_PPD_indexes()
- else:
- # ... from the given local directory
- # Unpack archives with all PPD files:
- path_archive = self._calculate_full_path('ppds_all.tar.xz')
- path_target_dir = self._calculate_full_path('.')
- file_utils.rm_dir_if_exists(
- os.path.join(path_target_dir,'ppds_all'))
- subprocess.call(['tar', 'xJf', path_archive, '-C', path_target_dir])
- path_archive = self._calculate_full_path('ppds_100.tar.xz')
- file_utils.rm_dir_if_exists(
- os.path.join(path_target_dir,'ppds_100'))
- subprocess.call(['tar', 'xJf', path_archive, '-C', path_target_dir])
- # Load PPD files from the chosen directory
- self._ppds = helpers.list_entries_from_directory(
- path=self._location_of_PPD_files,
- with_suffixes=('.ppd','.ppd.gz'),
- nonempty_results=True,
- include_directories=False)
+ # Load the list of PPD files to omit
+ do_not_test_path = self._calculate_full_path('do_not_test.txt')
+ do_not_test_set = set(helpers.load_lines_from_file(do_not_test_path))
+
+ # Unpack an archive with the PPD files:
+ path_archive = self._location_of_PPD_files + '.tar.xz'
+ path_target_dir = self._calculate_full_path('.')
+ file_utils.rm_dir_if_exists(os.path.join(path_target_dir, path_ppds))
+ subprocess.call(['tar', 'xJf', path_archive, '-C', path_target_dir])
+ # Load PPD files from the unpacked directory
+ self._ppds = helpers.list_entries_from_directory(
+ path=self._location_of_PPD_files,
+ with_suffixes=('.ppd', '.ppd.gz'),
+ nonempty_results=True,
+ include_directories=False)
+ # Remove from the list all PPD files to omit and sort it
+ self._ppds = list(set(self._ppds) - do_not_test_set)
self._ppds.sort()
# Load digests files
self._digests = dict()
+ self._sizes = dict()
if location_of_digests_files is None:
for doc_name in self._docs:
self._digests[doc_name] = dict()
+ self._sizes[doc_name] = dict()
else:
path_denylist = os.path.join(location_of_digests_files,
'denylist.txt')
- denylist = helpers.load_denylist(path_denylist)
+ denylist = helpers.load_lines_from_file(path_denylist)
for doc_name in self._docs:
digests_name = doc_name + '.digests'
path = os.path.join(location_of_digests_files, digests_name)
- self._digests[doc_name] = helpers.parse_digests_file(
- path, denylist)
+ digests, sizes = helpers.parse_digests_file(path, denylist)
+ self._digests[doc_name] = digests
+ self._sizes[doc_name] = sizes
# Prepare a working directory for pipelines
if debug_mode:
@@ -217,8 +210,10 @@
self._ppds, 50)
# A place for new digests
self._new_digests = dict()
+ self._new_sizes = dict()
for doc_name in self._docs:
self._new_digests[doc_name] = dict()
+ self._new_sizes[doc_name] = dict()
# Runs tests for all PPD files (in parallel)
outputs = self._processor.run(self._thread_test_PPD, len(self._ppds))
@@ -241,7 +236,7 @@
path = os.path.join(self._path_output_directory,
doc_name + '.digests')
helpers.save_digests_file(path, self._new_digests[doc_name],
- failures)
+ self._new_sizes[doc_name], failures)
# Raises an exception if at least one test failed
if len(failures) > 0:
@@ -345,13 +340,6 @@
# Prints all test documents
try:
for doc_name in self._docs:
- # Omit exceptions
- if ( doc_name in _EXCEPTIONS and
- ppd_name in _EXCEPTIONS[doc_name] ):
- if self._path_output_directory is not None:
- self._new_digests[doc_name][ppd_name] = (
- helpers.calculate_digest('\x00') )
- continue
# Full path to the test document
path_doc = os.path.join(
self._location_of_test_docs, doc_name)
@@ -386,6 +374,7 @@
ppd_name, '.sh', pipeline)
# Set new digest
self._new_digests[doc_name][ppd_name] = digest
+ self._new_sizes[doc_name][ppd_name] = len(doc)
# Fail if any of CUPS filters failed
if not no_errors:
raise Exception('One of the CUPS filters failed')
@@ -400,6 +389,10 @@
digest_expected = self._digests[doc_name][ppd_name]
if digest_expected != digest:
message = 'Document\'s digest does not match'
+ if ppd_name in self._sizes[doc_name]:
+ message += ', old size: ' + \
+ str(self._sizes[doc_name][ppd_name])
+ message += ', new size: ' + str(len(doc))
raise Exception(message)
else:
# Simple validation
diff --git a/client/site_tests/platform_PrinterPpds/ppdTool.go b/client/site_tests/platform_PrinterPpds/ppdTool.go
index c4f4271..6591f1c 100644
--- a/client/site_tests/platform_PrinterPpds/ppdTool.go
+++ b/client/site_tests/platform_PrinterPpds/ppdTool.go
@@ -515,8 +515,8 @@
func commandCompare(args []string) {
const filenameLargeClusters = "large_clusters.txt"
const filenameSmallClusters = "small_clusters.txt"
- const dirnameCorePPDs = "core_ppds"
- const dirnameExtPPDs = "ext_ppds"
+ const dirnameCorePPDs = "ppds_core"
+ const dirnameExtPPDs = "ppds_ext"
flags := flag.NewFlagSet("compare", flag.ExitOnError)
flagInput := flags.String("input", "ppds_all", "Directory with PPD files.")
@@ -652,11 +652,11 @@
In the output directory, the following files and directories are created:
* large_clusters.txt - a file with PPD names grouped in large clusters
* small_clusters.txt - a file with PPD names grouped in small clusters
- * core_ppds - a directory with hard links to PPD files representing
+ * ppds_core - a directory with hard links to PPD files representing
large clusters, each cluster is represented by exactly one PPD file.
For the full PPD dataset given on the input, this directory is
supposed to have around ~100 PPD files;
- * ext_ppds - a directory with hard links to PPD files representing
+ * ppds_ext - a directory with hard links to PPD files representing
small clusters, each cluster is represented by exactly one PPD file.
IF A PPD FILE IS ALREADY PRESENT IN core_ppds IT IS OMITTED. For the
full PPD dataset given on the input, this directory is supposed to
diff --git a/client/site_tests/platform_PrinterPpds/ppds_100.tar.xz b/client/site_tests/platform_PrinterPpds/ppds_100.tar.xz
deleted file mode 100644
index e20db2b..0000000
--- a/client/site_tests/platform_PrinterPpds/ppds_100.tar.xz
+++ /dev/null
Binary files differ
diff --git a/client/site_tests/platform_PrinterPpds/ppds_all.tar.xz b/client/site_tests/platform_PrinterPpds/ppds_all.tar.xz
deleted file mode 100644
index 4a909b7..0000000
--- a/client/site_tests/platform_PrinterPpds/ppds_all.tar.xz
+++ /dev/null
Binary files differ
diff --git a/client/site_tests/platform_PrinterPpds/ppds_core.tar.xz b/client/site_tests/platform_PrinterPpds/ppds_core.tar.xz
new file mode 100644
index 0000000..41aa4fa
--- /dev/null
+++ b/client/site_tests/platform_PrinterPpds/ppds_core.tar.xz
Binary files differ
diff --git a/client/site_tests/platform_PrinterPpds/ppds_ext.tar.xz b/client/site_tests/platform_PrinterPpds/ppds_ext.tar.xz
new file mode 100644
index 0000000..e3083c9
--- /dev/null
+++ b/client/site_tests/platform_PrinterPpds/ppds_ext.tar.xz
Binary files differ
diff --git a/client/site_tests/platform_PrinterPpds/readme.txt b/client/site_tests/platform_PrinterPpds/readme.txt
index 60edf7a..d4bc3fb 100644
--- a/client/site_tests/platform_PrinterPpds/readme.txt
+++ b/client/site_tests/platform_PrinterPpds/readme.txt
@@ -1,13 +1,24 @@
Tests naming convention
-----------------------
Names of tests (suffixes of control.* files) are build from 2 or 3 words
-separated by an underscore character. The first one is '100' or 'all', what
-defines the set of PPD files to test: '100' means 100 chosen (most often used)
-PPD files (stored in the archive ppds_100) while 'all' means all available PPD
-files (stored in the archive ppds_all). The second word of the name is either
-'test' or 'dump'. The third and optional word is 'debug'. All these three words
-influence testing procedure used by the autotest, their meanings are described
-in next paragraphs.
+separated by an underscore character. The first one is 'core' or 'ext', what
+defines the set of PPD files to test. These two are described in the section
+below. The second word of the name is either 'test' or 'dump'. The third and
+optional word is 'debug'. All these three words influence the testing
+procedure used by the autotest, their meanings are described in the next
+paragraphs.
+
+Input sets of PPD files ('core' and 'ext')
+------------------------------------------
+There are two input sets of PPD files to test: 'core' and 'ext'. 'core' is the
+smaller one and represents clusters defined in the file large_clusters.txt; it
+is built by taking the first element (PPD filename) from every line of this
+file. The set 'ext' is built in similar way by taking the first element (PPD
+filename) from every line of small_clusters.txt file; however the elements
+already present in 'core' are omitted. Currently, 'core' contains around ~130
+PPD files; the exact size equals the number of lines in large_clusters.txt.
+The set 'ext' contains around ~1400 PPD files; the exact size equals the number
+of lines in small_clusters.txt minus the number of lines in large_clusters.txt.
Overall testing procedure
-------------------------
@@ -22,7 +33,7 @@
7. All obtained outputs & logs are saved on the device (see below) - dump only.
8. The printer driver is removed from CUPS server.
This procedure is repeated for every PPD file. The number of PPD files may be
-large (3K+ files). To decrease amount of time needed by the autotest, several
+large (~2K files). To decrease amount of time needed by the autotest, several
PPD files are tested simultaneously in parallel threads. Autotest always run
the procedure for all given PPD files and print a summary report at the end.
If at least one of PPD files fails, whole autotest is finished with failure
@@ -73,8 +84,8 @@
Test parameters
---------------
path_docs - path to directory with test documents (PDF files)
-path_ppds - path to directory with PPD files, if not set then all available PPD
- files are downloaded and tested
+path_ppds - path to directory with PPD files, it is supposed to be compressed
+ as .tar.xz files (with a command "tar cJf ...")
path_digests - path to directory with files containing digests for
verification, if not set then outputs are not verified
path_outputs - if set, then all outputs are dumped there (given directory is
@@ -92,14 +103,21 @@
rsync root@<device IP>:/tmp/PrinterPpds_outputs/*.digests <local dir>
3. Replace the files from the "digests" directory and commit changes
-Updating the archive with PPD files
------------------------------------
+Updating the archives with PPD files
+------------------------------------
Currently, all tests are based on PPD files stored in local directories. The
autotest can download all PPD files by itself, but we do not use this option
-to limit the number of possible points of failures during testing. PPD files
-are stored in the archive 'ppds_all.tar.xz'. To replace the archive with the
-current list of supported PPD files, one can use the script
-'download_ppds_make_archive.py'.
+to limit the number of possible points of failures during testing. Archives
+with PPD files are prepared with ppdTool.go:
+1. Delete old files:
+ rm ppds_core.tar.xz ppds_ext.tar.xz large_clusters.txt small_clusters.txt
+2. Download all PPD files to ppds_all directory:
+ go run ppdTool.go download
+3. Calculate new clusters:
+ go run ppdTool.go compare
+4. Compress new directories with PPD files:
+ tar cJf ppds_core.tar.xz ppds_core
+ tar cJf ppds_ext.tar.xz ppds_ext
Others
------
diff --git a/client/site_tests/platform_PrinterPpds/small_clusters.txt b/client/site_tests/platform_PrinterPpds/small_clusters.txt
new file mode 100644
index 0000000..859808b
--- /dev/null
+++ b/client/site_tests/platform_PrinterPpds/small_clusters.txt
@@ -0,0 +1,1537 @@
+brother-20191213-DCP7180DN.ppd.gz brother-20191213-DCP7189DW.ppd.gz brother-20191213-DCP7190DN.ppd.gz brother-20191213-DCPB7500D.ppd.gz brother-20191213-DCPB7520DW.ppd.gz brother-20191213-DCPB7530DN.ppd.gz brother-20191213-DCPB7535DW.ppd.gz brother-20191213-DCPL2535DW.ppd.gz brother-20191213-DCPL2540DN.ppd.gz brother-20191213-DCPL2540DW.ppd.gz brother-20191213-DCPL2550DN.ppd.gz brother-20191213-DCPL2550DW.ppd.gz brother-20191213-DCPL2551DN.ppd.gz brother-20191213-DCPL2560DW.ppd.gz brother-20191213-HL2560DN.ppd.gz brother-20191213-HL2569DW.ppd.gz brother-20191213-HL2590DN.ppd.gz brother-20191213-HLB2050DN.ppd.gz brother-20191213-HLB2080DW.ppd.gz brother-20191213-HLL2360D.ppd.gz brother-20191213-HLL2370DN.ppd.gz brother-20191213-HLL2370DW.ppd.gz brother-20191213-HLL2371DN.ppd.gz brother-20191213-HLL2375DW.ppd.gz brother-20191213-HLL2380DW.ppd.gz brother-20191213-HLL2395DW.ppd.gz brother-20191213-MFC7880DN.ppd.gz brother-20191213-MFC7889DW.ppd.gz brother-20191213-MFC7890DN.ppd.gz brother-20191213-MFCB7715DW.ppd.gz brother-20191213-MFCB7720DN.ppd.gz brother-20191213-MFCL2715DW.ppd.gz brother-20191213-MFCL2720DN.ppd.gz brother-20191213-MFCL2720DW.ppd.gz brother-20191213-MFCL2730DN.ppd.gz brother-20191213-MFCL2730DW.ppd.gz brother-20191213-MFCL2740DW.ppd.gz brother-20191213-MFCL2750DW.ppd.gz brother-20200131-DCP7070DW.ppd.gz brother-20200131-FAX7860DW.ppd.gz brother-20200131-HL2250DN.ppd.gz brother-20200131-HL2270DW.ppd.gz brother-20200131-HL2280DW.ppd.gz brother-20200131-HLL2360DN.ppd.gz brother-20200131-HLL2360DW.ppd.gz brother-20200131-HLL2365DW.ppd.gz brother-20200131-HLL2372DN.ppd.gz brother-20200131-MFC7470D.ppd.gz brother-20200131-MFC7860DN.ppd.gz brother-20200131-MFC7860DW.ppd.gz brother-20200131-MFCL2705DW.ppd.gz
+brother-20191213-DCP7195DW.ppd.gz brother-20191213-HLL2385DW.ppd.gz brother-20191213-MFC7895DW.ppd.gz brother-20191213-MFCL2770DW.ppd.gz brother-20200131-DCP8070D.ppd.gz brother-20200131-HL2595DW.ppd.gz brother-20200131-MFC8370DN.ppd.gz
+brother-20191213-DCPL5500DN.ppd.gz brother-20191213-DCPL5502DN.ppd.gz brother-20191213-DCPL5600DN.ppd.gz brother-20191213-DCPL5602DN.ppd.gz brother-20191213-DCPL5650DN.ppd.gz brother-20191213-DCPL5652DN.ppd.gz brother-20191213-HL5580D.ppd.gz brother-20191213-HL5585D.ppd.gz brother-20191213-HL5590DN.ppd.gz brother-20191213-HLL5000D.ppd.gz brother-20191213-HLL5100DN.ppd.gz brother-20191213-HLL5102DW.ppd.gz brother-20191213-HLL5200DW.ppd.gz brother-20191213-HLL5202DW.ppd.gz brother-20191213-MFC8530DN.ppd.gz brother-20191213-MFC8535DN.ppd.gz brother-20191213-MFC8540DN.ppd.gz brother-20191213-MFCL5700DN.ppd.gz brother-20191213-MFCL5700DW.ppd.gz brother-20191213-MFCL5702DW.ppd.gz brother-20191213-MFCL5750DW.ppd.gz brother-20191213-MFCL5755DW.ppd.gz brother-20191213-MFCL5800DW.ppd.gz brother-20191213-MFCL5802DW.ppd.gz brother-20191213-MFCL5850DW.ppd.gz brother-20191213-MFCL5900DW.ppd.gz brother-20191213-MFCL5902DW.ppd.gz brother-20191213-MFCL6700DW.ppd.gz brother-20191213-MFCL6702DW.ppd.gz brother-20191213-MFCL6750DW.ppd.gz brother-20200131-HL5340D.ppd.gz brother-20200131-HL5350DN.ppd.gz brother-20200131-HL5370DW.ppd.gz brother-20200131-HL5380DN.ppd.gz
+brother-20191213-DCPL6600DW.ppd.gz brother-20191213-HLL6300DW.ppd.gz brother-20191213-HLL6400DW.ppd.gz brother-20191213-HLL6402DW.ppd.gz brother-20191213-MFCL6800DW.ppd.gz brother-20191213-MFCL6900DW.ppd.gz brother-20191213-MFCL6902DW.ppd.gz
+brother-20191213-HL5595DNH.ppd.gz brother-20191213-HLL6200DW.ppd.gz brother-20191213-HLL6202DW.ppd.gz brother-20191213-HLL6250DN.ppd.gz brother-20191213-HLL6250DW.ppd.gz
+brother-20200131-DCP7025.ppd.gz brother-20200131-DCP7045N.ppd.gz brother-20200131-HL2070N.ppd.gz brother-20200131-HL2075N.ppd.gz brother-20200131-HL2150N.ppd.gz brother-20200131-HL2170W.ppd.gz brother-20200131-MFC7225N.ppd.gz brother-20200131-MFC7820N.ppd.gz brother-20200131-MFC7840N.ppd.gz brother-20200131-MFC7840W.ppd.gz
+brother-20200131-DCP8080DN.ppd.gz brother-20200131-DCP8085DN.ppd.gz brother-20200131-DCP8110D.ppd.gz brother-20200131-DCP8110DN.ppd.gz brother-20200131-DCP8112DN.ppd.gz brother-20200131-DCP8150DN.ppd.gz brother-20200131-DCP8152DN.ppd.gz brother-20200131-DCP8155DN.ppd.gz brother-20200131-DCP8157DN.ppd.gz brother-20200131-DCP8250DN.ppd.gz brother-20200131-HL5440D.ppd.gz brother-20200131-HL5450DN.ppd.gz brother-20200131-HL5470DW.ppd.gz brother-20200131-HL6180DW.ppd.gz brother-20200131-MFC8380DN.ppd.gz brother-20200131-MFC8480DN.ppd.gz brother-20200131-MFC8510D.ppd.gz brother-20200131-MFC8510DN.ppd.gz brother-20200131-MFC8512DN.ppd.gz brother-20200131-MFC8515DN.ppd.gz brother-20200131-MFC8520DN.ppd.gz brother-20200131-MFC8680DN.ppd.gz brother-20200131-MFC8690DW.ppd.gz brother-20200131-MFC8710DN.ppd.gz brother-20200131-MFC8710DW.ppd.gz brother-20200131-MFC8712DN.ppd.gz brother-20200131-MFC8712DW.ppd.gz brother-20200131-MFC8810DW.ppd.gz brother-20200131-MFC8880DN.ppd.gz brother-20200131-MFC8890DW.ppd.gz brother-20200131-MFC8910DW.ppd.gz brother-20200131-MFC8912DW.ppd.gz brother-20200131-MFC8950DW.ppd.gz brother-20200131-MFC8952DW.ppd.gz
+brother-20200615-DCP9030CDN.ppd.gz brother-20200615-DCPL3510CDW.ppd.gz brother-20200615-DCPL3550CDW.ppd.gz brother-20200615-DCPL3551CDW.ppd.gz brother-20200615-HL3160CDW.ppd.gz brother-20200615-HL3190CDW.ppd.gz brother-20200615-HLL3230CDN.ppd.gz brother-20200615-HLL3230CDW.ppd.gz brother-20200615-HLL3270CDW.ppd.gz brother-20200615-HLL3290CDW.ppd.gz brother-20200615-MFC9150CDN.ppd.gz brother-20200615-MFCL3730CDN.ppd.gz brother-20200615-MFCL3735CDN.ppd.gz brother-20200615-MFCL3745CDW.ppd.gz brother-20200615-MFCL3750CDW.ppd.gz
+brother-20200615-DCPL8410CDW.ppd.gz brother-20200615-HLL8260CDN.ppd.gz brother-20200615-HLL8260CDW.ppd.gz brother-20200615-HLL8360CDW.ppd.gz brother-20200615-HLL9310CDW.ppd.gz brother-20200615-MFCL8610CDW.ppd.gz brother-20200615-MFCL8690CDW.ppd.gz brother-20200615-MFCL8900CDW.ppd.gz brother-20200615-MFCL9570CDW.ppd.gz
+brother-20200615-HLL3210CW.ppd.gz brother-20200615-MFCL3710CW.ppd.gz
+brother-20200615-MFC9350CDW.ppd.gz brother-20200615-MFCL3770CDW.ppd.gz
+brother-20201006-DCP7080-cups-en.ppd.gz brother-20201006-HL2260-cups-en.ppd.gz brother-20201006-HLL2300-cups-en.ppd.gz brother-20201006-HLL2305-cups-en.ppd.gz brother-20201006-MFC7380-cups-en.ppd.gz brother-20201006-MFCL2680W-cups-en.ppd.gz
+brother-20201006-DCP7080D-cups-en.ppd.gz brother-20201006-DCPL2500D-cups-en.ppd.gz brother-20201006-DCPL2520D-cups-en.ppd.gz brother-20201006-DCPL2520DW-cups-en.ppd.gz brother-20201006-FAXL2700DN-cups-en.ppd.gz brother-20201006-HL2260D-cups-en.ppd.gz brother-20201006-HLL2300D-cups-en.ppd.gz brother-20201006-HLL2315DW-cups-en.ppd.gz brother-20201006-HLL2320D-cups-en.ppd.gz brother-20201006-HLL2340D-cups-en.ppd.gz brother-20201006-MFC7480D-cups-en.ppd.gz brother-20201006-MFCL2700D-cups-en.ppd.gz brother-20201006-MFCL2700DN-cups-en.ppd.gz brother-20201006-MFCL2700DW-cups-en.ppd.gz
+brother-20201006-DCP7090-cups-en.ppd.gz brother-20201006-MFC7390-cups-en.ppd.gz
+brother-20201006-DCP7090DW-cups-en.ppd.gz brother-20201006-DCP7095D-cups-en.ppd.gz brother-20201006-DCP7190DW-cups-en.ppd.gz brother-20201006-DCPL2510D-cups-en.ppd.gz brother-20201006-DCPL2530DW-cups-en.ppd.gz brother-20201006-DCPL2537DW-cups-en.ppd.gz brother-20201006-FAXL2710DN-cups-en.ppd.gz brother-20201006-HLL2390DW-cups-en.ppd.gz brother-20201006-MFC7490D-cups-en.ppd.gz brother-20201006-MFCB7700D-cups-en.ppd.gz brother-20201006-MFCL2690DW-cups-en.ppd.gz brother-20201006-MFCL2710DN-cups-en.ppd.gz brother-20201006-MFCL2710DW-cups-en.ppd.gz brother-20201006-MFCL2713DW-cups-en.ppd.gz brother-20201006-MFCL2717DW-cups-en.ppd.gz
+brother-20201006-HL2290-cups-en.ppd.gz
+brother-20201006-HL2295D-cups-en.ppd.gz brother-20201006-HLB2000D-cups-en.ppd.gz brother-20201006-HLL2310D-cups-en.ppd.gz brother-20201006-HLL2325DW-cups-en.ppd.gz brother-20201006-HLL2330D-cups-en.ppd.gz brother-20201006-HLL2335D-cups-en.ppd.gz brother-20201006-HLL2350DW-cups-en.ppd.gz brother-20201006-HLL2357DW-cups-en.ppd.gz
+brother-20201006-MFCL2685DW-cups-en.ppd.gz brother-20201006-MFCL2707DW-cups-en.ppd.gz
+cups-20170101-Generic-PDF_Printer-PDF.ppd.gz
+dymo-20200714-lm280.ppd.gz
+dymo-20200714-lm400.ppd.gz
+dymo-20200714-lm420p.ppd.gz
+dymo-20200714-lm450.ppd.gz
+dymo-20200714-lm500ts.ppd.gz
+dymo-20200714-lmpc.ppd.gz
+dymo-20200714-lmpc2.ppd.gz
+dymo-20200714-lmpnp.ppd.gz
+dymo-20200714-lmpnpw.ppd.gz
+dymo-20200714-lp350.ppd.gz
+dymo-20200714-lw300.ppd.gz dymo-20200714-lw310.ppd.gz
+dymo-20200714-lw315.ppd.gz
+dymo-20200714-lw320.ppd.gz
+dymo-20200714-lw330.ppd.gz
+dymo-20200714-lw330t.ppd.gz
+dymo-20200714-lw400.ppd.gz
+dymo-20200714-lw400t.ppd.gz
+dymo-20200714-lw450.ppd.gz
+dymo-20200714-lw450dl.ppd.gz
+dymo-20200714-lw450dt.ppd.gz
+dymo-20200714-lw450t.ppd.gz
+dymo-20200714-lw450tt.ppd.gz
+dymo-20200714-lw4xl.ppd.gz
+dymo-20200714-lwduol.ppd.gz
+dymo-20200714-lwduot.ppd.gz
+dymo-20200714-lwduot2.ppd.gz
+dymo-20200714-lwtt.ppd.gz
+dymo-20200714-se450.ppd.gz
+epson-20170125-Epson-L380_Series-epson-escpr-en-1.6.10.ppd.gz
+epson-20170125-Epson-L382_Series-epson-escpr-en-1.6.10.ppd.gz
+epson-20200615-1_6_41-Epson-Artisan_1430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1500-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Artisan_630-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_720-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_830-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Artisan_700-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Artisan_710-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_810-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Artisan_730-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Artisan_837-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX730-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-150-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-200-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-300-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-330-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-330S-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-340-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-720-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-350-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-360_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-600-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-810-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-820-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-830_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_245-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-370_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-840_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-E-700-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-E-850_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-10VA_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-306_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-806A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-30VA_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-4004-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-702A-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-703A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-704A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-774A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-802A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-803A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-902A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-903A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-903F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-705A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-706A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-776A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-707A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-708A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-709A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-710A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-711A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-775A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-777A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-801A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-503A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-504A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-601F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-602F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-603F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-673F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-804A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-904A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-904F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-805A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-905A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-905F_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-807A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-907F_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-808A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-810A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-811A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-901A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-EP-901F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-906F_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-976A3_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-977A3_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-978A3_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-979A3_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EP-M570T_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-1110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L1110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3100_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3110_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-16500_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-2500_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2550_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-4500_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-2600_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2610_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2650_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L385_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L405_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L485_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-2700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L4150_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-2750_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L4160_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-4550_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L655_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-7700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L7160_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ET-7750_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EW-M5071FT_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EW-M571T_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EW-M660FT_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EW-M770T_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-EW-M970A3T_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-K200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-K300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-NX230_TX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX235-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L1455_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L3050_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3060_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3070_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L386_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L486_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L364_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L565_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L375_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L395_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L396_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L475_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L495_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L455_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2710_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-2720_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ET-4700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3150_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L3160_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L575_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L605_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L7180_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L805_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-L810_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-L850_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-M200_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-M205_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-M1560_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME-301_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME-303_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-202_203_206_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME-400_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-200_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-300_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-400_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX2800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX2900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX3900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX4000-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_OFFICE_510-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_560W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX218-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX420W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX220-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX420W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX220_NX220-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX420_NX420-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_OFFICE_530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-NX430_TX435-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX430-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX440-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX235-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX430-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_OFFICE_570-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX330-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX430-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_OFFICE_620F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_Office_600F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX300F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX305-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX320FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX300F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX320F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX510FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX515FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX525FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX320_WorkForce320-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_OFFICE_650FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX310FN-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX660-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX700W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX720WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX810FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX820FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX700W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX710W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX720WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX810FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX720_Artisan720-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-TX820_Artisan830-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-ME_OFFICE_700FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_900WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_940FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-ME_OFFICE_960FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX635-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX305_Plus-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX525WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX535WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX600FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX610FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX620FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX630FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX635FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX925-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_BX935-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX600FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX610FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Office_TX620FWD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX510W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX525WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX535WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX600FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX610FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX620FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX550W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX560WD-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_620-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PF-70_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PF-71_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PF-81_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-400_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-A750-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-D600-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A650-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-A820-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A840-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A840S-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-D870-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-A890-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-A920-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-A940-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-T960-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-A950-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-A970-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PM-T990-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-D800-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-G4500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_1410-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PM-G850-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R260-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R265-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R270-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-046A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-436A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-047A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-437A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-048A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-049A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-1600F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-1700F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-205_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-605F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-675F_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-404A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-434A-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-405A_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-435A_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-505F_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-535F_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-501A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-A740-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-FA700-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-502A-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-5600-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-5V-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-7V-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-A620-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-A640-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-A720-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-B700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-B750F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-G5300-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M160T_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S160T_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M350F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S350-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M5040F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M5041F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S5040-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M650A-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M650F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M7050FP-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M7050FX-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M7050_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S7050PS-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S7050X-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S7050_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M740F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S740-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M741F-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M840F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-M840FX-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S840-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S840X-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-M860F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PX-S860-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-S05_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PX-S06_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PictureMate_500-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_Deluxe-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_Express-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_215-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_225-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_235-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_260-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_290-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PictureMate_PM_200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_210-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PictureMate_PM_240-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_250-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_280-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PictureMate_PM_270-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-PictureMate_PM_300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-PictureMate_PM_310-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX3700-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX3800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX3800-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX4200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX4800-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX4900-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX5000-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX5900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R240-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R250-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX6000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX7700-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX7800-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX7300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX7400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX200-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX7400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX200-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX8300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX9300F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX8400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX9400F-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX710W-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_SX410-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX410-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_CX8400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_CX9400Fax-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX400-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX410-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_500-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_DX4200-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_DX4800-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX520-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX530-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_DX5000-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_NX210-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX420-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_NX230-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_TX230-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_NX300-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_310-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_NX510-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_NX530-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_NX620-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_435-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_545-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_630-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_645-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_840-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_845-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX650-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R360-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R390-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX560-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX585-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX590-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX610-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX650-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX730-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_PX830-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_PX800FW-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_TX800FW-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_R1900-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R2880-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_R2000-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_R3000-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_R340-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_R350-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_R380-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX580-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX595-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX640-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX650-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX680-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-Stylus_Photo_RX685-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-Stylus_Photo_RX690-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-100_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-2510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2540_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-205_207_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-302_303_305_306_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-402_403_405_406_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-2630_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-2650_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2660_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2750_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2760_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-2830_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-2850_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-4100_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-3010_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-3540_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-3620_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-3640_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-4630_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-4640_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5620_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-5690_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R4640_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R5690_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-6090_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-6590_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-6530_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-7110_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7620_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-7510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7511_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7515_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7521_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-7525_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-7610_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-8010_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8090_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8510_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-8590_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-R8590_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WF-M5190_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WF-M5690_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WP-4010_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4023_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4520_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4533_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WP-4011_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4015_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4025_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4091_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4095_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4511_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4515_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4521_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4525_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4531_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4535_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4545_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4595_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WP-4020_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4022_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4090_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4092_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4530_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4532_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4540_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4590_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-4592_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WP-M4011_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4015_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4095_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4521_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4525_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WP-M4595_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WorkForce_320-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-WorkForce_520-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WorkForce_600-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-WorkForce_610-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-201_204_208_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-2100_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-211_214_216_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-212_213_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-215_217_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-310_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-312_313_315_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-410_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-412_413_415_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-220_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-235_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-240_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-243_245_247_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-320_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-330_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-332_335_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-340_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-342_343_345_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-420_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-430_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-432_435_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-440_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-442_445_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-225_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-322_323_325_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-422_423_425_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-255_257_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-352_355_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-452_455_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-510_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-520_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-530_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-540_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-55_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-600_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-700_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-800_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-610_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-710_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-810_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-620_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-630_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-640_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-7100_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-720_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-760_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-820_Series-epson-escpr-en.ppd.gz epson-20200615-1_6_41-Epson-XP-860_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-750_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-830_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-850_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-900_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-950_Series-epson-escpr-en.ppd.gz
+epson-20200615-1_6_41-Epson-XP-960_Series-epson-escpr-en.ppd.gz
+epson-20200615-EPSON_EW-052A_Series.ppd.gz epson-20200615-EPSON_L110_Series.ppd.gz epson-20200615-EPSON_L120_Series.ppd.gz epson-20200615-EPSON_L130_Series.ppd.gz epson-20200615-EPSON_L210_Series.ppd.gz epson-20200615-EPSON_L220_Series.ppd.gz epson-20200615-EPSON_L310_Series.ppd.gz epson-20200615-EPSON_L350_Series.ppd.gz epson-20200615-EPSON_L355_Series.ppd.gz epson-20200615-EPSON_L360_Series.ppd.gz epson-20200615-EPSON_L555_Series.ppd.gz epson-20200615-EPSON_M1120_Series.ppd.gz epson-20200615-EPSON_PX-S170T_Series.ppd.gz epson-20200615-EPSON_USB1.1_MFP_Full-Speed.ppd.gz epson-20200615-EPSON_USB2.0_MFP_Hi-Speed.ppd.gz epson-20200615-EPSON_USB2.0_Printer_Hi-speed.ppd.gz epson-20200615-EPSON_USB_MFP.ppd.gz epson-20200615-EPSON_USB_Printer.ppd.gz epson-20200615-Epson-generic-escpr-en.ppd.gz
+epson-20200615-Epson-LX-10000FK_Series_PS3.ppd.gz
+epson-20200615-Epson-LX-10000F_PS.ppd.gz epson-20200615-Epson-LX-7000F_PS.ppd.gz
+epson-20200615-Epson-LX-10010MF_Series_PS3.ppd.gz
+epson-20200615-Epson-WF-C17590_Series_PS3.ppd.gz
+epson-20200615-Epson-WF-C20590_PS.ppd.gz
+epson-20200615-Epson-WF-M20590_Series_PS3.ppd.gz
+foomatic-20170101-Samsung-M332x_382x_402x-Postscript.ppd.gz
+foomatic-20190909-Ricoh-IM_430F-PostscriptMono-Ricoh.ppd.gz ricoh-20200403-Ricoh-IM_430F.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_4210.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_4300.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_4310.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6110.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6120.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6210.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6220.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6310.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6320.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_6330.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8100.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8100M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8200.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8200M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8300.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_8300M.ppd.gz ricoh-20200403-Ricoh-IP_500SF.ppd.gz ricoh-20200403-Ricoh-MP_1301_JPN.ppd.gz ricoh-20200403-Ricoh-MP_1601_JPN.ppd.gz ricoh-20200403-Ricoh-MP_2553_JPN.ppd.gz ricoh-20200403-Ricoh-MP_2554_JPN.ppd.gz ricoh-20200403-Ricoh-MP_2555_JPN.ppd.gz ricoh-20200403-Ricoh-MP_305plus_JPN.ppd.gz ricoh-20200403-Ricoh-MP_305plus_SPF_JPN.ppd.gz ricoh-20200403-Ricoh-MP_3353_JPN.ppd.gz ricoh-20200403-Ricoh-MP_3554_JPN.ppd.gz ricoh-20200403-Ricoh-MP_3555_JPN.ppd.gz ricoh-20200403-Ricoh-MP_401SPF_JPN.ppd.gz ricoh-20200403-Ricoh-MP_4054_JPN.ppd.gz ricoh-20200403-Ricoh-MP_4055_JPN.ppd.gz ricoh-20200403-Ricoh-MP_5054_JPN.ppd.gz ricoh-20200403-Ricoh-MP_5055_JPN.ppd.gz ricoh-20200403-Ricoh-MP_6054_JPN.ppd.gz ricoh-20200403-Ricoh-MP_6055_JPN.ppd.gz ricoh-20200403-Ricoh-MP_6503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_7503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_9003_JPN.ppd.gz ricoh-20200403-Ricoh-P_500_JPN.ppd.gz ricoh-20200403-Ricoh-P_501_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_1107EXP.ppd.gz ricoh-20200403-Ricoh-Pro_1357EXP.ppd.gz ricoh-20200403-Ricoh-Pro_6100HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_6100_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8100S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8110HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8110S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8110Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8120HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8120S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8120Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8200S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8210HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8210S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8210Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8220HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8220S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8220Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8300S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8310HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8310S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8310Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8320HT_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8320S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_8320Y_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_907EXP.ppd.gz ricoh-20200403-Ricoh-SP_4500_JPN.ppd.gz ricoh-20200403-Ricoh-SP_4510SF_JPN.ppd.gz ricoh-20200403-Ricoh-SP_4510_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6410_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6420M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6420_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6430M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6430_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6440M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6440_JPN.ppd.gz ricoh-20200403-Ricoh-SP_6450_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400M_a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400_JPN.ppd.gz ricoh-20200403-Ricoh-SP_8400a1_JPN.ppd.gz ricoh-20200403-Ricoh-imagio_MP_1100.ppd.gz ricoh-20200403-Ricoh-imagio_MP_1350.ppd.gz ricoh-20200403-Ricoh-imagio_MP_2550.ppd.gz ricoh-20200403-Ricoh-imagio_MP_2552.ppd.gz ricoh-20200403-Ricoh-imagio_MP_3350.ppd.gz ricoh-20200403-Ricoh-imagio_MP_3352.ppd.gz ricoh-20200403-Ricoh-imagio_MP_4000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_4002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_5000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_5002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6001GP.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_6002GP.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7500T.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7501.ppd.gz ricoh-20200403-Ricoh-imagio_MP_7502.ppd.gz ricoh-20200403-Ricoh-imagio_MP_8000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_8000T.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9001T.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_9002T.ppd.gz ricoh-20200403-Ricoh-imagio_Neo_452.ppd.gz ricoh-20200403-Ricoh-imagio_Neo_453.ppd.gz
+foomatic-20190909-Ricoh-IM_430_PDF.ppd.gz foomatic-20200219-Gestetner-IM_350-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_430-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_350-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-IM_430-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_350-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_430-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_350-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_350-PDF-Savin.ppd.gz foomatic-20200219-Savin-IM_430-PDF-Savin.ppd.gz
+foomatic-20190909-Ricoh-IM_C4500_PDF.ppd.gz foomatic-20200219-Gestetner-GS3045-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C4500-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C4500-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C4500-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_C5500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C5500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C4500-PDF-Savin.ppd.gz
+foomatic-20191029-Apollo-P-1200-pcl3.ppd.gz foomatic-20191029-Apollo-P-1220_Barbie-pcl3.ppd.gz foomatic-20191029-Apollo-P-1250-pcl3.ppd.gz
+foomatic-20191029-BR5070DN_GPL.ppd.gz
+foomatic-20191029-Gestetner-Pro_C5200S_PDF.ppd.gz foomatic-20191029-Gestetner-Pro_C5210S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C5200S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C5210S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C5200S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C5210S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C5200S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C5210S_PDF.ppd.gz
+foomatic-20191029-Lanier-Pro_8200S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8210S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8220S_PDF.ppd.gz foomatic-20191029-NRG-Pro_8200S_PDF.ppd.gz foomatic-20191029-NRG-Pro_8210S_PDF.ppd.gz foomatic-20191029-NRG-Pro_8220S_PDF.ppd.gz foomatic-20191029-Savin-Pro_8200S_PDF.ppd.gz foomatic-20191029-Savin-Pro_8210S_PDF.ppd.gz foomatic-20191029-Savin-Pro_8220S_PDF.ppd.gz
+foomatic-20191029-Lanier-Pro_8210_PDF.ppd.gz foomatic-20191029-Lanier-Pro_8220_PDF.ppd.gz foomatic-20191029-NRG-Pro_8210_PDF.ppd.gz foomatic-20191029-NRG-Pro_8220_PDF.ppd.gz foomatic-20191029-Savin-Pro_8210_PDF.ppd.gz foomatic-20191029-Savin-Pro_8220_PDF.ppd.gz
+foomatic-20191029-Lanier-Pro_C7200S_Light_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7200S_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7210S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7200S_Light_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7200S_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7210S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7200S_Light_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7200S_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7210S_PDF.ppd.gz
+foomatic-20191029-Lanier-Pro_C7200_PDF.ppd.gz foomatic-20191029-Lanier-Pro_C7210_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7200_PDF.ppd.gz foomatic-20191029-NRG-Pro_C7210_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7200_PDF.ppd.gz foomatic-20191029-Savin-Pro_C7210_PDF.ppd.gz
+foomatic-20191029-Samsung_ML-2525W_Series_PXL.ppd.gz
+foomatic-20191029-shar208d.ppd.gz foomatic-20191029-shmb201d.ppd.gz foomatic-20200219-Sharp-AR-NB2A-Postscript-Sharp.ppd.gz
+foomatic-20191029-shar208s.ppd.gz foomatic-20191029-sharm200.ppd.gz foomatic-20200219-Sharp-MX-NB11-Postscript-Sharp.ppd.gz
+foomatic-20200219-Anitech-M24-epson.ppd.gz foomatic-20200219-Epson-L-1000-epson.ppd.gz foomatic-20200219-Epson-LQ-500-epson.ppd.gz foomatic-20200219-Epson-LQ-570plus-epson.ppd.gz foomatic-20200219-Epson-LX-1050-epson.ppd.gz foomatic-20200219-Oki-ML_380-epson.ppd.gz foomatic-20200219-Panasonic-KX-P1123-epson.ppd.gz foomatic-20200219-Panasonic-KX-P1124-epson.ppd.gz foomatic-20200219-Panasonic-KX-P1624-epson.ppd.gz foomatic-20200219-Panasonic-KX-P2023-epson.ppd.gz foomatic-20200219-Star-LC_90-epson.ppd.gz foomatic-20200219-Star-NL-10-epson.ppd.gz
+foomatic-20200219-Apple-12_640ps-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_16_600-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_4_600-Postscript.ppd.gz foomatic-20200219-Apple-LaserWriter_Pro_630-Postscript.ppd.gz foomatic-20200219-Epson-EPL-5700PS-Postscript.ppd.gz foomatic-20200219-Heidelberg-Digimaster_9110-Postscript.ppd.gz foomatic-20200219-Hitachi-DDP_70_with_MicroPress-Postscript.ppd.gz foomatic-20200219-IBM-4029_10P-Postscript.ppd.gz foomatic-20200219-Kodak-DigiSource_9110-Postscript.ppd.gz foomatic-20200219-Oki-OL610e_PS-Postscript.ppd.gz foomatic-20200219-Oki-OL810e_PS-Postscript.ppd.gz foomatic-20200219-Oki-Okipage_12i-Postscript.ppd.gz foomatic-20200219-Oki-Okipage_20DXn-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N32-Postscript.ppd.gz
+foomatic-20200219-Apple-Color_StyleWriter_1500-lpstyl.ppd.gz foomatic-20200219-Apple-Color_StyleWriter_2200-lpstyl.ppd.gz foomatic-20200219-Apple-Color_StyleWriter_2400-lpstyl.ppd.gz foomatic-20200219-Apple-Color_StyleWriter_2500-lpstyl.ppd.gz
+foomatic-20200219-Apple-ImageWriter-iwhi.ppd.gz
+foomatic-20200219-Apple-ImageWriter_II-iwhi.ppd.gz
+foomatic-20200219-Apple-ImageWriter_LQ-iwhi.ppd.gz
+foomatic-20200219-Apple-LaserWriter_IIg-Postscript.ppd.gz foomatic-20200219-DEC-LN07-Postscript.ppd.gz foomatic-20200219-NEC-SilentWriter_LC_890-Postscript.ppd.gz foomatic-20200219-NEC-Silentwriter2_S60P-Postscript.ppd.gz foomatic-20200219-NEC-Silentwriter2_model_290-Postscript.ppd.gz foomatic-20200219-NEC-Silentwriter_95f-Postscript.ppd.gz foomatic-20200219-Oki-OL830Plus-Postscript.ppd.gz foomatic-20200219-Panasonic-KX-P5400-Postscript.ppd.gz
+foomatic-20200219-Apple-LaserWriter_Select_360-ljet2p.ppd.gz foomatic-20200219-Brother-DCP-1200-ljet2p.ppd.gz foomatic-20200219-Brother-HL-1040-ljet2p.ppd.gz foomatic-20200219-Brother-HL-630-ljet2p.ppd.gz foomatic-20200219-Brother-MFC-6550MC-ljet2p.ppd.gz foomatic-20200219-Brother-MFC-9500-ljet2p.ppd.gz foomatic-20200219-Brother-MFC-9600-ljet2p.ppd.gz foomatic-20200219-Lexmark-Valuewriter_300-ljet2p.ppd.gz foomatic-20200219-NEC-SuperScript_1260-ljet2p.ppd.gz foomatic-20200219-NEC-SuperScript_860-ljet2p.ppd.gz foomatic-20200219-NEC-SuperScript_870-ljet2p.ppd.gz foomatic-20200219-Oki-OL400e-ljet2p.ppd.gz foomatic-20200219-Oki-OL400ex-ljet2p.ppd.gz foomatic-20200219-Oki-OL600e-ljet2p.ppd.gz foomatic-20200219-Panasonic-KX-P4410-ljet2p.ppd.gz foomatic-20200219-Panasonic-KX-P6500-ljet2p.ppd.gz foomatic-20200219-Raven-LP-410-ljet2p.ppd.gz foomatic-20200219-Star-LS-04-ljet2p.ppd.gz foomatic-20200219-Xerox-DocuPrint_P12-ljet2p.ppd.gz
+foomatic-20200219-Apple-StyleWriter_1200-lpstyl.ppd.gz foomatic-20200219-Apple-StyleWriter_I-lpstyl.ppd.gz foomatic-20200219-Apple-StyleWriter_II-lpstyl.ppd.gz
+foomatic-20200219-Brother-DCP-7010-ljet4.ppd.gz foomatic-20200219-Brother-DCP-7020-ljet4.ppd.gz foomatic-20200219-Brother-HL-1050-ljet4.ppd.gz foomatic-20200219-Brother-HL-1060-ljet4.ppd.gz foomatic-20200219-Brother-HL-10h-ljet4.ppd.gz foomatic-20200219-Brother-HL-1260-ljet4.ppd.gz foomatic-20200219-Brother-HL-2035-ljet4.ppd.gz foomatic-20200219-Brother-HL-2040-ljet4.ppd.gz foomatic-20200219-Brother-HL-2135-ljet4.ppd.gz foomatic-20200219-Brother-HL-2142-ljet4.ppd.gz foomatic-20200219-Brother-HL-660-ljet4.ppd.gz foomatic-20200219-Brother-HL-760-ljet4.ppd.gz foomatic-20200219-Brother-HL-960-ljet4.ppd.gz foomatic-20200219-Canon-LBP-1260-ljet4.ppd.gz foomatic-20200219-DEC-LN17-ljet4.ppd.gz foomatic-20200219-Epson-EPL-5700-ljet4.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_10V-ljet4.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_16DV-ljet4.ppd.gz foomatic-20200219-IBM-Page_Printer_3112-ljet4.ppd.gz foomatic-20200219-Infotec-4651_MF-ljet4.ppd.gz foomatic-20200219-Lexmark-Optra_E-ljet4.ppd.gz foomatic-20200219-Lexmark-Optra_Eplus-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_6-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_6ex-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_8-ljet4.ppd.gz foomatic-20200219-NEC-SuperScript_1800-ljet4.ppd.gz foomatic-20200219-NEC-SuperScript_660i-ljet4.ppd.gz foomatic-20200219-Oki-B410-ljet4.ppd.gz foomatic-20200219-Oki-OL810ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_10e-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_10ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_14ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_6ex-ljet4.ppd.gz foomatic-20200219-Oki-Okipage_8p-ljet4.ppd.gz foomatic-20200219-Ricoh-Aficio_700-ljet4.ppd.gz foomatic-20200219-Samsung-ML-4600-ljet4.ppd.gz foomatic-20200219-Samsung-ML-5000a-ljet4.ppd.gz foomatic-20200219-Samsung-ML-6000-ljet4.ppd.gz foomatic-20200219-Samsung-ML-6100-ljet4.ppd.gz foomatic-20200219-Samsung-ML-85-ljet4.ppd.gz foomatic-20200219-Samsung-QL-5100A-ljet4.ppd.gz foomatic-20200219-Samsung-QL-6050-ljet4.ppd.gz foomatic-20200219-Sharp-AR-161-ljet4.ppd.gz foomatic-20200219-Xerox-Able_1406-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_4508-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4512-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4512PS-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_P1202-ljet4.ppd.gz foomatic-20200219-Xerox-DocuPrint_P8e-ljet4.ppd.gz foomatic-20200219-Xerox-Document_Centre_400-ljet4.ppd.gz
+foomatic-20200219-Brother-DCP-8020-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8420-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-8025D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-8040-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-8045D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-9010CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9010CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9120CN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9320CW-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-9040CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-DCP-9045CDN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-9450CDN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC9840CDW-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HJ-400-lq850.ppd.gz foomatic-20200219-Canon-BJ-300-lq850.ppd.gz foomatic-20200219-Epson-LQ-850-lq850.ppd.gz
+foomatic-20200219-Brother-HL-1020-hl7x0.ppd.gz foomatic-20200219-Brother-HL-720-hl7x0.ppd.gz foomatic-20200219-Brother-HL-730-hl7x0.ppd.gz foomatic-20200219-Brother-HL-820-hl7x0.ppd.gz foomatic-20200219-Brother-MFC-9050-hl7x0.ppd.gz
+foomatic-20200219-Brother-HL-1030-hl1250.ppd.gz
+foomatic-20200219-Brother-HL-1070-ljet4.ppd.gz foomatic-20200219-Canon-GP_335-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-10V-ljet3.ppd.gz foomatic-20200219-Canon-LBP-4sx-ljet3.ppd.gz foomatic-20200219-DEC-1800-ljet3.ppd.gz foomatic-20200219-Epson-ActionLaser_1100-ljet3.ppd.gz foomatic-20200219-Epson-EPL-5200-ljet3.ppd.gz foomatic-20200219-Epson-EPL-5200plus-ljet3.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_8000-ljet3.ppd.gz foomatic-20200219-Generic-PCL_5_Printer-ljet3.ppd.gz foomatic-20200219-Tally-MT908-ljet3.ppd.gz
+foomatic-20200219-Brother-HL-1230-hl1250.ppd.gz
+foomatic-20200219-Brother-HL-1240-laserjet.ppd.gz
+foomatic-20200219-Brother-HL-1250-ljet4.ppd.gz foomatic-20200219-Brother-HL-1430-ljet4.ppd.gz foomatic-20200219-Brother-HL-1440-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-1270N-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-1450-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-1470N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-1650-ljet4.ppd.gz foomatic-20200219-Brother-HL-1670N-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-1650_70N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-1660e-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-1850-ljet4.ppd.gz foomatic-20200219-Brother-HL-1870N-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-1850_70N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-2060-ljet4.ppd.gz foomatic-20200219-Brother-HL-2140-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-2240-hl1250.ppd.gz
+foomatic-20200219-Brother-HL-2240D-hl1250.ppd.gz
+foomatic-20200219-Brother-HL-2400CeN-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-3400CN-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-4000CN-pxlcolor.ppd.gz foomatic-20200219-Brother-HL-4040CN-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C2550-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5058-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5068-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5185-pxlcolor.ppd.gz foomatic-20200219-Canon-imageRunner_C5185i-pxlcolor.ppd.gz foomatic-20200219-Dell-3000cn-pxlcolor.ppd.gz foomatic-20200219-Dell-3100cn-pxlcolor.ppd.gz
+foomatic-20200219-Brother-HL-2460-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-2460N-pxlmono.ppd.gz foomatic-20200219-Canon-LBP-3460-pxlmono.ppd.gz foomatic-20200219-Canon-LBP-5970-pxlmono.ppd.gz foomatic-20200219-Canon-LBP-5975-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_1023-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_1023N-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_1023iF-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2016-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2016i-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2018-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2020-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2020i-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2022-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2230-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_2270-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_3025-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_3225-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_7086-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_7095-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_7105-pxlmono.ppd.gz foomatic-20200219-Canon-imageRunner_8070-pxlmono.ppd.gz foomatic-20200219-Xerox-Phaser_3150-pxlmono.ppd.gz foomatic-20200219-Xerox-Phaser_3500-pxlmono.ppd.gz foomatic-20200219-Xerox-WorkCentre_PE120-pxlmono.ppd.gz
+foomatic-20200219-Brother-HL-2600CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-2700CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-3070CW-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-3260N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-3450CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-4050CDN-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-4070CDW-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-4Ve-laserjet.ppd.gz foomatic-20200219-Brother-MFC-8300-laserjet.ppd.gz foomatic-20200219-Brother-MFC-8600-laserjet.ppd.gz foomatic-20200219-Citizen-ProJet_II-laserjet.ppd.gz foomatic-20200219-Epson-ActionLaser_II-laserjet.ppd.gz foomatic-20200219-Generic-PCL_4_Printer-laserjet.ppd.gz foomatic-20200219-IBM-4019-laserjet.ppd.gz foomatic-20200219-IBM-4029_030_LaserPrinter_10-laserjet.ppd.gz foomatic-20200219-IBM-4312-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1010-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1200-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1200S-laserjet.ppd.gz foomatic-20200219-Kyocera-F-1800-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2010-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2200-laserjet.ppd.gz foomatic-20200219-Kyocera-F-2200S-laserjet.ppd.gz foomatic-20200219-Kyocera-F-3000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-3010-laserjet.ppd.gz foomatic-20200219-Kyocera-F-3300-laserjet.ppd.gz foomatic-20200219-Kyocera-F-5000-laserjet.ppd.gz foomatic-20200219-Kyocera-F-800-laserjet.ppd.gz foomatic-20200219-Kyocera-F-800T-laserjet.ppd.gz foomatic-20200219-Kyocera-F-820-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-1500-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-1550-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-1550plus-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-3400-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-3400plus-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-3500-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-400-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-5500-laserjet.ppd.gz foomatic-20200219-Kyocera-FS-850-laserjet.ppd.gz foomatic-20200219-Kyocera-P-2000-laserjet.ppd.gz foomatic-20200219-Kyocera-P-2002-laserjet.ppd.gz foomatic-20200219-Oki-OL400-laserjet.ppd.gz foomatic-20200219-Oki-OL610e_S-laserjet.ppd.gz foomatic-20200219-Oki-OL800-laserjet.ppd.gz foomatic-20200219-Olivetti-PG_306-laserjet.ppd.gz foomatic-20200219-PCPI-1030-laserjet.ppd.gz foomatic-20200219-Panasonic-KX-P6150-laserjet.ppd.gz foomatic-20200219-Seiko-SpeedJET_200-laserjet.ppd.gz foomatic-20200219-Star-LaserPrinter_8-laserjet.ppd.gz
+foomatic-20200219-Brother-HL-5030-ljet4.ppd.gz foomatic-20200219-Brother-HL-5040-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-5050-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-5070N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5140-ljet4.ppd.gz
+foomatic-20200219-Brother-HL-5150D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-HL-5170DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5240-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5250DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-5270DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-6050-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-6050D_DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-7050-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-HL-7050N-pxlmono.ppd.gz
+foomatic-20200219-Brother-HL-8-ljetplus.ppd.gz foomatic-20200219-Lexmark-Winwriter_400-ljetplus.ppd.gz foomatic-20200219-Panasonic-KX-P4450-ljetplus.ppd.gz
+foomatic-20200219-Brother-HL-8050N-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MC-3000-epson.ppd.gz foomatic-20200219-Panasonic-KX-P2123-epson.ppd.gz
+foomatic-20200219-Brother-MFC-7450-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8220-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8440-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8640D-Postscript-Brother.ppd.gz foomatic-20200219-Brother-MFC-8840D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8670DN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-8820D-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-9100c-epsonc.ppd.gz foomatic-20200219-Brother-MFC_7150C-epsonc.ppd.gz foomatic-20200219-Epson-LQ-24-epsonc.ppd.gz foomatic-20200219-Epson-LQ-2550-epsonc.ppd.gz foomatic-20200219-Fujitsu-1200-epsonc.ppd.gz foomatic-20200219-Fujitsu-2400-epsonc.ppd.gz foomatic-20200219-Fujitsu-3400-epsonc.ppd.gz foomatic-20200219-Panasonic-KX-P2135-epsonc.ppd.gz foomatic-20200219-Star-LC24-200-epsonc.ppd.gz
+foomatic-20200219-Brother-MFC-9420CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-9440CN-Postscript-Brother.ppd.gz
+foomatic-20200219-Brother-MFC-P2500-hl1250.ppd.gz
+foomatic-20200219-CItoh-M8510-m8510.ppd.gz
+foomatic-20200219-Canon-BJ-100-bj200.ppd.gz foomatic-20200219-Canon-BJ-200-bj200.ppd.gz foomatic-20200219-Canon-BJ-30-bj200.ppd.gz foomatic-20200219-IBM-Execjet_4072-bj200.ppd.gz
+foomatic-20200219-Canon-BJ-10e-bj10e.ppd.gz foomatic-20200219-Canon-BJ-20-bj10e.ppd.gz foomatic-20200219-Canon-BJ-5-bj10e.ppd.gz
+foomatic-20200219-Canon-BJ-330-bj200.ppd.gz
+foomatic-20200219-Canon-BJC-1000-bjc600.ppd.gz foomatic-20200219-Canon-BJC-2000-bjc600.ppd.gz foomatic-20200219-Canon-BJC-2010-bjc600.ppd.gz foomatic-20200219-Canon-BJC-2110-bjc600.ppd.gz foomatic-20200219-Canon-BJC-240-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4000-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4100-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4200-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4300-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4310SP-bjc600.ppd.gz foomatic-20200219-Canon-BJC-4400-bjc600.ppd.gz foomatic-20200219-Canon-BJC-50-bjc600.ppd.gz foomatic-20200219-Canon-BJC-55-bjc600.ppd.gz foomatic-20200219-Canon-BJC-70-bjc600.ppd.gz foomatic-20200219-Canon-BJC-80-bjc600.ppd.gz foomatic-20200219-Canon-BJC-85-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C2500-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C3500-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C5000-bjc600.ppd.gz foomatic-20200219-Canon-MultiPASS_C5500-bjc600.ppd.gz foomatic-20200219-Canon-S100-bjc600.ppd.gz
+foomatic-20200219-Canon-BJC-210-bjc600.ppd.gz
+foomatic-20200219-Canon-BJC-2100-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-250-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-600-bjc610XY.upp.ppd.gz
+foomatic-20200219-Canon-BJC-210SP-bj200.ppd.gz
+foomatic-20200219-Canon-BJC-250ex-bjc250gs.ppd.gz
+foomatic-20200219-Canon-BJC-255SP-bjc250gs.ppd.gz foomatic-20200219-Canon-BJC-265SP-bjc250gs.ppd.gz
+foomatic-20200219-Canon-BJC-3000-s400X1.upp.ppd.gz foomatic-20200219-Canon-S400-s400X1.upp.ppd.gz
+foomatic-20200219-Canon-BJC-4550-bjc800.ppd.gz
+foomatic-20200219-Canon-BJC-6000-bjc6000X1.upp.ppd.gz foomatic-20200219-Canon-S450-bjc6000X1.upp.ppd.gz
+foomatic-20200219-Canon-BJC-610-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-620-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-BJC-6200-bjc610XY.upp.ppd.gz foomatic-20200219-Canon-MultiPASS_C3000-bjc610XY.upp.ppd.gz
+foomatic-20200219-Canon-BJC-7000-bjc800.ppd.gz foomatic-20200219-Canon-BJC-7004-bjc800.ppd.gz foomatic-20200219-Canon-BJC-7100-bjc800.ppd.gz
+foomatic-20200219-Canon-BJC-800-bjc800.ppd.gz
+foomatic-20200219-Canon-BJC-8200-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S330_Photo-bj8XXYYZ.upp.ppd.gz
+foomatic-20200219-Canon-BJC-880J-bjc880j.ppd.gz
+foomatic-20200219-Canon-GP_405-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N17-Postscript.ppd.gz
+foomatic-20200219-Canon-LBP-1000-ljet4.ppd.gz
+foomatic-20200219-Canon-LBP-1760-ljet4.ppd.gz foomatic-20200219-Canon-LBP-3360-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_2200-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_2800-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_3300-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_330s-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_3570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_4570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_5000-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_5570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_6000-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_6570-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_8500-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_C5870U-ljet4.ppd.gz foomatic-20200219-Canon-imageRunner_C6870U-ljet4.ppd.gz foomatic-20200219-Epson-EPL-5800PS-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N1600-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N1600PS-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050PS-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050PSplus-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2750-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2750PS-ljet4.ppd.gz foomatic-20200219-Fujitsu-PrintPartner_20W-ljet4.ppd.gz foomatic-20200219-Generic-PCL_5c_Printer-ljet4.ppd.gz foomatic-20200219-Generic-PCL_5e_Printer-ljet4.ppd.gz foomatic-20200219-IBM-Infoprint_12-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-1600-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-1600plus-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-3600-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-3600plus-ljet4.ppd.gz foomatic-20200219-Kyocera-KM-4230-ljet4.ppd.gz foomatic-20200219-Kyocera-KM-5230-ljet4.ppd.gz foomatic-20200219-Lexmark-E120-ljet4.ppd.gz foomatic-20200219-Lexmark-E120n-ljet4.ppd.gz foomatic-20200219-Lexmark-E230-ljet4.ppd.gz foomatic-20200219-Lexmark-E320-ljet4.ppd.gz foomatic-20200219-Lexmark-Optra_E321-ljet4.ppd.gz foomatic-20200219-Minolta-PagePro_1100-ljet4.ppd.gz foomatic-20200219-NEC-SuperScript_1400-ljet4.ppd.gz foomatic-20200219-Ricoh-Aficio_220-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1250-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1450-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1450PS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1750-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2150PS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2151N-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2151NPS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2152W-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2152WPS-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2250-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2551N-ljet4.ppd.gz foomatic-20200219-Samsung-ML-2552W-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7000-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7000N-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7000P-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7050-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7300-ljet4.ppd.gz foomatic-20200219-Samsung-ML-7300N-ljet4.ppd.gz foomatic-20200219-Sharp-ARP350-ljet4.ppd.gz foomatic-20200219-Sharp-ARP450-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750DP-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750DX-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750N-ljet4.ppd.gz foomatic-20200219-Tektronix-Phaser_750P-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_2135-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4400N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4500N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_4510N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_5500N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6130N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6180DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6180MFP-D-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6200N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6250N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6300DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6300N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6350DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6350DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6350DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6360DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_6360DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7300N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400DXF-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7400N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7700DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7700DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7700GX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750DXF-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7750GX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7760DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7760DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_7760GX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400B-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400BD-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8400N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8500DN-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8500N-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8550DP-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8550DT-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8550DX-ljet4.ppd.gz foomatic-20200219-Xerox-Phaser_8560DN-ljet4.ppd.gz foomatic-20200219-Xerox-WorkCentre_7345-ljet4.ppd.gz
+foomatic-20200219-Canon-LBP-430-ljet4.ppd.gz foomatic-20200219-Kyocera-FS-6500-ljet4.ppd.gz
+foomatic-20200219-Canon-LBP-470-lips4.ppd.gz foomatic-20200219-Canon-LIPS-IV-lips4.ppd.gz foomatic-20200219-Canon-LIPS-IVv-lips4.ppd.gz
+foomatic-20200219-Canon-LBP-4U-lbp8.ppd.gz foomatic-20200219-Canon-LBP-4plus-lbp8.ppd.gz foomatic-20200219-Canon-LBP-8A1-lbp8.ppd.gz
+foomatic-20200219-Canon-LBP6670-Postscript-Canon.ppd.gz foomatic-20200219-Canon-LBP6680_3480-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP6780_3580-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP710C_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP712C_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP7660C-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP7680C_5280-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP7780C_5480-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LBP8780-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-LIPS-III-lips3.ppd.gz
+foomatic-20200219-Canon-LIPS-IIplus-lips2p.ppd.gz
+foomatic-20200219-Canon-S500-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S600-bj8XXYYZ.upp.ppd.gz foomatic-20200219-Canon-S630-bj8XXYYZ.upp.ppd.gz
+foomatic-20200219-Canon-i450-bjc800.ppd.gz
+foomatic-20200219-Canon-iPR_C600-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iPR_C650_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iPR_C700_800-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iPR_C750_850_PPD-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_400_500-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_4025_4035-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_4045_4051-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_4225_4235-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_4245_4251-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_6055_6065-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_6075-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_6255_6265-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_6275-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_8085_8095-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_8105-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_8205-Postscript-Canon.ppd.gz foomatic-20200219-Canon-iR-ADV_8285_8295-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2020_2030-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2020i_2030i-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2025-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2220_2230-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C2225-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C250_350-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C3320-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C3320L-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C3325_3330-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C351-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5030_5035-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5045_5051-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5235_5240-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C5250_5255-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C7055_7065-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C7260_7270-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C7280-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C9060_9070-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C9065_9075-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-iR-ADV_C9270_9280-Postscript-Canon.ppd.gz
+foomatic-20200219-Canon-imageRunner_C2570-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C2570i-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C2620N-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3100-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3170-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3170i-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C3200-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C5800-Postscript.ppd.gz foomatic-20200219-Canon-imageRunner_C6800-Postscript.ppd.gz foomatic-20200219-Genicom-microLaser_210-Postscript.ppd.gz foomatic-20200219-NEC-SuperScript_4600N-Postscript.ppd.gz foomatic-20200219-Oce-cm2510-Postscript.ppd.gz foomatic-20200219-Oce-cm3521-Postscript.ppd.gz foomatic-20200219-Oce-cm4010-Postscript.ppd.gz foomatic-20200219-Oce-cm4520-Postscript.ppd.gz foomatic-20200219-Oce-cm4521-Postscript.ppd.gz foomatic-20200219-Oce-cm5520-Postscript.ppd.gz foomatic-20200219-Oce-cm6520-Postscript.ppd.gz foomatic-20200219-Oki-C5540_MFP-Postscript.ppd.gz foomatic-20200219-Oki-C5550_MFP-Postscript.ppd.gz foomatic-20200219-Oki-C5750-Postscript.ppd.gz foomatic-20200219-Oki-C6050-Postscript.ppd.gz foomatic-20200219-Oki-C6150-Postscript.ppd.gz foomatic-20200219-Oki-C710-Postscript.ppd.gz foomatic-20200219-Oki-C9800_MFP-Postscript.ppd.gz foomatic-20200219-Panasonic-KX-P8420-Postscript.ppd.gz foomatic-20200219-Panasonic-KX-P8475-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_780-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_2500c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_281c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_3500c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_3510c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_3511-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_351c-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_4511-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_451c-Postscript.ppd.gz foomatic-20200219-Xante-FilmMaker_4-Postscript.ppd.gz foomatic-20200219-Xerox-DocuColor_2006-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6120-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6130-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6180-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6360-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_7400-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_7760-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8560-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8860-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_24-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7228-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7232-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_C2424-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_M24-Postscript.ppd.gz
+foomatic-20200219-Citizen-ProJet_IIc-cdj500.ppd.gz foomatic-20200219-DEC-DECwriter_520ic-cdj500.ppd.gz foomatic-20200219-Olivetti-JP470-cdj500.ppd.gz
+foomatic-20200219-Compaq-IJ1200-drv_z42.ppd.gz foomatic-20200219-Lexmark-X73-drv_z42.ppd.gz foomatic-20200219-Lexmark-Z42-drv_z42.ppd.gz foomatic-20200219-Lexmark-Z43-drv_z42.ppd.gz
+foomatic-20200219-Compaq-IJ750-lxm3200X.ppd.gz foomatic-20200219-Lexmark-3200-lxm3200X.ppd.gz foomatic-20200219-Lexmark-Z31-lxm3200X.ppd.gz
+foomatic-20200219-Compaq-IJ900-lxm5700m.ppd.gz foomatic-20200219-Lexmark-5700-lxm5700m.ppd.gz foomatic-20200219-Xerox-WorkCentre_470cx-lxm5700m.ppd.gz
+foomatic-20200219-DEC-DECWriter_500i-djet500.ppd.gz foomatic-20200219-DEC-DECwriter_110i-djet500.ppd.gz
+foomatic-20200219-DEC-LJ250-declj250.ppd.gz
+foomatic-20200219-Dell-3010cn-pxldpl.ppd.gz
+foomatic-20200219-Dell-M5200-Postscript.ppd.gz foomatic-20200219-Dell-S2500-Postscript.ppd.gz foomatic-20200219-Genicom-LN45-Postscript.ppd.gz foomatic-20200219-Genicom-ML450-Postscript.ppd.gz foomatic-20200219-Genicom-microLaser_12-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1226tn-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1422-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1532_Express-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1540_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1560_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1570_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1572_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1580_MFP-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1585n-Postscript.ppd.gz foomatic-20200219-IBM-Infoprint_1650_MFP-Postscript.ppd.gz foomatic-20200219-Minolta-PagePro_1250E-Postscript.ppd.gz foomatic-20200219-Oce-PPC3073PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3074PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3093PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3094PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3113PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC3114PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC5115PS-Postscript.ppd.gz foomatic-20200219-Oce-PPC5160PS-Postscript.ppd.gz foomatic-20200219-Oce-cm2520-Postscript.ppd.gz foomatic-20200219-Oce-fx3000-Postscript.ppd.gz foomatic-20200219-Oce-im2330-Postscript.ppd.gz foomatic-20200219-Oce-im2830-Postscript.ppd.gz foomatic-20200219-Oce-im3512-Postscript.ppd.gz foomatic-20200219-Oce-im3530-Postscript.ppd.gz foomatic-20200219-Oce-im4512-Postscript.ppd.gz foomatic-20200219-Oce-im4530-Postscript.ppd.gz foomatic-20200219-Oce-im5530-Postscript.ppd.gz foomatic-20200219-Oce-im6020-Postscript.ppd.gz foomatic-20200219-Oce-im6030-Postscript.ppd.gz foomatic-20200219-Oce-im7230-Postscript.ppd.gz foomatic-20200219-Oce-im7520-Postscript.ppd.gz foomatic-20200219-Oce-im8530-Postscript.ppd.gz foomatic-20200219-Oce-im9220-Postscript.ppd.gz foomatic-20200219-Oce-sx2100-Postscript.ppd.gz foomatic-20200219-Oki-B2540_MFP-Postscript.ppd.gz foomatic-20200219-Oki-B4545_MFP-Postscript.ppd.gz foomatic-20200219-Oki-B6200-Postscript.ppd.gz foomatic-20200219-Oki-B6250-Postscript.ppd.gz foomatic-20200219-Oki-B6500-Postscript.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2000-Postscript.ppd.gz foomatic-20200219-Sharp-AR-B07-Postscript.ppd.gz foomatic-20200219-Sharp-AR-M256-Postscript.ppd.gz foomatic-20200219-Sharp-AR-NB2A-Postscript.ppd.gz foomatic-20200219-Sharp-MX-NB11-Postscript.ppd.gz foomatic-20200219-Tally-LN45-Postscript.ppd.gz foomatic-20200219-Tally-ML450-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850DP-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850DX-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_850N-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_PowerPro_12-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_Pro_600-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_Pro_8-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_Pro_E-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_Basic-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_PS17-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_PS35-Postscript.ppd.gz foomatic-20200219-Texas_Instruments-microLaser_XL_Turbo-Postscript.ppd.gz foomatic-20200219-Toshiba-DP2570-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_165-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_200L-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_202L-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_205-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_230-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_232-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_280-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_282-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_350-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_352-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_450-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_452-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_520-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_600-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_720-Postscript.ppd.gz foomatic-20200219-Toshiba-e-Studio_850-Postscript.ppd.gz foomatic-20200219-Xante-Accel-a-Writer_4G-Postscript.ppd.gz foomatic-20200219-Xante-PlateMaker_4-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N2125-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N24-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N3225-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N40-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4025-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_N4525-Postscript.ppd.gz foomatic-20200219-Xerox-FaxCenter_2121-Postscript.ppd.gz foomatic-20200219-Xerox-FaxCentre_2218-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_1235-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_3200MFP-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_3400-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_3450-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_4510-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_5500-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_6100-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_790-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200B-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200DP-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200DX-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_8200N-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860B-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860DP-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860DX-Postscript.ppd.gz foomatic-20200219-Xerox-Phaser_860N-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_4118-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7242-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7328-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_7335-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_M118-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_M20-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_Pro_128-Postscript.ppd.gz foomatic-20200219-Xerox-WorkCentre_Pro_133-Postscript.ppd.gz
+foomatic-20200219-Epson-AL-2600-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C1900_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C2000_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C2600-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C2800-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C3800-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C4000_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C4100-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C4200-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C8500-ljet4.ppd.gz foomatic-20200219-Epson-AL-C8500PS-ljet4.ppd.gz
+foomatic-20200219-Epson-AL-C8600_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C9100-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-C9200-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-CX21-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M2000-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-M2010-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M2300-eplaser.ppd.gz
+foomatic-20200219-Epson-AL-M2310-eplaser.ppd.gz
+foomatic-20200219-Epson-AL-M2400-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-M2410-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M4000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-M8000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-AL-MX20-Postscript-Epson.ppd.gz foomatic-20200219-Epson-AL-MX21-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-ActionPrinter_3250-ap3250.ppd.gz
+foomatic-20200219-Epson-Dot_Matrix-epsonc.ppd.gz
+foomatic-20200219-Epson-EPL-5800-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050-ljet4.ppd.gz foomatic-20200219-Epson-EPL-N2050plus-ljet4.ppd.gz
+foomatic-20200219-Epson-EPL-5900_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-6100_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-6200-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-7100-laserjet.ppd.gz
+foomatic-20200219-Epson-EPL-N2120-ljet4.ppd.gz
+foomatic-20200219-Epson-EPL-N2500_PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N2550-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N2700-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N3000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-EPL-N7000-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-1800-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-1900-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-2200-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-2400-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-2500-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-3000C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-7500-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-7700-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-7900-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8000C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8100-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8200C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8300C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8300CPD-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-8300F-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8400F-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8500C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8500CPD-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-8600-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8600F-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8700-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8800C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-8800CPS-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-8900-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9000B-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9000C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9100-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9100PS3-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9200B-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9200C-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9300-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9400-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9500C-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9500CPS-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9600-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9600S-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-9600SPD-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-9800C-Postscript-Epson.ppd.gz
+foomatic-20200219-Epson-LP-M5000-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-M5300-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-M6000-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S210-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S300-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S3000-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S310-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S3200-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S3500-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S4000-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S4200-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S4500-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S6500-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S7500-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP-S8100-eplaser-jp.ppd.gz
+foomatic-20200219-Epson-LP_8000-lp8000.ppd.gz
+foomatic-20200219-Epson-LX-300plus-ibmpro.ppd.gz foomatic-20200219-IBM-ProPrinterII-ibmpro.ppd.gz foomatic-20200219-Panasonic-KX-P2150-ibmpro.ppd.gz
+foomatic-20200219-Epson-MJ_520C-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_300-stcolor.ppd.gz
+foomatic-20200219-Epson-PM_760C-PM760pX.upp.ppd.gz
+foomatic-20200219-Epson-PM_820C-PM820pX.upp.ppd.gz
+foomatic-20200219-Epson-SQ_1170-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_800-stcolor.ppd.gz
+foomatic-20200219-Epson-Stylus_Color-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_1520-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_200-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_3000-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_400-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_440-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_500-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_600-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_640-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_670-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_740-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_800-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_I-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_IIs-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Color_PRO-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Photo_750-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Pro_XL-stcolor.ppd.gz foomatic-20200219-Epson-Stylus_Scan_2500-stcolor.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_460-stcX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_660-stc600X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_680-Stc680pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_760-stc740X.upp.ppd.gz foomatic-20200219-Epson-Stylus_Color_860-stc740X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_777-stcanyX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_850-stc800X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Color_II-stc2X.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Photo_720-Stp720pX.upp.ppd.gz
+foomatic-20200219-Epson-Stylus_Photo_870-Stp870pX.upp.ppd.gz
+foomatic-20200219-Fuji_Xerox-DocuPrint_CM305_df-Postscript.ppd.gz
+foomatic-20200219-Generic-ESC_P_Dot_Matrix_Printer-lq850.ppd.gz
+foomatic-20200219-Generic-IBM-Compatible_Dot_Matrix_Printer-ibmpro.ppd.gz
+foomatic-20200219-Generic-PCL_3_Printer-pcl3.ppd.gz
+foomatic-20200219-Generic-PCL_6_PCL_XL_Printer-ljet4.ppd.gz
+foomatic-20200219-Generic-PostScript_Printer-Postscript.ppd.gz
+foomatic-20200219-Gestetner-10512-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2105-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD0105-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-10515_10518_10512-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2105-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-40105-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-2212-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-2712-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-3212-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2022-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS2027-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS2032-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-5622-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-5627-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-5632-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-2205_2238_2212-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-2705_2738_2712-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-3205_3238_3212-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1022-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1027-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1032-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-2522-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2527-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2532-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-3502-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-4502-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-4353_MF-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-4452_MF-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-5635-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-5645-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-3525_3508_3502-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-4525_4508_4502-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1035-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1045-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-2535_2235-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2545_2245-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-3532_4235g-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-4532_4245g-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm635_635G-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm645_645G-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2035-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS2045-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2135-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2145-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD035-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD045-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD135-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD145-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-3545_3518_3532-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-4545_4518_4532-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm635-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm645-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2035-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2035e-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2045-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2045e-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4035_4135g-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4035e_4135eG-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4045_4145g-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4045e_4145eG-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-6002-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-7502-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2060-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2075-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD060-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD075-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-6002_6005_6008-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-7502_7505_7508-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1060-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1075-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-2560-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-2575-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-9002-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS2090-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD090-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-9005_9008_9002-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2090-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4090-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7010-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC1036-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP_036c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7010-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL5000-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP1036-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7116-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-C7416-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-C7417-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP116c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LP122c_LP121c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LP_020c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7116-Postscript-NRG.ppd.gz foomatic-20200219-NRG-C7416-Postscript-NRG.ppd.gz foomatic-20200219-NRG-CC7417-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL2000-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3000-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3000e-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3100-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP1620-Postscript-Savin.ppd.gz foomatic-20200219-Savin-CLP17-Postscript-Savin.ppd.gz foomatic-20200219-Savin-CLP18-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7425dn-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_2525-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-IPC_2525e-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP125cx_LP126cn-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7425dn-Postscript-NRG.ppd.gz foomatic-20200219-NRG-C7425hdn-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL4000DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_CL4000HDN-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP26DN-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7435n-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_3535-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP235c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7435n-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7100-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP35-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7521n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP222cn_LP221c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-C7521n-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL3500N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP22-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7526dn-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-C7531dn-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_2525DN-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IPC_3030DN-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LP226c_SP_C410-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP231c_SP_C411-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C400DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C410DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C411DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C400DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C410DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C411DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP27DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-CLP31DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C400DN-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7528n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP332c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7528n-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7200-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP128-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7535n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP335c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-C7535hdn-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7300-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP135-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-C7640nD-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC_4040DN-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LP440c_SP_C811DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C811DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C811DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP240D-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-C8140ND-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-C8150ND-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP540C_SPC820DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP550C_SPC821DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C820DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C821DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C820DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C821DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP340D-PDF-Savin.ppd.gz foomatic-20200219-Savin-CLP350D-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-CS555-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc460-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_4560-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_5560-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LC155-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD160c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-CS555-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSc460-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3260C-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_Color5560-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C6045-PDF-Savin.ppd.gz foomatic-20200219-Savin-SDC555-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1020-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc1025-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2003-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2503-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2003-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2003Z-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2503Z-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2003-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2503-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2003-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2003Z-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2503Z-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2003-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2003J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2003Z-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2503J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2503Z-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C2003-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C2503-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1030-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3003-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3503-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3003-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3503-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3003-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3503-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3003-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3503-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C3003-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C3503-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3003-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3503-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1045-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5503-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5503-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5503-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5503-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C4503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C5503-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5503-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1060-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C6003-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6003-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6003-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6003-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6003-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6003-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1120-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2011-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2011-PDF-Infotec.ppd.gz foomatic-20200219-NRG-MP_C2011-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2011-PDF-Ricoh.ppd.gz
+foomatic-20200219-Gestetner-DSc1220-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc1225-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2004-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2504-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2004-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2504-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2004-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2504-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2004-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2504-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2004-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2094J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2504-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2594J-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C2004-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C2504-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1220ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc1225ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2004ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2504ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2004ex-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2504ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2004ex-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2504ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2004ex-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2504ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C2004ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2094exJ-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C2594exJ-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C2004ex-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C2504ex-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1230-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3004-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3504-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3004-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3504-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3004-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3504-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3004-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3504-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C3004-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C3504-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3004-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3504-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1230ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3004ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3504ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3004ex-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3504ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3004ex-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3504ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3004ex-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3504ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C3004ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C3504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3004ex-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3504ex-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1245-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4504-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4504-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5504-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4504-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4504-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5504-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C4504-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C5504-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4504-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1245ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4504ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4504ex-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5504ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4504ex-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5504ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4504ex-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5504ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C4504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C5504ex-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4504ex-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5504ex-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1260-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C6004-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6004-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6004-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6004-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6004-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6004-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc1260ex-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C6004ex-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6004ex-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6004ex-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6004ex-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6004ex-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6004ex-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc224-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc232-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc524-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc532-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC1032-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-ISC824-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LD024c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LD032c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc224-Postscript-NRG.ppd.gz foomatic-20200219-NRG-DSc232-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1224C-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_1232C-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-C2408-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C2524-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C2532-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C3210-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc328-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc332-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc338-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_2028-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_2432-Postscript-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_2838-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LD228c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LD232c-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LD238c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc328-Postscript-NRG.ppd.gz foomatic-20200219-NRG-DSc332-Postscript-NRG.ppd.gz foomatic-20200219-NRG-DSc338-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2228C-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2232C-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2238C-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-C2820-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C3224-Postscript-Savin.ppd.gz foomatic-20200219-Savin-C3828-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc38-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IP_280-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-2138-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc38-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP3800C-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SLP38c-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc38u-Postscript-Gestetner.ppd.gz foomatic-20200219-Infotec-IPC2838-Postscript-Infotec.ppd.gz foomatic-20200219-Lanier-LP138c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-DSc38u-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL7000-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP28-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc424-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc432-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_1024c-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_1032c-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD124c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD132c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-DSc424-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSc432-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3224C-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3232C-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C2410-PDF-Savin.ppd.gz foomatic-20200219-Savin-C3210e-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSc428-pxlcolor-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc435-pxlcolor-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSc445-pxlcolor-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_2428-pxlcolor-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_2835-pxlcolor-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_3545-pxlcolor-Infotec.ppd.gz foomatic-20200219-Lanier-LD328c-pxlcolor-Lanier.ppd.gz foomatic-20200219-Lanier-LD335c-pxlcolor-Lanier.ppd.gz foomatic-20200219-Lanier-LD345c-pxlcolor-Lanier.ppd.gz foomatic-20200219-NRG-DSc428-pxlcolor-NRG.ppd.gz foomatic-20200219-NRG-DSc435-pxlcolor-NRG.ppd.gz foomatic-20200219-NRG-DSc445-pxlcolor-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3228C-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3235C-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3245C-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Savin-C2824-pxlcolor-Savin.ppd.gz foomatic-20200219-Savin-C3528-pxlcolor-Savin.ppd.gz foomatic-20200219-Savin-C4535-pxlcolor-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm1525-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm1530-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm1533-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2553-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3053-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3353-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2553-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3053-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3353-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2553-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3053-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3353-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2553-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3053-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3353-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2553-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3053-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3353-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2553-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3053-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3353-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm2525-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2530-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2535-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2554-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3054-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3554-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2554-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3054-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3554-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2554-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3054-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3554-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2554-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3054-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3554-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2554-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_2554J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3054-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3054J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3554-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3554J-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2554-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3054-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3554-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm2540-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2550-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm2560-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4054-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5054-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_6054-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4054-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5054-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_6054-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4054-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5054-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_6054-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4054-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5054-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_6054-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_4054-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_5054-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_6054-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_4054-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_5054-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_6054-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm415-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2215-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD015-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm415-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_1515-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-3515-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm615-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm616-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2015-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2216-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD115-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD116-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm615-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm616-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2015-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2016-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4015-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-8016-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm618-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm620-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2018-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2220-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD118-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD120-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm618-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm620-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2018-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2020-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4018-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-8020-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm618d-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm620d-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2018D-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2220D-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD118d-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD120d-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm618d-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm620d-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2018D-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2020D-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4018d-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-8020d-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm622-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm627-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2122-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2127-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2132-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD122-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD127-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD132-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm622-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm627-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm632-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2022-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2027-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2032-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4022-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4027-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm651-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm660-pxlmono-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm675-pxlmono-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2151-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2160-pxlmono-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2175-pxlmono-Infotec.ppd.gz foomatic-20200219-Lanier-LD151-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD160-pxlmono-Lanier.ppd.gz foomatic-20200219-Lanier-LD175-pxlmono-Lanier.ppd.gz foomatic-20200219-NRG-DSm651-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm660-pxlmono-NRG.ppd.gz foomatic-20200219-NRG-DSm675-pxlmono-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_2051-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2060-pxlmono-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_2075-pxlmono-Ricoh.ppd.gz foomatic-20200219-Savin-4051-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4060-pxlmono-Savin.ppd.gz foomatic-20200219-Savin-4075-pxlmono-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm725-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm730-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2225-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2230-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD225-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD230-PDF-Lanier.ppd.gz foomatic-20200219-NRG-DSm725-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSm730-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3025-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3030-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8025-PDF-Savin.ppd.gz foomatic-20200219-Savin-8030-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm735_735G-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm745_745G-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2235-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2245-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD235-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD245-PDF-Lanier.ppd.gz foomatic-20200219-NRG-DSm735-PDF-NRG.ppd.gz foomatic-20200219-NRG-DSm745-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_3035-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_3045-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8035_8035g-PDF-Savin.ppd.gz foomatic-20200219-Savin-8045_8045g-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm_2625-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm_2630-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm_2635-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2555-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3055-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3555-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2555-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3055-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3555-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2555-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3055-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3555-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2555-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3055-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3555-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2555-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_2595J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3055-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3095J-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3555-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_3595J-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2555-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3055-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3555-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm_2640-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-DSm_2650-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4055-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5055-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4055-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5055-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4055-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5055-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4055-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5055-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_4055-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_5055-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_4055-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_5055-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-DSm_2660-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_6055-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6055-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6055-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6055-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_6055-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_6055-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-F9199_9199nf-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LF510_515e-Postscript-Lanier.ppd.gz foomatic-20200219-Ricoh-FAX5510L_5510NF-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-FAX3799_3799nf-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-GS1227-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_2702-Postscript-Gestetner.ppd.gz foomatic-20200219-NRG-IM_2702-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-IM_2702-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Gestetner-GS3020-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-GS3025-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C2000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C2500-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C2000-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-IM_C2500-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C2000-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_C2500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C2000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-IM_C2500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C2000-PDF-Savin.ppd.gz foomatic-20200219-Savin-IM_C2500-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-GS3030-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C3000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C3500-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C3000-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-IM_C3500-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C3000-PDF-NRG.ppd.gz foomatic-20200219-NRG-IM_C3500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C3000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-IM_C3500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C3000-PDF-Savin.ppd.gz foomatic-20200219-Savin-IM_C3500-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-GS3160-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-IM_C6000-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-IM_C6000-PDF-Lanier.ppd.gz foomatic-20200219-NRG-IM_C6000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-IM_C6000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-IM_C6000-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-GWD2004-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-GWD2006-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LW324-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LW326-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W2400-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W3600-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W2400-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W3600-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-2404WD-PDF-Savin.ppd.gz foomatic-20200219-Savin-2406WD-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-GWD3006-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LW426-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W2401-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W3601-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W2401-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W3601-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-3406WD-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-GWD5100-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-GWD7140-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LW5100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LW7140-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W5100-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W7140-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W5100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_W7140-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-5100WD-PDF-Savin.ppd.gz foomatic-20200219-Savin-7140WD-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP1100_DSm7110-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP1350_DSm7135-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP9000_DSm790-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_3090-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_3110-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_3135-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_1100_LD1100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_1350_LD1135-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9000_LD190-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_1100-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_1350-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_1100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_1350-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_9000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8090-PDF-Savin.ppd.gz foomatic-20200219-Savin-8110-PDF-Savin.ppd.gz foomatic-20200219-Savin-8135-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP1600_DSm716-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2316-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_1600_LD316-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_1600-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_1600-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9016-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP2000_DSm721d-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2320-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2000_LD320d-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9021d-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP2352_DSm923-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP2852_DSm928-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP3352_DSm933-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2352-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_2852-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3352-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2352-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_2852-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3352-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2352-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_2852-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3352-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2352-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2852-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3352-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2352-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_2852-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_3352-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP2500_DSm625-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2325-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP2500_LD125-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-7025-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP3500_DSm735e-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP4500_DSm745e-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2435-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2445-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_3500_LD335-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_4500_LD345-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_3500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_4500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8035e-PDF-Savin.ppd.gz foomatic-20200219-Savin-8045e-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP5500_DSm755-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP6500_DSm765-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP7500_DSm775-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_6000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_8000-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2255-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2265-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2275-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_6000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_8000-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_5500_LD255-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_6000_LD260-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_6500_LD265-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7000_LD270-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7500_LD275-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_8000_LD280-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_5500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_6000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_6500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_8000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_8000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8055-PDF-Savin.ppd.gz foomatic-20200219-Savin-8060-PDF-Savin.ppd.gz foomatic-20200219-Savin-8065-PDF-Savin.ppd.gz foomatic-20200219-Savin-8070-PDF-Savin.ppd.gz foomatic-20200219-Savin-8075-PDF-Savin.ppd.gz foomatic-20200219-Savin-8080-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MPC1500_GS106-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_615G-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MPC1500_LD215c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C1500sp-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C1500_615C-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SGC_1506-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MPC2500_DSc525-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MPC3000_DSc530-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_2525-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_3030-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2500_LD425c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3000_LD430c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C2525-PDF-Savin.ppd.gz foomatic-20200219-Savin-C3030-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MPC3500_DSc535-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MPC4500_DSc545-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-ISC_3535-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-ISC_4045-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3500_LD435c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C4500_LD445c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3500-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C4500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3500-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C3535-PDF-Savin.ppd.gz foomatic-20200219-Savin-C4540-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_161_DSm416-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2416-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_161_LD016-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_161-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_161-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-816-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_171-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_171-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_171_LD_117-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_171-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_171-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-917-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_2001-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2001-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2001-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2001-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_2001J-PDF-Ricoh.ppd.gz
+foomatic-20200219-Gestetner-MP_2501-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2501-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2501-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_2501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_2501-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_2510_DSm725e-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3010_DSm730e-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-IS_2425-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-IS_2430-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2510_LD325-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3010_LD330-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2510-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3010-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2510-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3010-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-8025e-PDF-Savin.ppd.gz foomatic-20200219-Savin-8030e-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_2550-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_2550B-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3350-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3350B-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2550-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_2550B-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3350-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3350B-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2550B_LD425B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_2550_LD425-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3350B_LD433B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3350_LD433-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2550-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_2550B-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3350-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3350B-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2550-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2550B-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3350-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3350B-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9025-PDF-Savin.ppd.gz foomatic-20200219-Savin-9025b-PDF-Savin.ppd.gz foomatic-20200219-Savin-9033-PDF-Savin.ppd.gz foomatic-20200219-Savin-9033b-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_2851-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_3351-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_2851-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_3351-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_2851_LD528-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_3351_LD533-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_2851-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_3351-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_2851-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_3351-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9228-PDF-Savin.ppd.gz foomatic-20200219-Savin-9233-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_301-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_301-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_301-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_301-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_301-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_301-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_305plus-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_305plus-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_305plus-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_305plus-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_305plus-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_305plus-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_4000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_4000B-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5000B-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_4000B-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5000B-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4000B_LD040B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_4000_LD040-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5000B_LD050B-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5000_LD050-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_4000B-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5000B-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4000B-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5000B-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9040-PDF-Savin.ppd.gz foomatic-20200219-Savin-9040b-PDF-Savin.ppd.gz foomatic-20200219-Savin-9050-PDF-Savin.ppd.gz foomatic-20200219-Savin-9050b-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_4001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5001-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5001-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4001_LD140-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5001_LD150-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5001-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5001-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9240-PDF-Savin.ppd.gz foomatic-20200219-Savin-9250-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_4002-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_5002-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_4002-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_5002-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_4002-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_5002-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_4002-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_5002-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_4002-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_5002-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_4002-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_5002-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_401SPF-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_401SPF-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4510SF-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4510SF-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_401SPF-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_4510SF-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_401SPF-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_4510SF-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_402SPF-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_402SPF-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_402SPF-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_402SPF-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_402SPF-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_402SPF-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_6001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_8001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_9001-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_8001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_9001-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6001_LD360-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7001_LD370-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_8001_LD380-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9001_LD390-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_8001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9001-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_8001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_9001-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-9060-PDF-Savin.ppd.gz foomatic-20200219-Savin-9070-PDF-Savin.ppd.gz foomatic-20200219-Savin-9080-PDF-Savin.ppd.gz foomatic-20200219-Savin-9090-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_6002-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_9002-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6002-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_9002-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6002-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9002-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6002-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9002-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_6002-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_7502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_9002-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_6002-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_7502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_9002-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_6503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_7503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_9003-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_6503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_7503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_9003-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_6503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_7503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_9003-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_6503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_7503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_9003-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_6503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_7503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_9003-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_6503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_7503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_9003-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C2050-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2550-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2050-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2550-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2050_LD520C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C2550_LD525C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2050-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2550-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2050-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2550-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9020-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9025-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C2051-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C2551-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2051-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C2551-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD_620C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD_625C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2051-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C2551-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2051-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2551-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9120-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9125-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C2800-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3300-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C2800-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3300-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C2800_LD528C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3300_LD533C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C2800-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3300-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C2800-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3300-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C2828-PDF-Savin.ppd.gz foomatic-20200219-Savin-C3333-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C300-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C400-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C300-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C400-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD_130C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD_140C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C300-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C400-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C300-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C400-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C300-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C400-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C_230-PDF-Savin.ppd.gz foomatic-20200219-Savin-C_240-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C3001-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3501-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3001-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3501-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3001_LD630C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3501_LD635C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3001-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3001-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9130-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9135-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C3002-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C3502-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C3002-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C3502-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C3002-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C3502-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C3002-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C3502-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3002-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C3502-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C3002-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C3502-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C300SR-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C400SR-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C300SR-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C400SR-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-LD_130CSR-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LD_140CSR-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C300SR-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C400SR-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C300SR-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C400SR-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C300SR-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C400SR-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C_230SR-PDF-Savin.ppd.gz foomatic-20200219-Savin-C_240SR-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C305-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C305-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C305-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C305-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C305-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C305-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C306Z-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C406Z-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C306Z-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C406Z-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C306Z-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C406Z-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C306Z-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C406Z-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C306Z-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C406Z-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C306Z-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C406Z-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C307-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C407-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C307-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C407-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C307-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C407-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C307-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C407-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C307-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C407-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C307-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C407-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C4000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5000-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5000-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4000_LD540C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5000_LD550C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5000-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5000-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C4040-PDF-Savin.ppd.gz foomatic-20200219-Savin-C5050-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C401-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C401-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C401-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C401-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C401-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C401-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C401SR-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C401SR-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C401SR-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C401SR-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C401SR-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C401SR-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C4501-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4501A-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5501-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5501A-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C4501A-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5501A-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MPC4501A_LD645CA-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MPC5501A_LD655CA-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C4501_LD645C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5501_LD655C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C4501A-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5501A-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4501A-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5501A-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9145-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9145A-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9155-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9155A-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C4502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C4502A-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C5502A-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C4502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C4502A-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C5502A-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C4502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C4502A-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C5502A-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C4502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C4502A-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C5502A-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C4502A-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C5502A-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C4502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C4502A-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C5502A-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C6000-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C7500-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6000-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C7500-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6000_LD260c-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C7500_LD275c-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6000-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C7500-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C6000-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C7500-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C6055-PDF-Savin.ppd.gz foomatic-20200219-Savin-C7570-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C6501-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C7501-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C7501-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6501_LD365C-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C7501_LD375C-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C7501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C6501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_C7501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-C9065-PDF-Savin.ppd.gz foomatic-20200219-Savin-C9075-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C6502-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C8002-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6502-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C8002-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6502-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C8002-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6502-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C8002-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6502-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C8002-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6502-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C8002-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_C6503-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_C8003-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-MP_C6503-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_C8003-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_C6503-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_C8003-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C6503-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_C8003-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C6503-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_C8003-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C6503-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_C8003-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_CW2200-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_CW2200-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_CW2200-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_CW2200-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_CW2200-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_CW2201-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_CW2201-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_CW2201-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_CW2201-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_CW2201-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_W6700-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_W6700-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W6700-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_W6700-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_W6700-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-MP_W7100-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-MP_W8140-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-MP_W7100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_W8140-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_W7100-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_W8140-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_W7100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_W8140-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_W7100-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_W8140-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7026-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7026n-Postscript-Gestetner.ppd.gz foomatic-20200219-NRG-P7026-Postscript-NRG.ppd.gz foomatic-20200219-NRG-P7026N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2600-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2600N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2600-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2600N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SLP26-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SLP26n-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7031n-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7031nL-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7035n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP131n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP131nL-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP136n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4100N-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4100NL-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4110N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4100N-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_4100NL-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_4110N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4100N-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4100NL-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4110N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP31n-PDF-Savin.ppd.gz foomatic-20200219-Savin-MLP31nL-PDF-Savin.ppd.gz foomatic-20200219-Savin-MLP36n-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7032-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-2132-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7032-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP3200-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SLP32-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7126-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7126n-Postscript-Gestetner.ppd.gz foomatic-20200219-NRG-P7126-Postscript-NRG.ppd.gz foomatic-20200219-NRG-P7126N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2610-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP2610N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2610-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-LASER_AP2610N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP26-Postscript-Savin.ppd.gz foomatic-20200219-Savin-MLP26n-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7132n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP032-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7132N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP600N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP32-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7145-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-2145-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7145-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP4510-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP45-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7245-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP145n_SP_8100DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8100DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_8100DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP145-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7325-Postscript-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7325n-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP025N_LP026N-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-LP025_LP026-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7325-Postscript-NRG.ppd.gz foomatic-20200219-NRG-P7325N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP400-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP400N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-MLP25-Postscript-Savin.ppd.gz foomatic-20200219-Savin-MLP25n-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7431cn-Postscript-Gestetner.ppd.gz foomatic-20200219-Lanier-LP031c-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-P7431cn-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_CL1000N-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-CLP831-Postscript-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7527-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-P7527n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP127n_LP128n-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP128-PDF-Lanier.ppd.gz foomatic-20200219-NRG-P7527-PDF-NRG.ppd.gz foomatic-20200219-NRG-P7527n-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP410-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_AP410N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP28-PDF-Savin.ppd.gz foomatic-20200219-Savin-MLP28n-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7535n-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP135n-PDF-Lanier.ppd.gz foomatic-20200219-NRG-P7535n-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP610N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP35n-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7575-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP175_LP175hdn-PDF-Lanier.ppd.gz foomatic-20200219-NRG-P7575-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_AP900-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP75n-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-P7675-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-SP_9100_LP275-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_9100DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_9100DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP175n-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-Pro_1106EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_1356EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_906EX-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-Pro_1106EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_1356EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_906EX-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_1106EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_1356EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_906EX-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_1106EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_1356EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_906EX-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_1106EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_1356EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_906EX-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_1106EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_1356EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_906EX-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-Pro_1107EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_1357EX-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-Pro_907EX-PDF-Gestetner.ppd.gz foomatic-20200219-Infotec-Pro_1107EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_1357EX-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_907EX-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_1107EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_1357EX-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_907EX-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_1107EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_1357EX-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_907EX-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_1107EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_1357EX-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_907EX-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_1107EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_1357EX-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_907EX-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_4210N-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP37N-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4210N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4210N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4210N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP37N-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_6330N-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP235N-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_6330N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_6330N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_6330N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP235n-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_8200DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP150dn_SP8200DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8200DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_8200DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MLP150DN-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_C320DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-SP_C320DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C320DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C320DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C320DN-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_C420DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP331cn_SP_C420-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C420DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C420DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP131DN-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_C430DN-PDF-Gestetner.ppd.gz foomatic-20200219-Gestetner-SP_C431DN-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP137CN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-LP142CN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C430DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C431DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C430DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C431DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C430DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C431DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-CLP37DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-CLP42DN-PDF-Savin.ppd.gz
+foomatic-20200219-Gestetner-SP_W2470-PDF-Gestetner.ppd.gz foomatic-20200219-Lanier-LP124w-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_W2470-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_W2470-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-2404WDP-PDF-Savin.ppd.gz
+foomatic-20200219-IBM-3853_JetPrinter-jetp3852.ppd.gz
+foomatic-20200219-IBM-4303_Network_Color_Printer-Postscript.ppd.gz foomatic-20200219-Oki-Okipage_8c-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_C20-Postscript.ppd.gz foomatic-20200219-Xerox-DocuPrint_C55-Postscript.ppd.gz
+foomatic-20200219-Imagen-ImPress-imagen.ppd.gz
+foomatic-20200219-Imagistics-im8530-Postscript-Oce.ppd.gz
+foomatic-20200219-InfoPrint-Pro_1107EX-pxlmono-InfoPrint.ppd.gz foomatic-20200219-InfoPrint-Pro_1357EX-pxlmono-InfoPrint.ppd.gz foomatic-20200219-InfoPrint-Pro_907EX-pxlmono-InfoPrint.ppd.gz
+foomatic-20200219-Infotec-MP_201-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_201_LD_220-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_201-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_MP_201-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-920-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-MP_501-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-MP_601-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-MP_501-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-MP_601-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_501-PDF-NRG.ppd.gz foomatic-20200219-NRG-MP_601-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-MP_601-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_501-PDF-Savin.ppd.gz foomatic-20200219-Savin-MP_601-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_8100S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8110S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8120S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8100S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8110S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8120S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8100S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8110S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8120S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8100S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8110S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8120S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8100S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8110S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8120S-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_8110-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8120-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8110-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8120-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8110-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8120-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8110-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8120-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8110-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8120-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_8300S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8300S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8300S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8300S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8300S-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_8310-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8320-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8310-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8320-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8310-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8320-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8310-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8320-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8310-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8320-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_8310S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_8320S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_8310S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_8320S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_8310S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_8320S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_8310S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_8320S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_8310S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_8320S-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_C5100S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_C5110S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_C5100S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_C5110S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_C5100S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_C5110S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_C5100S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_C5110S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_C5100S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_C5110S-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_C7100-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_C7110-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_C7100-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_C7110-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_C7100-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_C7110-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_C7100-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_C7110-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_C7100-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_C7110-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-Pro_C7100S-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-Pro_C7110S-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-Pro_C7100S-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-Pro_C7110S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-Pro_C7100S-PDF-NRG.ppd.gz foomatic-20200219-NRG-Pro_C7110S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Pro_C7100S-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Pro_C7110S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-Pro_C7100S-PDF-Savin.ppd.gz foomatic-20200219-Savin-Pro_C7110S-PDF-Savin.ppd.gz
+foomatic-20200219-Infotec-SP_5300-PDF-Infotec.ppd.gz foomatic-20200219-Infotec-SP_5310-PDF-Infotec.ppd.gz foomatic-20200219-Lanier-SP_5300-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_5310-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5300-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_5310-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_5300-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_5310-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5300-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_5310-PDF-Savin.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_1050eP-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_500-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_750-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C250P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C252P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C351-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C352P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C450P-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C451-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-KONICA_MINOLTA-bizhub_C550-Postscript-KONICA_MINOLTA.ppd.gz
+foomatic-20200219-Kodak-IS_70_CPII-Postscript.ppd.gz foomatic-20200219-Ricoh-Aficio_5206-Postscript.ppd.gz
+foomatic-20200219-Kyocera-CS-1650-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-1650-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-CS-1815-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-CS-2050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-2550-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-2050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-2550-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-CS-C2525E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-C3225E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-C3232E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-CS-C4035E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C2525E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3225E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3232E_KPDL-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C4035E_KPDL-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-Ci-1100-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1000-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1000plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1010-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-1050-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1018MFP-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1020D-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1030D-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1118MFP-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1200-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1700-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1700plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1714M-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1800-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-1800plus-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-3800-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1900-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-1920-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-2000D-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3700-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3700plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3750-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3820N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3830N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-3900DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-4000DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-5800C-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-5900C-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-600-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6020-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6026-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6300-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6500plus-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6700-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6750-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-680-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-800-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6900-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-6950DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-7000-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-7028M-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-8000C-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9000-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9100DN-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-FS-9500DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9120DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-920-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-9520DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5015N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5016N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5020N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5025N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C5030N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8008N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8026N-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8100DN-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-FS-C8100DNplus_KPDL-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1510-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1810-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1815-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-1820-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-2030-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-2530-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-3530-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-4030-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-3035-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-4035-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-5035-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-3050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-4050-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-5050-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-4230_5230-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-4530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-5530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-6030-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-8030-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-6230-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-6330-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-7530-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C2520-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3225-Postscript-Kyocera.ppd.gz foomatic-20200219-Kyocera-KM-C3232-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C2630-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C830-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Kyocera-KM-C850-Postscript-Kyocera.ppd.gz
+foomatic-20200219-Lanier-MP_C501-PDF-Lanier.ppd.gz foomatic-20200219-NRG-MP_C501-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-MP_C501-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-MP_C501-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-P_501-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-P_502-PDF-Lanier.ppd.gz foomatic-20200219-Ricoh-P_501-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-P_502-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-P_501-PDF-Savin.ppd.gz foomatic-20200219-Savin-P_502-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SG3110DN-pxlcolor-Lanier.ppd.gz foomatic-20200219-Lanier-SG3110DNw-pxlcolor-Lanier.ppd.gz foomatic-20200219-NRG-SG3110DN-pxlcolor-NRG.ppd.gz foomatic-20200219-NRG-SG3110DNw-pxlcolor-NRG.ppd.gz foomatic-20200219-Ricoh-AficioSG3110DN-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-AficioSG3110DNw-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-SG3120BSFNw-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Savin-SG3110DN-pxlcolor-Savin.ppd.gz foomatic-20200219-Savin-SG3110DNw-pxlcolor-Savin.ppd.gz
+foomatic-20200219-Lanier-SG3110SFNw-pxlcolor-Lanier.ppd.gz foomatic-20200219-NRG-SG3110SFNw-pxlcolor-NRG.ppd.gz foomatic-20200219-Ricoh-AficioSG3110SFNw-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Savin-SG3110SFNw-pxlcolor-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_3400N-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3400SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_3400N-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3400SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3400N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3400SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_3410DN-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3410SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_3410DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3410SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_300DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3410DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3410SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_3600DN-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3600SF-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_3610SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_3600DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3600SF-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3610SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-SP_3600DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3600SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3610SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SP_3600DN-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SP_3600SF-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SP_3610SF-Postscript-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_4310N-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4310N-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_4310N-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_4310N-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_4510DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_4520DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_4510DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_4510DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_4520DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_4510DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_4520DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_5200DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_5210DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5200DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_5210DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5200DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5210DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5200DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_5210DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_5200S-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5200S-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5200S-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5200S-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_5210SF-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5210SF-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5210SF-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5210SF-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_5210SR-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_5210SR-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_5210SR-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_5210SR-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_6430DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_6430DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_6430DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_6430DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_8300DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8300DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_8300DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_8300DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_8400DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_8400DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_8400DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_8400DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C221N-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C231N-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C221N-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C231N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C221N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C231N-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_C222DN-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C232DN-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C222DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C232DN-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C222DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C232DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_C222SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C222SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C222SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_C232SF-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C232SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C232SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_C311N-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C311N-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C311N-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_C312DN-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C312DN-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C312DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Lanier-SP_C340DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C340DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C340DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C340DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C342DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C342DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C342DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C342DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C352DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C352DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C352DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C352DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C360DNw-Postscript-Lanier.ppd.gz foomatic-20200219-Ricoh-SP_C360DNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C360DNw-Postscript-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C360SFNw-Postscript-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C361SFNw-Postscript-Lanier.ppd.gz foomatic-20200219-NRG-SP_C360SFNw-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C360SNw-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C361SFNw-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C360SFNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C360SNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C361SFNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C360SFNw-Postscript-Savin.ppd.gz foomatic-20200219-Savin-SP_C361SFNw-Postscript-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C435DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C440DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C440DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C435DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C440DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C435DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C440DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C730DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C730DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C730DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C730DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C830DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C831DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C830DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C831DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C830DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C831DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C830DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C831DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lanier-SP_C840DN-PDF-Lanier.ppd.gz foomatic-20200219-Lanier-SP_C842DN-PDF-Lanier.ppd.gz foomatic-20200219-NRG-SP_C840DN-PDF-NRG.ppd.gz foomatic-20200219-NRG-SP_C842DN-PDF-NRG.ppd.gz foomatic-20200219-Ricoh-SP_C840DN-PDF-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C842DN-PDF-Ricoh.ppd.gz foomatic-20200219-Savin-SP_C840DN-PDF-Savin.ppd.gz foomatic-20200219-Savin-SP_C842DN-PDF-Savin.ppd.gz
+foomatic-20200219-Lexmark-1020_Business-pcl3.ppd.gz foomatic-20200219-Lexmark-3000-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_100C-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_150C-pcl3.ppd.gz foomatic-20200219-Samsung-SI-630A-pcl3.ppd.gz
+foomatic-20200219-Lexmark-4039_10plus-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_E310-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_E312-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Ep-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_K_1220-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_M410-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_M412-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_W810-Postscript.ppd.gz
+foomatic-20200219-Lexmark-C2132-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C500n-Postscript.ppd.gz foomatic-20200219-Lexmark-C530dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C532dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C532n-Postscript.ppd.gz foomatic-20200219-Lexmark-C534dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C534dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C534n-Postscript.ppd.gz foomatic-20200219-Lexmark-C770dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C770n-Postscript.ppd.gz foomatic-20200219-Lexmark-C772dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C772n-Postscript.ppd.gz foomatic-20200219-Lexmark-C780dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C780dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C780n-Postscript.ppd.gz foomatic-20200219-Lexmark-C782dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C782dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C782n-Postscript.ppd.gz foomatic-20200219-Lexmark-C920n-Postscript.ppd.gz foomatic-20200219-Lexmark-C935dn-Postscript.ppd.gz foomatic-20200219-Lexmark-C935dtn-Postscript.ppd.gz foomatic-20200219-Lexmark-C935hdn-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_C710-Postscript.ppd.gz foomatic-20200219-Lexmark-X560n-Postscript.ppd.gz
+foomatic-20200219-Lexmark-C510-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C510b-Postscript.ppd.gz foomatic-20200219-Lexmark-C752b-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Rplus-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_S_1250-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_S_1855-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Se_3455-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T610-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T612-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T614-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_T616-Postscript.ppd.gz foomatic-20200219-Lexmark-T430-Postscript.ppd.gz foomatic-20200219-Lexmark-T640-Postscript.ppd.gz foomatic-20200219-Lexmark-T642-Postscript.ppd.gz foomatic-20200219-Lexmark-T644-Postscript.ppd.gz foomatic-20200219-Lexmark-W812-Postscript.ppd.gz foomatic-20200219-Lexmark-W840-Postscript.ppd.gz
+foomatic-20200219-Lexmark-C520-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C522-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C524-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C540-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C543-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C544-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C546-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C720n-pxlcolor.ppd.gz foomatic-20200219-Oki-C6000-pxlcolor.ppd.gz foomatic-20200219-Oki-C7350-pxlcolor.ppd.gz foomatic-20200219-Oki-C7550-pxlcolor.ppd.gz foomatic-20200219-Oki-C9650-pxlcolor.ppd.gz foomatic-20200219-Oki-C9800-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-180-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C265-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C305-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C322-pxlcolor.ppd.gz foomatic-20200219-Panasonic-DP-C405-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-550-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-550N-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-620-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-650-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-650N-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-660N-pxlcolor.ppd.gz foomatic-20200219-Samsung-CLP-660ND-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_220cp-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_2830c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_3530c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_4500c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_4520c-pxlcolor.ppd.gz foomatic-20200219-Toshiba-e-Studio_5500c-pxlcolor.ppd.gz
+foomatic-20200219-Lexmark-C734-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C736-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C750-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C752-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C780-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C782-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C910-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C912-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C930-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-C935-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-E238-pxlmono.ppd.gz foomatic-20200219-Lexmark-E450dn-pxlmono.ppd.gz foomatic-20200219-Lexmark-X342n-pxlmono.ppd.gz foomatic-20200219-Lexmark-X642e-pxlmono.ppd.gz foomatic-20200219-Oce-fx2080-pxlmono.ppd.gz foomatic-20200219-Oce-sx1480-pxlmono.ppd.gz foomatic-20200219-Oki-B2400-pxlmono.ppd.gz foomatic-20200219-Oki-B4200-pxlmono.ppd.gz foomatic-20200219-Oki-B4250-pxlmono.ppd.gz foomatic-20200219-Oki-B4400-pxlmono.ppd.gz foomatic-20200219-Oki-B4600-pxlmono.ppd.gz foomatic-20200219-Oki-B4600_PS-pxlmono.ppd.gz foomatic-20200219-Oki-B6300-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-2330-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-4510-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-4520-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8016P-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8020E-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8045-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-8060-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C213-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C262-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C264-pxlmono.ppd.gz foomatic-20200219-Panasonic-DP-C354-pxlmono.ppd.gz foomatic-20200219-Samsung-K2200-pxlmono.ppd.gz foomatic-20200219-Samsung-M262x_282x-pxlmono.ppd.gz foomatic-20200219-Samsung-M267x_287x-pxlmono.ppd.gz foomatic-20200219-Samsung-M283x-pxlmono.ppd.gz foomatic-20200219-Samsung-M288x-pxlmono.ppd.gz foomatic-20200219-Samsung-M301x-pxlmono.ppd.gz foomatic-20200219-Samsung-M306x-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2571N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2580-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2850D-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2851ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-2950-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3051N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3051ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3470D-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-3471ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-4050N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-4551N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-4551ND-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-6060-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-6060N-pxlmono.ppd.gz foomatic-20200219-Samsung-ML-6060S-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-470x-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-472x-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-4x24-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-4x25-pxlmono.ppd.gz foomatic-20200219-Samsung-SCX-4x26-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_1101-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_1351-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_162-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_162d-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_167-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_203l-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_233-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_237-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_283-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_353-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_450s-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_453-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_500p-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_500s-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_523-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_523t-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_603-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_603t-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_723-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_723t-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_853-pxlmono.ppd.gz foomatic-20200219-Toshiba-e-Studio_901-pxlmono.ppd.gz
+foomatic-20200219-Lexmark-E260dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-E350d-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-E352dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-E360dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-EG460dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-Optra_Color_1200-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_1275-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_40-Postscript.ppd.gz foomatic-20200219-Lexmark-Optra_Color_45-Postscript.ppd.gz
+foomatic-20200219-Lexmark-T650-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-T652-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-T654-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-TG654-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-T656-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-W850-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X125-drv_x125.ppd.gz
+foomatic-20200219-Lexmark-X203n-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X204n-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X264dn-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X363dn-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X364dn-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X364dw-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X463de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X464de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X466de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X466dte-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X466dwe-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X543-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X544-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X546-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X734de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X736de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X738de-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X860de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X862de-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X864de-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-X940e-Postscript-Lexmark.ppd.gz foomatic-20200219-Lexmark-X945e-Postscript-Lexmark.ppd.gz
+foomatic-20200219-Lexmark-Z11-cZ11somsom.ppd.gz
+foomatic-20200219-Minolta-PagePro_8L-ljet2p.ppd.gz
+foomatic-20200219-Minolta-magicolor_3100-Postscript.ppd.gz
+foomatic-20200219-NEC-P2X-necp2xX.upp.ppd.gz
+foomatic-20200219-NEC-PICTY180-picty180.ppd.gz
+foomatic-20200219-NEC-PinWriter_P6-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P60-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P6_plus-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P7-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P70-necp6.ppd.gz foomatic-20200219-NEC-PinWriter_P7_plus-necp6.ppd.gz
+foomatic-20200219-NEC-Pinwriter_P20-necp6.ppd.gz foomatic-20200219-Star-LC24-100-necp6.ppd.gz
+foomatic-20200219-NEC-SuperScript_650C-pcl3.ppd.gz foomatic-20200219-NEC-SuperScript_750C-pcl3.ppd.gz foomatic-20200219-Xerox-DocuPrint_C11-pcl3.ppd.gz
+foomatic-20200219-NRG-SP_3500N-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3500SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3500N-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3500SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-NRG-SP_3510DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_3510SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3510DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_3510SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-NRG-SP_C242DN-Postscript-NRG.ppd.gz foomatic-20200219-NRG-SP_C242SF-Postscript-NRG.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C242DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-Aficio_SP_C242SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Oce-3145PS-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-3155PS-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-3165PS-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-8445PS-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-8465PS-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-9050-oce9050.ppd.gz
+foomatic-20200219-Oce-9230-Postscript2-Oce.ppd.gz foomatic-20200219-Oce-9245-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-9260-Postscript2-Oce.ppd.gz
+foomatic-20200219-Oce-PPC3073PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3093PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3113PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-PPC3074PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3094PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC3114PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-PPC5115PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-PPC5160PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2045PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2050PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2055PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2060PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2065PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2070PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2090PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2100PS-Postscript-Oce.ppd.gz foomatic-20200219-Oce-VarioPrint_2110PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oce-VarioPrint_2105PS-Postscript-Oce.ppd.gz
+foomatic-20200219-Oki-14i-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-B4300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-B4350-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5400-Postscript-Oki.ppd.gz foomatic-20200219-Oki-C5450-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5700-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C5900-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C6100-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7100-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7200-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7400-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C7500-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C8800-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9200-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9300-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9400-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9500-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-C9600-Postscript-Oki.ppd.gz
+foomatic-20200219-Oki-ML_320-okiibm.ppd.gz foomatic-20200219-Oki-ML_321-okiibm.ppd.gz foomatic-20200219-Oki-Microline_IBM_compatible_9_pin-okiibm.ppd.gz
+foomatic-20200219-Oki-Microline_182-oki182.ppd.gz foomatic-20200219-Oki-Microline_192plus-oki182.ppd.gz
+foomatic-20200219-Oki-OL400w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_4w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_4wplus-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_6w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_8w-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_8w_Lite-oki4drv.ppd.gz foomatic-20200219-Oki-Okipage_8z-oki4drv.ppd.gz
+foomatic-20200219-Oki-OL410e-ljet4.ppd.gz foomatic-20200219-Oki-Super_6e-ljet4.ppd.gz foomatic-20200219-Ricoh-Aficio_401-ljet4.ppd.gz
+foomatic-20200219-Oki-Okijet_2500-cdj550.ppd.gz foomatic-20200219-Xerox-DocuPrint_C6-cdj550.ppd.gz foomatic-20200219-Xerox-DocuPrint_C8-cdj550.ppd.gz foomatic-20200219-Xerox-DocuPrint_XJ6C-cdj550.ppd.gz foomatic-20200219-Xerox-Document_Homecentre-cdj550.ppd.gz foomatic-20200219-Xerox-WorkCentre_450cp-cdj550.ppd.gz
+foomatic-20200219-Olivetti-JP350S-laserjet.ppd.gz
+foomatic-20200219-Olivetti-JP450-djet500.ppd.gz
+foomatic-20200219-Panasonic-KX-P1150-eps9high.ppd.gz
+foomatic-20200219-Pentax-PocketJet_200-pentaxpj.ppd.gz
+foomatic-20200219-Pentax-PocketJet_II-pentaxpj.ppd.gz
+foomatic-20200219-Ricoh-4081-r4081.ppd.gz foomatic-20200219-Ricoh-4801-r4081.ppd.gz foomatic-20200219-Ricoh-6000-r4081.ppd.gz
+foomatic-20200219-Ricoh-ColorLaser_AP828-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-DDP_70-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-DDP_92-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-EMP_156-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-GX_3050N-pxlcolor-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-GX_3050SFN-pxlcolor-Ricoh.ppd.gz foomatic-20200219-Ricoh-GX_5050N-pxlcolor-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-GX_E3350N-pxlcolor-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-GX_E5550N-pxlcolor-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_2300L-pcl5-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_2300SFL-pcl5-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_330DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3710DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_330SFN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_330SN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_3710SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_3700-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_3700SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_400DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_450DN-PDF-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_C250DN-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C252DN-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_C250SF-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C252SF-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Ricoh-SP_C261DNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C261SFNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C262DNw-Postscript-Ricoh.ppd.gz foomatic-20200219-Ricoh-SP_C262SFNw-Postscript-Ricoh.ppd.gz
+foomatic-20200219-Samsung-C140x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C145x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C1810-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C1860-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C2620-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C2670-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C268x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C460-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-C470-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C4820-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-C48x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-350-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-410-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-4190-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-610-pxlcolor.ppd.gz
+foomatic-20200219-Samsung-CLP-660-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-670-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-680-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6260-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-770-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLP-775-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-3300-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-6200-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-6240-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-6220-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-6250-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-8380-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-8385-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-8385X-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-8540-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-8640_8650-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-9250_9350-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-9252_9352-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-982x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-CLX-92x1_93x1-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-CLX-981x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K3250-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K401-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-K4350-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K703-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-K7600-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M337x_387x_407x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M403x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M408x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M4370_5370-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M453x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M458x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-M5270-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-1650-ljet4.ppd.gz foomatic-20200219-Samsung-ML-1651N-ljet4.ppd.gz
+foomatic-20200219-Samsung-ML-2150-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2550-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2570-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2850-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-2853-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-2855-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-3470-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-3475-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-371x-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-ML-375x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4050-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4055-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-451x_501x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4550-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-4555-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-551x_651x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-8850_8950-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-ML-8x00-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-483x_5x3x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-4x28-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-5635-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-5835_5935-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-5835_5935X-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6545-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6545X-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-681x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x20-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x22-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x45-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-6x55-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-6x55X-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-8030_8040-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-8123_8128-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-881x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-SCX-8230_8240-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-SCX-882x-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X3220-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X401-Postscript-Samsung.ppd.gz foomatic-20200219-Samsung-X4300-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X703-Postscript-Samsung.ppd.gz
+foomatic-20200219-Samsung-X7600-Postscript-Samsung.ppd.gz
+foomatic-20200219-Sharp-AJ-1800-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-1805-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-2000-pcl3.ppd.gz foomatic-20200219-Sharp-AJ-2005-pcl3.ppd.gz foomatic-20200219-Xerox-DocuPrint_M750-pcl3.ppd.gz foomatic-20200219-Xerox-DocuPrint_M760-pcl3.ppd.gz
+foomatic-20200219-Sharp-AR-155FG_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-160M_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-163FG_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-163G_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-168D-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M155_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-168S-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M150_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-200M_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-205FG_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-205G_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-266FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-266S_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-311FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-311N_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-311S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-351FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-351N_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-351S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-451FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-451N_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-451S_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-5220-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M160_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-555M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-555S_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-625M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-625S_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-705M_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-705S_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-B07-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-BC260-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-BC320-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C170M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C172M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C262M-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-C170FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C172FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260F-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C260S-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261F-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261M-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C261S-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C262FP_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-C262S-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-C260P-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M161_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M162_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M165_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M205_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M206_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M207_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M236_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M237_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M276_PS-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M277_PS-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M351N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M351U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M355N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M355U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M451N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M451U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M455N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M455U-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M550N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M550U-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M620N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M620U-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-M700N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-AR-M700U-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-N182FG-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-AR-N182G-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-2314NR-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-2314N-ps.ppd.gz
+foomatic-20200219-Sharp-MX-2614NR-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-3114NR-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-2616N-ps.ppd.gz sharp-20191219-Sharp-MX-3116N-ps.ppd.gz
+foomatic-20200219-Sharp-MX-M1100-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M850-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M950-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M182-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M182D-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M202D-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M232D-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M260-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M260N-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M310-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M310N-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M260FP-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M310FP-Postscript-Sharp.ppd.gz
+foomatic-20200219-Sharp-MX-M264NR-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M314NR-Postscript-Sharp.ppd.gz foomatic-20200219-Sharp-MX-M354NR-Postscript-Sharp.ppd.gz sharp-20191219-Sharp-MX-M264N-ps.ppd.gz sharp-20191219-Sharp-MX-M264U-ps.ppd.gz sharp-20191219-Sharp-MX-M314N-ps.ppd.gz sharp-20191219-Sharp-MX-M314U-ps.ppd.gz sharp-20191219-Sharp-MX-M354N-ps.ppd.gz sharp-20191219-Sharp-MX-M354U-ps.ppd.gz
+foomatic-20200219-Sharp-MX-M860-Postscript-Sharp.ppd.gz
+foomatic-20200219-SiPix-Pocket_Printer_A6-sipixa6.upp.ppd.gz
+foomatic-20200219-Star-NX-1001-eps9mid.ppd.gz
+foomatic-20200219-Star-StarJet_48-sj48.ppd.gz
+foomatic-20200219-Tektronix-4693d-t4693dX.ppd.gz
+foomatic-20200219-Tektronix-4695-tek4696.ppd.gz
+foomatic-20200219-Tektronix-4696-tek4696.ppd.gz foomatic-20200219-Tektronix-4697-tek4696.ppd.gz
+foomatic-20200219-Tektronix-Phaser_350-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_IISX-Postscript.ppd.gz foomatic-20200219-Tektronix-Phaser_PX-Postscript.ppd.gz
+foomatic-20200219-Toshiba-GL-1010-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-GL-1020-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_205-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_282-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_3510c-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_451c-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_452-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Toshiba-e-Studio_850-Postscript-Toshiba.ppd.gz
+foomatic-20200219-Xerox-DocuPrint_XJ8C-lxm5700m.ppd.gz
+foomatic-20200219-Xerox-Phaser_3160N-pxlcolor.ppd.gz
+fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c3375.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-apeosportv-c4475.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c2263.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c2275.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c3370.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucentreiv-c3375.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docucolor-1450-ga.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-205.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-c3050.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-c3450-d.ppd.gz fuji_xerox-20200402-fuji-xerox-20200402-fx-docuprint-c4000-d.ppd.gz
+hp-20171121-hplip-3.17.10-hp-color_laserjet-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-deskjet_f4210_series.ppd.gz hp-20171121-hplip-3.17.10-hp-deskjet_f4213_series.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_4-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_4si-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_4v-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_6p-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_p1505n-pcl3.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p2014-pcl3.ppd.gz hp-20171121-hplip-3.17.10-hp-laserjet_p2014n-pcl3.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_p2055_series-ps.ppd.gz
+hp-20171121-hplip-3.17.10-hp-laserjet_p4010_series-ps.ppd.gz
+hp-20190111-hplip-3.18.12-hp-PCL3-Class1B.ppd.gz
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_42in_photo-ps.ppd.gz
+hp-20190111-hplip-3.18.12-hp-designjet_z6200_60in_photo-ps.ppd.gz
+hp-20190111-hplip-3.18.12-hp-designjet_z6810ps_42in-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Ampere.ppd.gz hplip-20200303-hplip-3.19.12-hp-Ampere.ppd.gz
+hp-20190918-hplip-3.19.6-hp-CLE17.ppd.gz hplip-20200303-hplip-3.19.12-hp-CLE17.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Copperhead.ppd.gz hplip-20200303-hplip-3.19.12-hp-Copperhead.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Copperhead12.ppd.gz hplip-20200303-hplip-3.19.12-hp-Copperhead12.ppd.gz
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadIPH.ppd.gz
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH15.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadIPH15.ppd.gz
+hp-20190918-hplip-3.19.6-hp-CopperheadIPH17.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadIPH17.ppd.gz
+hp-20190918-hplip-3.19.6-hp-CopperheadXLP.ppd.gz hplip-20200303-hplip-3.19.12-hp-CopperheadXLP.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Corbett.ppd.gz hplip-20200303-hplip-3.19.12-hp-Corbett.ppd.gz
+hp-20190918-hplip-3.19.6-hp-DJ55xx.ppd.gz hplip-20200303-hplip-3.19.12-hp-DJ55xx.ppd.gz
+hp-20190918-hplip-3.19.6-hp-DJ9xxVIP.ppd.gz hplip-20200303-hplip-3.19.12-hp-DJ9xxVIP.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Gemstone.ppd.gz hplip-20200303-hplip-3.19.12-hp-Gemstone.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Kapan.ppd.gz hplip-20200303-hplip-3.19.12-hp-Kapan.ppd.gz
+hp-20190918-hplip-3.19.6-hp-LJ-Class1.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class1.ppd.gz
+hp-20190918-hplip-3.19.6-hp-LJ-Class2.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class2.ppd.gz
+hp-20190918-hplip-3.19.6-hp-LJ-Class3.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class3.ppd.gz
+hp-20190918-hplip-3.19.6-hp-LJ-Class6.ppd.gz hplip-20200303-hplip-3.19.12-hp-LJ-Class6.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Mimas.ppd.gz hplip-20200303-hplip-3.19.12-hp-Mimas.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Mimas15.ppd.gz hplip-20200303-hplip-3.19.12-hp-Mimas15.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Mimas17.ppd.gz hplip-20200303-hplip-3.19.12-hp-Mimas17.ppd.gz
+hp-20190918-hplip-3.19.6-hp-MimasTDR.ppd.gz hplip-20200303-hplip-3.19.12-hp-MimasTDR.ppd.gz
+hp-20190918-hplip-3.19.6-hp-OJ7000.ppd.gz hplip-20200303-hplip-3.19.12-hp-OJ7000.ppd.gz
+hp-20190918-hplip-3.19.6-hp-OJProKx50.ppd.gz hplip-20200303-hplip-3.19.12-hp-OJProKx50.ppd.gz
+hp-20190918-hplip-3.19.6-hp-P15_CISS.ppd.gz hplip-20200303-hplip-3.19.12-hp-P15_CISS.ppd.gz
+hp-20190918-hplip-3.19.6-hp-PSP100.ppd.gz hplip-20200303-hplip-3.19.12-hp-PSP100.ppd.gz
+hp-20190918-hplip-3.19.6-hp-PSP470.ppd.gz hplip-20200303-hplip-3.19.12-hp-PSP470.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Pyramid.ppd.gz hplip-20200303-hplip-3.19.12-hp-Pyramid.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Pyramid15.ppd.gz hplip-20200303-hplip-3.19.12-hp-Pyramid15.ppd.gz
+hp-20190918-hplip-3.19.6-hp-PyramidPlus.ppd.gz hplip-20200303-hplip-3.19.12-hp-PyramidPlus.ppd.gz
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh15.ppd.gz hplip-20200303-hplip-3.19.12-hp-PyramidRefresh15.ppd.gz
+hp-20190918-hplip-3.19.6-hp-PyramidRefresh17.ppd.gz hplip-20200303-hplip-3.19.12-hp-PyramidRefresh17.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Python.ppd.gz hplip-20200303-hplip-3.19.12-hp-Python.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Python10.ppd.gz hplip-20200303-hplip-3.19.12-hp-Python10.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Python11.ppd.gz hplip-20200303-hplip-3.19.12-hp-Python11.ppd.gz
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProAsize.ppd.gz hplip-20200303-hplip-3.19.12-hp-SPDOfficejetProAsize.ppd.gz
+hp-20190918-hplip-3.19.6-hp-SPDOfficejetProBsize.ppd.gz hplip-20200303-hplip-3.19.12-hp-SPDOfficejetProBsize.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Saipan.ppd.gz hplip-20200303-hplip-3.19.12-hp-Saipan.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Saipan15B.ppd.gz hplip-20200303-hplip-3.19.12-hp-Saipan15B.ppd.gz
+hp-20190918-hplip-3.19.6-hp-Stabler.ppd.gz hplip-20200303-hplip-3.19.12-hp-Stabler.ppd.gz
+hp-20190918-hplip-3.19.6-hp-StingrayOJ.ppd.gz hplip-20200303-hplip-3.19.12-hp-StingrayOJ.ppd.gz
+hp-20190918-hplip-3.19.6-hp-ViperMinusVIP.ppd.gz hplip-20200303-hplip-3.19.12-hp-ViperMinusVIP.ppd.gz
+hp-20190918-hplip-3.19.6-hp-ViperPlusVIP.ppd.gz hplip-20200303-hplip-3.19.12-hp-ViperPlusVIP.ppd.gz
+hp-20190918-hplip-3.19.6-hp-cm8060_mfp_with_edgeline-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-cm8050_mfp_with_edgeline-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-cm8060_mfp_with_edgeline-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-color_designjet_xl_3600-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_pro_mfp_m277-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-designjet_t2600dr-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-laserjet_200_color_m251-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_200_color_m251-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-laserjet_m1522_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_m1522_mfp-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-laserjet_m2727_mfp_series-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-laserjet_m2727_mfp_series-ps.ppd.gz
+hp-20190918-hplip-3.19.6-hp-postscript-inkjet.ppd.gz hplip-20200303-hplip-3.19.12-hp-postscript-inkjet.ppd.gz
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet-pro.ppd.gz hplip-20200303-hplip-3.19.12-hp-postscript-laserjet-pro.ppd.gz
+hp-20190918-hplip-3.19.6-hp-postscript-laserjet.ppd.gz hplip-20200303-hplip-3.19.12-hp-postscript-laserjet.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-DJGenericVIP.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL3-Class3.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL3-Class3A.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL3-Class3B.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-PCL4-Class1.ppd.gz hplip-20201028-hplip-3.19.12-hp-PCL4-Class1.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_designjet_xl_3600-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2550_series-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605dn-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2605dtn-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2700n-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_2800-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2820-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2830-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_2840-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1015-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-color_laserjet_cm1017-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_e85055-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_flowmfp_m776-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_m856-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-color_laserjet_mfp_m776-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_4000ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4020ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_4500mfp.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4500ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4520mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_4520ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z6_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z6_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z6dr_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z9_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z9_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_Z9dr_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_d5800-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_24in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1120ps_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1100ps_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t1120ps_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1200_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1300_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1500-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1530-postscript.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2530-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600_printer-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t2600-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1600dr-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1700dr_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t1708dr_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t2300_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t2500-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t2600dr-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t3500-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t7100ps_monochrome-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t7200-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t770_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t770ps_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_24in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t790ps_44in-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-designjet_t795ps_44in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t920-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_t930-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z2600_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5200_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5400-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z5600_postscript-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_42in_photo-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6100ps_60in_photo-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6600-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6610ps_60in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6800_photo-postscript.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-designjet_z6810ps_60in-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_3420.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3425.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3450.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_3700_series.ppd.gz hp-20190918-hplip-3.19.6-hp-CLE.ppd.gz hplip-20200303-hplip-3.19.12-hp-CLE.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_950c.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_d1600_series.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_d2600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_ink_advant_k109a-z.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4000_k210.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_d4100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d4200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d4300_series.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-deskjet_f300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f4100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_5600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1400_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1310_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_j5500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3650.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3840.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d2400_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_5500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_j3600_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d2300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4255.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3600.ppd.gz hplip-20200303-hplip-3.19.12-hp-910.ppd.gz hplip-20200303-hplip-3.19.12-hp-915.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_j3500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1358_series.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-laserjet_100_color_mfp_m175-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-officejet_4300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f2200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1200_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_f2100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1400_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3740.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1500_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3500.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3910.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_d1300_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3320.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3550.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1100_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3940.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3325.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3900.ppd.gz hplip-20200303-hplip-3.19.12-hp-deskjet_3920.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4105.ppd.gz hplip-20200303-hplip-3.19.12-hp-officejet_4115_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-psc_1000_series.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_p55250-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_3900ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4000ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4500ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4500ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4100ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4600ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_4600ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5000ps_blueprinter-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_6000ps_mfp-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp-ps.ppd.gz hplip-20200303-hplip-3.19.12-hp-pagewide_xl_6000ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_5100ps_mfp_blueprinter-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-pagewide_xl_8000ps_blueprinter-ps.ppd.gz
+hplip-20200303-hplip-3.19.12-hp-photosmart_a530_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-photosmart_a630_series.ppd.gz hplip-20200303-hplip-3.19.12-hp-photosmart_a640_series.ppd.gz
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-226i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-246i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-266i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-306i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-227.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-287.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-308.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-308e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-367.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-368.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-368e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-4052.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-458.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-458e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-4752.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-558.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-558e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-658e.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-758-jp-eu.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-808-us.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-958.ppd.gz
+konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c226.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c227.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c258.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c266.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c287.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c308.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c3351.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c368.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c3851.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c3851fs.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c458.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c558.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c658.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c659.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-bizhub-c759.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c250i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c300i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c3300i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c3320i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c3350i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c360i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c4000i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c4050i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c450i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c550i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-c650i.ppd.gz konica_minolta-20200331-konica-minolta-20200331-konica-minolta-workplace-hub.ppd.gz
+kyocera-20180809-Kyocera_TASKalfa_3051ci.ppd.gz
+kyocera-20190328-Kyocera_CS_2551ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_2551ci.ppd.gz
+kyocera-20190328-Kyocera_CS_2552ci.ppd.gz kyocera-20190328-Kyocera_CS_3252ci.ppd.gz kyocera-20190328-Kyocera_CS_3552ci.ppd.gz kyocera-20190328-Kyocera_CS_4052ci.ppd.gz kyocera-20190328-Kyocera_CS_5052ci.ppd.gz kyocera-20190328-Kyocera_CS_6052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_2552ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3252ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3552ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_5052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_6052ci.ppd.gz
+kyocera-20190328-Kyocera_CS_3010i.ppd.gz kyocera-20190328-Kyocera_CS_3510i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3010i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3510i.ppd.gz
+kyocera-20190328-Kyocera_CS_3011i.ppd.gz kyocera-20190328-Kyocera_CS_3511i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3011i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3511i.ppd.gz
+kyocera-20190328-Kyocera_CS_306ci.ppd.gz kyocera-20190328-Kyocera_CS_356ci.ppd.gz kyocera-20190328-Kyocera_CS_406ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_306ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_356ci.ppd.gz
+kyocera-20190328-Kyocera_CS_307ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_307ci.ppd.gz
+kyocera-20190328-Kyocera_CS_3212i.ppd.gz kyocera-20190328-Kyocera_CS_4012i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_3212i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4012i.ppd.gz
+kyocera-20190328-Kyocera_CS_4002i.ppd.gz kyocera-20190328-Kyocera_CS_5002i.ppd.gz kyocera-20190328-Kyocera_CS_6002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_4002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_5002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_6002i.ppd.gz
+kyocera-20190328-Kyocera_CS_7002i.ppd.gz kyocera-20190328-Kyocera_CS_8002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_7002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_8002i.ppd.gz
+kyocera-20190328-Kyocera_CS_7052ci.ppd.gz kyocera-20190328-Kyocera_CS_8052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_7052ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_8052ci.ppd.gz
+kyocera-20190328-Kyocera_CS_9002i.ppd.gz kyocera-20190328-Kyocera_TASKalfa_9002i.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2030dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2530dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2035dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2535dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2135dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2135dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2540dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2540dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2635dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2635dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2640idw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2735dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2040dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2235dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2235dw.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M2235dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2735dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M2835dw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2230dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2335d.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2335dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2335dw.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M3040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3040idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3540dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3540idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3550idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3560idn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M3145dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3145idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3645dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3645idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3655idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M3660idn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M4028idn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M4125idn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M4132idn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M5021cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5520cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5520cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5525cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5020cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5020cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5025cdn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M5521cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5521cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5526cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M5526cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5021cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5021cdw.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5026cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P5026cdw.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M6026cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6026cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6030cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6035cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6526cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6526cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6530cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6535cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6021cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6035cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6130cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P7040cdn.ppd.gz kyocera-20190328-Kyocera_TASKalfa_265ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_266ci.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M6230cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6235cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6630cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M6635cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6230cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6235cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P7240cdn.ppd.gz kyocera-20190328-Kyocera_TASKalfa_350ci.ppd.gz kyocera-20190328-Kyocera_TASKalfa_351ci.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M8024cidn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_M8124cidn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_M8130cidn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P2035d.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P2135d.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P3045dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3050dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3055dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P3060dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P4035dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P4040dn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P4045dn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P6026cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P6030cdn.ppd.gz kyocera-20190328-Kyocera_ECOSYS_P7035cdn.ppd.gz
+kyocera-20190328-Kyocera_ECOSYS_P8060cdn.ppd.gz
+kyocera-20190328-Kyocera_FS-5040DN.ppd.gz
+kyocera-20190328-Kyocera_TASKalfa_4020i.ppd.gz
+kyocera-20190328-Kyocera_TASKalfa_406ci.ppd.gz kyocera-20190830-Kyocera_Generic_Color.ppd.gz
+kyocera-20190328-Kyocera_TASKalfa_4500i.ppd.gz
+kyocera-20190830-Kyocera_Generic_Monochrome.ppd.gz
+kyocera-20200211-Kyocera_TASKalfa_7003i.ppd.gz
+kyocera-20200416-Kyocera_CS_205c.ppd.gz kyocera-20200416-Kyocera_CS_255c.ppd.gz kyocera-20200416-Kyocera_FS-C8020MFP.ppd.gz kyocera-20200416-Kyocera_FS-C8025MFP.ppd.gz kyocera-20200416-Kyocera_FS-C8520MFP.ppd.gz kyocera-20200416-Kyocera_FS-C8525MFP.ppd.gz kyocera-20200416-Kyocera_TASKalfa_205c.ppd.gz kyocera-20200416-Kyocera_TASKalfa_255c.ppd.gz
+kyocera-20200416-Kyocera_CS_250ci.ppd.gz kyocera-20200416-Kyocera_CS_300ci.ppd.gz kyocera-20200416-Kyocera_CS_400ci.ppd.gz kyocera-20200416-Kyocera_CS_500ci.ppd.gz kyocera-20200416-Kyocera_CS_552ci.ppd.gz kyocera-20200416-Kyocera_FS-C8500DN.ppd.gz kyocera-20200416-Kyocera_TASKalfa_250ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_300ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_400ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_500ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_552ci.ppd.gz
+kyocera-20200416-Kyocera_CS_255.ppd.gz kyocera-20200416-Kyocera_CS_305.ppd.gz kyocera-20200416-Kyocera_FS-6025MFP.ppd.gz kyocera-20200416-Kyocera_FS-6030MFP.ppd.gz kyocera-20200416-Kyocera_FS-6525MFP.ppd.gz kyocera-20200416-Kyocera_FS-6530MFP.ppd.gz kyocera-20200416-Kyocera_TASKalfa_255.ppd.gz kyocera-20200416-Kyocera_TASKalfa_305.ppd.gz
+kyocera-20200416-Kyocera_CS_2550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_2550ci.ppd.gz
+kyocera-20200416-Kyocera_CS_2553ci.ppd.gz kyocera-20200416-Kyocera_CS_3253ci.ppd.gz kyocera-20200416-Kyocera_CS_3553ci.ppd.gz kyocera-20200416-Kyocera_CS_4053ci.ppd.gz kyocera-20200416-Kyocera_CS_5053ci.ppd.gz kyocera-20200416-Kyocera_CS_6053ci.ppd.gz
+kyocera-20200416-Kyocera_CS_2554ci.ppd.gz kyocera-20200416-Kyocera_CS_3554ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_2554ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3554ci.ppd.gz
+kyocera-20200416-Kyocera_CS_300i.ppd.gz kyocera-20200416-Kyocera_CS_420i.ppd.gz kyocera-20200416-Kyocera_CS_520i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_300i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_420i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_520i.ppd.gz
+kyocera-20200416-Kyocera_CS_3050ci.ppd.gz kyocera-20200416-Kyocera_CS_3051ci.ppd.gz kyocera-20200416-Kyocera_CS_3550ci.ppd.gz kyocera-20200416-Kyocera_CS_3551ci.ppd.gz kyocera-20200416-Kyocera_CS_4550ci.ppd.gz kyocera-20200416-Kyocera_CS_4551ci.ppd.gz kyocera-20200416-Kyocera_CS_5550ci.ppd.gz kyocera-20200416-Kyocera_CS_5551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3050ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_4550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_4551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5551ci.ppd.gz
+kyocera-20200416-Kyocera_CS_308ci.ppd.gz kyocera-20200416-Kyocera_CS_358ci.ppd.gz kyocera-20200416-Kyocera_CS_408ci.ppd.gz kyocera-20200416-Kyocera_CS_508ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_358ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_408ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_508ci.ppd.gz
+kyocera-20200416-Kyocera_CS_3500i.ppd.gz kyocera-20200416-Kyocera_CS_3501i.ppd.gz kyocera-20200416-Kyocera_CS_4500i.ppd.gz kyocera-20200416-Kyocera_CS_4501i.ppd.gz kyocera-20200416-Kyocera_CS_5500i.ppd.gz kyocera-20200416-Kyocera_CS_5501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3500i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_3501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_4501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5500i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_5501i.ppd.gz
+kyocera-20200416-Kyocera_CS_4003i.ppd.gz kyocera-20200416-Kyocera_CS_5003i.ppd.gz kyocera-20200416-Kyocera_CS_6003i.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4060dn.ppd.gz
+kyocera-20200416-Kyocera_CS_6500i.ppd.gz kyocera-20200416-Kyocera_CS_6501i.ppd.gz kyocera-20200416-Kyocera_CS_8000i.ppd.gz kyocera-20200416-Kyocera_CS_8001i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6500i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6501i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8000i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8001i.ppd.gz
+kyocera-20200416-Kyocera_CS_6550ci.ppd.gz kyocera-20200416-Kyocera_CS_6551ci.ppd.gz kyocera-20200416-Kyocera_CS_7550ci.ppd.gz kyocera-20200416-Kyocera_CS_7551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_6551ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_7550ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_7551ci.ppd.gz
+kyocera-20200416-Kyocera_CS_7003i.ppd.gz kyocera-20200416-Kyocera_CS_8003i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8003i.ppd.gz
+kyocera-20200416-Kyocera_CS_7353ci.ppd.gz kyocera-20200416-Kyocera_CS_8353ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_7353ci.ppd.gz kyocera-20200416-Kyocera_TASKalfa_8353ci.ppd.gz
+kyocera-20200416-Kyocera_CS_9003i.ppd.gz kyocera-20200416-Kyocera_TASKalfa_9003i.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_M3860idn.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_M3860idnf.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_P3260dn.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_P4135dn.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4140dn.ppd.gz kyocera-20200416-Kyocera_ECOSYS_P4145dn.ppd.gz
+kyocera-20200416-Kyocera_ECOSYS_P5018cdn.ppd.gz
+kyocera-20200416-Kyocera_FS-1028MFP.ppd.gz kyocera-20200416-Kyocera_FS-1128MFP.ppd.gz kyocera-20200416-Kyocera_FS-1320D.ppd.gz kyocera-20200416-Kyocera_FS-1350DN.ppd.gz kyocera-20200416-Kyocera_FS-1370DN.ppd.gz kyocera-20200416-Kyocera_KM-2810.ppd.gz kyocera-20200416-Kyocera_KM-2820.ppd.gz
+kyocera-20200416-Kyocera_FS-1030MFP.ppd.gz kyocera-20200416-Kyocera_FS-1130MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-1035MFP.ppd.gz kyocera-20200416-Kyocera_FS-1135MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-1120D.ppd.gz
+kyocera-20200416-Kyocera_FS-2020D.ppd.gz kyocera-20200416-Kyocera_FS-3040MFP.ppd.gz kyocera-20200416-Kyocera_FS-3140MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-2100D.ppd.gz kyocera-20200416-Kyocera_FS-2100DN.ppd.gz kyocera-20200416-Kyocera_FS-3040MFP+.ppd.gz
+kyocera-20200416-Kyocera_FS-3540MFP.ppd.gz kyocera-20200416-Kyocera_FS-3640MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-3920DN.ppd.gz kyocera-20200416-Kyocera_FS-4020DN.ppd.gz
+kyocera-20200416-Kyocera_FS-4100DN.ppd.gz kyocera-20200416-Kyocera_FS-4200DN.ppd.gz kyocera-20200416-Kyocera_FS-4300DN.ppd.gz
+kyocera-20200416-Kyocera_FS-6970DN.ppd.gz
+kyocera-20200416-Kyocera_FS-9130DN.ppd.gz kyocera-20200416-Kyocera_FS-9530DN.ppd.gz
+kyocera-20200416-Kyocera_FS-C2026MFP+.ppd.gz kyocera-20200416-Kyocera_FS-C2126MFP+.ppd.gz kyocera-20200416-Kyocera_FS-C2526MFP.ppd.gz kyocera-20200416-Kyocera_FS-C2626MFP.ppd.gz
+kyocera-20200416-Kyocera_FS-C2026MFP.ppd.gz kyocera-20200416-Kyocera_FS-C2126MFP.ppd.gz kyocera-20200416-Kyocera_FS-C5100DN.ppd.gz kyocera-20200416-Kyocera_FS-C5150DN.ppd.gz kyocera-20200416-Kyocera_FS-C5200DN.ppd.gz
+kyocera-20200416-Kyocera_FS-C5250DN.ppd.gz kyocera-20200416-Kyocera_FS-C5300DN.ppd.gz kyocera-20200416-Kyocera_FS-C5350DN.ppd.gz kyocera-20200416-Kyocera_FS-C5400DN.ppd.gz
+kyocera-20200416-Kyocera_FS-C8600DN.ppd.gz kyocera-20200416-Kyocera_FS-C8650DN.ppd.gz
+kyocera-20200416-Kyocera_TASKalfa_3060ci.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M2540dwJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M2640idwJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P2040dwJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M3645idnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M4226idn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M4230idn.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M6635cidnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P6230cdnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P7240cdnJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_352ciJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_M8224cidn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_M8228cidn.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P3060dnJ.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3160dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P3145dn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3150dn.ppd.gz kyocera-20200716-Kyocera_ECOSYS_P3155dn.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P3145dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P4040dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P4060dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P4140dnJ.ppd.gz
+kyocera-20200716-Kyocera_ECOSYS_P8060cdnJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2552ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2460ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2470ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2510iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_2520iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2553ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3253ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3553ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_4053ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5053ci.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6053ci.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_2553ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_3253ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_4053ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5053ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6053ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_308ci.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_3212iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_352ci.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_358ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_408ciJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_4003i.ppd.gz kyocera-20200716-Kyocera_TASKalfa_5003i.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6003i.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_4012iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_5003iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_6003iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_7003iJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_9003iJ.ppd.gz
+kyocera-20200716-Kyocera_TASKalfa_7353ciJ.ppd.gz kyocera-20200716-Kyocera_TASKalfa_8353ciJ.ppd.gz
+kyocera-20200716-TA_P-4531_MFP.ppd.gz kyocera-20200716-TA_P-4531i_MFP.ppd.gz
+lanier-20190916-Lanier-IM_550_PDF.ppd.gz lanier-20190916-Lanier-IM_600_PDF.ppd.gz nrg-20190916-NRG-IM_550_PDF.ppd.gz nrg-20190916-NRG-IM_600_PDF.ppd.gz ricoh-20190916-Ricoh-IM_550_PDF.ppd.gz ricoh-20190916-Ricoh-IM_600_PDF.ppd.gz savin-20190916-Savin-IM_550_PDF.ppd.gz savin-20190916-Savin-IM_600_PDF.ppd.gz
+lanier-20190916-Lanier-IM_600SR_PDF.ppd.gz nrg-20190916-NRG-IM_600SR_PDF.ppd.gz ricoh-20190916-Ricoh-IM_600SR_PDF.ppd.gz savin-20190916-Savin-IM_600SR_PDF.ppd.gz
+lanier-20190916-Lanier-P_800_PDF.ppd.gz lanier-20190916-Lanier-P_801_PDF.ppd.gz nrg-20190916-NRG-P_800_PDF.ppd.gz nrg-20190916-NRG-P_801_PDF.ppd.gz ricoh-20190916-Ricoh-P_800_PDF.ppd.gz ricoh-20190916-Ricoh-P_801_PDF.ppd.gz savin-20190916-Savin-P_800_PDF.ppd.gz savin-20190916-Savin-P_801_PDF.ppd.gz
+lanier-20190916-Lanier-P_C600_PDF.ppd.gz ricoh-20190916-Ricoh-P_C600_PDF.ppd.gz savin-20190916-Savin-P_C600_PDF.ppd.gz
+lexmark-20200918-Lexmark_X651de.ppd.gz lexmark-20200918-Lexmark_X652de.ppd.gz lexmark-20200918-Lexmark_X654de.ppd.gz lexmark-20200918-Lexmark_X656de.ppd.gz
+lexmark-20200918-Lexmark_X658de.ppd.gz
+lexmark-20201101-Lexmark_6500e_Series.ppd.gz
+lexmark-20201101-Lexmark_B2300_Series.ppd.gz lexmark-20201101-Lexmark_B2400_Series.ppd.gz lexmark-20201101-Lexmark_MS420_Series.ppd.gz lexmark-20201101-Lexmark_MS320_Series.ppd.gz
+lexmark-20201101-Lexmark_C2200_Series.ppd.gz lexmark-20201101-Lexmark_C2500_Series.ppd.gz lexmark-20201101-Lexmark_CS520_Series.ppd.gz lexmark-20201101-Lexmark_CS620_Series.ppd.gz
+lexmark-20201101-Lexmark_C2300_Series.ppd.gz
+lexmark-20201101-Lexmark_C2400_Series.ppd.gz lexmark-20201101-Lexmark_CS420_Series.ppd.gz
+lexmark-20201101-Lexmark_C3400_Series.ppd.gz lexmark-20201101-Lexmark_CS430_Series.ppd.gz
+lexmark-20201101-Lexmark_C740_Series.ppd.gz
+lexmark-20201101-Lexmark_C790_Series.ppd.gz
+lexmark-20201101-Lexmark_C9200_Series.ppd.gz
+lexmark-20201101-Lexmark_C920_Series.ppd.gz
+lexmark-20201101-Lexmark_C950_Series.ppd.gz
+lexmark-20201101-Lexmark_CS310_Series.ppd.gz
+lexmark-20201101-Lexmark_CS410_Series.ppd.gz
+lexmark-20201101-Lexmark_CS510_Series.ppd.gz
+lexmark-20201101-Lexmark_CS720_Series.ppd.gz lexmark-20201101-Lexmark_CS725_Series.ppd.gz lexmark-20201101-Lexmark_C4100_Series.ppd.gz
+lexmark-20201101-Lexmark_CS820_Series.ppd.gz lexmark-20201101-Lexmark_C6100_Series.ppd.gz
+lexmark-20201101-Lexmark_CS920_Series.ppd.gz
+lexmark-20201101-Lexmark_CX310_Series.ppd.gz
+lexmark-20201101-Lexmark_CX410_Series.ppd.gz
+lexmark-20201101-Lexmark_CX420_Series.ppd.gz lexmark-20201101-Lexmark_MC2400_Series.ppd.gz
+lexmark-20201101-Lexmark_CX430_Series.ppd.gz lexmark-20201101-Lexmark_MC3400_Series.ppd.gz
+lexmark-20201101-Lexmark_CX510_Series.ppd.gz
+lexmark-20201101-Lexmark_CX625_Series.ppd.gz lexmark-20201101-Lexmark_CX620_Series.ppd.gz lexmark-20201101-Lexmark_XC2200_Series.ppd.gz lexmark-20201101-Lexmark_CX520_Series.ppd.gz lexmark-20201101-Lexmark_MC2500_Series.ppd.gz lexmark-20201101-Lexmark_MC2600_Series.ppd.gz lexmark-20201101-Lexmark_XC4200_Series.ppd.gz
+lexmark-20201101-Lexmark_CX725_Series.ppd.gz lexmark-20201101-Lexmark_XC4100_Series.ppd.gz
+lexmark-20201101-Lexmark_CX820_Series.ppd.gz lexmark-20201101-Lexmark_XC6100_Series.ppd.gz
+lexmark-20201101-Lexmark_CX825_Series.ppd.gz lexmark-20201101-Lexmark_CX860_Series.ppd.gz lexmark-20201101-Lexmark_XC8100_Series.ppd.gz
+lexmark-20201101-Lexmark_CX920_Series.ppd.gz
+lexmark-20201101-Lexmark_M1100_Series.ppd.gz
+lexmark-20201101-Lexmark_M3100_Series.ppd.gz
+lexmark-20201101-Lexmark_M5100_Series.ppd.gz
+lexmark-20201101-Lexmark_MB2300_Series.ppd.gz lexmark-20201101-Lexmark_MB2400_Series.ppd.gz lexmark-20201101-Lexmark_MX320_Series.ppd.gz lexmark-20201101-Lexmark_MX420_Series.ppd.gz
+lexmark-20201101-Lexmark_MC2300_Series.ppd.gz
+lexmark-20201101-Lexmark_MS310_Series.ppd.gz
+lexmark-20201101-Lexmark_MS410_Series.ppd.gz
+lexmark-20201101-Lexmark_MS510_Series.ppd.gz
+lexmark-20201101-Lexmark_MS610_Series.ppd.gz
+lexmark-20201101-Lexmark_MS620_Series.ppd.gz lexmark-20201101-Lexmark_M1200_Series.ppd.gz lexmark-20201101-Lexmark_B2500_Series.ppd.gz lexmark-20201101-Lexmark_B2600_Series.ppd.gz lexmark-20201101-Lexmark_M3200_Series.ppd.gz lexmark-20201101-Lexmark_MS520_Series.ppd.gz
+lexmark-20201101-Lexmark_MS710_Series.ppd.gz
+lexmark-20201101-Lexmark_MS725_Series.ppd.gz
+lexmark-20201101-Lexmark_MS810_Series.ppd.gz
+lexmark-20201101-Lexmark_MS820_Series.ppd.gz lexmark-20201101-Lexmark_M5200_Series.ppd.gz lexmark-20201101-Lexmark_B2860_Series.ppd.gz
+lexmark-20201101-Lexmark_MX310_Series.ppd.gz
+lexmark-20201101-Lexmark_MX410_Series.ppd.gz
+lexmark-20201101-Lexmark_MX510_Series.ppd.gz
+lexmark-20201101-Lexmark_MX520_Series.ppd.gz lexmark-20201101-Lexmark_XM1200_Series.ppd.gz lexmark-20201101-Lexmark_MB2500_Series.ppd.gz
+lexmark-20201101-Lexmark_MX610_Series.ppd.gz
+lexmark-20201101-Lexmark_MX620_Series.ppd.gz lexmark-20201101-Lexmark_MB2600_Series.ppd.gz lexmark-20201101-Lexmark_XM3200_Series.ppd.gz
+lexmark-20201101-Lexmark_MX6500e_Series.ppd.gz
+lexmark-20201101-Lexmark_MX710_Series.ppd.gz
+lexmark-20201101-Lexmark_MX720_Series.ppd.gz lexmark-20201101-Lexmark_XM5300_Series.ppd.gz lexmark-20201101-Lexmark_MB2700_Series.ppd.gz
+lexmark-20201101-Lexmark_MX725_Series.ppd.gz
+lexmark-20201101-Lexmark_MX810_Series.ppd.gz
+lexmark-20201101-Lexmark_MX820_Series.ppd.gz lexmark-20201101-Lexmark_XM7300_Series.ppd.gz
+lexmark-20201101-Lexmark_MX910_Series.ppd.gz lexmark-20201101-Lexmark_XM9100_Series.ppd.gz lexmark-20201101-Lexmark_MS910_Series.ppd.gz
+lexmark-20201101-Lexmark_X548_Series.ppd.gz
+lexmark-20201101-Lexmark_X740_Series.ppd.gz
+lexmark-20201101-Lexmark_X790_Series.ppd.gz
+lexmark-20201101-Lexmark_X920_Series.ppd.gz
+lexmark-20201101-Lexmark_X950_Series.ppd.gz
+lexmark-20201101-Lexmark_XC2100_Series.ppd.gz
+lexmark-20201101-Lexmark_XC9200_Series.ppd.gz
+lexmark-20201101-Lexmark_XM1100_Series.ppd.gz
+lexmark-20201101-Lexmark_XM3100_Series.ppd.gz
+lexmark-20201101-Lexmark_XM5100_Series.ppd.gz
+lexmark-20201101-Lexmark_XM7100_Series.ppd.gz
+oki-20200129-oki-c542-ps.ppd.gz oki-20200329-OKI-C532-PS.ppd.gz oki-20200329-OKI-MC563-PS.ppd.gz oki-20200329-OKI-MC573-PS.ppd.gz
+oki-20200329-ES8434-PS.ppd.gz oki-20200329-OKI-C834-PS.ppd.gz
+oki-20200329-OKB432_a.ppd.gz oki-20200329-OKM492_a.ppd.gz
+oki-20200329-OKB512_a.ppd.gz oki-20200329-OKM562_a.ppd.gz
+oki-20200329-OKB841_a110.ppd.gz
+oki-20200329-OKI-C332-PS.ppd.gz oki-20200329-OKI-MC363-PS.ppd.gz
+oki-20200329-OKI-C612-PS.ppd.gz
+oki-20200329-OKI-C712-PS.ppd.gz
+oki-20200329-OKI-C833-PS.ppd.gz
+oki-20200329-OKI-C843-PS.ppd.gz
+oki-20200329-OKI-C844-PS.ppd.gz
+oki-20201022-ES6450_PS.ppd.gz oki-20201022-OKI_C650_PS.ppd.gz
+oki-20201022-OKI_MC843_PS.ppd.gz oki-20201022-OKI_MC863_PS.ppd.gz
+oki-20201022-OKI_MC853_PS.ppd.gz oki-20201022-OKI_MC873_PS.ppd.gz
+oki-20201022-OKI_MC883_PS.ppd.gz
+ricoh-20190916-Ricoh-IPSiO_SP_3400L_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3410SF_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3410_PXL.ppd.gz
+ricoh-20190916-Ricoh-IPSiO_SP_3510SF_PXL.ppd.gz ricoh-20190916-Ricoh-IPSiO_SP_3510_PXL.ppd.gz
+ricoh-20190916-Ricoh-MP_C306Z_JPN_PDF.ppd.gz
+ricoh-20190916-Ricoh-M_C250FWB_PS.ppd.gz ricoh-20190916-Ricoh-M_C250FW_PS.ppd.gz ricoh-20190916-Ricoh-P_C300W_PS.ppd.gz ricoh-20190916-Ricoh-P_C301W_PS.ppd.gz
+ricoh-20190916-Ricoh-P_C301SF_PS.ppd.gz ricoh-20190916-Ricoh-P_C301_PS.ppd.gz
+ricoh-20190916-Ricoh-SP_212Nw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SFNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SFw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212SUw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_212w_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213Nw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SFNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SFw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213SUw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_213w_PXL.ppd.gz
+ricoh-20190916-Ricoh-SP_2200L_PXL.ppd.gz ricoh-20190916-Ricoh-SP_2200SFL_PXL.ppd.gz
+ricoh-20190916-Ricoh-SP_320DN_PXL.ppd.gz ricoh-20190916-Ricoh-SP_320SFN_PXL.ppd.gz ricoh-20190916-Ricoh-SP_320SN_PXL.ppd.gz ricoh-20190916-Ricoh-SP_325DNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_325SFNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_325SNw_PXL.ppd.gz ricoh-20190916-Ricoh-SP_377DNwX_PXL.ppd.gz ricoh-20190916-Ricoh-SP_377SFNwX_PXL.ppd.gz ricoh-20190916-Ricoh-SP_377SNwX_PXL.ppd.gz
+ricoh-20191121-Infotec-Pro_8200S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_8210S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_8220S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8200S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8210S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8220S_PDF.ppd.gz
+ricoh-20191121-Infotec-Pro_8210_PDF.ppd.gz ricoh-20191121-Infotec-Pro_8220_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8210_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_8220_PDF.ppd.gz
+ricoh-20191121-Infotec-Pro_C5200S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C5210S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C5200S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C5210S_PDF.ppd.gz
+ricoh-20191121-Infotec-Pro_C7200S_Light_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7200S_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7210S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7200S_Light_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7200S_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7210S_PDF.ppd.gz
+ricoh-20191121-Infotec-Pro_C7200_PDF.ppd.gz ricoh-20191121-Infotec-Pro_C7210_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7200_PDF.ppd.gz ricoh-20191121-Ricoh-Pro_C7210_PDF.ppd.gz
+ricoh-20191218-SP_C420e_JPN-PostscriptColor-Ricoh.ppd.gz ricoh-20200403-Ricoh-IM_C2000_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C2500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C3000_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C300_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C3500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C4500A_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C4500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C5500A_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C5500_JPN.ppd.gz ricoh-20200403-Ricoh-IM_C6000_JPN.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C320.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C411-ME.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C411.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C420-ME.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C420.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C711.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C721.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C721M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C730.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C730M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C731.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C731M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C810.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C810M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C811.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C811M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C820.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C820M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C821.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C821M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C830.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C830M.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C831.ppd.gz ricoh-20200403-Ricoh-IPSiO_SP_C831M.ppd.gz ricoh-20200403-Ricoh-MP_C1803_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C2503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C2504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3003_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3004_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C305_SP_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C306_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C307_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C3504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C4503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C4504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C5503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C5504_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6003_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6004_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6502_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C6503_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C8002_JPN.ppd.gz ricoh-20200403-Ricoh-MP_C8003_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5100S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5110S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5200S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C5210S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7100S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7110S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7110_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7200S_JPN.ppd.gz ricoh-20200403-Ricoh-Pro_C7210S_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C341_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C342_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C420e_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C420e_ME_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C420e_M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C750M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C750_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C751M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C751_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840M_a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C840a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841M_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841M_a1_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841_JPN.ppd.gz ricoh-20200403-Ricoh-SP_C841a1_JPN.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C1800.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2200.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2201.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2800.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2801.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C2802.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3300.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3301.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3302.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C3500it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4000it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4001A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4001it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4002A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C4500it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5000it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001A_it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5001it.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5002.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C5002A.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C6000.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C6001.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C7500.ppd.gz ricoh-20200403-Ricoh-imagio_MP_C7501.ppd.gz
+ricoh-20200221-Gestetner-IM_C300_PDF.ppd.gz ricoh-20200221-Gestetner-IM_C400_PDF.ppd.gz ricoh-20200221-Lanier-IM_C300_PDF.ppd.gz ricoh-20200221-Lanier-IM_C400_PDF.ppd.gz ricoh-20200221-NRG-IM_C300_PDF.ppd.gz ricoh-20200221-NRG-IM_C400_PDF.ppd.gz ricoh-20200221-Ricoh-IM_C300_PDF.ppd.gz ricoh-20200221-Ricoh-IM_C400_PDF.ppd.gz ricoh-20200221-Savin-IM_C300_PDF.ppd.gz ricoh-20200221-Savin-IM_C400_PDF.ppd.gz
+ricoh-20200221-Lanier-IM_C400SR_PDF.ppd.gz ricoh-20200221-NRG-IM_C400SR_PDF.ppd.gz ricoh-20200221-Ricoh-IM_C400SR_PDF.ppd.gz ricoh-20200221-Savin-IM_C400SR_PDF.ppd.gz
+ricoh-20200221-Ricoh-SP_C342M_JPN_PDF.ppd.gz
+ricoh-20200527-Gestetner-GS3021_PDF.ppd.gz ricoh-20200527-Ricoh-M_C2001_PDF.ppd.gz
+ricoh-20200527-Infotec-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Infotec-Pro_C5310S_PDF.ppd.gz ricoh-20200527-Lanier-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Lanier-Pro_C5310S_PDF.ppd.gz ricoh-20200527-NRG-Pro_C5300S_PDF.ppd.gz ricoh-20200527-NRG-Pro_C5310S_PDF.ppd.gz ricoh-20200527-Ricoh-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Ricoh-Pro_C5310S_PDF.ppd.gz ricoh-20200527-Savin-Pro_C5300S_PDF.ppd.gz ricoh-20200527-Savin-Pro_C5310S_PDF.ppd.gz
+ricoh-20200527-Lanier-IM_C6500_PDF.ppd.gz ricoh-20200527-Lanier-IM_C8000_PDF.ppd.gz ricoh-20200527-NRG-IM_C6500_PDF.ppd.gz ricoh-20200527-NRG-IM_C8000_PDF.ppd.gz ricoh-20200527-Ricoh-IM_C6500_PDF.ppd.gz ricoh-20200527-Ricoh-IM_C8000_PDF.ppd.gz ricoh-20200527-Savin-IM_C6500_PDF.ppd.gz ricoh-20200527-Savin-IM_C8000_PDF.ppd.gz
+ricoh-20200527-Ricoh-P_6000_JPN.ppd.gz ricoh-20200527-Ricoh-P_6010M_JPN.ppd.gz ricoh-20200527-Ricoh-P_6010_JPN.ppd.gz ricoh-20200527-Ricoh-P_6020M_JPN.ppd.gz ricoh-20200527-Ricoh-P_6020_JPN.ppd.gz ricoh-20200527-Ricoh-P_6030M_JPN.ppd.gz ricoh-20200527-Ricoh-P_6030_JPN.ppd.gz
+ricoh-20200821-Infotec-Pro_C5300SL_PDF.ppd.gz ricoh-20200821-NRG-Pro_C5300SL_PDF.ppd.gz ricoh-20200821-Ricoh-Pro_C5300SL_PDF.ppd.gz
+ricoh-20200821-Lanier-IM_C530FB_PDF.ppd.gz ricoh-20200821-NRG-IM_C530FB_PDF.ppd.gz ricoh-20200821-Ricoh-IM_C530FB_PDF.ppd.gz ricoh-20200821-Savin-IM_C530FB_PDF.ppd.gz
+ricoh-20200821-Lanier-IM_C530F_PDF.ppd.gz ricoh-20200821-NRG-IM_C530F_PDF.ppd.gz ricoh-20200821-Ricoh-IM_C530F_PDF.ppd.gz ricoh-20200821-Savin-IM_C530F_PDF.ppd.gz
+ricoh-20200821-Ricoh-IM_C2509J_PDF.ppd.gz
+ricoh-20200821-Ricoh-IM_C3509J_PDF.ppd.gz
+ricoh-20200821-Ricoh-IM_C6500_JPN.ppd.gz ricoh-20200821-Ricoh-IM_C8000_JPN.ppd.gz ricoh-20200821-Ricoh-Pro_C5300S_JPN.ppd.gz ricoh-20200821-Ricoh-Pro_C5310S_JPN.ppd.gz
+ricoh-20200930-Ricoh_Generic_PS_Printer.ppd.gz
+sharp-20180409-Sharp-AR-M452U-ps.ppd.gz sharp-20180409-Sharp-MX-M282N-ps.ppd.gz sharp-20180409-Sharp-MX-M362N-ps.ppd.gz sharp-20180409-Sharp-MX-M363U-ps.ppd.gz sharp-20180409-Sharp-MX-M452N-ps.ppd.gz sharp-20180409-Sharp-MX-M453U-ps.ppd.gz sharp-20180409-Sharp-MX-M502N-ps.ppd.gz sharp-20180409-Sharp-MX-M503U-ps.ppd.gz
+sharp-20180409-Sharp-MX-2640NR-ps.ppd.gz sharp-20180409-Sharp-MX-3140NR-ps.ppd.gz sharp-20180409-Sharp-MX-3640NR-ps.ppd.gz sharp-20191219-Sharp-MX-2640N-ps.ppd.gz sharp-20191219-Sharp-MX-3140N-ps.ppd.gz sharp-20191219-Sharp-MX-3640N-ps.ppd.gz
+sharp-20180409-Sharp-MX-M283N-ps.ppd.gz sharp-20180409-Sharp-MX-M363N-ps.ppd.gz sharp-20180409-Sharp-MX-M453N-ps.ppd.gz sharp-20180409-Sharp-MX-M503N-ps.ppd.gz
+sharp-20180409-Sharp-MX-M363F-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M423F-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M503F-ps-jp.ppd.gz
+sharp-20180409-Sharp-MX-M623-ps-jp.ppd.gz sharp-20180409-Sharp-MX-M753-ps-jp.ppd.gz
+sharp-20180409-Sharp-MX-M623N-ps.ppd.gz sharp-20180409-Sharp-MX-M623U-ps.ppd.gz sharp-20180409-Sharp-MX-M753N-ps.ppd.gz sharp-20180409-Sharp-MX-M753U-ps.ppd.gz
+sharp-20190711-Sharp-MX-6240N-ps.ppd.gz sharp-20190711-Sharp-MX-7040N-ps.ppd.gz
+sharp-20190711-Sharp-MX-6500N-ps.ppd.gz sharp-20190711-Sharp-MX-7500N-ps.ppd.gz
+sharp-20190711-Sharp-MX-6540FN-ps-jp.ppd.gz
+sharp-20190711-Sharp-MX-C250-ps.ppd.gz sharp-20190711-Sharp-MX-C250E-ps.ppd.gz sharp-20190711-Sharp-MX-C250F-ps.ppd.gz sharp-20190711-Sharp-MX-C250FE-ps.ppd.gz sharp-20190711-Sharp-MX-C250FR-ps.ppd.gz sharp-20190711-Sharp-MX-C300-ps.ppd.gz sharp-20190711-Sharp-MX-C300E-ps.ppd.gz sharp-20190711-Sharp-MX-C300F-ps.ppd.gz sharp-20190711-Sharp-MX-C300P-ps.ppd.gz sharp-20190711-Sharp-MX-C300PE-ps.ppd.gz sharp-20190711-Sharp-MX-C300PL-ps.ppd.gz sharp-20190711-Sharp-MX-C300W-ps.ppd.gz sharp-20190711-Sharp-MX-C300WE-ps.ppd.gz sharp-20190711-Sharp-MX-C300WR-ps.ppd.gz
+sharp-20190711-Sharp-MX-C301-ps.ppd.gz sharp-20190711-Sharp-MX-C301F-ps.ppd.gz sharp-20190711-Sharp-MX-C301W-ps.ppd.gz
+sharp-20190711-Sharp-MX-M1054-ps.ppd.gz sharp-20190711-Sharp-MX-M1204-ps.ppd.gz
+sharp-20190711-Sharp-MX-M1055-ps.ppd.gz sharp-20190711-Sharp-MX-M1205-ps.ppd.gz
+sharp-20190711-Sharp-MX-M654FN-ps-jp.ppd.gz sharp-20190711-Sharp-MX-M754FN-ps-jp.ppd.gz
+sharp-20190711-Sharp-MX-M654N-ps.ppd.gz sharp-20190711-Sharp-MX-M754N-ps.ppd.gz
+sharp-20190711-Sharp-MX-M904-ps.ppd.gz
+sharp-20191219-Sharp-AR-6020-ps.ppd.gz sharp-20191219-Sharp-AR-6023-ps.ppd.gz
+sharp-20191219-Sharp-AR-6020D-ps.ppd.gz sharp-20191219-Sharp-AR-6020N-ps.ppd.gz sharp-20191219-Sharp-AR-6020NR-ps.ppd.gz sharp-20191219-Sharp-AR-6023D-ps.ppd.gz sharp-20191219-Sharp-AR-6023N-ps.ppd.gz sharp-20191219-Sharp-AR-6023NR-ps.ppd.gz
+sharp-20191219-Sharp-AR-6026N-ps.ppd.gz sharp-20191219-Sharp-AR-6026NR-ps.ppd.gz sharp-20191219-Sharp-AR-6031N-ps.ppd.gz sharp-20191219-Sharp-AR-6031NR-ps.ppd.gz sharp-20191219-Sharp-AR-6120N-ps.ppd.gz sharp-20191219-Sharp-AR-6131N-ps.ppd.gz
+sharp-20191219-Sharp-AR-G200-ps-jp.ppd.gz
+sharp-20191219-Sharp-BP-10C20-ps.ppd.gz sharp-20191219-Sharp-BP-20C20-ps.ppd.gz sharp-20191219-Sharp-BP-20C25-ps.ppd.gz
+sharp-20191219-Sharp-DX-2000U-ps.ppd.gz
+sharp-20191219-Sharp-DX-20C20-ps-jp.ppd.gz
+sharp-20191219-Sharp-DX-2500N-ps.ppd.gz
+sharp-20191219-Sharp-MX-1800N-ps.ppd.gz
+sharp-20191219-Sharp-MX-1810U-ps.ppd.gz sharp-20191219-Sharp-MX-2010U-ps.ppd.gz sharp-20191219-Sharp-MX-2310U-ps.ppd.gz sharp-20191219-Sharp-MX-3111U-ps.ppd.gz
+sharp-20191219-Sharp-MX-2300FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2700FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3500FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3501FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4500FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4501FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2300G-ps.ppd.gz sharp-20191219-Sharp-MX-2300N-ps.ppd.gz sharp-20191219-Sharp-MX-2700G-ps.ppd.gz sharp-20191219-Sharp-MX-2700N-ps.ppd.gz sharp-20191219-Sharp-MX-3500N-ps.ppd.gz sharp-20191219-Sharp-MX-3501N-ps.ppd.gz sharp-20191219-Sharp-MX-4500N-ps.ppd.gz sharp-20191219-Sharp-MX-4501N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2301N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2310F-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3111F-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3611F-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2514FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2517FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3114FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3117FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3614FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2600FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-2600FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3100FG-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3100FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2600G-ps.ppd.gz sharp-20191219-Sharp-MX-2600N-ps.ppd.gz sharp-20191219-Sharp-MX-3100G-ps.ppd.gz sharp-20191219-Sharp-MX-3100N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2610FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3110FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3610FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2610N-ps.ppd.gz sharp-20191219-Sharp-MX-3110N-ps.ppd.gz sharp-20191219-Sharp-MX-3610N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2614N-ps.ppd.gz sharp-20191219-Sharp-MX-2615N-ps.ppd.gz sharp-20191219-Sharp-MX-3114N-ps.ppd.gz sharp-20191219-Sharp-MX-3115N-ps.ppd.gz
+sharp-20191219-Sharp-MX-2631-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3631-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2640FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3140FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3640FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-2651-ps.ppd.gz sharp-20191219-Sharp-MX-3051-ps.ppd.gz sharp-20191219-Sharp-MX-3551-ps.ppd.gz sharp-20191219-Sharp-MX-4051-ps.ppd.gz
+sharp-20191219-Sharp-MX-2661-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3161-ps-jp.ppd.gz sharp-20191219-Sharp-MX-3661-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4151-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4171-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5151-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5171-ps-jp.ppd.gz sharp-20191219-Sharp-MX-6151-ps-jp.ppd.gz sharp-20191219-Sharp-MX-6171-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-3061-ps.ppd.gz sharp-20191219-Sharp-MX-3071-ps.ppd.gz sharp-20191219-Sharp-MX-3561-ps.ppd.gz sharp-20191219-Sharp-MX-3571-ps.ppd.gz sharp-20191219-Sharp-MX-4061-ps.ppd.gz sharp-20191219-Sharp-MX-4071-ps.ppd.gz sharp-20191219-Sharp-MX-5051-ps.ppd.gz sharp-20191219-Sharp-MX-5071-ps.ppd.gz sharp-20191219-Sharp-MX-6051-ps.ppd.gz sharp-20191219-Sharp-MX-6071-ps.ppd.gz
+sharp-20191219-Sharp-MX-3600FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4100FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4101FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5000FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5001FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-4100N-ps.ppd.gz sharp-20191219-Sharp-MX-4101N-ps.ppd.gz sharp-20191219-Sharp-MX-5000N-ps.ppd.gz sharp-20191219-Sharp-MX-5001N-ps.ppd.gz
+sharp-20191219-Sharp-MX-4110FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4111FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5110FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5111FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-4110N-ps.ppd.gz sharp-20191219-Sharp-MX-4111N-ps.ppd.gz sharp-20191219-Sharp-MX-4112N-ps.ppd.gz sharp-20191219-Sharp-MX-5110N-ps.ppd.gz sharp-20191219-Sharp-MX-5111N-ps.ppd.gz sharp-20191219-Sharp-MX-5112N-ps.ppd.gz
+sharp-20191219-Sharp-MX-4140FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-4141FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5140FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-5141FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-4140N-ps.ppd.gz sharp-20191219-Sharp-MX-4141N-ps.ppd.gz sharp-20191219-Sharp-MX-5140N-ps.ppd.gz sharp-20191219-Sharp-MX-5141N-ps.ppd.gz
+sharp-20191219-Sharp-MX-5500N-ps.ppd.gz sharp-20191219-Sharp-MX-6200N-ps.ppd.gz sharp-20191219-Sharp-MX-6201N-ps.ppd.gz sharp-20191219-Sharp-MX-7000N-ps.ppd.gz sharp-20191219-Sharp-MX-7001N-ps.ppd.gz
+sharp-20191219-Sharp-MX-C303-ps.ppd.gz sharp-20191219-Sharp-MX-C303W-ps.ppd.gz sharp-20191219-Sharp-MX-C304-ps.ppd.gz sharp-20191219-Sharp-MX-C304W-ps.ppd.gz
+sharp-20191219-Sharp-MX-C305W-ps-jp.ppd.gz sharp-20191219-Sharp-MX-C306W-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M264FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M314FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M354FP-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M264NV-ps.ppd.gz sharp-20191219-Sharp-MX-M314NV-ps.ppd.gz
+sharp-20191219-Sharp-MX-M265N-ps.ppd.gz sharp-20191219-Sharp-MX-M265NV-ps.ppd.gz sharp-20191219-Sharp-MX-M265U-ps.ppd.gz sharp-20191219-Sharp-MX-M265UV-ps.ppd.gz
+sharp-20191219-Sharp-MX-M266FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M266FV-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M316FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M316FV-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M356FP-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M356FV-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M266N-ps.ppd.gz sharp-20191219-Sharp-MX-M266NV-ps.ppd.gz sharp-20191219-Sharp-MX-M315N-ps.ppd.gz sharp-20191219-Sharp-MX-M315NV-ps.ppd.gz sharp-20191219-Sharp-MX-M315U-ps.ppd.gz sharp-20191219-Sharp-MX-M315UV-ps.ppd.gz sharp-20191219-Sharp-MX-M316N-ps.ppd.gz sharp-20191219-Sharp-MX-M316NV-ps.ppd.gz sharp-20191219-Sharp-MX-M356N-ps.ppd.gz sharp-20191219-Sharp-MX-M356NV-ps.ppd.gz sharp-20191219-Sharp-MX-M356U-ps.ppd.gz sharp-20191219-Sharp-MX-M356UV-ps.ppd.gz
+sharp-20191219-Sharp-MX-M316G-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M316GV-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M364N-ps.ppd.gz sharp-20191219-Sharp-MX-M464N-ps.ppd.gz sharp-20191219-Sharp-MX-M564N-ps.ppd.gz
+sharp-20191219-Sharp-MX-M365FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M465FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M565FN-ps-jp.ppd.gz
+sharp-20191219-Sharp-MX-M365N-ps.ppd.gz sharp-20191219-Sharp-MX-M465N-ps.ppd.gz sharp-20191219-Sharp-MX-M565N-ps.ppd.gz
+sharp-20191219-Sharp-MX-M464FN-ps-jp.ppd.gz sharp-20191219-Sharp-MX-M564FN-ps-jp.ppd.gz
+sharp-20191230-Sharp-AR-B350W-ps-jp.ppd.gz
+sharp-20191230-Sharp-AR-B351-ps.ppd.gz sharp-20191230-Sharp-AR-B351F-ps.ppd.gz sharp-20191230-Sharp-AR-B351W-ps.ppd.gz sharp-20191230-Sharp-AR-B352P-ps.ppd.gz sharp-20191230-Sharp-AR-B353P-ps.ppd.gz sharp-20191230-Sharp-AR-B451-ps.ppd.gz sharp-20191230-Sharp-AR-B451F-ps.ppd.gz sharp-20191230-Sharp-AR-B451W-ps.ppd.gz sharp-20191230-Sharp-AR-B452P-ps.ppd.gz sharp-20191230-Sharp-AR-B453P-ps.ppd.gz sharp-20191230-Sharp-MX-B350-ps.ppd.gz sharp-20191230-Sharp-MX-B350F-ps.ppd.gz sharp-20191230-Sharp-MX-B350P-ps.ppd.gz sharp-20191230-Sharp-MX-B350W-ps.ppd.gz sharp-20191230-Sharp-MX-B351P-ps.ppd.gz sharp-20191230-Sharp-MX-B450-ps.ppd.gz sharp-20191230-Sharp-MX-B450F-ps.ppd.gz sharp-20191230-Sharp-MX-B450P-ps.ppd.gz sharp-20191230-Sharp-MX-B450W-ps.ppd.gz sharp-20191230-Sharp-MX-B451P-ps.ppd.gz
+sharp-20191230-Sharp-DX-C310-ps.ppd.gz sharp-20191230-Sharp-DX-C311-ps.ppd.gz sharp-20191230-Sharp-DX-C380-ps.ppd.gz sharp-20191230-Sharp-DX-C381-ps.ppd.gz sharp-20191230-Sharp-DX-C400-ps.ppd.gz sharp-20191230-Sharp-DX-C401-ps.ppd.gz sharp-20191230-Sharp-MX-C310-ps.ppd.gz sharp-20191230-Sharp-MX-C311-ps.ppd.gz sharp-20191230-Sharp-MX-C380-ps.ppd.gz sharp-20191230-Sharp-MX-C380P-ps.ppd.gz sharp-20191230-Sharp-MX-C381-ps.ppd.gz sharp-20191230-Sharp-MX-C400-ps.ppd.gz sharp-20191230-Sharp-MX-C400P-ps.ppd.gz sharp-20191230-Sharp-MX-C401-ps.ppd.gz
+sharp-20191230-Sharp-MX-2630FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3630FN-ps-jp.ppd.gz
+sharp-20191230-Sharp-MX-2630N-ps.ppd.gz sharp-20191230-Sharp-MX-3050N-ps.ppd.gz sharp-20191230-Sharp-MX-3050V-ps.ppd.gz sharp-20191230-Sharp-MX-3550N-ps.ppd.gz sharp-20191230-Sharp-MX-3550V-ps.ppd.gz sharp-20191230-Sharp-MX-4050N-ps.ppd.gz sharp-20191230-Sharp-MX-4050V-ps.ppd.gz
+sharp-20191230-Sharp-MX-2650FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-2650FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3650FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-3650FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4170FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-4170FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5170FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-5170FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6150FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6150FV-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6170FN-ps-jp.ppd.gz sharp-20191230-Sharp-MX-6170FV-ps-jp.ppd.gz
+sharp-20191230-Sharp-MX-3060N-ps.ppd.gz sharp-20191230-Sharp-MX-3060V-ps.ppd.gz sharp-20191230-Sharp-MX-3070N-ps.ppd.gz sharp-20191230-Sharp-MX-3070V-ps.ppd.gz sharp-20191230-Sharp-MX-3560N-ps.ppd.gz sharp-20191230-Sharp-MX-3560V-ps.ppd.gz sharp-20191230-Sharp-MX-3570N-ps.ppd.gz sharp-20191230-Sharp-MX-3570V-ps.ppd.gz sharp-20191230-Sharp-MX-4060N-ps.ppd.gz sharp-20191230-Sharp-MX-4060V-ps.ppd.gz sharp-20191230-Sharp-MX-4070N-ps.ppd.gz sharp-20191230-Sharp-MX-4070V-ps.ppd.gz sharp-20191230-Sharp-MX-5050N-ps.ppd.gz sharp-20191230-Sharp-MX-5050V-ps.ppd.gz sharp-20191230-Sharp-MX-5070N-ps.ppd.gz sharp-20191230-Sharp-MX-5070V-ps.ppd.gz sharp-20191230-Sharp-MX-6050N-ps.ppd.gz sharp-20191230-Sharp-MX-6050V-ps.ppd.gz sharp-20191230-Sharp-MX-6070N-ps.ppd.gz sharp-20191230-Sharp-MX-6070V-ps.ppd.gz
+sharp-20191230-Sharp-MX-6580N-ps.ppd.gz sharp-20191230-Sharp-MX-7580N-ps.ppd.gz
+sharp-20191230-Sharp-MX-7090N-ps.ppd.gz sharp-20191230-Sharp-MX-8090N-ps.ppd.gz
+sharp-20191230-Sharp-MX-B355W-ps.ppd.gz sharp-20191230-Sharp-MX-B455W-ps.ppd.gz
+sharp-20191230-Sharp-MX-B356W-ps.ppd.gz sharp-20191230-Sharp-MX-B376W-ps.ppd.gz sharp-20191230-Sharp-MX-B456W-ps.ppd.gz sharp-20191230-Sharp-MX-B476W-ps.ppd.gz
+sharp-20191230-Sharp-MX-B380P-ps.ppd.gz sharp-20191230-Sharp-MX-B381-ps.ppd.gz sharp-20191230-Sharp-MX-B382-ps.ppd.gz sharp-20191230-Sharp-MX-B382P-ps.ppd.gz sharp-20191230-Sharp-MX-B382SC-ps.ppd.gz sharp-20191230-Sharp-MX-B400P-ps.ppd.gz sharp-20191230-Sharp-MX-B401-ps.ppd.gz sharp-20191230-Sharp-MX-B402-ps.ppd.gz sharp-20191230-Sharp-MX-B402SC-ps.ppd.gz
+sharp-20191230-Sharp-MX-M2630-ps.ppd.gz sharp-20191230-Sharp-MX-M3050-ps.ppd.gz sharp-20191230-Sharp-MX-M3550-ps.ppd.gz sharp-20191230-Sharp-MX-M4050-ps.ppd.gz sharp-20191230-Sharp-MX-M5050-ps.ppd.gz sharp-20191230-Sharp-MX-M6050-ps.ppd.gz
+sharp-20191230-Sharp-MX-M2651-ps.ppd.gz sharp-20191230-Sharp-MX-M3051-ps.ppd.gz sharp-20191230-Sharp-MX-M3551-ps.ppd.gz sharp-20191230-Sharp-MX-M4051-ps.ppd.gz sharp-20191230-Sharp-MX-M5051-ps.ppd.gz sharp-20191230-Sharp-MX-M6051-ps.ppd.gz
+sharp-20191230-Sharp-MX-M3070-ps.ppd.gz sharp-20191230-Sharp-MX-M3570-ps.ppd.gz sharp-20191230-Sharp-MX-M4070-ps.ppd.gz sharp-20191230-Sharp-MX-M5070-ps.ppd.gz sharp-20191230-Sharp-MX-M6070-ps.ppd.gz
+sharp-20191230-Sharp-MX-M3071-ps.ppd.gz sharp-20191230-Sharp-MX-M3571-ps.ppd.gz sharp-20191230-Sharp-MX-M4071-ps.ppd.gz sharp-20191230-Sharp-MX-M5071-ps.ppd.gz sharp-20191230-Sharp-MX-M6071-ps.ppd.gz
+sharp-20191230-Sharp-MX-M3531-ps-jp.ppd.gz
+sharp-20191230-Sharp-MX-M6570-ps.ppd.gz sharp-20191230-Sharp-MX-M7570-ps.ppd.gz
+sharp-20191230-Sharp-MX-M905-ps.ppd.gz
+star-20171009-starcupsdrv-3.6.0-hsp7000r.ppd.gz
+star-20171009-starcupsdrv-3.6.0-hsp7000s.ppd.gz
+star-20171009-starcupsdrv-3.6.0-hsp7000v.ppd.gz
+star-20171009-starcupsdrv-3.6.0-sp512.ppd.gz
+star-20171009-starcupsdrv-3.6.0-sp542.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tsp1000.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tsp828l.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup542.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup592.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup942.ppd.gz
+star-20171009-starcupsdrv-3.6.0-tup992.ppd.gz
+star-20191209-fvp10.ppd.gz
+star-20191209-mcp20.ppd.gz
+star-20191209-mcp21.ppd.gz
+star-20191209-mcp30.ppd.gz
+star-20191209-mcp31.ppd.gz
+star-20191209-pop10.ppd.gz
+star-20191209-sp712.ppd.gz
+star-20191209-sp717.ppd.gz
+star-20191209-sp742.ppd.gz
+star-20191209-sp747.ppd.gz
+star-20191209-tsp113.ppd.gz star-20191209-tsp113gt.ppd.gz
+star-20191209-tsp143.ppd.gz
+star-20191209-tsp143gt.ppd.gz
+star-20191209-tsp651.ppd.gz
+star-20191209-tsp654.ppd.gz
+star-20191209-tsp700II.ppd.gz
+star-20191209-tsp800II.ppd.gz
+xerox-20190225-xr6605dn.ppd.gz
+xerox-20190225-xr8580dn.ppd.gz
+xerox-20190225-xrx3655s.ppd.gz
+xerox-20190225-xrx4622.ppd.gz
+xerox-20190225-xrx5330.ppd.gz
+xerox-20190225-xrx5875.ppd.gz
+xerox-20190225-xrx7830.ppd.gz xerox-20190225-xrx7835.ppd.gz xerox-20190225-xrx7845.ppd.gz xerox-20190225-xrx7855.ppd.gz
+xerox-20190225-xrx7970.ppd.gz
+xerox-20190225-xrx8580n.ppd.gz
+xerox-20190225-xrxd95cp.ppd.gz
+xerox-20190711-xrwc3335.ppd.gz xerox-20190711-xrwc3345.ppd.gz xerox-20190711-xrx3330.ppd.gz
+xerox-20190711-xrx6510.ppd.gz xerox-20190711-xrx6515.ppd.gz
+xerox-20190820-xrxosd.ppd.gz
+xerox-20191030-Xerox_Phaser_7800DN.ppd.gz
+xerox-20191030-Xerox_Phaser_7800DX.ppd.gz
+xerox-20191030-Xerox_Phaser_7800GX.ppd.gz
+xerox-20191030-Xerox_VersaLink_C500.ppd.gz
+xerox-20191030-Xerox_VersaLink_C505.ppd.gz
+xerox-20191030-Xerox_VersaLink_C600.ppd.gz
+xerox-20191030-Xerox_VersaLink_C605.ppd.gz
+xerox-20191030-xrxB400.ppd.ppd.gz
+xerox-20191030-xrxB405.ppd.ppd.gz
+xerox-20191030-xrxB7025.ppd.gz
+xerox-20191030-xrxB7030.ppd.gz
+xerox-20191030-xrxB7035.ppd.gz
+xerox-20191030-xrxB8045.ppd.gz xerox-20191030-xrxB8055.ppd.gz xerox-20191030-xrxB8065.ppd.gz xerox-20191030-xrxB8075.ppd.gz xerox-20191030-xrxB8090.ppd.gz
+xerox-20191030-xrxC400.ppd.gz
+xerox-20191030-xrxC405.ppd.gz
+xerox-20191030-xrxC7000.ppd.gz
+xerox-20191030-xrxC7030.ppd.gz
+xerox-20191030-xrxC8000.ppd.gz xerox-20191030-xrxC9000.ppd.gz
+xerox-20191030-xrxC8030.ppd.gz xerox-20191030-xrxC8035.ppd.gz xerox-20191030-xrxC8045.ppd.gz xerox-20191030-xrxC8055.ppd.gz xerox-20191030-xrxC8070.ppd.gz
+xerox-20191030-xrxb600.ppd.gz xerox-20191030-xrxb605.ppd.gz xerox-20191030-xrxb610.ppd.gz
+xerox-20191030-xrxb615.ppd.gz
+xerox-20200129-xrxC9065.ppd.gz xerox-20200129-xrxC9070.ppd.gz
+xerox-20200226-xrxB9100.ppd.gz xerox-20200226-xrxB9110.ppd.gz xerox-20200226-xrxB9125.ppd.gz xerox-20200226-xrxB9136.ppd.gz
+xerox-20201014-xrxC8000W.ppd.gz
diff --git a/client/site_tests/platform_ToolchainTests/src/Makefile b/client/site_tests/platform_ToolchainTests/src/Makefile
index 36c2e57..e9a8fef 100644
--- a/client/site_tests/platform_ToolchainTests/src/Makefile
+++ b/client/site_tests/platform_ToolchainTests/src/Makefile
@@ -17,10 +17,17 @@
clang-fortify-tests-2.o
$(CXX) $(LDFLAGS) -o $@ $+
+# Test FORTIFY diagnostics in the same target as generating the .o file for
+# convenience. Testing diagnostics takes <1sec, and these tests silently fell
+# off the radar before (crbug.com/1159199).
clang-fortify-tests-1.o: $(fortify-test-src)
+ # FIXME(crbug.com/1159199): Reenable this once the glibc fix is live.
+ # $(fortify-cxx) $(fortify-diag-flags) -D_FORTIFY_SOURCE=1
$(fortify-cxx) $(fortify-runtime-flags) -c -D_FORTIFY_SOURCE=1 -o $@
clang-fortify-tests-2.o: $(fortify-test-src)
+ # FIXME(crbug.com/1159199): Reenable this once the glibc fix is live.
+ # $(fortify-cxx) $(fortify-diag-flags) -D_FORTIFY_SOURCE=2
$(fortify-cxx) $(fortify-runtime-flags) -c -D_FORTIFY_SOURCE=2 -o $@
clean:
@@ -31,7 +38,3 @@
install -m 0755 toolchain-tests $(DESTDIR)/usr/local/bin
install -m 0755 fortify-runtime-tests $(DESTDIR)/usr/local/bin
-.PHONY: check
-check:
- $(fortify-cxx) $(fortify-diag-flags) -D_FORTIFY_SOURCE=1
- $(fortify-cxx) $(fortify-diag-flags) -D_FORTIFY_SOURCE=2
diff --git a/client/site_tests/platform_ToolchainTests/src/clang-fortify-tests.cpp b/client/site_tests/platform_ToolchainTests/src/clang-fortify-tests.cpp
index d3acdb8..214e3ac 100644
--- a/client/site_tests/platform_ToolchainTests/src/clang-fortify-tests.cpp
+++ b/client/site_tests/platform_ToolchainTests/src/clang-fortify-tests.cpp
@@ -29,6 +29,7 @@
// Similarly, there are a few overload tricks we have to emit errors. Ignore any
// notes from those.
// expected-note@* 0+{{candidate function}}
+// expected-note@* 0+{{has been explicitly marked unavailable}}
// Must come before stdlib.h
#include <limits.h>
diff --git a/client/site_tests/policy_AlternateErrorPages/control b/client/site_tests/policy_AlternateErrorPages/control
deleted file mode 100644
index 65f8fbb..0000000
--- a/client/site_tests/policy_AlternateErrorPages/control
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_AlternateErrorPages'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of policy_AlternateErrorPages policy.
-The control files will enable, disable, and not set the policy.
-When the policy is Enabled, the URL error page will give the user suggestions
-for alterate pages. E.g., "Did you mean ..."
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_AlternateErrorPages', **args_dict)
\ No newline at end of file
diff --git a/client/site_tests/policy_AlternateErrorPages/control.disable b/client/site_tests/policy_AlternateErrorPages/control.disable
deleted file mode 100644
index 512ec9b..0000000
--- a/client/site_tests/policy_AlternateErrorPages/control.disable
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_AlternateErrorPages.disable'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify the 'policy_AlternateErrorPages' policy will disable the alternate
-error pages inside the Chrome browser.
-
-'''
-
-job.run_test('policy_AlternateErrorPages',
- case=False)
diff --git a/client/site_tests/policy_AlternateErrorPages/control.enable b/client/site_tests/policy_AlternateErrorPages/control.enable
deleted file mode 100644
index 0b56c1f..0000000
--- a/client/site_tests/policy_AlternateErrorPages/control.enable
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_AlternateErrorPages.enable'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify the 'policy_AlternateErrorPages' policy will enable the alternate error
-pages inside the Chrome browser.
-
-'''
-
-job.run_test('policy_AlternateErrorPages',
- case=True)
diff --git a/client/site_tests/policy_AlternateErrorPages/control.not_set b/client/site_tests/policy_AlternateErrorPages/control.not_set
deleted file mode 100644
index 564c370..0000000
--- a/client/site_tests/policy_AlternateErrorPages/control.not_set
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_AlternateErrorPages.not_set'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify that when the 'policy_AlternateErrorPages' is not set, the alternate
-error pages are enabled inside the Chrome browser.
-
-'''
-
-job.run_test('policy_AlternateErrorPages',
- case=None)
diff --git a/client/site_tests/policy_AlternateErrorPages/policy_AlternateErrorPages.py b/client/site_tests/policy_AlternateErrorPages/policy_AlternateErrorPages.py
deleted file mode 100644
index 2f7132b..0000000
--- a/client/site_tests/policy_AlternateErrorPages/policy_AlternateErrorPages.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.common_lib import utils
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-from telemetry.core import exceptions
-
-
-class policy_AlternateErrorPages(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of policy_AlternateErrorPages policy on Chrome OS.
-
- """
- version = 1
-
- POLICY_NAME = 'AlternateErrorPagesEnabled'
- SUGGESTED = 'If spelling is correct, try running Connectivity Diagnostics.'
- RESULTS_DICT = {
- True: SUGGESTED,
- False: 'Checking the connection',
- None: SUGGESTED}
-
- def _alt_page_check(self, policy_value):
- """
- Navigates to an invalid webpage, then checks the first item of the
- suggestion list.
-
- @param policy_value: bool or None, the setting of the policy.
-
- """
- search_box = '#suggestions-list li'
- tab = self.navigate_to_url('http://localhost-8080/')
-
- get_text = "document.querySelector('{}').innerText".format(search_box)
-
- def is_page_loaded():
- """
- Checks to see if page has fully loaded.
-
- @returns True if loaded False if not.
-
- """
- try:
- tab.EvaluateJavaScript(get_text)
- return True
- except exceptions.EvaluateException:
- return False
-
- # Wait for the page to load before checking it.
- utils.poll_for_condition(
- lambda: is_page_loaded(),
- exception=error.TestFail('Page Never loaded!'),
- timeout=5,
- sleep_interval=1,
- desc='Polling for page to load.')
-
- list_content = tab.EvaluateJavaScript(get_text)
-
- if self.RESULTS_DICT[policy_value] != list_content:
- raise error.TestFail(
- 'AlternateErrorPage was not set! Expected the first item in'
- ' the suggestions-list to be "{}" but received "{}"'
- .format(self.RESULTS_DICT[policy_value], list_content))
-
- def run_once(self, case):
- """
- @param case: Name of the test case to run.
-
- """
- self.setup_case(user_policies={self.POLICY_NAME: case})
- self._alt_page_check(case)
diff --git a/client/site_tests/policy_BookmarkBarEnabled/control b/client/site_tests/policy_BookmarkBarEnabled/control
deleted file mode 100644
index bd455eb..0000000
--- a/client/site_tests/policy_BookmarkBarEnabled/control
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_BookmarkBarEnabled'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of BookmarkBarEnabled policy.
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_BookmarkBarEnabled', **args_dict)
diff --git a/client/site_tests/policy_BookmarkBarEnabled/control.disabled b/client/site_tests/policy_BookmarkBarEnabled/control.disabled
deleted file mode 100644
index 6d6b678..0000000
--- a/client/site_tests/policy_BookmarkBarEnabled/control.disabled
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_BookmarkBarEnabled.disabled'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when the BookmarkBarEnabled policy is False, the BookmarkBar is
-disabled.
-
-'''
-
-job.run_test('policy_BookmarkBarEnabled',
- case=False)
diff --git a/client/site_tests/policy_BookmarkBarEnabled/control.enabled b/client/site_tests/policy_BookmarkBarEnabled/control.enabled
deleted file mode 100644
index 2568ca4..0000000
--- a/client/site_tests/policy_BookmarkBarEnabled/control.enabled
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_BookmarkBarEnabled.enabled'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when the BookmarkBarEnabled policy is True, the BookmarkBar is present.
-'''
-
-job.run_test('policy_BookmarkBarEnabled',
- case=True)
diff --git a/client/site_tests/policy_BookmarkBarEnabled/control.not_set b/client/site_tests/policy_BookmarkBarEnabled/control.not_set
deleted file mode 100644
index d216c4c..0000000
--- a/client/site_tests/policy_BookmarkBarEnabled/control.not_set
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_BookmarkBarEnabled.not_set'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when the BookmarkBarEnabled policy is not set, the BookmarkBar is
-disabled.
-
-'''
-
-job.run_test('policy_BookmarkBarEnabled',
- case=None)
diff --git a/client/site_tests/policy_BookmarkBarEnabled/policy_BookmarkBarEnabled.py b/client/site_tests/policy_BookmarkBarEnabled/policy_BookmarkBarEnabled.py
deleted file mode 100644
index a95c69d..0000000
--- a/client/site_tests/policy_BookmarkBarEnabled/policy_BookmarkBarEnabled.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_BookmarkBarEnabled(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of BookmarkBarEnabled policy on Chrome OS.
-
- This test will set the policy, then attempt to save a bookmark via the
- star button on the browser.
-
- It will then navigate to a new page (eg google.com), and attempt to click
- the bookmark in the bookmark bar. If the bar is present, chrome should
- navigate to the bookmark, if not it will remain on its current page.
-
- """
- version = 1
- TEST_URL = 'chrome://policy/'
-
- def _bookmarkBarCheck(self, case):
- """
- Checks if the bookmark bar is configured per policy.
-
- @param case: bool or None, the setting of the BookmarkBarEnabled Policy
-
- """
- self._save_policy_bookmark()
-
- new_tab = self.navigate_to_url('https://google.com')
- new_tab.WaitForDocumentReadyStateToBeComplete()
-
- bookmark_present = self.ui.item_present('Policies', role='button')
-
- if case and not bookmark_present:
- raise error.TestError('Bookmark bar not enabled.')
- elif not case and bookmark_present:
- raise error.TestError('Bookmark bar enabled.')
-
- def _save_policy_bookmark(self):
- """Saves the current page as a bookmark."""
- tab = self.navigate_to_url(self.TEST_URL)
- tab.WaitForDocumentReadyStateToBeComplete()
-
- self.ui.doDefault_on_obj(role='button', name='/Bookmark this/',
- isRegex=True)
-
- # Wait for the button dialog to load.
- self.ui.wait_for_ui_obj('Done', role='button')
- self.ui.doDefault_on_obj(role='button', name='Done')
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
-
- self.setup_case(user_policies={'BookmarkBarEnabled': case})
- self.ui.start_ui_root(self.cr)
- self._bookmarkBarCheck(case)
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/control b/client/site_tests/policy_DefaultGeolocationSetting/control
deleted file mode 100644
index 5870a28..0000000
--- a/client/site_tests/policy_DefaultGeolocationSetting/control
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultGeolocationSetting'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of policy_DefaultGeolocationSetting policy.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_DefaultGeolocationSetting', **args_dict)
\ No newline at end of file
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/control.denied b/client/site_tests/policy_DefaultGeolocationSetting/control.denied
deleted file mode 100644
index 8c5d007..0000000
--- a/client/site_tests/policy_DefaultGeolocationSetting/control.denied
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultGeolocationSetting.denied'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify setting 'DefaultGeolocationSetting' to 'denied' (2) will disable the
-HTML5 geolocation API within the Chrome browser.
-
-'''
-
-job.run_test('policy_DefaultGeolocationSetting',
- case='denied')
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/control.granted b/client/site_tests/policy_DefaultGeolocationSetting/control.granted
deleted file mode 100644
index 1b7e779..0000000
--- a/client/site_tests/policy_DefaultGeolocationSetting/control.granted
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultGeolocationSetting.granted'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify setting 'DefaultGeolocationSetting' to 'granted' (1) will enable the
-HTML5 geolocation API within the Chrome browser.
-
-'''
-
-job.run_test('policy_DefaultGeolocationSetting',
- case='granted')
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/control.not_set b/client/site_tests/policy_DefaultGeolocationSetting/control.not_set
deleted file mode 100644
index 5279d26..0000000
--- a/client/site_tests/policy_DefaultGeolocationSetting/control.not_set
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultGeolocationSetting.not_set'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify the default setting of 'DefaultGeolocationSetting' is 'prompt' for the
-HTML5 geolocation API within the Chrome browser.
-
-'''
-
-job.run_test('policy_DefaultGeolocationSetting',
- case='not_set')
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/control.prompt b/client/site_tests/policy_DefaultGeolocationSetting/control.prompt
deleted file mode 100644
index 88c457b..0000000
--- a/client/site_tests/policy_DefaultGeolocationSetting/control.prompt
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultGeolocationSetting.prompt'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify setting 'DefaultGeolocationSetting' to 'prompt' (3) will prompt the user
-for HTML5 geolocation API access within the Chrome browser.
-
-'''
-
-job.run_test('policy_DefaultGeolocationSetting',
- case='prompt')
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py b/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py
deleted file mode 100644
index a039c81..0000000
--- a/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_DefaultGeolocationSetting(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of DefaultGeolocationSetting policy on Chrome OS.
-
- This test will set the policy, then will check the geolocation setting
- to determine if the policy worked or not.
-
- The policy sets the result to variable so its easier to call/return
- via the EvaluateJavaScript function.
-
- """
- version = 1
-
- POLICY_NAME = 'DefaultGeolocationSetting'
- policy_setting = {'granted': 1,
- 'denied': 2,
- 'prompt': 3,
- 'not_set': None}
-
- def _notification_check(self, case):
- """
- Navigates to a page, and query the geolocation status.
-
- @param case: the setting of the DefaultGeolocationSetting Policy
-
- """
- tab = self.navigate_to_url('chrome://policy')
- f = """new Promise(function(resolve, reject) {
- navigator.permissions.query({name:"geolocation"})
- .then(function(geoloc) {
- resolve(geoloc.state)});
- })"""
-
- content = tab.EvaluateJavaScript(f, promise=True)
-
- # prompt is the default setting
- if case == 'not_set':
- case = 'prompt'
- if content != case:
- raise error.TestError('Geolocation Setting did not match setting.'
- 'Expected {e} but received {r}'
- .format(e=case, r=content))
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- self.setup_case(user_policies={
- self.POLICY_NAME: self.policy_setting[case]})
- self._notification_check(case)
diff --git a/client/site_tests/policy_DefaultJavaScriptSetting/control b/client/site_tests/policy_DefaultJavaScriptSetting/control
deleted file mode 100644
index 7ba77a3..0000000
--- a/client/site_tests/policy_DefaultJavaScriptSetting/control
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_DefaultJavaScriptSetting'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of DefaultJavaScriptSetting policy on the client.
-
-This test verifies the effect of the DefaultJavaScriptSetting by setting
-the policy to Allow as well as Do Not Allow, go to a webpage with JavaScript
-and check for the correct behavior.
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_DefaultJavaScriptSetting', **args_dict)
diff --git a/client/site_tests/policy_DefaultJavaScriptSetting/control.Allow b/client/site_tests/policy_DefaultJavaScriptSetting/control.Allow
deleted file mode 100644
index f27cd84..0000000
--- a/client/site_tests/policy_DefaultJavaScriptSetting/control.Allow
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_DefaultJavaScriptSetting.Allow'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of DefaultJavaScriptSetting policy.
-
-Sets DefaultJavaScriptSetting to Allow, goes to a webpage with
-JavaScript and verify that it loaded.
-'''
-
-job.run_test('policy_DefaultJavaScriptSetting', case='Allow')
diff --git a/client/site_tests/policy_DefaultJavaScriptSetting/control.DoNotAllow b/client/site_tests/policy_DefaultJavaScriptSetting/control.DoNotAllow
deleted file mode 100644
index b01887b..0000000
--- a/client/site_tests/policy_DefaultJavaScriptSetting/control.DoNotAllow
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_DefaultJavaScriptSetting.DoNotAllow'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of DefaultJavaScriptSetting policy.
-
-Sets DefaultJavaScriptSetting to Do Not Allow, goes to a webpage with
-JavaScript and verify that it did not load.
-'''
-
-job.run_test('policy_DefaultJavaScriptSetting', case='Do Not Allow')
diff --git a/client/site_tests/policy_DefaultJavaScriptSetting/policy_DefaultJavaScriptSetting.py b/client/site_tests/policy_DefaultJavaScriptSetting/policy_DefaultJavaScriptSetting.py
deleted file mode 100644
index e902a5a..0000000
--- a/client/site_tests/policy_DefaultJavaScriptSetting/policy_DefaultJavaScriptSetting.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import time
-import utils
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-from telemetry.core.exceptions import EvaluateException
-
-
-class policy_DefaultJavaScriptSetting(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Tests the DefaultJavaScriptSetting policy in Chrome OS.
-
- If the DefaultJavaScriptSetting policy is set to Allow, going to the
- local test page should display YES. If the policy is set to Do Not Allow
- going to the local test page should display NO.
-
- """
- version = 1
-
- def initialize(self, **kwargs):
- """Initialize this test."""
- super(policy_DefaultJavaScriptSetting, self).initialize(**kwargs)
- self.TEST_FILE = 'js_test.html'
- self.TEST_URL = '%s/%s' % (self.WEB_HOST, self.TEST_FILE)
- self.POLICY_NAME = 'DefaultJavaScriptSetting'
- self.POLICIES = {}
- self.TEST_CASES = {
- 'Allow': 1,
- 'Do Not Allow': 2}
- self.start_webserver()
-
- def _can_execute_javascript(self):
- """
- Determine whether JavaScript is allowed to run on the given page.
-
- @param tab: browser tab containing JavaScript to run.
-
- Note: This test does not use self.navigate_to_url(), because it can
- not depend on methods that evaluate or execute JavaScript.
-
- """
- tab = self.cr.browser.tabs.New()
- tab.Activate()
- tab.Navigate(self.TEST_URL)
- time.sleep(1)
-
- utils.poll_for_condition(
- lambda: tab.url == self.TEST_URL,
- exception=error.TestError('Test page is not ready.'))
-
- try:
- utils.poll_for_condition(
- lambda: tab.EvaluateJavaScript('jsAllowed', timeout=2),
- exception=error.TestError('Test page is not ready.'))
- return True
- except (EvaluateException, utils.TimeoutError):
- return False
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.POLICIES)
-
- if case == 'Allow':
- if not self._can_execute_javascript():
- raise error.TestFail('JavaScript disabled, should be enabled.')
- else:
- if self._can_execute_javascript():
- raise error.TestFail('JavaScript enabled, should be disabled.')
diff --git a/client/site_tests/policy_DefaultNotificationsSetting/control b/client/site_tests/policy_DefaultNotificationsSetting/control
deleted file mode 100644
index 36ac232..0000000
--- a/client/site_tests/policy_DefaultNotificationsSetting/control
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultNotificationsSetting'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of policy_DefaultNotificationsSetting policy.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_DefaultNotificationsSetting', **args_dict)
diff --git a/client/site_tests/policy_DefaultNotificationsSetting/control.default b/client/site_tests/policy_DefaultNotificationsSetting/control.default
deleted file mode 100644
index 541831c..0000000
--- a/client/site_tests/policy_DefaultNotificationsSetting/control.default
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultNotificationsSetting.default'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify setting 'DefaultNotificationsSetting' to 'default' (3) will prompt the user
-for "Allow Notifications" when a notification request is sent.
-
-'''
-
-job.run_test('policy_DefaultNotificationsSetting',
- case='default')
diff --git a/client/site_tests/policy_DefaultNotificationsSetting/control.denied b/client/site_tests/policy_DefaultNotificationsSetting/control.denied
deleted file mode 100644
index 079001a..0000000
--- a/client/site_tests/policy_DefaultNotificationsSetting/control.denied
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultNotificationsSetting.denied'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify setting 'DefaultNotificationsSetting' to 'denied' (2) will disable the
-Desktop notifications option.
-
-'''
-
-job.run_test('policy_DefaultNotificationsSetting',
- case='denied')
diff --git a/client/site_tests/policy_DefaultNotificationsSetting/control.granted b/client/site_tests/policy_DefaultNotificationsSetting/control.granted
deleted file mode 100644
index 3edc349..0000000
--- a/client/site_tests/policy_DefaultNotificationsSetting/control.granted
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultNotificationsSetting.granted'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify setting 'DefaultNotificationsSetting' to 'granted' (1) will enable the
-Desktop notifications option.
-
-'''
-
-job.run_test('policy_DefaultNotificationsSetting',
- case='granted')
diff --git a/client/site_tests/policy_DefaultNotificationsSetting/control.not_set b/client/site_tests/policy_DefaultNotificationsSetting/control.not_set
deleted file mode 100644
index 51271b7..0000000
--- a/client/site_tests/policy_DefaultNotificationsSetting/control.not_set
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_DefaultNotificationsSetting.not_set'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify the default setting of 'DefaultNotificationsSetting' will prompt the
-user for "Allow Notifications" when a notification request is sent.
-
-'''
-
-job.run_test('policy_DefaultNotificationsSetting',
- case='not_set')
diff --git a/client/site_tests/policy_DefaultNotificationsSetting/policy_DefaultNotificationsSetting.py b/client/site_tests/policy_DefaultNotificationsSetting/policy_DefaultNotificationsSetting.py
deleted file mode 100644
index c44c046..0000000
--- a/client/site_tests/policy_DefaultNotificationsSetting/policy_DefaultNotificationsSetting.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_DefaultNotificationsSetting(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of DefaultNotificationsSetting policy on Chrome OS.
-
- This test will set the policy, then will check the notification.permission
- js call to determine if the policy worked or not.
-
-
- """
- version = 1
-
- POLICY_NAME = 'DefaultNotificationsSetting'
- policy_setting = {'granted': 1,
- 'denied': 2,
- 'default': 3,
- 'not_set': None}
-
- def _notification_check(self, case):
- """
- Navigates to a page, and check the Notification status.
-
- @param case: the setting of the DefaultNotificationsSetting Policy
-
- """
- tab = self.navigate_to_url('chrome://policy')
-
- content = tab.EvaluateJavaScript('Notification.permission')
-
- # prompt is the default setting
- if case == 'not_set':
- case = 'default'
- if content != case:
- raise error.TestError('Geolocation Setting did not match setting.'
- 'Expected {e} but received {r}'
- .format(e=case, r=content))
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- self.setup_case(user_policies={
- self.POLICY_NAME: self.policy_setting[case]})
- self._notification_check(case)
diff --git a/client/site_tests/policy_DeviceWilcoDtcAllowed/control b/client/site_tests/policy_DeviceWilcoDtcAllowed/control
deleted file mode 100644
index 1495cd9..0000000
--- a/client/site_tests/policy_DeviceWilcoDtcAllowed/control
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_DeviceWilcoDtcAllowed'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verifies whether Wilco daemons are running or not. This test is kicked
-off via policy_DeviceWilcoDtcAllowed server test.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_DeviceWilcoDtcAllowed', **args_dict)
diff --git a/client/site_tests/policy_DeviceWilcoDtcAllowed/policy_DeviceWilcoDtcAllowed.py b/client/site_tests/policy_DeviceWilcoDtcAllowed/policy_DeviceWilcoDtcAllowed.py
deleted file mode 100644
index bb3493b..0000000
--- a/client/site_tests/policy_DeviceWilcoDtcAllowed/policy_DeviceWilcoDtcAllowed.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import time
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.common_lib import utils
-from autotest_lib.client.common_lib.cros import retry
-
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-from py_utils import TimeoutException
-
-
-class policy_DeviceWilcoDtcAllowed(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test for the DeviceWilcoDtcAllowed policy.
-
- If the policy is set to True then Wilco daemons should be running.
- If the policy is set to False/None then Wilco daemons should not be
- running.
-
- """
- version = 1
- _POLICY = 'DeviceWilcoDtcAllowed'
-
- @retry.retry(TimeoutException, timeout_min=5, delay_sec=10)
- def _run_setup_case(self, case):
- self.setup_case(device_policies={self._POLICY: case}, enroll=True,
- extra_chrome_flags=['--user-always-affiliated'])
-
- def _update_policy_value(self, value):
- self.update_policies(device_policies={'DeviceWilcoDtcAllowed': value})
- self.verify_policy_value('DeviceWilcoDtcAllowed', value)
-
- def _check_status(self, expected_status):
- result = utils.run('status wilco_dtc')
-
- if expected_status:
- if 'process' not in result.stdout:
- raise error.TestFail(
- 'Wilco daemons are not running and they should be.')
- else:
- if 'process' in result.stdout:
- raise error.TestFail(
- 'Wilco daemons are running and they should not be.')
-
-
- def run_once(self, case):
- """
- Entry point of this test.
-
- @param case: True, False, or None for the value of the policy.
-
- """
- self._run_setup_case(case)
-
- if case is True:
- self._check_status(case)
- self._update_policy_value(False)
- # This sleep is needed to give status some time to update.
- time.sleep(2)
- self._check_status(False)
-
- if case is False:
- self._check_status(case)
- self._update_policy_value(True)
- # This sleep is needed to give status some time to update.
- time.sleep(2)
- self._check_status(True)
-
- if case is None:
- self._check_status(None)
diff --git a/client/site_tests/policy_EditBookmarksEnabled/control b/client/site_tests/policy_EditBookmarksEnabled/control
deleted file mode 100644
index 0ba9c31..0000000
--- a/client/site_tests/policy_EditBookmarksEnabled/control
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_EditBookmarksEnabled'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of EditBookmarksEnabled policy.
-
-This test verifies the effect of the EditBookmarksEnabled user policy on
-Chrome OS client behavior and appearance. It exercises all valid policy
-values across three test cases: True_Enable, False_Disable, and
-NotSet_Enable.
-
-A test case shall pass if the Manage Bookmarks page allows (or forbids) the
-user to add a new bookmark when the policy is true/notset (or false). It shall
-fail if that behavior is not enforced.
-
-This control file allows CloudDPC E2E tests to run any test case defined in
-this test via command-line.
-
-See accompanying README file for additional usage instructions and examples.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_EditBookmarksEnabled', **args_dict)
diff --git a/client/site_tests/policy_EditBookmarksEnabled/control.false_disable b/client/site_tests/policy_EditBookmarksEnabled/control.false_disable
deleted file mode 100644
index 962942b..0000000
--- a/client/site_tests/policy_EditBookmarksEnabled/control.false_disable
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_EditBookmarksEnabled.false_disable'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of EditBookmarksEnabled policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-EditBookmarksEnabled user policy is set to false.
-
-The test case shall pass if the Manage Bookmarks page does not allow the user
-to add a new bookmark. It shall fail if that behavior is not enforced.
-
-'''
-
-job.run_test('policy_EditBookmarksEnabled', case='False_Disable')
diff --git a/client/site_tests/policy_EditBookmarksEnabled/control.notset_enable b/client/site_tests/policy_EditBookmarksEnabled/control.notset_enable
deleted file mode 100644
index b2925ea..0000000
--- a/client/site_tests/policy_EditBookmarksEnabled/control.notset_enable
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_EditBookmarksEnabled.notset_enable'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of EditBookmarksEnabled policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-EditBookmarksEnabled user policy is not set.
-
-The test case shall pass if the Manage Bookmarks page allows the user to add a
-new bookmark. It shall fail if that behavior is not enforced.
-
-'''
-
-job.run_test('policy_EditBookmarksEnabled', case='NotSet_Enable')
diff --git a/client/site_tests/policy_EditBookmarksEnabled/control.true_enable b/client/site_tests/policy_EditBookmarksEnabled/control.true_enable
deleted file mode 100644
index bb6505a..0000000
--- a/client/site_tests/policy_EditBookmarksEnabled/control.true_enable
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_EditBookmarksEnabled.true_enable'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of EditBookmarksEnabled policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-EditBookmarksEnabled user policy is set to true.
-
-The test case shall pass if the Manage Bookmarks page allows the user to add a
-new bookmark. It shall fail if that behavior is not enforced.
-
-'''
-
-job.run_test('policy_EditBookmarksEnabled', case='True_Enable')
diff --git a/client/site_tests/policy_EditBookmarksEnabled/policy_EditBookmarksEnabled.py b/client/site_tests/policy_EditBookmarksEnabled/policy_EditBookmarksEnabled.py
deleted file mode 100644
index bd28e09..0000000
--- a/client/site_tests/policy_EditBookmarksEnabled/policy_EditBookmarksEnabled.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_EditBookmarksEnabled(enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of EditBookmarksEnabled policy on Chrome OS behavior.
-
- This test verifies the behavior of Chrome OS for all valid values of the
- EditBookmarksEnabled user policy: True, False, and not set. 'Not set'
- means that the policy value is undefined. This should induce the default
- behavior, equivalent to what is seen by an un-managed user.
-
- When set True or not set, bookmarks can be added, removed, or modified.
- When set False, bookmarks cannot be added, removed, or modified, though
- existing bookmarks (if any) are still available.
-
- """
- version = 1
-
- POLICY_NAME = 'EditBookmarksEnabled'
-
- # Dictionary of named test cases and policy data.
- TEST_CASES = {
- 'True_Enable': True,
- 'False_Disable': False,
- 'NotSet_Enable': None
- }
-
- def _test_edit_bookmarks_enabled(self, policy_value):
- """
- Verify CrOS enforces EditBookmarksEnabled policy.
-
- When EditBookmarksEnabled is true or not set, the UI allows the user
- to add bookmarks. When false, the UI does not allow the user to add
- bookmarks.
-
- Warning: When the 'Bookmark Editing' setting on the CPanel User
- Settings page is set to 'Enable bookmark editing', then the
- EditBookmarksEnabled policy on the client will be not set. Thus, to
- verify the 'Enable bookmark editing' choice from a production or
- staging DMS, use case=NotSet_Enable.
-
- @param policy_value: policy value for this case.
-
- """
- boomark_present = self.ui.item_present('/Bookmark/', isRegex=True)
- if policy_value is False and boomark_present:
- raise error.TestError(
- 'Boomark option present and it should not be.')
- elif policy_value is not False and not boomark_present:
- raise error.TestError(
- 'Bookmark option not present and it should be.')
-
- def run_once(self, case):
- """
- Set up and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.setup_case(user_policies={self.POLICY_NAME: case_value})
- self.ui.start_ui_root(self.cr)
- self._test_edit_bookmarks_enabled(case_value)
diff --git a/client/site_tests/policy_ExtensionAllowedTypes/control b/client/site_tests/policy_ExtensionAllowedTypes/control
deleted file mode 100644
index 266b6ac..0000000
--- a/client/site_tests/policy_ExtensionAllowedTypes/control
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionAllowedTypes'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of policy_ExtensionAllowedTypes policy.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_ExtensionAllowedTypes', **args_dict)
\ No newline at end of file
diff --git a/client/site_tests/policy_ExtensionAllowedTypes/control.none b/client/site_tests/policy_ExtensionAllowedTypes/control.none
deleted file mode 100644
index b4d080c..0000000
--- a/client/site_tests/policy_ExtensionAllowedTypes/control.none
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionAllowedTypes.none'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify Setting the policy 'ExtensionAllowedTypes' to only 'extension' will
-disable installation of themes on ChromeOS.
-
-'''
-
-job.run_test('policy_ExtensionAllowedTypes',
- case=None)
diff --git a/client/site_tests/policy_ExtensionAllowedTypes/control.theme b/client/site_tests/policy_ExtensionAllowedTypes/control.theme
deleted file mode 100644
index 1e70484..0000000
--- a/client/site_tests/policy_ExtensionAllowedTypes/control.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionAllowedTypes.theme'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify Setting the policy 'ExtensionAllowedTypes' to only 'extension, themes'
-will allow installation of themes on ChromeOS.
-'''
-
-job.run_test('policy_ExtensionAllowedTypes',
- case='theme')
diff --git a/client/site_tests/policy_ExtensionAllowedTypes/policy_ExtensionAllowedTypes.py b/client/site_tests/policy_ExtensionAllowedTypes/policy_ExtensionAllowedTypes.py
deleted file mode 100644
index 6fef726..0000000
--- a/client/site_tests/policy_ExtensionAllowedTypes/policy_ExtensionAllowedTypes.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-import utils
-
-
-class policy_ExtensionAllowedTypes(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of policy_ExtensionAllowedTypes policy on Chrome OS.
-
- """
- version = 1
-
- result_lookup = {'theme': 'rgb(0, 0, 0)',
- None: 'rgb(255, 255, 255)'}
-
- EXTENSION_ID = 'aghfnjkcakhmadgdomlmlhhaocbkloab'
- EXTENSION_PAGE = ('chrome://extensions/?id=%s'
- % EXTENSION_ID)
-
- button_name = 'dd-Va g-c-wb g-eg-ua-Uc-c-za g-c-Oc-td-jb-oa g-c'
- button_obj = ("document.getElementsByClassName('{}')[0]"
- .format(button_name))
-
- download_url = ('https://chrome.google.com/webstore/detail/just-black/{}'
- .format(EXTENSION_ID))
-
- get_bg_rbg = "document.getElementsByTagName('body')[0].style.backgroundColor"
-
- def _extension_check(self):
- """
- Checks if the allowed extension types works, or not by attempting to
- apply a theme to chrome, and checking if its installed or not, based
- off the case. This test will navigate to the chromestore page, and
- click the button to apply the theme. Then it will open a newtab and
- check the background rbg. If/when this test fails in the future, check
- button_name first, then the extension_id, as they are the most likely
- to be changed in the future and (currently) out of the tests control.
-
- """
-
- tab = self.navigate_to_url(self.download_url)
- self.wait_for_page_load(tab)
- self._download_app(tab)
- self.wait_for_extension(tab)
-
- def wait_for_page_load(self, tab):
- """
- Wait for the theme download page to load
-
- @param tab: tab obj, must have already navigated to the DOWNLOAD_URL.
- """
-
- def load_ext_page():
- return tab.EvaluateJavaScript(
- '{} !== undefined'.format(self.button_obj))
-
- utils.poll_for_condition(
- load_ext_page,
- exception=error.TestError('Page no load :('),
- timeout=15,
- sleep_interval=1,
- desc='Timed out waiting for extension to install.')
-
- def _download_app(self, tab):
- """Clicks the 'Add to Chrome' button."""
- tab.EvaluateJavaScript('{}.click()'.format(self.button_obj))
-
- def wait_for_extension(self, tab):
- """Wait for the extension to install so we can open it."""
-
- def load_page():
- tab = self.navigate_to_url('chrome://newtab')
- i_t = tab.EvaluateJavaScript(self.get_bg_rbg)
- return self.expected == i_t
-
- utils.poll_for_condition(
- load_page,
- exception=error.TestError('Theme not installed :('),
- timeout=15,
- sleep_interval=1,
- desc='Timed out waiting for extension to install.')
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- self.expected = self.result_lookup[case]
-
- # Must allow the extension by default for autotest to work.
- extensions_allowed = ['extension']
- if case:
- extensions_allowed.append('theme')
-
- pol = {'ExtensionAllowedTypes': extensions_allowed}
- self.setup_case(user_policies=pol)
- self._extension_check()
diff --git a/client/site_tests/policy_ExtensionControl/control b/client/site_tests/policy_ExtensionControl/control
deleted file mode 100644
index 9779b70..0000000
--- a/client/site_tests/policy_ExtensionControl/control
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionControl'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of the different extension policies.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_ExtensionControl', **args_dict)
diff --git a/client/site_tests/policy_ExtensionControl/control.Blacklist b/client/site_tests/policy_ExtensionControl/control.Blacklist
deleted file mode 100644
index dfa171c..0000000
--- a/client/site_tests/policy_ExtensionControl/control.Blacklist
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionControl.Blacklist'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when an extension is on the 'ExtensionInstallBlacklist', it cannot be
-installed.
-
-'''
-
-job.run_test('policy_ExtensionControl',
- case=set(['Blacklist']))
diff --git a/client/site_tests/policy_ExtensionControl/control.Force_Install b/client/site_tests/policy_ExtensionControl/control.Force_Install
deleted file mode 100644
index 9ce8ce0..0000000
--- a/client/site_tests/policy_ExtensionControl/control.Force_Install
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionControl.Force_Install'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when an extension is on the 'ExtensionInstallForcelist', it is
-automatically installed.
-
-'''
-
-job.run_test('policy_ExtensionControl',
- case=set(['Force_Install']))
diff --git a/client/site_tests/policy_ExtensionControl/control.Whitelist b/client/site_tests/policy_ExtensionControl/control.Whitelist
deleted file mode 100644
index 2240bb2..0000000
--- a/client/site_tests/policy_ExtensionControl/control.Whitelist
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionControl.Whitelist'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when an extension is on the 'ExtensionInstallWhitelist', it can be
-installed.
-
-'''
-
-job.run_test('policy_ExtensionControl',
- case=set(['Whitelist']))
diff --git a/client/site_tests/policy_ExtensionControl/control.both b/client/site_tests/policy_ExtensionControl/control.both
deleted file mode 100644
index 5829285..0000000
--- a/client/site_tests/policy_ExtensionControl/control.both
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'dbeckett'
-NAME = 'policy_ExtensionControl.both'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify when the policy 'ExtensionBlacklist' is configured to all ('*'), and an
-extension is added to the policy 'ExtensionWhitelist' it can still be
-installed.
-
-'''
-
-job.run_test('policy_ExtensionControl',
- case=set(['Blacklist', 'Whitelist']))
diff --git a/client/site_tests/policy_ExtensionControl/policy_ExtensionControl.py b/client/site_tests/policy_ExtensionControl/policy_ExtensionControl.py
deleted file mode 100644
index 6262e92..0000000
--- a/client/site_tests/policy_ExtensionControl/policy_ExtensionControl.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_ExtensionControl(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of multiple Extension control policies on Chrome OS.
-
- Test ExtensionInstallBlacklist prevents configured extensions from being
- installed.
- Test ExtensionInstallWhitelist does not prevent extensions from being
- installed.
- Test ExtensionInstallForcelist automatically installs configured
- extensions.
- Test when the ExtensionInstallBlacklist is set to '*', and an extension is
- on the ExtensionInstallWhitelist, it can be installed, showing the
- Whitelist takes priority over the Blacklist.
-
- """
- version = 1
- EXTENSION_ID = 'hoppbgdeajkagempifacalpdapphfoai'
- EXTENSION_PAGE = ('chrome://extensions/?id=%s'
- % EXTENSION_ID)
- BLOCK_MSG = '/{}"\) is blocked/'.format(EXTENSION_ID)
- DOWNLOAD_URL = ('https://chrome.google.com/webstore/detail/platformkeys-test-extensi/{}'
- .format(EXTENSION_ID))
-
- def _ext_check(self):
- """Verifies the extension install permissions are correct."""
-
- self.navigate_to_url(self.DOWNLOAD_URL)
-
- if 'ExtensionInstallForcelist' in self.pol_setting:
- # If the extension is installed, the Remove button will be present.
- self.ui.wait_for_ui_obj('Remove from Chrome', role='button')
- else:
- # Wait for the "Add to Chrome" button to load and click on it.
- self.ui.wait_for_ui_obj('Add to Chrome', role='button')
- self.ui.doDefault_on_obj('Add to Chrome', role='button')
- if ('ExtensionInstallWhitelist' in self.pol_setting):
- self.ui.wait_for_ui_obj('Add extension', role='button')
- self.ui.did_obj_not_load(self.BLOCK_MSG, isRegex=True)
- else:
- self.ui.wait_for_ui_obj(self.BLOCK_MSG, isRegex=True)
-
- def _update_policy(self):
- """
- Update the policy Blacklist to '*', and add the autotest extension to
- the Whitelist.
-
- NOTE: This is being done after the initial setup_case has been run to
- avoid an issue where the autotest extension will not load with the
- blacklist set to '*', even with it on the Whitelist. This caused the
- test to error and fail. Probably a race on the policy loading.
-
- """
-
- self.pol_setting['ExtensionInstallBlacklist'] = ['*']
- # Updating the fake DM server, and checking policy page.
- self.fake_dm_server.setup_policy(self._make_json_blob(
- user_policies=self.pol_setting))
- self.reload_policies()
- self.verify_policy_stats(self.pol_setting)
-
- def _configure_test(self, case):
- """
- Configures the test variables.
-
- @param case: Name of the test case to run.
-
- """
- # Used during the test run.
- autotest_id = 'behllobkkfkfnphdnhnkndlbkcpglgmj'
-
- if 'Whitelist' in case:
- self.pol_setting['ExtensionInstallWhitelist'] = [self.EXTENSION_ID,
- autotest_id]
- if 'Blacklist' in case and 'Whitelist' not in case:
- self.pol_setting['ExtensionInstallBlacklist'] = [self.EXTENSION_ID]
- if 'Force_Install' in case:
- self.pol_setting['ExtensionInstallForcelist'] = [self.EXTENSION_ID]
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- self.pol_setting = {}
-
- self._configure_test(case)
- self.setup_case(user_policies=self.pol_setting)
- self.ui.start_ui_root(self.cr)
- # In this case there is both a Whitelist and Blacklist.
- if len(case) > 1:
- self._update_policy()
-
- self._ext_check()
diff --git a/client/site_tests/policy_ForceGoogleSafeSearch/control b/client/site_tests/policy_ForceGoogleSafeSearch/control
deleted file mode 100644
index 7335da7..0000000
--- a/client/site_tests/policy_ForceGoogleSafeSearch/control
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ForceGoogleSafeSearch'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of ForceGoogleSafeSearch policy on client behavior.
-
-This test verifies the effect of the ForceGoogleSafeSearch user policy on
-Chrome OS client behavior. The test exercises all valid policy values across
-three test cases: NotSet_NotSafe, False_NotSafe, and True_Safe.
-
-A test case shall pass if the omnibox search URL appends (or does not
-append) a safe search parameter when the policy is set true (or is set
-false or not set). It shall fail if this behavior is not enforced.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_ForceGoogleSafeSearch', **args_dict)
diff --git a/client/site_tests/policy_ForceGoogleSafeSearch/control.false_notsafe b/client/site_tests/policy_ForceGoogleSafeSearch/control.false_notsafe
deleted file mode 100644
index 7ce68e9..0000000
--- a/client/site_tests/policy_ForceGoogleSafeSearch/control.false_notsafe
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ForceGoogleSafeSearch.false_notsafe'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of ForceGoogleSafeSearch policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-ForceGoogleSafeSearch user policy is set false.
-
-The test case shall pass if the omnibox search URL does not append a safe
-search parameter. It shall fail if this behavior is not enforced.
-
-'''
-
-job.run_test('policy_ForceGoogleSafeSearch', case='False_NotSafe')
diff --git a/client/site_tests/policy_ForceGoogleSafeSearch/control.notset_notsafe b/client/site_tests/policy_ForceGoogleSafeSearch/control.notset_notsafe
deleted file mode 100644
index 15b7aa0..0000000
--- a/client/site_tests/policy_ForceGoogleSafeSearch/control.notset_notsafe
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ForceGoogleSafeSearch.notset_notsafe'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of ForceGoogleSafeSearch policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-ForceGoogleSafeSearch user policy is not set.
-
-The test case shall pass if the omnibox search URL does not append a safe
-search parameter. It shall fail if this behavior is not enforced.
-
-'''
-
-job.run_test('policy_ForceGoogleSafeSearch', case='NotSet_NotSafe')
diff --git a/client/site_tests/policy_ForceGoogleSafeSearch/control.true_safe b/client/site_tests/policy_ForceGoogleSafeSearch/control.true_safe
deleted file mode 100644
index 102c1da..0000000
--- a/client/site_tests/policy_ForceGoogleSafeSearch/control.true_safe
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ForceGoogleSafeSearch.true_safe'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of ForceGoogleSafeSearch policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-ForceGoogleSafeSearch user policy is set true.
-
-The test case shall pass if the omnibox search URL appends a safe search
-parameter. It shall fail if this behavior is not enforced.
-
-'''
-
-job.run_test('policy_ForceGoogleSafeSearch', case='True_Safe')
diff --git a/client/site_tests/policy_ForceGoogleSafeSearch/policy_ForceGoogleSafeSearch.py b/client/site_tests/policy_ForceGoogleSafeSearch/policy_ForceGoogleSafeSearch.py
deleted file mode 100644
index afd93c8..0000000
--- a/client/site_tests/policy_ForceGoogleSafeSearch/policy_ForceGoogleSafeSearch.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_ForceGoogleSafeSearch(enterprise_policy_base.EnterprisePolicyTest):
- """Test effect of ForceGoogleSafeSearch policy on Chrome OS behavior.
-
- This test verifies that the ForceGoogleSafeSearch user policy controls
- whether Chrome OS enforces the use of Google Safe Search. The test covers
- all valid policy values across three test cases: NotSet_NotSafe,
- False_NotSafe, and True_Safe.
-
- A test case shall pass if the omnibox appends (or does not append) the
- safe parameter to the search URL when the policy is set true (or is set
- false or is not set). A test case shall fail if the above behavior is
- not enforced.
-
- Note that DefaultSearchProviderEnabled must be not set (i.e., set to
- None) for this test to work.
-
- """
- version = 1
-
- POLICY_NAME = 'ForceGoogleSafeSearch'
- TEST_CASES = {
- 'True_Safe': True,
- 'False_NotSafe': False,
- 'NotSet_NotSafe': None
- }
- SUPPORTING_POLICIES = {
- 'DefaultSearchProviderEnabled': None
- }
- GOOGLE_SEARCH_URL = 'https://www.google.com/search?q=kittens'
-
- def _test_force_safe_search(self, policy_value):
- """Verify CrOS enforces ForceGoogleSafeSearch policy.
-
- When ForceGoogleSafeSearch is set true, then Chrome OS shall append
- the safe search parameter to the Google Search URL, and set it active.
- When set false or is not set, then Chrome OS shall not append the safe
- search parameter to the search URL.
-
- @param policy_value: policy value for this case.
-
- """
- tab = self.navigate_to_url(self.GOOGLE_SEARCH_URL)
- is_safe_search_active = True if '&safe=active' in tab.url else False
- if policy_value == True:
- if not is_safe_search_active:
- raise error.TestFail('Safe search should be active.')
- else:
- if is_safe_search_active:
- raise error.TestFail('Safe search should not be active.')
-
- def run_once(self, case):
- """Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.SUPPORTING_POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.SUPPORTING_POLICIES)
- self._test_force_safe_search(case_value)
diff --git a/client/site_tests/policy_HomepageLocation/control b/client/site_tests/policy_HomepageLocation/control
deleted file mode 100644
index 7799958..0000000
--- a/client/site_tests/policy_HomepageLocation/control
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_HomepageLocation'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of HomepageLocation policy on client behavior.
-
-If the HomepageLocation is set and the user goes to the homepage
-the set URL should load.
-
-If the HomepageLocation is not set and the user goes to the homepage
-then chrome://newtab/ should open.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_HomepageLocation', **args_dict)
diff --git a/client/site_tests/policy_HomepageLocation/control.NotSet b/client/site_tests/policy_HomepageLocation/control.NotSet
deleted file mode 100644
index 1847feb..0000000
--- a/client/site_tests/policy_HomepageLocation/control.NotSet
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_HomepageLocation.NotSet'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of HomePageLocation policy.
-
-If the homepage policy is not set then the user should be taken to
-chrome://newtab/ when going to the homepage.
-
-'''
-
-job.run_test('policy_HomepageLocation', case='NotSet')
diff --git a/client/site_tests/policy_HomepageLocation/control.Set b/client/site_tests/policy_HomepageLocation/control.Set
deleted file mode 100644
index 3fd6803..0000000
--- a/client/site_tests/policy_HomepageLocation/control.Set
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_HomepageLocation.Set'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of HomePageLocation policy.
-
-This test verifies that once the homepage location is set and the
-user goes to the homepage the proper URL opens.
-
-'''
-
-job.run_test('policy_HomepageLocation', case='Set')
diff --git a/client/site_tests/policy_HomepageLocation/policy_HomepageLocation.py b/client/site_tests/policy_HomepageLocation/policy_HomepageLocation.py
deleted file mode 100644
index 19eeecd..0000000
--- a/client/site_tests/policy_HomepageLocation/policy_HomepageLocation.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-from autotest_lib.client.cros.input_playback import keyboard
-
-
-class policy_HomepageLocation(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Tests the HomepageLocation policy in Chrome OS.
-
- If the HomepageLocation policy is set, along with the
- HomepageIsNewTabPage policy, then going to the homepage should take
- you directly to the homepage that was set by the HomepageLocation policy.
- The test does not check if the homepage could be modified.
-
- """
- version = 1
-
- def initialize(self, **kwargs):
- super(policy_HomepageLocation, self).initialize(**kwargs)
- self.keyboard = keyboard.Keyboard()
- self.POLICY_NAME = 'HomepageLocation'
- self.SUPPORTING_POLICIES = {
- 'HomepageIsNewTabPage': False}
- self.TEST_CASES = {
- 'Set': 'chrome://version/',
- 'NotSet': None}
-
- def _homepage_check(self, case_value):
- """
- Navigates to the homepage and checks that it's set.
-
- @param case_value: policy value for this case.
-
- """
- self.keyboard.press_key('alt+home')
- current_url = self.cr.browser.tabs[0].GetUrl()
- if case_value:
- if current_url != self.TEST_CASES['Set']:
- raise error.TestFail('Homepage Location was not set.')
- else:
- if current_url != 'chrome://newtab/':
- raise error.TestFail(
- 'Homepage was set to %s instead of chrome://newtab/',
- current_url)
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.SUPPORTING_POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.SUPPORTING_POLICIES)
- self._homepage_check(case_value)
\ No newline at end of file
diff --git a/client/site_tests/policy_JavaScriptAllowedForUrls/control b/client/site_tests/policy_JavaScriptAllowedForUrls/control
deleted file mode 100644
index 414ca91..0000000
--- a/client/site_tests/policy_JavaScriptAllowedForUrls/control
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptAllowedForUrls'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptAllowedForUrls policy on client behavior.
-
-This test verifies the effect of the JavaScriptAllowedForUrls user policy on
-Chrome OS client behavior when user policy DefaultJavaScriptSetting=2, meaning
-block JavaScript on all pages except for those in JavaScriptAllowedForUrls.
-
-It exercises a range of policy values using four unique test cases:
-NotSet_Block, SingleUrl_Allow, MultipleUrls_Block, and MultipleUrls_Allow.
-See the test file for a full description of what each test case does.
-
-A test case shall pass if the browser allows JavaScript to execute only
-on a test page with a URL that matches one or more of the URL patterns listed
-in JavaScriptAllowedForUrls. A test shall fail if the browser blocks execution
-on a page where it should be allowed, or allows execution on a page where it
-should be blocked.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_JavaScriptAllowedForUrls', **args_dict)
diff --git a/client/site_tests/policy_JavaScriptAllowedForUrls/control.multipleurls_allow b/client/site_tests/policy_JavaScriptAllowedForUrls/control.multipleurls_allow
deleted file mode 100644
index 6bd87cc..0000000
--- a/client/site_tests/policy_JavaScriptAllowedForUrls/control.multipleurls_allow
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptAllowedForUrls.multipleurls_allow'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptAllowedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptAllowedForUrls
-user policy is set to multiple URL patterns, and DefaultJavaScriptSetting policy
-is set to 2 (do not allow by default).
-
-A test case shall pass if the browser allows JavaScript to execute only
-on a test page with a URL that matches one or more of the URL patterns listed
-in JavaScriptAllowedForUrls. A test shall fail if the browser blocks execution
-on a page where it should be allowed, or allows execution on a page where it
-should be blocked.
-
-'''
-
-job.run_test('policy_JavaScriptAllowedForUrls', case='MultipleUrls_Allow')
diff --git a/client/site_tests/policy_JavaScriptAllowedForUrls/control.multipleurls_block b/client/site_tests/policy_JavaScriptAllowedForUrls/control.multipleurls_block
deleted file mode 100644
index 5b2e52c..0000000
--- a/client/site_tests/policy_JavaScriptAllowedForUrls/control.multipleurls_block
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptAllowedForUrls.multipleurls_block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptAllowedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptAllowedForUrls
-user policy is set to multiple URL patterns, and DefaultJavaScriptSetting policy
-is set to 2 (do not allow by default).
-
-A test case shall pass if the browser allows JavaScript to execute only
-on a test page with a URL that matches one or more of the URL patterns listed
-in JavaScriptAllowedForUrls. A test shall fail if the browser blocks execution
-on a page where it should be allowed, or allows execution on a page where it
-should be blocked.
-
-'''
-
-job.run_test('policy_JavaScriptAllowedForUrls', case='MultipleUrls_Block')
diff --git a/client/site_tests/policy_JavaScriptAllowedForUrls/control.notset_block b/client/site_tests/policy_JavaScriptAllowedForUrls/control.notset_block
deleted file mode 100644
index f3d47b3..0000000
--- a/client/site_tests/policy_JavaScriptAllowedForUrls/control.notset_block
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptAllowedForUrls.notset_block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptAllowedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptAllowedForUrls
-user policy is not set to any URL pattern, and DefaultJavaScriptSetting policy
-is set to 2 (do not allow by default).
-
-The test case shall pass iff the browser blocks javascript for every test page.
-It shall fail if the browser allows javascript on any test page.
-
-'''
-
-job.run_test('policy_JavaScriptAllowedForUrls', case='NotSet_Block')
diff --git a/client/site_tests/policy_JavaScriptAllowedForUrls/control.singleurl_allow b/client/site_tests/policy_JavaScriptAllowedForUrls/control.singleurl_allow
deleted file mode 100644
index 6bd66f5..0000000
--- a/client/site_tests/policy_JavaScriptAllowedForUrls/control.singleurl_allow
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptAllowedForUrls.singleurl_allow'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptAllowedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptAllowedForUrls
-user policy is set to a single URL pattern, and DefaultJavaScriptSetting policy
-is set to 2 (do not allow by default).
-
-A test case shall pass if the browser allows JavaScript to execute only
-on a test page with a URL that matches one or more of the URL patterns listed
-in JavaScriptAllowedForUrls. A test shall fail if the browser blocks execution
-on a page where it should be allowed, or allows execution on a page where it
-should be blocked.
-
-'''
-
-job.run_test('policy_JavaScriptAllowedForUrls', case='SingleUrl_Allow')
diff --git a/client/site_tests/policy_JavaScriptAllowedForUrls/policy_JavaScriptAllowedForUrls.py b/client/site_tests/policy_JavaScriptAllowedForUrls/policy_JavaScriptAllowedForUrls.py
deleted file mode 100644
index 7cf702d..0000000
--- a/client/site_tests/policy_JavaScriptAllowedForUrls/policy_JavaScriptAllowedForUrls.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import time
-import utils
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_JavaScriptAllowedForUrls(
- enterprise_policy_base.EnterprisePolicyTest):
- """Test JavaScriptAllowedForUrls policy effect on CrOS look & feel.
-
- This test verifies the behavior of Chrome OS with a range of valid values
- for the JavaScriptAllowedForUrls user policies. These values are covered
- by four test cases, named: NotSet_Block, SingleUrl_Allow,
- MultipleUrls_Block, and MultipleUrls_Allow.
-
- When the policy value is None (as in case=NotSet_Block), then
- JavaScript will be blocked on any page. When the value is set to a single
- URL pattern (as in case=SingleUrl_Allow), JavaScript will be allowed on
- any page that matches that pattern. When set to multiple URL patterns (as
- in case=MultipleUrls_Block or MultipleUrls_Allow) then JavaScript will
- be allowed on any page with a URL that matches any of the listed patterns.
-
- Two test cases (SingleUrl_Allow, MultipleUrls_Allow) are designed to allow
- JavaScript to run on the test page. The other two test cases
- (NotSet_Block, MultipleUrls_Block) are designed to block JavaScript
- from running on the test page.
-
- Note this test has a dependency on the DefaultJavaScriptSetting policy,
- which is partially tested herein, and in policy_JavaScriptBlockedForUrls.
- For this test, we set DefaultJavaScriptSetting=2. This blocks JavaScript
- on all pages except those with a URL matching a pattern in
- JavaScriptAllowedForUrls. For the test policy_JavaScriptBlockedForUrls, we
- set DefaultJavaScriptSetting=1. That allows JavaScript to be run on all
- pages except those with URLs that match patterns listed in
- JavaScriptBlockedForUrls.
-
- """
- version = 1
-
- def initialize(self, **kwargs):
- """Initialize this test."""
- self._initialize_test_constants()
- super(policy_JavaScriptAllowedForUrls, self).initialize(**kwargs)
- self.start_webserver()
-
-
- def _initialize_test_constants(self):
- """Initialize test-specific constants, some from class constants."""
- self.POLICY_NAME = 'JavaScriptAllowedForUrls'
- self.TEST_FILE = 'js_test.html'
- self.TEST_URL = '%s/%s' % (self.WEB_HOST, self.TEST_FILE)
- self.TEST_CASES = {
- 'NotSet_Block': None,
- 'SingleUrl_Allow': [self.WEB_HOST],
- 'MultipleUrls_Block': ['http://www.bing.com',
- 'https://www.yahoo.com'],
- 'MultipleUrls_Allow': ['http://www.bing.com',
- self.TEST_URL,
- 'https://www.yahoo.com']
- }
-
- self.STARTUP_URLS = ['chrome://policy', 'chrome://settings']
- self.SUPPORTING_POLICIES = {
- 'DefaultJavaScriptSetting': 2,
- 'BookmarkBarEnabled': False,
- 'RestoreOnStartupURLs': self.STARTUP_URLS,
- 'RestoreOnStartup': 4
- }
-
-
- def _can_execute_javascript(self, tab):
- """Determine whether JavaScript is allowed to run on the given page.
-
- @param tab: browser tab containing JavaScript to run.
- """
- try:
- utils.poll_for_condition(
- lambda: tab.EvaluateJavaScript('jsAllowed', timeout=2),
- exception=error.TestError('Test page is not ready.'))
- return True
- except:
- return False
-
-
- def _test_javascript_allowed_for_urls(self, policy_value):
- """Verify CrOS enforces the JavaScriptAllowedForUrls policy.
-
- When JavaScriptAllowedForUrls is undefined, JavaScript execution shall
- be blocked on all pages. When JavaScriptAllowedForUrls contains one or
- more URL patterns, JavaScript execution shall be allowed only on the
- pages whose URL matches any of the listed patterns.
-
- Note: This test does not use self.navigate_to_url(), because it can
- not depend on methods that evaluate or execute JavaScript.
-
- @param policy_value: policy value for this case.
- """
- tab = self.cr.browser.tabs.New()
- tab.Activate()
- tab.Navigate(self.TEST_URL)
- time.sleep(1)
-
- utils.poll_for_condition(
- lambda: tab.url == self.TEST_URL,
- exception=error.TestError('Test page is not ready.'))
- javascript_is_allowed = self._can_execute_javascript(tab)
-
- if policy_value is not None and (self.WEB_HOST in policy_value or
- self.TEST_URL in policy_value):
- # If |WEB_HOST| is in |policy_value|, then JavaScript execution
- # should be allowed. If execution is blocked, raise an error.
- if not javascript_is_allowed:
- raise error.TestFail('JavaScript should be allowed.')
- else:
- if javascript_is_allowed:
- raise error.TestFail('JavaScript should be blocked.')
- tab.Close()
-
-
- def run_once(self, case):
- """Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.SUPPORTING_POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.SUPPORTING_POLICIES)
- self._test_javascript_allowed_for_urls(case_value)
diff --git a/client/site_tests/policy_JavaScriptBlockedForUrls/control b/client/site_tests/policy_JavaScriptBlockedForUrls/control
deleted file mode 100644
index 077264d..0000000
--- a/client/site_tests/policy_JavaScriptBlockedForUrls/control
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptBlockedForUrls'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptBlockedForUrls policy on client behavior.
-
-This test verifies the effect of the JavaScriptBlockedForUrls user policy on
-Chrome OS client behavior when user policy DefaultJavaScriptSetting=1, meaning
-allow JavaScript on all pages except for those in JavaScriptBlockedForUrls.
-
-It exercises a range of policy values using four unique named test cases:
-NotSet_Allow, SingleUrl_Block, MultipleUrls_Allow, and MultipleUrls_Block.
-See the test file for a full description of what each test case does.
-
-In general, a test shall pass if the browser blocks JavaScript execution only
-on a test page with a URL that matches one or more of the URL patterns listed
-in JavaScriptBlockedForUrls. A test shall fail if the browser allows execution
-on a page where it should be blocked, or blocks execution on a page where it
-should be allowed.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_JavaScriptBlockedForUrls', **args_dict)
diff --git a/client/site_tests/policy_JavaScriptBlockedForUrls/control.multipleurls_allow b/client/site_tests/policy_JavaScriptBlockedForUrls/control.multipleurls_allow
deleted file mode 100644
index 44f71a5..0000000
--- a/client/site_tests/policy_JavaScriptBlockedForUrls/control.multipleurls_allow
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptBlockedForUrls.multipleurls_allow'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptBlockedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptBlockedForUrls
-user policy is set to multiple URL patterns, and the DefaultJavaScriptSetting
-policy is set to 1 (allow by default).
-
-The test case shall pass iff the browser blocks javascript on a test page
-with an URL that matches any of the URL patterns specified in
-JavaScriptBlockedForUrls, and allows javascript on any page with an URL that
-does not match. It shall fail if the browser does not enforce this behavior.
-
-'''
-
-job.run_test('policy_JavaScriptBlockedForUrls', case='MultipleUrls_Allow')
diff --git a/client/site_tests/policy_JavaScriptBlockedForUrls/control.multipleurls_block b/client/site_tests/policy_JavaScriptBlockedForUrls/control.multipleurls_block
deleted file mode 100644
index 246a093..0000000
--- a/client/site_tests/policy_JavaScriptBlockedForUrls/control.multipleurls_block
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptBlockedForUrls.multipleurls_block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptBlockedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptBlockedForUrls
-user policy is set to multiple URL patterns, and the DefaultJavaScriptSetting
-policy is set to 1 (allow by default).
-
-The test case shall pass iff the browser blocks javascript on a test page
-with an URL that matches any of the URL patterns specified in
-JavaScriptBlockedForUrls, and allows javascript on any page with an URL that
-does not match. It shall fail if the browser does not enforce this behavior.
-
-'''
-
-job.run_test('policy_JavaScriptBlockedForUrls', case='MultipleUrls_Block')
diff --git a/client/site_tests/policy_JavaScriptBlockedForUrls/control.notset_allow b/client/site_tests/policy_JavaScriptBlockedForUrls/control.notset_allow
deleted file mode 100644
index 9c3b400..0000000
--- a/client/site_tests/policy_JavaScriptBlockedForUrls/control.notset_allow
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptBlockedForUrls.notset_allow'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptBlockedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptBlockedForUrls
-user policy is not set to any URL pattern, and the DefaultJavaScriptSetting
-policy is set to 1 (allow by default).
-
-The test case shall pass iff the browser allows javascript for every test page.
-It shall fail if the browser blocks javascript on any test page.
-
-'''
-
-job.run_test('policy_JavaScriptBlockedForUrls', case='NotSet_Allow')
diff --git a/client/site_tests/policy_JavaScriptBlockedForUrls/control.singleurl_block b/client/site_tests/policy_JavaScriptBlockedForUrls/control.singleurl_block
deleted file mode 100644
index 625100e..0000000
--- a/client/site_tests/policy_JavaScriptBlockedForUrls/control.singleurl_block
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_JavaScriptBlockedForUrls.singleurl_block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of JavaScriptBlockedForUrls policy.
-
-This test case verifies the behavior of Chrome OS when JavaScriptBlockedForUrls
-user policy is set to a single URL pattern, and the DefaultJavaScriptSetting
-policy is set to 1 (allow by default).
-
-The test case shall pass iff the browser blocks javascript on a test page
-with an URL that matches any of the URL patterns specified in
-JavaScriptBlockedForUrls, and allows javascript on any page with an URL that
-does not match. It shall fail if the browser does not enforce this behavior.
-
-'''
-
-job.run_test('policy_JavaScriptBlockedForUrls', case='SingleUrl_Block')
diff --git a/client/site_tests/policy_JavaScriptBlockedForUrls/policy_JavaScriptBlockedForUrls.py b/client/site_tests/policy_JavaScriptBlockedForUrls/policy_JavaScriptBlockedForUrls.py
deleted file mode 100644
index 81cbdbe..0000000
--- a/client/site_tests/policy_JavaScriptBlockedForUrls/policy_JavaScriptBlockedForUrls.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import time
-import utils
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_JavaScriptBlockedForUrls(
- enterprise_policy_base.EnterprisePolicyTest):
- """Test JavaScriptBlockedForUrls policy effect on CrOS look & feel.
-
- This test verifies the behavior of Chrome OS with a range of valid values
- for the JavaScriptBlockedForUrls user policy, covered by four named test
- cases: NotSet_Allow, SingleUrl_Block, MultipleUrls_Allow, and
- MultipleUrls_Block.
-
- When the policy value is None (as in test case=NotSet_Allow), then
- JavaScript execution be allowed on any page. When the policy value is set
- to a single URL pattern (as in test case=SingleUrl_Block), then
- JavaScript execution will be blocked on any page that matches that
- pattern. When set to multiple URL patterns (as case=MultipleUrls_Allow
- and MultipleUrls_Block) then JavaScript execution will be blocked on any
- page with an URL that matches any of the listed patterns.
-
- Two test cases (NotSet_Allow, MultipleUrls_Allow) are designed to allow
- JavaScript execution the test page. The other two test cases
- (NotSet_Allow, MultipleUrls_Block) are designed to block JavaScript
- execution on the test page.
-
- Note this test has a dependency on the DefaultJavaScriptSetting user
- policy, which is tested partially herein and in the test
- policy_JavaScriptAllowedForUrls. For this test, we set
- DefaultJavaScriptSetting=1. This allows JavaScript execution on all pages
- except those with a URL matching a pattern in JavaScriptBlockedForUrls.
- In the test policy_JavaScriptAllowedForUrls, we set
- DefaultJavaScriptSetting=2. That test blocks JavaScript execution on all
- pages except those with an URL matching a pattern in
- JavaScriptAllowedForUrls.
-
- """
- version = 1
-
- def initialize(self, **kwargs):
- """Initialize this test."""
- self._initialize_test_constants()
- super(policy_JavaScriptBlockedForUrls, self).initialize(**kwargs)
- self.start_webserver()
-
-
- def _initialize_test_constants(self):
- """Initialize test-specific constants, some from class constants."""
- self.POLICY_NAME = 'JavaScriptBlockedForUrls'
- self.TEST_FILE = 'js_test.html'
- self.TEST_URL = '%s/%s' % (self.WEB_HOST, self.TEST_FILE)
- self.TEST_CASES = {
- 'NotSet_Allow': None,
- 'SingleUrl_Block': [self.WEB_HOST],
- 'MultipleUrls_Allow': ['http://www.bing.com',
- 'https://www.yahoo.com'],
- 'MultipleUrls_Block': ['http://www.bing.com',
- self.TEST_URL,
- 'https://www.yahoo.com']
- }
-
- self.STARTUP_URLS = ['chrome://policy', 'chrome://settings']
- self.SUPPORTING_POLICIES = {
- 'DefaultJavaScriptSetting': 1,
- 'BookmarkBarEnabled': False,
- 'RestoreOnStartupURLs': self.STARTUP_URLS,
- 'RestoreOnStartup': 4
- }
-
-
- def _can_execute_javascript(self, tab):
- """Determine whether JavaScript is allowed to run on the given page.
-
- @param tab: browser tab containing JavaScript to run.
-
- """
- try:
- utils.poll_for_condition(
- lambda: tab.EvaluateJavaScript('jsAllowed', timeout=2),
- exception=error.TestError('Test page is not ready.'))
- return True
- except:
- return False
-
-
- def _test_javascript_blocked_for_urls(self, policy_value):
- """Verify CrOS enforces the JavaScriptBlockedForUrls policy.
-
- When JavaScriptBlockedForUrls is undefined, JavaScript execution shall
- be allowed on all pages. When JavaScriptBlockedForUrls contains one or
- more URL patterns, JavaScript execution shall be blocked only on the
- pages whose URL matches any of the listed patterns.
-
- Note: This test does not use self.navigate_to_url(), because it can
- not depend on methods that evaluate or execute JavaScript.
-
- @param policy_value: policy value for this case.
-
- """
- tab = self.cr.browser.tabs.New()
- tab.Activate()
- tab.Navigate(self.TEST_URL)
- time.sleep(1)
-
- utils.poll_for_condition(
- lambda: tab.url == self.TEST_URL,
- exception=error.TestError('Test page is not ready.'))
- javascript_is_allowed = self._can_execute_javascript(tab)
-
- if policy_value is not None and (self.WEB_HOST in policy_value or
- self.TEST_URL in policy_value):
- # If |WEB_HOST| is in |policy_value|, then JavaScript execution
- # should be blocked. If execution is allowed, raise an error.
- if javascript_is_allowed:
- raise error.TestFail('JavaScript should be blocked.')
- else:
- if not javascript_is_allowed:
- raise error.TestFail('JavaScript should be allowed.')
- tab.Close()
-
-
- def run_once(self, case):
- """Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.SUPPORTING_POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.SUPPORTING_POLICIES)
- self._test_javascript_blocked_for_urls(case_value)
diff --git a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control b/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control
deleted file mode 100644
index dda28f0..0000000
--- a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'timkovich'
-NAME = 'policy_KeyboardDefaultFunctionKeys'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of 'KeyboardDefaultFunctionKeys' policy on Chrome OS behavior.
-
-This test verifies the effect of the KeyboardDefaultFunctionKeys user policy on
-Chrome OS client behavior. It exercises all valid policy values across 3
-test cases: 'true', 'false', and 'notset'. The behavior of 'false' and 'notset'
-should be equivalent.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_KeyboardDefaultFunctionKeys', **args_dict)
diff --git a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.false b/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.false
deleted file mode 100644
index 3f4e8fc..0000000
--- a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.false
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'timkovich'
-NAME = 'policy_KeyboardDefaultToFunctionKeys.false'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of 'KeyboardDefaultFunctionKeys' policy on Chrome OS behavior.
-
-'''
-
-job.run_test('policy_KeyboardDefaultToFunctionKeys', case='False')
diff --git a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.notset b/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.notset
deleted file mode 100644
index a55ebd3..0000000
--- a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.notset
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'timkovich'
-NAME = 'policy_KeyboardDefaultToFunctionKeys.notset'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of 'KeyboardDefaultFunctionKeys' policy on Chrome OS behavior.
-
-'''
-
-job.run_test('policy_KeyboardDefaultToFunctionKeys', case='NotSet')
diff --git a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.true b/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.true
deleted file mode 100644
index 9ce53d1..0000000
--- a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/control.true
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'timkovich'
-NAME = 'policy_KeyboardDefaultToFunctionKeys.true'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of 'KeyboardDefaultFunctionKeys' policy on Chrome OS behavior.
-
-'''
-
-job.run_test('policy_KeyboardDefaultToFunctionKeys', case='True')
diff --git a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/policy_KeyboardDefaultToFunctionKeys.py b/client/site_tests/policy_KeyboardDefaultToFunctionKeys/policy_KeyboardDefaultToFunctionKeys.py
deleted file mode 100644
index 561f1f4..0000000
--- a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/policy_KeyboardDefaultToFunctionKeys.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import logging
-import re
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.common_lib.cros import chrome
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-from autotest_lib.client.cros.input_playback import input_playback
-from autotest_lib.client.cros.touch_playback_test_base import EventsPage
-
-
-class policy_KeyboardDefaultToFunctionKeys(
- enterprise_policy_base.EnterprisePolicyTest):
- version = 1
-
- POLICY_NAME = 'KeyboardDefaultToFunctionKeys'
- TEST_CASES = {
- 'True': True,
- 'False': False,
- 'NotSet': None
- }
-
-
- def initialize(self, **kwargs):
- """
- Emulate a keyboard and initialize enterprise policy base.
-
- """
- super(policy_KeyboardDefaultToFunctionKeys, self).initialize(**kwargs)
- self.player = input_playback.InputPlayback()
- self.player.emulate(input_type='keyboard')
- self.player.find_connected_inputs()
-
-
- def cleanup(self):
- """
- Close playback and policy base class.
-
- """
- self.player.close()
- super(policy_KeyboardDefaultToFunctionKeys, self).cleanup()
-
-
- def _test_function_keys_default(self, policy_value):
- """
- Test default function keys action.
-
- Search+function keys should perform the alternate action.
-
- @param policy_value: policy value for this case.
- @raises error.TestFail if keypress differs from expected value.
-
- """
- # Get focus of the page
- self.player.blocking_playback_of_default_file(
- input_type='keyboard', filename='keyboard_enter')
-
- key_actions = ['BrowserForward', 'F2']
-
- if policy_value:
- key_actions = reversed(key_actions)
-
- for action, keys in zip(key_actions, ['f2', 'search+f2']):
- self._events.clear_previous_events()
-
- self.player.blocking_playback_of_default_file(
- input_type='keyboard', filename='keyboard_' + keys)
-
- events_log = self._events.get_events_log()
- logging.info('Events log: ' + events_log)
-
- if not re.search('key=' + action, events_log):
- raise error.TestFail(('policy_value: %s - typed: %s, '
- 'expected: %s') %
- (policy_value, keys, action))
-
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.setup_case(user_policies={self.POLICY_NAME: case_value},
- init_network_controller=True)
-
- self._events = EventsPage(self.cr, self.bindir)
- self._test_function_keys_default(case_value)
diff --git a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/src/Makefile b/client/site_tests/policy_KeyboardDefaultToFunctionKeys/src/Makefile
deleted file mode 100644
index 6c88991..0000000
--- a/client/site_tests/policy_KeyboardDefaultToFunctionKeys/src/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-ifndef SYSROOT
- $(error Define SYSROOT)
-endif
-
-OUT_DIR ?= .
-PROTO_PATH = $(SYSROOT)/usr/share/protofiles
-PROTO_DEFS = $(PROTO_PATH)/chrome_device_policy.proto \
- $(PROTO_PATH)/device_management_backend.proto \
- $(PROTO_PATH)/chrome_extension_policy.proto \
- $(PROTO_PATH)/cloud_policy.proto
-PROTO_BINDINGS = $(OUT_DIR)/chrome_device_policy_pb2.py \
- $(OUT_DIR)/device_management_backend_pb2.py \
- $(OUT_DIR)/chrome_extension_policy_pb2.py \
- $(OUT_DIR)/cloud_policy_pb2.py
-
-all: $(PROTO_BINDINGS)
-
-$(PROTO_BINDINGS): $(PROTO_DEFS)
- protoc --proto_path=$(PROTO_PATH) --python_out=$(OUT_DIR) $(PROTO_DEFS)
-
-clean:
- rm -f $(PROTO_BINDINGS)
-
-
diff --git a/client/site_tests/policy_ManagedBookmarks/control b/client/site_tests/policy_ManagedBookmarks/control
deleted file mode 100644
index 5d94156..0000000
--- a/client/site_tests/policy_ManagedBookmarks/control
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ManagedBookmarks'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of ManagedBookmarks policy on client behavior & appearance.
-
-This test verifies the effect of the ManagedBookmarks user policy on
-Chrome OS client behavior and appearance. It exercises a ranage of valid
-policy values across three test cases: NotSet_NotShown, SingleBookmark_Shown,
-and MultiBookmarks_Shown.
-
-A test case shall pass if the Manage Bookmarks page contains (or does not
-contain) the domain-named bookmarks folder and the specified bookmarks when
-its value is set (or is not set). A test case shall fail if the above behavior
-is not enforced.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_ManagedBookmarks', **args_dict)
diff --git a/client/site_tests/policy_ManagedBookmarks/control.multiplebookmarks_shown b/client/site_tests/policy_ManagedBookmarks/control.multiplebookmarks_shown
deleted file mode 100644
index 967354a..0000000
--- a/client/site_tests/policy_ManagedBookmarks/control.multiplebookmarks_shown
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ManagedBookmarks.multiplebookmarks_shown'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of ManagedBookmarks policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-ManagedBookmarks specifies multiple bookmarks.
-
-The test case shall pass if the Manage Bookmarks page contains the domain-named
-bookmarks folder and the specified bookmark(s). The test case shall fail if the
-above behavior is not enforced.
-
-'''
-
-job.run_test('policy_ManagedBookmarks', case='MultipleBookmarks_Shown')
diff --git a/client/site_tests/policy_ManagedBookmarks/control.notset_notshown b/client/site_tests/policy_ManagedBookmarks/control.notset_notshown
deleted file mode 100644
index fc270d4..0000000
--- a/client/site_tests/policy_ManagedBookmarks/control.notset_notshown
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ManagedBookmarks.notset_notshown'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of ManagedBookmarks policy on client behavior & appearance.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-ManagedBookmarks user policy is not set.
-
-The test case shall pass if the Manage Bookmarks page does not contain the
-domain-named bookmarks folder. A test case shall fail if the above behavior
-is not enforced.
-
-'''
-
-job.run_test('policy_ManagedBookmarks', case='NotSet_NotShown')
diff --git a/client/site_tests/policy_ManagedBookmarks/control.singlebookmark_shown b/client/site_tests/policy_ManagedBookmarks/control.singlebookmark_shown
deleted file mode 100644
index 614f707..0000000
--- a/client/site_tests/policy_ManagedBookmarks/control.singlebookmark_shown
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'scunningham'
-NAME = 'policy_ManagedBookmarks.singlebookmark_shown'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of ManagedBookmarks policy on client behavior & appearance.
-
-TThis test case verifies the behavior and appearance of Chrome OS when the
-ManagedBookmarks specifies a single bookmark.
-
-The test case shall pass if the Manage Bookmarks page contains the domain-named
-bookmarks folder and the specified bookmark(s). The test case shall fail if the
-above behavior is not enforced.
-
-'''
-
-job.run_test('policy_ManagedBookmarks', case='SingleBookmark_Shown')
diff --git a/client/site_tests/policy_ManagedBookmarks/policy_ManagedBookmarks.py b/client/site_tests/policy_ManagedBookmarks/policy_ManagedBookmarks.py
deleted file mode 100644
index 572079b..0000000
--- a/client/site_tests/policy_ManagedBookmarks/policy_ManagedBookmarks.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_ManagedBookmarks(enterprise_policy_base.EnterprisePolicyTest):
- """
- Test effect of ManagedBookmarks policy on Chrome OS behavior.
-
- This test verifies the behavior of Chrome OS for a range of valid values
- of the ManagedBookmarks user policy, as defined by three test cases:
- NotSet_NotShown, SingleBookmark_Shown, and MultiBookmarks_Shown.
-
- When not set, the policy value is undefined. This induces the default
- behavior of not showing the managed bookmarks folder, which is equivalent
- to what is seen by an un-managed user.
-
- When one or more bookmarks are specified by the policy, then the Managed
- Bookmarks folder is shown, and the specified bookmarks within it.
-
- """
- version = 1
-
- POLICY_NAME = 'ManagedBookmarks'
- BOOKMARKS = [{'name': 'Google',
- 'url': 'https://google.com/'},
- {'name': 'YouTube',
- 'url': 'https://youtube.com/'},
- {'name': 'Chromium',
- 'url': 'https://chromium.org/'}]
-
- # Dictionary of test case names and policy values.
- TEST_CASES = {
- 'NotSet_NotShown': None,
- 'SingleBookmark_Shown': BOOKMARKS[:1],
- 'MultipleBookmarks_Shown': BOOKMARKS
- }
-
- def _get_set(self, arr):
- """Return the set of key names from an array of dicts."""
- return set([item['name'] for item in arr])
-
- def _get_managed_bookmarks(self):
- """Return a set of screen difference after the bookmark is clicked."""
- prior_ui = set(self.ui.list_screen_items())
- self.ui.doDefault_on_obj('/managedchrome.com bookmarks/', isRegex=True)
- return set(self.ui.list_screen_items()) - prior_ui
-
- def _test_managed_bookmarks(self, policy_value):
- """
- Verify CrOS enforces ManagedBookmarks policy.
-
- When ManagedBookmarks is not set, the UI shall not show the managed
- bookmarks folder nor its contents. When set to one or more bookmarks
- the UI shows the folder and its contents.
-
- @param policy_value: policy value for this case.
-
- @raises error.TestFail: If displayed managed bookmarks does not match
- the policy value.
-
- """
- if not policy_value:
- if self.ui.item_present('/managedchrome.com bookmarks/',
- isRegex=True):
- raise error.TestError(
- 'Managed bookmarks present when should not be')
-
- else:
- screen_items = self._get_managed_bookmarks()
- pol_set = self._get_set(policy_value)
- if pol_set:
- if not pol_set.issubset(screen_items):
- raise error.TestError(
- 'Managed Boomarks not present when should be'
- 'Items on screen {} expected to find {}'
- .format(screen_items, pol_set))
-
- full_set = self._get_set(self.BOOKMARKS)
- dont_want = full_set - pol_set
- if dont_want:
- if dont_want.issubset(screen_items):
- raise error.TestError(
- 'Managed Boomarks present when should not be'
- 'Items on screen {} expected not to find {}'
- .format(screen_items, dont_want))
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.setup_case(user_policies={self.POLICY_NAME: case_value})
- self.ui.start_ui_root(self.cr)
- self._test_managed_bookmarks(case_value)
diff --git a/client/site_tests/policy_NotificationsAllowedForUrls/control b/client/site_tests/policy_NotificationsAllowedForUrls/control
deleted file mode 100644
index d416c9c..0000000
--- a/client/site_tests/policy_NotificationsAllowedForUrls/control
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsAllowedForUrls'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of NotificationsAllowedForUrls policy on Chrome OS behavior.
-
-This test verifies the effect of the NotificationsAllowedForUrls user policy on
-Chrome OS client behavior, when DefaultNotificationSetting=2 (i.e., do not allow
-notifications). It exercises all valid policy values across three test cases:
-SiteAllowed_Show, SiteNotAllowed_Block, and NotSet_Block.
-
-This default control file allows CloudDPC E2E tests to run any test case
-defined in this test via command-line.
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_NotificationsAllowedForUrls', **args_dict)
diff --git a/client/site_tests/policy_NotificationsAllowedForUrls/control.notset_block b/client/site_tests/policy_NotificationsAllowedForUrls/control.notset_block
deleted file mode 100644
index 7b86e1f..0000000
--- a/client/site_tests/policy_NotificationsAllowedForUrls/control.notset_block
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsAllowedForUrls.notset_block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of NotificationsAllowedForUrls policy.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-NotificationsAllowedForUrls user policy is not set, and
-DefaultNotificationsSetting=2 (Block Notifications).
-
-'''
-
-job.run_test('policy_NotificationsAllowedForUrls', case='NotSet_Block')
diff --git a/client/site_tests/policy_NotificationsAllowedForUrls/control.siteallowed_show b/client/site_tests/policy_NotificationsAllowedForUrls/control.siteallowed_show
deleted file mode 100644
index 3d4cf36..0000000
--- a/client/site_tests/policy_NotificationsAllowedForUrls/control.siteallowed_show
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsAllowedForUrls.siteallowed_show'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of NotificationsAllowedForUrls policy.
-
-This test case verifies the behavior and appearance of Chrome OS when user
-policy NotificationsAllowedForUrls contains URLs with one whose domain matches
-the page that displays notifications, and DefaultNotificationsSetting=2 (Block
-Notifications).
-
-'''
-
-job.run_test('policy_NotificationsAllowedForUrls', case='SiteAllowed_Show')
diff --git a/client/site_tests/policy_NotificationsAllowedForUrls/control.sitenotallowed_block b/client/site_tests/policy_NotificationsAllowedForUrls/control.sitenotallowed_block
deleted file mode 100644
index c1d7e10..0000000
--- a/client/site_tests/policy_NotificationsAllowedForUrls/control.sitenotallowed_block
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsAllowedForUrls.sitenotallowed_block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of NotificationsAllowedForUrls policy.
-
-This test case verifies the behavior and appearance of Chrome OS when user
-policy NotificationsAllowedForUrls contains URLs whose domains do not match
-the page that triggers a notification, and DefaultNotificationsSetting=2
-(Block Notifications).
-
-'''
-
-job.run_test('policy_NotificationsAllowedForUrls', case='SiteNotAllowed_Block')
diff --git a/client/site_tests/policy_NotificationsAllowedForUrls/policy_NotificationsAllowedForUrls.py b/client/site_tests/policy_NotificationsAllowedForUrls/policy_NotificationsAllowedForUrls.py
deleted file mode 100644
index 4aad56d..0000000
--- a/client/site_tests/policy_NotificationsAllowedForUrls/policy_NotificationsAllowedForUrls.py
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import logging
-import utils
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_NotificationsAllowedForUrls(
- enterprise_policy_base.EnterprisePolicyTest):
- """Test NotificationsAllowedForUrls policy effect on CrOS behavior.
-
- This test verifies the behavior of Chrome OS with a set of valid values
- for the NotificationsAllowedForUrls user policy, when
- DefaultNotificationSetting=2 (i.e., do not allow notifications, except on
- sites listed in NotificationsAllowedForUrls). These valid values are
- covered by 3 test cases: SiteAllowed_Show, SiteNotAllowed_Block,
- NotSet_Block.
-
- When the policy value is None (as in case NotSet_Block), then notifications
- are blocked on every site. When the value is set to one or more URLs (as
- in SiteAllowed_Show and SiteNotAllowed_Block), notifications are blocked
- on every site except for those sites whose domain matches any of the
- listed URLs.
-
- A related test, policy_NotificationsBlockedForUrls, has
- DefaultNotificationsSetting=1 i.e., allow display of notifications by
- default, except on sites in domains listed in NotificationsBlockedForUrls).
- """
- version = 1
-
- def initialize(self, **kwargs):
- """Initialize this test."""
- self._initialize_test_constants()
- super(policy_NotificationsAllowedForUrls, self).initialize(**kwargs)
- self.start_webserver()
-
-
- def _initialize_test_constants(self):
- """Initialize test-specific constants, some from class constants."""
- self.POLICY_NAME = 'NotificationsAllowedForUrls'
- self.TEST_FILE = 'notification_test_page.html'
- self.TEST_URL = '%s/%s' % (self.WEB_HOST, self.TEST_FILE)
- self.INCLUDES_ALLOWED_URL = ['http://www.bing.com', self.WEB_HOST,
- 'https://www.yahoo.com']
- self.EXCLUDES_ALLOWED_URL = ['http://www.bing.com',
- 'https://www.irs.gov/',
- 'https://www.yahoo.com']
- self.TEST_CASES = {
- 'SiteAllowed_Show': self.INCLUDES_ALLOWED_URL,
- 'SiteNotAllowed_Block': self.EXCLUDES_ALLOWED_URL,
- 'NotSet_Block': None
- }
- self.STARTUP_URLS = ['chrome://policy', 'chrome://settings']
- self.SUPPORTING_POLICIES = {
- 'DefaultNotificationsSetting': 2,
- 'BookmarkBarEnabled': True,
- 'EditBookmarksEnabled': True,
- 'RestoreOnStartupURLs': self.STARTUP_URLS,
- 'RestoreOnStartup': 4
- }
-
-
- def _wait_for_page_ready(self, tab):
- """Wait for JavaScript on page in |tab| to set the pageReady flag.
-
- @param tab: browser tab with page to load.
- """
- utils.poll_for_condition(
- lambda: tab.EvaluateJavaScript('pageReady'),
- exception=error.TestError('Test page is not ready.'))
-
-
- def _are_notifications_allowed(self, tab):
- """Check if Notifications are allowed.
-
- @param: chrome tab which has test page loaded.
- @returns True if Notifications are allowed, else returns False.
- """
- notification_permission = tab.EvaluateJavaScript(
- 'Notification.permission')
- if notification_permission not in ['granted', 'denied', 'default']:
- raise error.TestFail('Unable to capture Notification Setting.')
- return notification_permission == 'granted'
-
-
- def _test_notifications_allowed_for_urls(self, policy_value):
- """Verify CrOS enforces the NotificationsAllowedForUrls policy.
-
- When NotificationsAllowedForUrls is undefined, notifications shall be
- blocked on all pages. When NotificationsAllowedForUrls contains one or
- more URLs, notifications shall be allowed only on the pages whose
- domain matches any of the listed URLs.
-
- @param policy_value: policy value for this case.
-
- """
- tab = self.navigate_to_url(self.TEST_URL)
- self._wait_for_page_ready(tab)
- notifications_allowed = self._are_notifications_allowed(tab)
- logging.info('Notifications are allowed: %r', notifications_allowed)
-
- # String |WEB_HOST| will be found in string |policy_value| for
- # cases that expect the Notifications to be displayed.
- if policy_value is not None and self.WEB_HOST in policy_value:
- if not notifications_allowed:
- raise error.TestFail('Notifications should be shown.')
- else:
- if notifications_allowed:
- raise error.TestFail('Notifications should be blocked.')
- tab.Close()
-
-
- def run_once(self, case):
- """Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
- """
- case_value = self.TEST_CASES[case]
- self.SUPPORTING_POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.SUPPORTING_POLICIES)
- self._test_notifications_allowed_for_urls(case_value)
diff --git a/client/site_tests/policy_NotificationsBlockedForUrls/control b/client/site_tests/policy_NotificationsBlockedForUrls/control
deleted file mode 100644
index 81562d0..0000000
--- a/client/site_tests/policy_NotificationsBlockedForUrls/control
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsBlockedForUrls'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effect of NotificationsBlockedForUrls policy on Chrome OS behavior.
-
-This test verifies the effect of the NotificationsBlockedForUrls user policy on
-Chrome OS client behavior, when DefaultNotificationSetting=1 (i.e., allow
-notifications). It exercises all valid policy values across three test cases:
-SiteBlocked_Block, SiteAllowed_Show, and NotSet_Show.
-
-This default control file allows CloudDPC E2E tests to run any test case
-defined in this test via command-line.
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_NotificationsAllowedForUrls', **args_dict)
diff --git a/client/site_tests/policy_NotificationsBlockedForUrls/control.notset_show b/client/site_tests/policy_NotificationsBlockedForUrls/control.notset_show
deleted file mode 100644
index 981baff..0000000
--- a/client/site_tests/policy_NotificationsBlockedForUrls/control.notset_show
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsBlockedForUrls.NotSet_Show'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of NotificationsBlockedForUrls policy.
-
-This test case verifies the behavior and appearance of Chrome OS when the
-NotificationsBlockedForUrls user policy is not set, and
-DefaultNotificationsSetting=1 (Allow Notifications).
-
-'''
-
-job.run_test('policy_NotificationsBlockedForUrls', case='NotSet_Show')
diff --git a/client/site_tests/policy_NotificationsBlockedForUrls/control.siteallowed_show b/client/site_tests/policy_NotificationsBlockedForUrls/control.siteallowed_show
deleted file mode 100644
index 06c31ad..0000000
--- a/client/site_tests/policy_NotificationsBlockedForUrls/control.siteallowed_show
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsBlockedForUrls.SiteAllowed_Show'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of NotificationsBlockedForUrls policy.
-
-This test case verifies the behavior and appearance of Chrome OS when user
-policy NotificationsBlockedForUrls contains URLs whose domains do not match
-the page that triggers a notification, and DefaultNotificationsSetting=1
-(Allow Notifications).
-
-'''
-
-job.run_test('policy_NotificationsAllowedForUrls', case='SiteAllowed_Show')
diff --git a/client/site_tests/policy_NotificationsBlockedForUrls/control.siteblocked_block b/client/site_tests/policy_NotificationsBlockedForUrls/control.siteblocked_block
deleted file mode 100644
index fd4f272..0000000
--- a/client/site_tests/policy_NotificationsBlockedForUrls/control.siteblocked_block
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'krishnargv'
-NAME = 'policy_NotificationsBlockedForUrls.SiteBlocked_Block'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verify effects of NotificationsBlockedForUrls policy.
-
-This test case verifies the behavior and appearance of Chrome OS when user
-policy NotificationsBlockedForUrls contains URLs with one whose domain matches
-the page that triggers the display of notifications, and
-DefaultNotificationsSetting=1 (Allow Notifications).
-When the domain of the test page is one of the policy values of
-NotificationsBlockedForUrls, notifications are blocked on this page.
-
-'''
-
-job.run_test('policy_NotificationsBlockedForUrls', case='SiteBlocked_Block')
diff --git a/client/site_tests/policy_NotificationsBlockedForUrls/policy_NotificationsBlockedForUrls.py b/client/site_tests/policy_NotificationsBlockedForUrls/policy_NotificationsBlockedForUrls.py
deleted file mode 100644
index 09b1613..0000000
--- a/client/site_tests/policy_NotificationsBlockedForUrls/policy_NotificationsBlockedForUrls.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import logging
-import utils
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_NotificationsBlockedForUrls(
- enterprise_policy_base.EnterprisePolicyTest):
- """Test NotificationsBlockedForUrls policy effect on CrOS behavior.
-
- This test verifies the behavior of Chrome OS with a set of valid values
- for the NotificationsBlockedForUrls user policy, when
- DefaultNotificationSetting=1 (i.e., allow notifications, except on
- sites listed in NotificationsBlockedForUrls). These valid values are
- covered by 3 test cases: SiteBlocked_Block, SiteAllowed_Show,
- NotSet_Show.
-
- When the policy value is None (as in case NotSet_Show), then notifications
- are displayed on every site. When the value is set to one or more URLs (as
- in SiteBlocked_Block and SiteAllowed_Show), notifications are allowed
- on every site except for those sites whose domain matches any of the
- listed URLs.
-
- A related test, policy_NotificationsAllowedForUrls, has
- DefaultNotificationsSetting=2 i.e., do not allow display of notifications by
- default, except on sites in domains listed in NotificationsAllowedForUrls).
-
- """
- version = 1
-
- def initialize(self, **kwargs):
- """Initialize this test."""
- self._initialize_test_constants()
- super(policy_NotificationsBlockedForUrls, self).initialize(**kwargs)
- self.start_webserver()
-
-
- def _initialize_test_constants(self):
- """Initialize test-specific constants, some from class constants."""
- self.POLICY_NAME = 'NotificationsBlockedForUrls'
- self.TEST_FILE = 'notification_test_page.html'
- self.TEST_URL = '%s/%s' % (self.WEB_HOST, self.TEST_FILE)
- self.INCLUDES_BLOCKED_URL = ['http://www.bing.com', self.WEB_HOST,
- 'https://www.yahoo.com']
- self.EXCLUDES_BLOCKED_URL = ['http://www.bing.com',
- 'https://www.irs.gov/',
- 'https://www.yahoo.com']
- self.TEST_CASES = {
- 'SiteBlocked_Block': self.INCLUDES_BLOCKED_URL,
- 'SiteAllowed_Show': self.EXCLUDES_BLOCKED_URL,
- 'NotSet_Show': None
- }
- self.STARTUP_URLS = ['chrome://policy', 'chrome://settings']
- self.SUPPORTING_POLICIES = {
- 'DefaultNotificationsSetting': 1,
- 'BookmarkBarEnabled': True,
- 'EditBookmarksEnabled': True,
- 'RestoreOnStartupURLs': self.STARTUP_URLS,
- 'RestoreOnStartup': 4
- }
-
-
- def _wait_for_page_ready(self, tab):
- """Wait for JavaScript on page in |tab| to set the pageReady flag.
-
- @param tab: browser tab with page to load.
-
- """
- utils.poll_for_condition(
- lambda: tab.EvaluateJavaScript('pageReady'),
- exception=error.TestError('Test page is not ready.'))
-
-
- def _are_notifications_blocked(self, tab):
- """Check if Notifications are blocked.
-
- @param: chrome tab which has test page loaded.
-
- @returns True if Notifications are blocked, else returns False.
-
- """
- notification_permission = tab.EvaluateJavaScript(
- 'Notification.permission')
- if notification_permission not in ['granted', 'denied', 'default']:
- error.TestFail('Unable to capture Notification Setting.')
- return notification_permission == 'denied'
-
-
- def _test_notifications_blocked_for_urls(self, policy_value):
- """Verify CrOS enforces the NotificationsBlockedForUrls policy.
-
- When NotificationsBlockedForUrls is undefined, notifications shall be
- allowed on all pages. When NotificationsBlockedForUrls contains one or
- more URLs, notifications shall be blocked only on the pages whose
- domain matches any of the listed URLs.
-
- @param policy_value: policy value for this case.
-
- """
- tab = self.navigate_to_url(self.TEST_URL)
- self._wait_for_page_ready(tab)
- notifications_blocked = self._are_notifications_blocked(tab)
- logging.info('Notifications are blocked: %r', notifications_blocked)
-
- # String |WEB_HOST| will be found in string |policy_value| for
- # cases that expect the Notifications to be blocked.
- if policy_value is not None and self.WEB_HOST in policy_value:
- if not notifications_blocked:
- raise error.TestFail('Notifications should be blocked.')
- else:
- if notifications_blocked:
- raise error.TestFail('Notifications should be allowed.')
- tab.Close()
-
-
- def run_once(self, case):
- """Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- case_value = self.TEST_CASES[case]
- self.SUPPORTING_POLICIES[self.POLICY_NAME] = case_value
- self.setup_case(user_policies=self.SUPPORTING_POLICIES)
- self._test_notifications_blocked_for_urls(case_value)
diff --git a/client/site_tests/policy_SafeBrowsingEnabled/control b/client/site_tests/policy_SafeBrowsingEnabled/control
deleted file mode 100644
index 7bd4ab7..0000000
--- a/client/site_tests/policy_SafeBrowsingEnabled/control
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_SafeBrowsingEnabled'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verifies effects of SafeBrowsingEnabled policy.
-
-This test checks the SafeBrowsingEnabled policy. It sets the policy to
-True, False, and None.
-
-'''
-
-args_dict = utils.args_to_dict(args)
-
-job.run_test('policy_SafeBrowsingEnabled', **args_dict)
diff --git a/client/site_tests/policy_SafeBrowsingEnabled/control.False b/client/site_tests/policy_SafeBrowsingEnabled/control.False
deleted file mode 100644
index 8e1415b..0000000
--- a/client/site_tests/policy_SafeBrowsingEnabled/control.False
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_SafeBrowsingEnabled.False'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verifies effects of IncognitoModeAvailable policy.
-
-If the policy is set to False then Safety Browsing is disabled.
-
-'''
-
-job.run_test('policy_SafeBrowsingEnabled', case=False)
diff --git a/client/site_tests/policy_SafeBrowsingEnabled/control.NotSet b/client/site_tests/policy_SafeBrowsingEnabled/control.NotSet
deleted file mode 100644
index f64cf64..0000000
--- a/client/site_tests/policy_SafeBrowsingEnabled/control.NotSet
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_SafeBrowsingEnabled.NotSet'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verifies effects of SafeBrowsingEnabled policy.
-
-If the policy is set to None then Safety Browsing is enabled.
-
-'''
-
-job.run_test('policy_SafeBrowsingEnabled', case=None)
diff --git a/client/site_tests/policy_SafeBrowsingEnabled/control.True b/client/site_tests/policy_SafeBrowsingEnabled/control.True
deleted file mode 100644
index 733556c..0000000
--- a/client/site_tests/policy_SafeBrowsingEnabled/control.True
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'rzakarian'
-NAME = 'policy_SafeBrowsingEnabled.True'
-ATTRIBUTES = 'suite:ent-nightly, suite:policy'
-TIME = 'SHORT'
-TEST_CATEGORY = 'General'
-TEST_CLASS = 'enterprise'
-TEST_TYPE = 'client'
-
-DOC = '''
-Verifies effects of SafeBrowsingEnabled policy.
-
-If the policy is set to True then Safety Browsing is enabled.
-
-'''
-
-job.run_test('policy_SafeBrowsingEnabled', case=True)
diff --git a/client/site_tests/policy_SafeBrowsingEnabled/policy_SafeBrowsingEnabled.py b/client/site_tests/policy_SafeBrowsingEnabled/policy_SafeBrowsingEnabled.py
deleted file mode 100644
index b185ce0..0000000
--- a/client/site_tests/policy_SafeBrowsingEnabled/policy_SafeBrowsingEnabled.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.client.bin import utils
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.cros.enterprise import enterprise_policy_base
-
-
-class policy_SafeBrowsingEnabled(
- enterprise_policy_base.EnterprisePolicyTest):
- """
- Tests the SafeBrowsingEnabled policy in Chrome OS.
-
- If the policy is set to True then Safety Browsing will be enabled.
- If the policy is set to False then Safety Browsing will be disabled.
- If the policy is set to None then Safety Browsing will be enabled.
-
- """
- version = 1
- safety_browsing_test_page = 'chrome://safe-browsing/'
- safety_browsing_enabled = "Enabled: safebrowsing.enabled"
- safety_browsing_disabled = "Disabled: safebrowsing.enabled"
-
-
- def _check_safety_browsing_page(self, case):
- """
- Opens a new chrome://safe-browsing/ page and checks the settings for
- the Safety Browsing mode.
-
- @param case: policy value.
-
- """
- active_tab = self.navigate_to_url(self.safety_browsing_test_page)
- page_scrape_cmd = (
- 'document.getElementById("preferences-list").'
- 'children[0].innerText;')
- utils.poll_for_condition(
- lambda: self.check_page_readiness(
- active_tab, page_scrape_cmd),
- exception=error.TestFail('Page is not ready.'),
- timeout=5,
- sleep_interval=1)
- safety_status = active_tab.EvaluateJavaScript(page_scrape_cmd)
-
- if case == True or case == None:
- if safety_status != self.safety_browsing_enabled:
- raise error.TestFail('Safety Browsing is disabled'
- ' but should be enabled.')
- else:
- if safety_status != self.safety_browsing_disabled:
- raise error.TestFail('Safety Browsing is enabled'
- ' but should be disabled.')
-
-
- def run_once(self, case):
- """
- Setup and run the test configured for the specified test case.
-
- @param case: Name of the test case to run.
-
- """
- POLICIES = {'SafeBrowsingEnabled': case}
- self.setup_case(user_policies=POLICIES)
- self._check_safety_browsing_page(case)
diff --git a/client/site_tests/power_Resume/control.iterations b/client/site_tests/power_Resume/control.iterations
new file mode 100644
index 0000000..23be866
--- /dev/null
+++ b/client/site_tests/power_Resume/control.iterations
@@ -0,0 +1,25 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "Chrome OS Team"
+NAME = "power_Resume.iterations"
+PURPOSE = "Measure the amount of time it takes to resume from suspend."
+CRITERIA = "This test is a benchmark."
+ATTRIBUTES = "suite:crosbolt_perf_perbuild"
+TIME = "SHORT"
+TEST_CATEGORY = "Logging"
+TEST_CLASS = "power"
+TEST_TYPE = "client"
+
+DOC = """
+This test will search /var/log/messages for pertinent strings to determine if
+the cpu is sleeping. It will wait for a number of seconds before suspending to
+ram. It will then calculate how many seconds the system was suspended, and
+how many seconds it took to resume. As a precaution it will ensure your
+network interface is UP after it has resumed.
+"""
+
+job.add_sysinfo_command('cbmem -c', logfile='bios_log', on_every_test=True)
+job.add_sysinfo_command('cbmem -t', logfile='bios_times', on_every_test=True)
+job.run_test('power_Resume', ignore_kernel_warns=True, suspend_iterations=50, iteration_delay=10)
diff --git a/client/site_tests/power_Resume/power_Resume.py b/client/site_tests/power_Resume/power_Resume.py
index 6d71d4f..bbf1312 100644
--- a/client/site_tests/power_Resume/power_Resume.py
+++ b/client/site_tests/power_Resume/power_Resume.py
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import time
+
from autotest_lib.client.bin import test
from autotest_lib.client.common_lib import error
from autotest_lib.client.cros.power import power_suspend
@@ -19,14 +21,21 @@
version = 1
preserve_srcdir = True
- def initialize(self, suspend_state=''):
+ def initialize(self,
+ suspend_state='',
+ suspend_iterations=None,
+ iteration_delay=0):
"""
Entry point.
@param suspend_state: Force to suspend to a specific
state ("mem" or "freeze"). If the string is empty, suspend
state is left to the default pref on the system.
+ @param suspend_iterations: number of times to attempt suspend.
+ @param iteration_delay: number of seconds to wait between suspend iterations (default: 0).
"""
+ self._suspend_iterations = suspend_iterations
+ self._iteration_delay = iteration_delay
self._suspender = power_suspend.Suspender(
self.resultsdir,
throw=True,
@@ -36,13 +45,42 @@
def run_once(self, max_devs_returned=10, seconds=0,
ignore_kernel_warns=False, measure_arc=False):
- try:
- self._suspend_once(max_devs_returned, seconds, ignore_kernel_warns,
- measure_arc)
- except error.TestWarn:
- self._suspend_once(max_devs_returned, seconds + EXTRA_TIME,
- ignore_kernel_warns, measure_arc)
- raise
+ system_suspends = []
+ system_resumes = []
+ while not self._done():
+ time.sleep(self._iteration_delay)
+
+ suspend_time = 0.0
+ resume_time = 0.0
+ try:
+ (suspend_time,
+ resume_time) = self._suspend_once(max_devs_returned, seconds,
+ ignore_kernel_warns,
+ measure_arc)
+ except error.TestWarn:
+ (suspend_time, resume_time) = self._suspend_once(
+ max_devs_returned, seconds + EXTRA_TIME,
+ ignore_kernel_warns, measure_arc)
+ raise
+ system_suspends.append(suspend_time)
+ system_resumes.append(resume_time)
+
+ self.output_perf_value(description='system_suspend',
+ value=system_suspends,
+ units='sec',
+ higher_is_better=False)
+ self.output_perf_value(description='system_resume',
+ value=system_resumes,
+ units='sec',
+ higher_is_better=False)
+
+ def _done(self):
+ if self._suspend_iterations == None:
+ # At least one iteration.
+ self._suspend_iterations = 1
+
+ self._suspend_iterations -= 1
+ return self._suspend_iterations < 0
def _suspend_once(self, max_devs_returned, seconds, ignore_kernel_warns,
@@ -60,10 +98,12 @@
for dev in slowest_devs:
results[dev] = device_times[dev]
- self.output_perf_value(description='system_suspend',
- value=results['seconds_system_suspend'],
- units='sec', higher_is_better=False)
- self.output_perf_value(description='system_resume',
- value=results['seconds_system_resume'],
- units='sec', higher_is_better=False)
self.write_perf_keyval(results)
+ return (results['seconds_system_suspend'],
+ results['seconds_system_resume'])
+
+ def cleanup(self):
+ """
+ Clean the suspender.
+ """
+ self._suspender.finalize()
diff --git a/client/site_tests/touch_UpdateErrors/touch_UpdateErrors.py b/client/site_tests/touch_UpdateErrors/touch_UpdateErrors.py
index 06bcc63..892a157 100644
--- a/client/site_tests/touch_UpdateErrors/touch_UpdateErrors.py
+++ b/client/site_tests/touch_UpdateErrors/touch_UpdateErrors.py
@@ -92,10 +92,18 @@
updater_name = 'touch-firmware-update'
start_line = self._find_logs_start_line()
- log_cmd = 'tail -n +%s /var/log/messages | grep -i %s' % (
- start_line, updater_name)
+ # Null characters sometimes slip into /var/log/messages, causing grep to
+ # treat it as a binary file (and output "binary file matches" rather
+ # than the matching text). --text forces grep to treat it as text file.
+ log_cmd = (r'tail -n +%s /var/log/messages '
+ r"| grep --text -i '\(%s\|chromeos-touch-update\)'") % (
+ start_line, updater_name)
- pass_terms = ['%s.*%s' % (updater_name, hw_id) ]
+ pass_terms = [
+ '%s.*%s' % (updater_name, hw_id),
+ r'chromeos-touch-update\[[[:digit:]]\+\]: Running updater for '
+ r'.* ([[:xdigit:]]\+:%s)$' % hw_id
+ ]
fail_terms = ['error[^s]', 'err[^a-z]']
ignore_terms = ['touchview','autotest']
@@ -105,16 +113,23 @@
log_cmd += ' | grep -v -i %s' % term
# Check for key terms in touch logs.
+ found_pass_term = False
for term in pass_terms + fail_terms:
- search_cmd = '%s | grep -i %s' % (log_cmd, term)
+ search_cmd = "%s | grep -i '%s'" % (log_cmd, term)
log_entries = utils.run(search_cmd, ignore_status=True).stdout
if term in fail_terms and len(log_entries) > 0:
error_msg = log_entries.split('\n')[0]
error_msg = error_msg[error_msg.find(term)+len(term):].strip()
raise error.TestFail(error_msg)
- if term in pass_terms and len(log_entries) == 0:
- logging.info('Did not find "%s"!', term)
- raise error.TestFail('Touch firmware did not attempt update.')
+ if term in pass_terms and len(log_entries) > 0:
+ logging.info('Matched "%s" on these pass terms: "%s"', term,
+ log_entries)
+ found_pass_term = True
+
+ if not found_pass_term:
+ logging.info('Did not find any pass terms! (looked for "%s")',
+ '", "'.join(pass_terms))
+ raise error.TestFail('Touch firmware did not attempt update.')
def run_once(self, input_type='touchpad'):
"""Entry point of this test."""
diff --git a/client/tests/barriertest/barriertest.py b/client/tests/barriertest/barriertest.py
index e3bd9e3..6b72f31 100644
--- a/client/tests/barriertest/barriertest.py
+++ b/client/tests/barriertest/barriertest.py
@@ -9,7 +9,7 @@
version = 2
- def run_once(self, our_addr, hostnames, master, timeout=120):
+ def run_once(self, our_addr, hostnames, main, timeout=120):
# A reusable local server as we're using multiple barriers in one test.
server = barrier.listen_server()
@@ -19,7 +19,7 @@
logging.info('1. rendezvous "First" complete.')
time.sleep(2)
- # A rendezvous_servers using a different master than the default.
+ # A rendezvous_servers using a different main than the default.
self.job.barrier(our_addr, 'Second', timeout=timeout,
listen_server=server
).rendezvous_servers(hostnames[-1], *hostnames[:-1])
@@ -46,15 +46,15 @@
# Now attempt a rendezvous_servers that also includes the server.
self.job.barrier(our_addr, 'FinalSync', timeout=timeout,
listen_server=server
- ).rendezvous_servers(master, *hostnames)
+ ).rendezvous_servers(main, *hostnames)
logging.info('4. rendezvous_servers "FinalSync" complete.')
time.sleep(2)
- # rendezvous_servers, aborted from the master.
+ # rendezvous_servers, aborted from the main.
try:
self.job.barrier(our_addr, 'WillAbortServers', timeout=timeout,
listen_server=server
- ).rendezvous_servers(master, *hostnames)
+ ).rendezvous_servers(main, *hostnames)
except error.BarrierAbortError:
pass
except error.BarrierError, e:
diff --git a/client/tests/profiler_sync/profiler_sync.py b/client/tests/profiler_sync/profiler_sync.py
index 8f28eb0..ead0c4a 100644
--- a/client/tests/profiler_sync/profiler_sync.py
+++ b/client/tests/profiler_sync/profiler_sync.py
@@ -10,17 +10,17 @@
def execute(self, timeout_sync, timeout_start, timeout_stop,
- hostid, masterid, all_ids):
+ hostid, mainid, all_ids):
"""
@param timeout_sync: Seconds to wait for the synchronization of all
hosts that will be launching profilers. (local_sync_profilers)
@param timeout_start: Seconds to wait for each of the initial
sync_profilers and start_profilers barriers between this
- host and the master to be reached.
- @param timeout_stop: Seconds to wait for this host and the master to
+ host and the main to be reached.
+ @param timeout_stop: Seconds to wait for this host and the main to
reach each of the stop_profilers and finish_profilers barriers.
@param hostid: This host's id (typically the hostname).
- @param masterid: The master barrier host id where autoserv is running.
+ @param mainid: The main barrier host id where autoserv is running.
@param all_ids: A list of all hosts to synchronize profilers on.
"""
profilers = self.job.profilers
@@ -28,11 +28,11 @@
barrier_server = barrier.listen_server(port=11920)
b0 = self.job.barrier(hostid, "sync_profilers", timeout_start,
listen_server=barrier_server)
- b0.rendezvous_servers(masterid, hostid)
+ b0.rendezvous_servers(mainid, hostid)
b1 = self.job.barrier(hostid, "start_profilers", timeout_start,
listen_server=barrier_server)
- b1.rendezvous_servers(masterid, hostid)
+ b1.rendezvous_servers(mainid, hostid)
b2 = self.job.barrier(hostid, "local_sync_profilers", timeout_sync)
b2.rendezvous(*all_ids)
@@ -41,13 +41,13 @@
b3 = self.job.barrier(hostid, "stop_profilers", timeout_stop,
listen_server=barrier_server)
- b3.rendezvous_servers(masterid, hostid)
+ b3.rendezvous_servers(mainid, hostid)
profilers.stop(self)
profilers.report(self)
b4 = self.job.barrier(hostid, "finish_profilers", timeout_stop,
listen_server=barrier_server)
- b4.rendezvous_servers(masterid, hostid)
+ b4.rendezvous_servers(mainid, hostid)
barrier_server.close()
diff --git a/client/tools/autotest b/client/tools/autotest
index 0406cc0..2d4aad8 100755
--- a/client/tools/autotest
+++ b/client/tools/autotest
@@ -1,5 +1,10 @@
#!/usr/bin/python2
-import sys,os
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import os
+import sys
autodir = None
autotest_conf = os.path.realpath('/etc/autotest.conf')
@@ -12,7 +17,7 @@
autodir = path
if not autodir:
- print "Autotest home dir NOT FOUND"
+ print("Autotest home dir NOT FOUND")
sys.exit()
autotest = os.path.join(autodir, 'bin/autotest')
@@ -21,7 +26,7 @@
if len(sys.argv) == 1 or sys.argv[1] == 'start':
if os.path.exists(state):
- print "Restarting partially completed autotest job"
+ print("Restarting partially completed autotest job")
os.system(autotest + ' --continue ' + control)
else:
- print "No autotest jobs outstanding"
+ print("No autotest jobs outstanding")
diff --git a/client/tools/avgtime b/client/tools/avgtime
index 4145594..283567b 100755
--- a/client/tools/avgtime
+++ b/client/tools/avgtime
@@ -1,5 +1,12 @@
#!/usr/bin/python2
-import sys, os, re
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import os
+import re
+import sys
+
def avg_deviation(values):
sum = 0
@@ -29,7 +36,7 @@
list.append((user, system, elapsed, cpu))
-print " user: %0.2fs (%0.2f%%)" % avg_deviation([x[0] for x in list])
-print " system: %0.2fs (%0.2f%%)" % avg_deviation([x[1] for x in list])
-print "elapsed: %0.2fs (%0.2f%%)" % avg_deviation([x[2] for x in list])
-print " cpu: %d%% (%0.2f%%)" % avg_deviation([x[3] for x in list])
+print(" user: %0.2fs (%0.2f%%)" % avg_deviation([x[0] for x in list]))
+print(" system: %0.2fs (%0.2f%%)" % avg_deviation([x[1] for x in list]))
+print("elapsed: %0.2fs (%0.2f%%)" % avg_deviation([x[2] for x in list]))
+print(" cpu: %d%% (%0.2f%%)" % avg_deviation([x[3] for x in list]))
diff --git a/client/tools/crash_handler.py b/client/tools/crash_handler.py
index c052a66..194e605 100755
--- a/client/tools/crash_handler.py
+++ b/client/tools/crash_handler.py
@@ -5,7 +5,21 @@
@copyright Red Hat Inc 2009
@author Lucas Meneghel Rodrigues <lmr@redhat.com>
"""
-import sys, os, commands, glob, shutil, syslog, re, time, random, string
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import commands
+import glob
+import os
+import random
+import re
+import shutil
+import six
+import string
+import sys
+import syslog
+import time
def generate_random_string(length):
@@ -90,10 +104,10 @@
results_dir_list.append(pid_dir_dict[pid])
pid = get_parent_pid(pid)
else:
- results_dir_list = pid_dir_dict.values()
+ results_dir_list = list(pid_dir_dict.values())
return (results_dir_list or
- pid_dir_dict.values() or
+ list(pid_dir_dict.values()) or
[os.path.join("/tmp", core_dir_basename)])
@@ -144,7 +158,7 @@
(exe_path, path, gdb_command_path))
backtrace = commands.getoutput(gdb_cmd)
# Sanitize output before passing it to the report
- backtrace = backtrace.decode('utf-8', 'ignore')
+ backtrace = six.ensure_text(backtrace, 'utf-8', 'ignore')
else:
exe_path = "Unknown"
backtrace = ("Could not determine backtrace for core file %s" % path)
@@ -190,7 +204,7 @@
try:
crashed_pid, crash_time, uid, signal, hostname, exe = sys.argv[1:]
full_functionality = True
- except ValueError, e:
+ except ValueError as e:
# Probably due a kernel bug, we can't exactly map the parameters
# passed to this script. So we have to reduce the functionality
# of the script (just write the core at a fixed place).
@@ -216,5 +230,5 @@
syslog.syslog("Application %s, PID %s crashed" % (exe, crashed_pid))
write_cores(core_file, results_dir_list)
- except Exception, e:
+ except Exception as e:
syslog.syslog("Crash handler had a problem: %s" % e)
diff --git a/client/tools/diffprofile b/client/tools/diffprofile
index 3d7f3ce..bc7bdb6 100755
--- a/client/tools/diffprofile
+++ b/client/tools/diffprofile
@@ -2,7 +2,13 @@
# Copyright Martin J. Bligh (mbligh@google.com)
# Released under the GPL, v2
-import os, sys, re
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import os
+import re
+import sys
results_per_sign = 10
@@ -30,21 +36,21 @@
for (key, count) in parse_lines(sys.argv[1]):
# Oprofile seems to be ... erm ... broken. Keys can appear > once ;-(
- if orig.has_key(key):
+ if key in orig:
orig[key] += count
else:
orig[key] = count
- if diff.has_key(key):
+ if key in diff:
diff[key] -= count
else:
diff[key] = -count
for (key, count) in parse_lines(sys.argv[2]):
- if new.has_key(key):
+ if key in new:
new[key] += count
else:
new[key] = count
- if diff.has_key(key):
+ if key in diff:
diff[key] += count
else:
diff[key] = count
@@ -54,18 +60,18 @@
# Now sort and print the diffs.
def print_key(key):
- if orig.has_key(key) and orig[key] > 0:
+ if key in orig and orig[key] > 0:
pct = (100 * diff[key]) / orig[key]
else:
pct = 0
- print "%10d %6.1f%% %s" % (diff[key], pct, key)
+ print("%10d %6.1f%% %s" % (diff[key], pct, key))
-keys = sorted(diff.keys(), key=lambda x : diff[x], reverse = True)
+keys = sorted(list(diff.keys()), key=lambda x: diff[x], reverse=True)
for key in keys[:results_per_sign]:
print_key(key)
-print "\n...\n"
+print("\n...\n")
for key in keys[len(keys)-results_per_sign:]:
print_key(key)
diff --git a/client/tools/html_report.py b/client/tools/html_report.py
index 2bba72c..783b93e 100755
--- a/client/tools/html_report.py
+++ b/client/tools/html_report.py
@@ -7,7 +7,10 @@
@author: Dror Russo (drusso@redhat.com)
"""
-import os, sys, re, getopt, time, datetime, commands
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+import os, sys, re, getopt, time, datetime, subprocess
import common
@@ -1416,8 +1419,8 @@
else: #if no output file defined, print html file to console
output = sys.stdout
# create html page
- print >> output, html_prefix
- print >> output, '<h2 id=\"page_title\">Autotest job execution report</h2>'
+ print(html_prefix, file=output)
+ print('<h2 id=\"page_title\">Autotest job execution report</h2>', file=output)
# formating date and time to print
t = datetime.datetime.now()
@@ -1444,20 +1447,20 @@
kvm_ver_str = metadata.get('kvmver', None)
- print >> output, '<table class="stats2">'
- print >> output, '<tr><td>HOST</td><td>:</td><td>%s</td></tr>' % host
- print >> output, '<tr><td>RESULTS DIR</td><td>:</td><td>%s</td></tr>' % tag
- print >> output, '<tr><td>DATE</td><td>:</td><td>%s</td></tr>' % now.ctime()
- print >> output, '<tr><td>STATS</td><td>:</td><td>%s</td></tr>'% stat_str
- print >> output, '<tr><td></td><td></td><td></td></tr>'
+ print('<table class="stats2">', file=output)
+ print('<tr><td>HOST</td><td>:</td><td>%s</td></tr>' % host, file=output)
+ print('<tr><td>RESULTS DIR</td><td>:</td><td>%s</td></tr>' % tag, file=output)
+ print('<tr><td>DATE</td><td>:</td><td>%s</td></tr>' % now.ctime(), file=output)
+ print('<tr><td>STATS</td><td>:</td><td>%s</td></tr>'% stat_str, file=output)
+ print('<tr><td></td><td></td><td></td></tr>', file=output)
if kvm_ver_str is not None:
- print >> output, '<tr><td>KVM VERSION</td><td>:</td><td>%s</td></tr>' % kvm_ver_str
- print >> output, '</table>'
+ print('<tr><td>KVM VERSION</td><td>:</td><td>%s</td></tr>' % kvm_ver_str, file=output)
+ print('</table>', file=output)
## print test results
- print >> output, '<br>'
- print >> output, '<h2 id=\"page_sub_title\">Test Results</h2>'
- print >> output, '<h2 id=\"comment\">click on table headers to asc/desc sort</h2>'
+ print('<br>', file=output)
+ print('<h2 id=\"page_sub_title\">Test Results</h2>', file=output)
+ print('<h2 id=\"comment\">click on table headers to asc/desc sort</h2>', file=output)
result_table_prefix = """<table
id="t1" class="stats table-autosort:4 table-autofilter table-stripeclass:alternate table-page-number:t1page table-page-count:t1pages table-filtered-rowcount:t1filtercount table-rowcount:t1allcount">
<thead class="th table-sorted-asc table-sorted-desc">
@@ -1471,24 +1474,24 @@
</tr></thead>
<tbody>
"""
- print >> output, result_table_prefix
+ print(result_table_prefix, file=output)
def print_result(result, indent):
while result != []:
r = result.pop(0)
res = results[r][2]
- print >> output, '<tr>'
- print >> output, '<td align="left">%s</td>' % res['time']
- print >> output, '<td align="left" style="padding-left:%dpx">%s</td>' % (indent * 20, res['title'])
+ print('<tr>', file=output)
+ print('<td align="left">%s</td>' % res['time'], file=output)
+ print('<td align="left" style="padding-left:%dpx">%s</td>' % (indent * 20, res['title']), file=output)
if res['status'] == 'GOOD':
- print >> output, '<td align=\"left\"><b><font color="#00CC00">PASS</font></b></td>'
+ print('<td align=\"left\"><b><font color="#00CC00">PASS</font></b></td>', file=output)
elif res['status'] == 'FAIL':
- print >> output, '<td align=\"left\"><b><font color="red">FAIL</font></b></td>'
+ print('<td align=\"left\"><b><font color="red">FAIL</font></b></td>', file=output)
elif res['status'] == 'ERROR':
- print >> output, '<td align=\"left\"><b><font color="red">ERROR!</font></b></td>'
+ print('<td align=\"left\"><b><font color="red">ERROR!</font></b></td>', file=output)
else:
- print >> output, '<td align=\"left\">%s</td>' % res['status']
+ print('<td align=\"left\">%s</td>' % res['status'], file=output)
# print exec time (seconds)
- print >> output, '<td align="left">%s</td>' % res['exec_time_sec']
+ print('<td align="left">%s</td>' % res['exec_time_sec'], file=output)
# print log only if test failed..
if res['log']:
#chop all '\n' from log text (to prevent html errors)
@@ -1501,39 +1504,39 @@
updated_tag = rx2.sub('_', res['title'])
html_body_text = '<html><head><title>%s</title></head><body>%s</body></html>' % (str(updated_tag), log_text)
- print >> output, '<td align=\"left\"><A HREF=\"#\" onClick=\"popup(\'%s\',\'%s\')\">Info</A></td>' % (str(updated_tag), str(html_body_text))
+ print('<td align=\"left\"><A HREF=\"#\" onClick=\"popup(\'%s\',\'%s\')\">Info</A></td>' % (str(updated_tag), str(html_body_text)), file=output)
else:
- print >> output, '<td align=\"left\"></td>'
+ print('<td align=\"left\"></td>', file=output)
# print execution time
- print >> output, '<td align="left"><A HREF=\"%s\">Debug</A></td>' % os.path.join(dirname, res['subdir'], "debug")
+ print('<td align="left"><A HREF=\"%s\">Debug</A></td>' % os.path.join(dirname, res['subdir'], "debug"), file=output)
- print >> output, '</tr>'
+ print('</tr>', file=output)
print_result(results[r][1], indent + 1)
print_result(results[""][1], 0)
- print >> output, "</tbody></table>"
+ print("</tbody></table>", file=output)
- print >> output, '<h2 id=\"page_sub_title\">Host Info</h2>'
- print >> output, '<h2 id=\"comment\">click on each item to expend/collapse</h2>'
+ print('<h2 id=\"page_sub_title\">Host Info</h2>', file=output)
+ print('<h2 id=\"comment\">click on each item to expend/collapse</h2>', file=output)
## Meta list comes here..
- print >> output, '<p>'
- print >> output, '<A href="#" class="button" onClick="expandTree(\'meta_tree\');return false;">Expand All</A>'
- print >> output, '  '
- print >> output, '<A class="button" href="#" onClick="collapseTree(\'meta_tree\'); return false;">Collapse All</A>'
- print >> output, '</p>'
+ print('<p>', file=output)
+ print('<A href="#" class="button" onClick="expandTree(\'meta_tree\');return false;">Expand All</A>', file=output)
+ print('  ', file=output)
+ print('<A class="button" href="#" onClick="collapseTree(\'meta_tree\'); return false;">Collapse All</A>', file=output)
+ print('</p>', file=output)
- print >> output, '<ul class="mktree" id="meta_tree">'
+ print('<ul class="mktree" id="meta_tree">', file=output)
counter = 0
- keys = metadata.keys()
+ keys = list(metadata.keys())
keys.sort()
for key in keys:
val = metadata[key]
- print >> output, '<li id=\"meta_headline\">%s' % key
- print >> output, '<ul><table class="meta_table"><tr><td align="left">%s</td></tr></table></ul></li>' % val
- print >> output, '</ul>'
+ print('<li id=\"meta_headline\">%s' % key, file=output)
+ print('<ul><table class="meta_table"><tr><td align="left">%s</td></tr></table></ul></li>' % val, file=output)
+ print('</ul>', file=output)
- print >> output, "</body></html>"
+ print("</body></html>", file=output)
if output_file_name:
output.close()
@@ -1653,13 +1656,13 @@
"""
Print stand alone program usage.
"""
- print 'usage:',
- print 'make_html_report.py -r <result_directory> [-f output_file] [-R]'
- print '(e.g. make_html_reporter.py -r '\
- '/usr/local/autotest/client/results/default -f /tmp/myreport.html)'
- print 'add "-R" for an html report with relative-paths (relative '\
- 'to results directory)'
- print ''
+ print('usage:',)
+ print('make_html_report.py -r <result_directory> [-f output_file] [-R]')
+ print('(e.g. make_html_reporter.py -r '\
+ '/usr/local/autotest/client/results/default -f /tmp/myreport.html)')
+ print('add "-R" for an html report with relative-paths (relative '
+ 'to results directory)')
+ print('')
sys.exit(1)
@@ -1672,7 +1675,7 @@
@param key: Specific key we're retrieving.
"""
keyval_pattern = os.path.join(result_dir, "kvm.*", "keyval")
- keyval_lines = commands.getoutput(r"grep -h '\b%s\b.*=' %s"
+ keyval_lines = subprocess.getoutput(r"grep -h '\b%s\b.*=' %s"
% (key, keyval_pattern))
if not keyval_lines:
return "Unknown"
@@ -1782,7 +1785,7 @@
create_report(dirname, html_path, output_file_name)
sys.exit(0)
else:
- print 'Invalid result directory <%s>' % dirname
+ print('Invalid result directory <%s>' % dirname)
sys.exit(1)
else:
usage()
diff --git a/client/tools/make_clean b/client/tools/make_clean
index 058c286..4283977 100755
--- a/client/tools/make_clean
+++ b/client/tools/make_clean
@@ -1,4 +1,8 @@
#!/usr/bin/python2
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import os
def purge_src(top_dir):
@@ -19,7 +23,7 @@
else:
cmd = 'cd %s; make clean > /dev/null 2>&1 ' % src_path
- print 'Cleaning %s test dir' % dir
+ print('Cleaning %s test dir' % dir)
os.system(cmd)
if os.path.isdir('tmp'):
diff --git a/client/tools/oprofile_diff b/client/tools/oprofile_diff
index ed9e503..2c13124 100755
--- a/client/tools/oprofile_diff
+++ b/client/tools/oprofile_diff
@@ -1,5 +1,10 @@
#!/usr/bin/python2
-import re, sys
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import re
+import sys
def parse_file(filename):
data = {}
@@ -14,16 +19,16 @@
data2 = parse_file(sys.argv[2])
delta = {}
-for symbol in data1.keys() + data2.keys():
+for symbol in list(data1.keys()) + list(data2.keys()):
delta[symbol] = data1.get(symbol, 0) - data2.get(symbol, 0)
def lookup_delta(symbol):
return delta[symbol]
-sorted_deltas = sorted(delta.keys(), key=lookup_delta, reverse=True)
+sorted_deltas = sorted(list(delta.keys()), key=lookup_delta, reverse=True)
if len(sorted_deltas) > 40:
sorted_deltas = sorted_deltas[0:20] + sorted_deltas[-20:]
for symbol in sorted_deltas:
- print '%2.3f %s' % (delta[symbol], symbol)
+ print('%2.3f %s' % (delta[symbol], symbol))
diff --git a/docs/faft-how-to-run-doc.md b/docs/faft-how-to-run-doc.md
index 014d7c5..3e1bbbb 100644
--- a/docs/faft-how-to-run-doc.md
+++ b/docs/faft-how-to-run-doc.md
@@ -17,7 +17,7 @@
## FAFT Overview {#faft-overview}
-FAFT (Fully Automated Firmware Tests) is a collection of tests and related
+[FAFT] (Fully Automated Firmware Tests) is a collection of tests and related
infrastructure that exercise and verify capabilities of Chrome OS.
The features tested by FAFT are implemented through low-level software
(firmware/BIOS) and hardware. FAFT evolved from SAFT
@@ -32,11 +32,17 @@
- Easy to integrate with existing test infrastructure (e.g. test lab, continuous testing, etc).
To access some of these low-level capabilities, the tests require a
+[servod] instance running and executing controls with the help of physical
[servo] board ([servo v2], [servo v4] with [servo micro] or [servo v4 Type-C])
The servo board is connected directly to the DUT (Device Under Test) to enable
access to low-level hardware interfaces, as well as staging areas for backup
software (on a USB drive).
+
+The [FAFT framework] runs the tests with a tool called [test that] and it is
+based on a client-server architecture, where the client runs on the DUT and
+the server runs on the host machine.
+
The tests may corrupt various states in the EC, firmware, and kernel to verify
recovery processes. In these cases you can almost always use FAFT to restore
the system to its original state.
@@ -71,10 +77,6 @@
It is important to ensure the DUT is powered off
before plugging in cables and components to the servo.
-Note: Do not use a type C servo
-(but using a type A servo v4 with a converter to type C is fine.
-A pure type C setup will put the security chip into debug mode).
-

**Figure 1.Diagram of hardware configuration for a ServoV4 Type-A with servo micro.**
@@ -190,12 +192,12 @@
for the DUT have been built. To build the packages, which usually takes
a few hours, run the following from chroot:
-`$ ./build_packages --board=$BOARD` where `$BOARD` is the code name of the board under test
+(chroot) `$ ./build_packages --board=$BOARD` where `$BOARD` is the code name of the board under test
If packages have not been built, the command won't work unless a path to the
autotest directory is included in the command as follows:
-`$ test_that --autotest_dir ~/trunk/src/third_party/autotest/files/ --args="servo_host=localhost servo_port=9999" -b $BOARD $IP $TEST_NAME`
+(chroot) `$ test_that --autotest_dir ~/trunk/src/third_party/autotest/files/ --args="servo_host=localhost servo_port=9999" -b $BOARD $IP $TEST_NAME`
### Sample Commands {#sample-commands}
@@ -282,6 +284,10 @@
leave the DUT running from the USB disk, and only if the image's
[stateful partition is too small].
+Q: Can I compare the results obtained with a Type-C servo to those obtained with a Type-A servo + micro?
+
+- A: When running tests with a Type-C servo, it is recommended to to rerun a failure using the Type-A setup to do a fast check prior to digging deeper, i.e. before connecting a USB analyzer or probing the signals.
+
[FAFT suite]: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/server/site_tests/
[servo]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/README.md#Power-Measurement
[servo v2]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/docs/servo_v2.md
@@ -289,3 +295,7 @@
[servo micro]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/docs/servo_micro.md
[servo v4 Type-C]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/docs/servo_v4.md#Type_C-Version
[stateful partition is too small]: https://crrev.com/c/1935408
+[FAFT]: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/refs/heads/master/docs/faft-design-doc.md
+[FAFT framework]: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/refs/heads/master/docs/faft-code.md
+[servod]: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/refs/heads/master/docs/servod.md
+[test that]: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/refs/heads/master/docs/test-that.md
diff --git a/docs/wificell.md b/docs/wificell.md
index e9a2a42..068ec67 100644
--- a/docs/wificell.md
+++ b/docs/wificell.md
@@ -54,6 +54,16 @@
my-host suite:wifi_matfunc
```
+If the test is using
+[Tast](https://chromium.googlesource.com/chromiumos/platform/tast/) instead of
+autotest, you can pass the `router` and `pcap` arguments to `tast run` instead:
+
+```bash
+# DUT at 'my-host', AP at 'my-other-router', and PCAP at 'my-other-pcap'
+tast run -var="router=my-other-router" -var="pcap=my-other-pcap" my-host \
+ wifi.ChannelHop
+```
+
Also, note that if a pcap device isn't found at `${HOST}-pcap`, then we often
can utilize the test AP to capture packets as well. The test framework does
this by creating one or more monitor-mode interfaces in addition to the AP-mode
diff --git a/global_config.ini b/global_config.ini
index 504f8db..b77c557 100644
--- a/global_config.ini
+++ b/global_config.ini
@@ -260,7 +260,9 @@
[AUTOSERV]
# Set to True to take advantage of OpenSSH-based connection sharing. This would
# have bigger performance impact when ssh_engine is 'raw_ssh'.
+# enable_master_ssh is being depricated in favor of enable_main_ssh.
enable_master_ssh: True
+enable_main_ssh: True
[PACKAGES]
# in days
diff --git a/server/autoserv b/server/autoserv
index d0dcde9..8eb4218 100755
--- a/server/autoserv
+++ b/server/autoserv
@@ -18,6 +18,7 @@
import sys
import traceback
import time
+import six
from six.moves import urllib
import common
@@ -428,7 +429,9 @@
faulthandler.register(signal.SIGTERM, all_threads=True, chain=True)
logging.debug('faulthandler registered on SIGTERM.')
except ImportError:
- sys.exc_clear()
+ # exc_clear() doesn't exist (nor is needed) in python3
+ if six.PY2:
+ sys.exc_clear()
# Ignore SIGTTOU's generated by output from forked children.
signal.signal(signal.SIGTTOU, signal.SIG_IGN)
diff --git a/server/autoserv_utils.py b/server/autoserv_utils.py
index 76e8601..9fefc43 100644
--- a/server/autoserv_utils.py
+++ b/server/autoserv_utils.py
@@ -4,8 +4,10 @@
# found in the LICENSE file.
import os
+import sys
import common
+
from autotest_lib.client.common_lib import control_data
from autotest_lib.client.common_lib import global_config
@@ -71,7 +73,16 @@
"""
script_name = 'virtualenv_autoserv' if use_virtualenv else 'autoserv'
- command = [os.path.join(autoserv_directory, script_name)]
+
+ full_script_path = os.path.join(autoserv_directory, script_name)
+
+ # virtualenv_autoserv is a `POSIX shell script, ASCII text executable`.
+ # Calling with `sys.executable` would fail because python doesn't
+ # interpret shebangs itself.
+ if use_virtualenv:
+ command = [full_script_path]
+ else:
+ command = [sys.executable, full_script_path]
if write_pidfile:
command.append('-p')
diff --git a/server/control_segments/repair b/server/control_segments/repair
index 261a042..efb97d3 100644
--- a/server/control_segments/repair
+++ b/server/control_segments/repair
@@ -27,6 +27,7 @@
# We don't need to collect logs or crash info if we're a
# testbed since they're not applicable (yet).
if (isinstance(target, hosts.CrosHost)
+ and target.is_up_fast()
and target.is_up()
and target.is_file_system_writable()):
# Collect logs before the repair, as it might destroy all
diff --git a/server/control_segments/reset b/server/control_segments/reset
index 985f2ad..e54550f 100644
--- a/server/control_segments/reset
+++ b/server/control_segments/reset
@@ -17,15 +17,6 @@
labels_list = [l.strip() for l in job_labels.split(',') if l]
-# try to reboot using ectool. If ectool fails, fall back to reboot and
-# reboot -f.
-REBOOT_CMD = '''
-sync& sleep 5;
-ectool reboot_ec cold;
-reboot& sleep 10;
-reboot -f
-'''
-
def reset(machine):
print('Starting to reset host %s' % machine)
try:
@@ -35,7 +26,7 @@
with metrics.SecondsTimer(DURATION_METRIC,
fields={'dut_host_name': hostname}):
# Assume cleanup always runs first.
- target.cleanup(reboot_cmd=REBOOT_CMD)
+ target.cleanup()
provision.Cleanup.run_task_actions(job, target, labels_list)
target.verify()
diff --git a/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py b/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py
index fba45b9..67ca692 100644
--- a/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py
@@ -10,6 +10,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.server.cros.bluetooth import bluetooth_adapter_tests
+from autotest_lib.client.common_lib import error
class TestMonitor():
@@ -151,6 +152,15 @@
test_retry_and_log = bluetooth_adapter_tests.test_retry_and_log
+ def advmon_check_manager_interface_exist(self):
+ """Check if AdvertisementMonitorManager1 interface is available.
+
+ @returns: True if Manager interface is available, False otherwise.
+
+ """
+ return self.bluetooth_facade.advmon_check_manager_interface_exist()
+
+
def read_supported_types(self):
"""Read the Advertisement Monitor supported monitor types.
@@ -350,6 +360,45 @@
return True
+ def test_is_controller_offloading_supported(self):
+ """Check if controller based RSSI filtering is supported.
+
+ By default the LE_SCAN_FILTER_DUP flag is enabled on all platforms.
+ Due to this, the host does not receive as many advertisements during
+ passive scanning, which causes SW based RSSI filtering not to work
+ as intended. So, if the controller offloading is not supported, skip
+ the tests that involves RSSI filtering and raise TEST_NA.
+
+ @raises: TestNA if controller based RSSI filtering is not supported.
+
+ """
+ supported_features = self.read_supported_features()
+ if not supported_features:
+ logging.info('Controller offloading not supported')
+ raise error.TestNAError('Controller offloading not supported')
+
+
+ def test_is_adv_monitoring_supported(self, require_rssi_filtering = False):
+ """Check if Adv Monitor API is supported.
+
+ If AdvMonitor API is not supported by the platform,
+ AdvertisementMonitorManager1 interface won't be exposed by
+ bluetoothd. In such case, skip the test and raise TestNA.
+
+ @param require_rssi_filtering: True if test requires RSSI filtering.
+
+ @raises: TestNA if Adv Monitor API is not supported or if controller
+ based RSSI filtering is not supported.
+
+ """
+ if not self.advmon_check_manager_interface_exist():
+ logging.info('Advertisement Monitor API not supported')
+ raise error.TestNAError('Advertisement Monitor API not supported')
+
+ if require_rssi_filtering:
+ self.test_is_controller_offloading_supported()
+
+
@test_retry_and_log(False)
def test_exit_app(self, app_id):
"""Test exit application.
@@ -472,7 +521,7 @@
return expected == released
- @test_retry_and_log(False)
+ @test_retry_and_log(True)
def test_device_found(self, monitor, count, delay=0):
"""Test if the DeviceFound method on a monitor has been invoked or not.
@@ -494,7 +543,7 @@
checked_count = self.get_event_count(app_id, monitor_id, 'DeviceFound')
if count == self.MULTIPLE_EVENTS:
- return checked_count > 1
+ return checked_count > 0
return checked_count == count
@@ -902,6 +951,8 @@
Validate register/unregister app and create/remove monitor.
"""
+ self.test_is_adv_monitoring_supported()
+
# Create a test app instance.
app1 = self.create_app()
@@ -966,6 +1017,8 @@
values.
"""
+ self.test_is_adv_monitoring_supported()
+
# Create a test app instance.
app1 = self.create_app()
@@ -1069,6 +1122,110 @@
self.test_exit_app(app1)
+ def advmon_test_pattern_filter_only(self):
+ """Test case: PATTERN_FILTER_ONLY
+
+ Verify matching of advertisements w.r.t. various pattern values and
+ different AD Data Types - Local Name Service UUID and Device Type.
+ Test working of patterns filter matching with multiple clients,
+ multiple monitors and suspend/resume, without RSSI filtering.
+
+ """
+ self.test_is_adv_monitoring_supported()
+ self.test_setup_peer_devices()
+
+ # Create two test app instances.
+ app1 = self.create_app()
+ app2 = self.create_app()
+
+ # Register both apps, should not fail.
+ self.test_register_app(app1)
+ self.test_register_app(app2)
+
+ # Add monitors in both apps.
+ monitor1 = TestMonitor(app1)
+ monitor1.update_type('or_patterns')
+ monitor1.update_patterns([
+ [5, 0x09, '_REF'],
+ ])
+ monitor1.update_rssi([127, 0, 127, 0])
+
+ monitor2 = TestMonitor(app1)
+ monitor2.update_type('or_patterns')
+ monitor2.update_patterns([
+ [0, 0x03, [0x12, 0x18]],
+ ])
+ monitor2.update_rssi([127, 0, 127, 0])
+
+ monitor3 = TestMonitor(app2)
+ monitor3.update_type('or_patterns')
+ monitor3.update_patterns([
+ [0, 0x19, [0xc1, 0x03]],
+ [0, 0x09, 'MOUSE'],
+ ])
+ monitor3.update_rssi([127, 0, 127, 0])
+
+ monitor4 = TestMonitor(app2)
+ monitor4.update_type('or_patterns')
+ monitor4.update_patterns([
+ [0, 0x19, [0xc1, 0x03]],
+ [0, 0x19, [0xc3, 0x03]],
+ ])
+ monitor4.update_rssi([127, 0, 127, 0])
+
+ # Activate should get invoked.
+ self.test_add_monitor(monitor1, expected_activate=True)
+ self.test_add_monitor(monitor2, expected_activate=True)
+ self.test_add_monitor(monitor3, expected_activate=True)
+ self.test_add_monitor(monitor4, expected_activate=True)
+
+ # DeviceFound for mouse should get triggered only for monitors
+ # matching the adv pattern filter.
+ self.test_start_peer_device_adv(self.peer_mouse, duration=5)
+ self.test_device_found(monitor1, count=self.MULTIPLE_EVENTS)
+ self.test_device_found(monitor2, count=self.MULTIPLE_EVENTS)
+ self.test_device_found(monitor3, count=self.MULTIPLE_EVENTS)
+ # Device type 0xc203 should not match.
+ self.test_device_found(monitor4, count=0)
+ self.test_stop_peer_device_adv(self.peer_mouse)
+
+ # Initiate suspend/resume.
+ self.suspend_resume()
+
+ # Remove a monitor from one app, shouldn't affect working of other
+ # monitors or apps.
+ self.test_remove_monitor(monitor1)
+
+ # Reset event counts before next test.
+ self.test_reset_event_count(monitor2)
+ self.test_reset_event_count(monitor3)
+
+ # DeviceFound for mouse should get triggered again for monitors
+ # matching the adv pattern filter.
+ self.test_start_peer_device_adv(self.peer_mouse, duration=5)
+ self.test_device_found(monitor2, count=self.MULTIPLE_EVENTS)
+ self.test_device_found(monitor3, count=self.MULTIPLE_EVENTS)
+ self.test_stop_peer_device_adv(self.peer_mouse)
+
+ # Terminate an app, shouldn't affect working of monitors in other apps.
+ self.test_exit_app(app1)
+
+ # Reset event counts before next test.
+ self.test_reset_event_count(monitor3)
+
+ # DeviceFound should get triggered for keyboard.
+ self.test_start_peer_device_adv(self.peer_keybd, duration=5)
+ self.test_device_found(monitor3, count=self.MULTIPLE_EVENTS)
+ self.test_device_found(monitor4, count=self.MULTIPLE_EVENTS)
+ self.test_stop_peer_device_adv(self.peer_keybd)
+
+ # Unregister the running app, should not fail.
+ self.test_unregister_app(app2)
+
+ # Terminate the running test app instance.
+ self.test_exit_app(app2)
+
+
def advmon_test_pattern_filter_1(self):
"""Test case: PATTERN_FILTER_1
@@ -1076,6 +1233,7 @@
different AD Data Types - Local Name Service UUID and Device Type.
"""
+ self.test_is_adv_monitoring_supported(require_rssi_filtering = True)
self.test_setup_peer_devices()
# Create a test app instance.
@@ -1171,6 +1329,7 @@
Verify unset RSSI filter and filter with no matching RSSI values.
"""
+ self.test_is_adv_monitoring_supported(require_rssi_filtering = True)
self.test_setup_peer_devices()
# Create a test app instance.
@@ -1224,6 +1383,7 @@
Verify RSSI filter matching with multiple peer devices.
"""
+ self.test_is_adv_monitoring_supported(require_rssi_filtering = True)
self.test_setup_peer_devices()
# Create a test app instance.
@@ -1288,6 +1448,7 @@
Verify reset of RSSI timers based on advertisements.
"""
+ self.test_is_adv_monitoring_supported(require_rssi_filtering = True)
self.test_setup_peer_devices()
# Create a test app instance.
@@ -1355,6 +1516,7 @@
clients and multiple monitors.
"""
+ self.test_is_adv_monitoring_supported(require_rssi_filtering = True)
self.test_setup_peer_devices()
# Create two test app instances.
@@ -1441,6 +1603,7 @@
working of each other.
"""
+ self.test_is_adv_monitoring_supported()
self.test_setup_peer_devices()
# Create a test app instance.
@@ -1492,7 +1655,7 @@
# DeviceFound should get triggered for keyboard.
self.test_reset_event_count(monitor1)
- self.test_start_peer_device_adv(self.peer_keybd, duration=5)
+ self.test_start_peer_device_adv(self.peer_keybd, duration=10)
self.test_device_found(monitor1, count=self.MULTIPLE_EVENTS)
self.test_stop_peer_device_adv(self.peer_keybd)
@@ -1527,6 +1690,7 @@
Verify working of background scanning with suspend/resume.
"""
+ self.test_is_adv_monitoring_supported(require_rssi_filtering = True)
self.test_setup_peer_devices()
# Create two test app instances.
@@ -1602,6 +1766,8 @@
def advmon_test_interleaved_scan(self):
""" Test cases for verifying interleave scan """
+ self.test_is_adv_monitoring_supported()
+
# cycles to collect logs for tests expect no interleave scan
EXPECT_FALSE_TEST_CYCLE = 3
diff --git a/server/cros/bluetooth/bluetooth_adapter_better_together.py b/server/cros/bluetooth/bluetooth_adapter_better_together.py
index 14c349d..5ca6011 100644
--- a/server/cros/bluetooth/bluetooth_adapter_better_together.py
+++ b/server/cros/bluetooth/bluetooth_adapter_better_together.py
@@ -127,16 +127,14 @@
3. Stop the discovery after the device was found.
4. Set the LE connection parameters to reduce the min and max
connection intervals to 6.
- 5. Pause the discovery sessions from all the clients.
- 6. Connect the device.
- 7. Unpause the discovery sessions once the device was connected.
- 8. Set the Trusted property of the device to true.
- 9. Verify all the services were resolved.
- 10. Start notification on the RX characteristic of the
+ 5. Connect the device.
+ 6. Set the Trusted property of the device to true.
+ 7. Verify all the services were resolved.
+ 8. Start notification on the RX characteristic of the
Proximity Service.
- 11. Exchange some messages with the peer device to authorize it.
- 12. Stop the notification.
- 13. Disconnect the device.
+ 9. Exchange some messages with the peer device to authorize it.
+ 10. Stop the notification.
+ 11. Disconnect the device.
"""
filter = {'Transport':'le'}
@@ -151,9 +149,7 @@
self.test_discover_device(address)
self.test_set_le_connection_parameters(address, parameters)
- self.test_pause_discovery()
self.test_connection_by_adapter(address)
- self.test_unpause_discovery()
self.test_set_trusted(address)
self.test_service_resolved(address)
diff --git a/server/cros/bluetooth/bluetooth_adapter_leadvertising_tests.py b/server/cros/bluetooth/bluetooth_adapter_leadvertising_tests.py
index 174c8f4..19df1a4 100644
--- a/server/cros/bluetooth/bluetooth_adapter_leadvertising_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_leadvertising_tests.py
@@ -438,6 +438,7 @@
# Trigger suspend, asynchronously trigger wake and wait for resume
boot_id = self.host.get_boot_id()
suspend = self.suspend_async(suspend_time=suspend_time)
+ start_time = self.bluetooth_facade.get_device_time()
self.test_suspend_and_wait_for_sleep(suspend, sleep_timeout=5)
# Verify they can not be discovered
@@ -448,7 +449,8 @@
# Wait for device to come out of suspend
self.test_wait_for_resume(boot_id,
suspend,
- resume_timeout=suspend_time + 5)
+ resume_timeout=suspend_time + 5,
+ test_start_time=start_time)
# Verify reception of advertisements again
for i in range(0, num_adv):
diff --git a/server/cros/bluetooth/bluetooth_adapter_tests.py b/server/cros/bluetooth/bluetooth_adapter_tests.py
index 6316f4a..a8bd830 100644
--- a/server/cros/bluetooth/bluetooth_adapter_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_tests.py
@@ -74,7 +74,7 @@
BT_ADAPTER_TEST_PATH = os.path.dirname(__file__)
TRACE_LOCATION = os.path.join(BT_ADAPTER_TEST_PATH, 'input_traces/keyboard')
-RESUME_DELTA = 5
+RESUME_DELTA = -5
# Delay binding the methods since host is only available at run time.
SUPPORTED_DEVICE_TYPES = {
@@ -1026,6 +1026,7 @@
"""
boot_id = self.host.get_boot_id()
suspend = self.suspend_async(suspend_time=suspend_time)
+ start_time = self.bluetooth_facade.get_device_time()
# Give the system some time to enter suspend
self.test_suspend_and_wait_for_sleep(
@@ -1035,7 +1036,8 @@
# lenient with the resume time here
self.test_wait_for_resume(boot_id,
suspend,
- resume_timeout=self.RESUME_TIME_SECS)
+ resume_timeout=suspend_time,
+ test_start_time=start_time)
def reboot(self):
@@ -4032,20 +4034,6 @@
@test_retry_and_log(False)
- def test_pause_discovery(self):
- """Test pause discovery"""
-
- return self.bluetooth_facade.pause_discovery()
-
-
- @test_retry_and_log(False)
- def test_unpause_discovery(self):
- """Test unpause discovery"""
-
- return self.bluetooth_facade.unpause_discovery()
-
-
- @test_retry_and_log(False)
def test_get_connection_info(self, address):
"""Test that connection info to device is retrievable."""
@@ -4078,14 +4066,16 @@
boot_id,
suspend,
resume_timeout,
+ test_start_time,
resume_slack=RESUME_DELTA,
fail_on_timeout=False,
- fail_early_wake=False):
+ fail_early_wake=True):
""" Wait for device to resume from suspend.
@param boot_id: Current boot id
@param suspend: Sub-process that does actual suspend call.
@param resume_timeout: Expect device to resume in given timeout.
+ @param test_start_time: When was this test started? (device time)
@param resume_slack: Allow some slack on resume timeout.
@param fail_on_timeout: Fails if timeout is reached
@param fail_early_wake: Fails if timeout isn't reached
@@ -4101,29 +4091,25 @@
else:
return not fail_early_wake
- def _check_suspend_attempt_or_raise(wait_from, wake_at):
+ def _check_suspend_attempt_or_raise(test_start, wake_at):
"""Make sure suspend attempt was recent or raise TestNA.
If we're looking at a previous suspend attempt, it means the test
didn't trigger a suspend properly (i.e. no powerd call)
- @param wait_from: When we started waiting for resume.
+ @param test_start: When we started the test.
@param wake_at: When powerd suspend resumed.
@raises: error.TestNAError if found suspend occurred before we
- started waiting for resume.
+ started the test.
"""
- # If the last suspend attempt was before we started waiting and by
- # more than timeout seconds, it's probably not a recent attempt.
- # Make sure to compare the delta because if we fail suspend,
- # self.suspend_and_wait_for_sleep will block until the suspend
- # attempt is already complete so wake_at < wait_from is always true.
- if wake_at < wait_from and (wait_from - wake_at) > timedelta(
- seconds=resume_timeout):
+ # If the last suspend attempt was before we started the test, it's
+ # probably not a recent attempt.
+ if wake_at < test_start:
raise error.TestNAError(
'No recent suspend attempt found. '
- 'Start waiting at {} but last suspend ended at {}'.
- format(wait_from, wake_at))
+ 'Started test at {} but last suspend ended at {}'.
+ format(test_start, wake_at))
return True
@@ -4178,7 +4164,8 @@
# This is by design (we depend on the timeout to check for
# spurious wakeup).
success = _check_suspend_attempt_or_raise(
- start, end_suspend_at) and _check_retcode_or_raise(
+ test_start_time,
+ end_suspend_at) and _check_retcode_or_raise(
retcode) and _check_timeout(actual_delta)
else:
results['time to resume'] = network_delta.total_seconds()
diff --git a/server/cros/bluetooth/bluetooth_dbus_api_tests.py b/server/cros/bluetooth/bluetooth_dbus_api_tests.py
index c5c1e5c..2dc7f1a 100644
--- a/server/cros/bluetooth/bluetooth_dbus_api_tests.py
+++ b/server/cros/bluetooth/bluetooth_dbus_api_tests.py
@@ -54,8 +54,6 @@
power_off = self._wait_till_power_off()
power_on = self._wait_till_power_on()
not_discovering = self._wait_till_discovery_stops()
- # unpause_discovery will fail if discovery is not paused
- self.bluetooth_facade.unpause_discovery(False)
reset_results = {'power_off' : power_off,
'power_on' : power_on,
'not_discovering' : not_discovering}
@@ -336,259 +334,6 @@
########################################################################
-# dbus call: pause_discovery
-# arguments: boolean system_suspend_resume
-# returns : True/False
-# Notes: 1: argument system_suspend_resume is ignored in the code
-# 2: pause/unpause state is not reflected in Discovering state
-#####################################################
-# Positive cases
-# Case 1
-# preconditions: Adapter powered on AND
-# Currently discovering
-# Argument: [True|False]
-# result: Success
-# Case 2
-# preconditions: Adapter powered on AND
-# Currently not discovering
-# Argument: [True|False]
-# result: Success
-######################################################
-# Negative cases
-#
-# Case 1
-# preconditions: Adapter powered off
-# result: Failure
-# error : NotReady
-# postconditions: Discovery can be started after power on
-#
-# Case 2
-# precondition: Adapter powered on AND
-# Discovery paused
-# result: Failure
-# error: Busy
-#########################################################################
-
- @_test_retry_and_log(False)
- def test_dbus_pause_discovery_success(self):
- """ Test success case of pause_discovery call. """
- reset = self._reset_state()
- is_discovering = self._wait_till_discovery_starts()
- self._wait_till_hci_state_inquiry()
-
- pause_discovery, error = self.bluetooth_facade.pause_discovery(False)
-
- no_inquiry = self._wait_till_hci_state_no_inquiry_holds()
- self.results = {'reset' : reset,
- 'is_discovering': is_discovering,
- 'pause_discovery' : pause_discovery,
- 'no_inquiry' : no_inquiry
- }
- return all(self.results.values())
-
- @_test_retry_and_log(False)
- def test_dbus_pause_discovery_success_no_discovery_in_progress(self):
- """ Test success case of pause_discovery call. """
- reset = self._reset_state()
- is_power_on = self._wait_till_power_on()
- is_not_discovering = self._wait_till_discovery_stops()
-
- pause_discovery, error = self.bluetooth_facade.pause_discovery(False)
-
- no_inquiry = self._wait_till_hci_state_no_inquiry_holds()
- self.results = {'reset' : reset,
- 'is_power_on' : is_power_on,
- 'is_not_discovering': is_not_discovering,
- 'pause_discovery' : pause_discovery,
- 'no_inquiry' : no_inquiry
- }
- return all(self.results.values())
-
- @_test_retry_and_log(False)
- def test_dbus_pause_discovery_fail_power_off(self):
- """ Test Failure case of pause_discovery call.
-
- pause discovery when adapter is turned off and confirm it fails with
- 'NotReady' : 'org.bluez.Error.NotReady: Resource Not Ready'.
- Also check we are able to start discovery after power on
- """
- reset = self._reset_state()
- is_power_off = self._wait_till_power_off()
-
- pause_discovery, error = self.bluetooth_facade.pause_discovery()
-
- is_power_on = self._wait_till_power_on()
- discovery_started = self._wait_till_discovery_starts()
-
- self.results = {'reset' : reset,
- 'is_power_off' : is_power_off,
- 'pause_discovery_failed' : not pause_discovery,
- 'error_matches' : self._compare_error(error,
- DBUS_ERRORS['NotReady']),
- 'is_power_on' : is_power_on,
- 'discovery_started' : discovery_started
- }
- return all(self.results.values())
-
- @_test_retry_and_log(False)
- def test_dbus_pause_discovery_fail_already_paused(self):
- """ Test failure case of pause_discovery call.
-
- Call pause discovery twice and make sure second call fails
- with 'org.bluez.Error.InProgress: Operation already in progress'.
- """
- reset = self._reset_state()
- is_power_on = self._wait_till_power_on()
- is_discovering = self._wait_till_discovery_starts()
- pause_discovery, _ = self.bluetooth_facade.pause_discovery()
-
- pause_discovery_again, error = self.bluetooth_facade.pause_discovery()
-
- no_inquiry = self._wait_till_hci_state_no_inquiry_holds()
-
- self.results = {'reset' : reset,
- 'is_power_on' : is_power_on,
- 'is_discovering': is_discovering,
- 'pause_discovery' : pause_discovery,
- 'pause_discovery_failed' : not pause_discovery_again,
- 'error_matches' : self._compare_error(error,
- DBUS_ERRORS['InProgress']),
- 'no_inquiry' : no_inquiry,
- }
- return all(self.results.values())
-
-########################################################################
-# dbus call: unpause_discovery
-# arguments: boolean system_suspend_resume
-# returns : True/False
-# Notes: 1: argument system_suspend_resume is ignored in the code
-# 2: pause/unpause state is not reflected in Discovering state
-#####################################################
-# Positive cases
-# Case 1
-# preconditions: Adapter powered on AND
-# Discovery started and Discovery currently paused
-# Argument: [True|False]
-######################################################
-# Negative cases
-#
-# result: Success
-# Case 1
-# preconditions: Adapter powered on AND
-# Discovery currently not paused
-# Argument: [True|False]
-# result: Failed
-#
-# Case 2
-# preconditions: Adapter powered off
-# result: Failure
-# error : NotReady
-#
-# Case 3
-# precondition: Adapter powered on AND
-# Discovery paused
-# result: Failure
-# error: Busy
-#########################################################################
- @_test_retry_and_log(False)
- def test_dbus_unpause_discovery_success(self):
- """ Test success case of unpause_discovery call. """
- reset = self._reset_state()
- is_discovering = self._wait_till_discovery_starts()
- pause_discovery, _ = self.bluetooth_facade.pause_discovery()
- no_inquiry_after_pause = self._wait_till_hci_state_no_inquiry_holds()
-
- unpause_discovery, error = self.bluetooth_facade.unpause_discovery()
-
- inquiry_after_unpause = self._wait_till_hci_state_inquiry()
- self.results = {'reset' : reset,
- 'is_discovering': is_discovering,
- 'pause_discovery' : pause_discovery,
- 'no_inquiry_after_pause' : no_inquiry_after_pause,
- 'unpause_discovery' : unpause_discovery,
- 'error' : error is None,
- 'inquiry_after_unpause' : inquiry_after_unpause
- }
- return all(self.results.values())
-
- @_test_retry_and_log(False)
- def test_dbus_unpause_discovery_fail_without_pause(self):
- """ Test failure case of unpause_discovery call.
-
- Call unpause_discovery without calling pause_discovery and check it will
- fail with org.bluez.Error.Failed: Discovery not paused'
- """
- reset = self._reset_state()
- is_discovering = self._wait_till_discovery_starts()
-
- unpause_discovery, error = self.bluetooth_facade.unpause_discovery()
-
- inquiry_after_unpause = self._wait_till_hci_state_inquiry()
- self.results = {'reset' : reset,
- 'is_discovering': is_discovering,
- 'unpause_discovery_fails' : not unpause_discovery,
- 'error' : self._compare_error(error,
- DBUS_ERRORS['Failed']['discovery_unpause']),
- 'inquiry_after_unpause' : inquiry_after_unpause
- }
- return all(self.results.values())
-
- @_test_retry_and_log(False)
- def test_dbus_unpause_discovery_fail_power_off(self):
- """ Test Failure case of unpause_discovery call.
-
- unpause discovery when adapter is turned off and confirm it fails with
- 'org.bluez.Error.Failed: Discovery not paused'
-
- """
- reset = self._reset_state()
- is_power_off = self._wait_till_power_off()
-
- unpause_discovery, error = self.bluetooth_facade.unpause_discovery()
-
- self.results = {'reset' : reset,
- 'is_power_off' : is_power_off,
- 'unpause_discovery_failed' : not unpause_discovery,
- 'error_matches' : self._compare_error(error,
- DBUS_ERRORS['Failed']['discovery_unpause']),
-
- }
- return all(self.results.values())
-
-
- @_test_retry_and_log(False)
- def test_dbus_unpause_discovery_fail_already_unpaused(self):
- """ Test Failure case of unpause_discovery call.
-
- Call unpause discovery twice and make sure second call fails
- with 'org.bluez.Error.InProgress: Operation already in progress'.
- """
- reset = self._reset_state()
- is_discovering = self._wait_till_discovery_starts()
- pause_discovery, error = self.bluetooth_facade.pause_discovery()
- # Make sure the pause discovery has completed
- pause_discovery_complete = self._wait_till_hci_state_no_inquiry_holds()
-
- unpause_discovery, _ = self.bluetooth_facade.unpause_discovery()
-
- unpause_again, error = self.bluetooth_facade.unpause_discovery()
-
- inquiry_after_unpause = self._wait_till_hci_state_inquiry()
-
- self.results = {
- 'reset' : reset,
- 'is_discovering': is_discovering,
- 'pause_discovery' : pause_discovery,
- 'pause_discovery_complete' : pause_discovery_complete,
- 'unpause_discovery' : unpause_discovery,
- 'unpause_again_failed': not unpause_again,
- 'error_matches' : self._compare_error(error,
- DBUS_ERRORS['Failed']['discovery_unpause']),
- 'inquiry_after_unpause':inquiry_after_unpause
- }
- return all(self.results.values())
-
-########################################################################
# dbus call: get_suppported_capabilities
# arguments: None
# returns : The dictionary is following the format
diff --git a/server/cros/bluetooth/bluetooth_device.py b/server/cros/bluetooth/bluetooth_device.py
index be3fd03..4a1fcab 100644
--- a/server/cros/bluetooth/bluetooth_device.py
+++ b/server/cros/bluetooth/bluetooth_device.py
@@ -40,6 +40,10 @@
XMLRPC_LOG_PATH = '/var/log/bluetooth_xmlrpc_device.log'
XMLRPC_REQUEST_TIMEOUT_SECONDS = 180
+ # We currently get dates back in string format due to some inconsistencies
+ # between python2 and python3. This is the standard date format we use.
+ NATIVE_DATE_FORMAT = '%Y-%m-%d %H:%M:%S.%f'
+
def __init__(self, device_host, remote_facade_proxy=None):
"""Construct a BluetoothDevice.
@@ -642,60 +646,6 @@
return self._proxy.stop_discovery()
- @proxy_thread_safe
- def pause_discovery(self, system_suspend_resume=False):
- """ Pause discovery of remote devices
-
- @params: boolean system_suspend_resume Is this request related to
- system suspend resume.
-
- @return (True, None) on success (False, <error>) otherwise
- """
- return self._proxy.pause_discovery(system_suspend_resume)
-
-
- @proxy_thread_safe
- def unpause_discovery(self, system_suspend_resume=False):
- """ Unpause discovery of remote devices
-
- @params: boolean system_suspend_resume Is this request related to
- system suspend resume.
-
- @return (True, None) on success (False, <error>) otherwise
- """
- return self._proxy.unpause_discovery(system_suspend_resume)
-
-
- @proxy_thread_safe
- def pause_discovery(self, system_suspend_resume=False):
- """Pause discovery of remote devices.
-
- This pauses all device discovery sessions.
-
- @param system_suspend_resume: whether the
- request is related to system suspend/resume.
-
- @return True on success, False otherwise.
-
- """
- return self._proxy.pause_discovery(system_suspend_resume)
-
-
- @proxy_thread_safe
- def unpause_discovery(self, system_suspend_resume=False):
- """Unpause discovery of remote devices.
-
- This unpauses all device discovery sessions.
-
- @param system_suspend_resume: whether the
- request is related to system suspend/resume.
-
- @return True on success, False otherwise.
-
- """
- return self._proxy.unpause_discovery(system_suspend_resume)
-
-
def is_discovering(self):
"""Is it discovering?
@@ -910,6 +860,16 @@
@proxy_thread_safe
+ def advmon_check_manager_interface_exist(self):
+ """Check if AdvertisementMonitorManager1 interface is available.
+
+ @returns: True if Manager interface is available, False otherwise.
+
+ """
+ return self._proxy.advmon_check_manager_interface_exist()
+
+
+ @proxy_thread_safe
def advmon_read_supported_types(self):
"""Read the Advertisement Monitor supported monitor types.
@@ -1087,8 +1047,12 @@
@proxy_thread_safe
def messages_stop(self):
- """Stop messages monitoring."""
- self._proxy.messages_stop()
+ """Stop messages monitoring.
+
+ @returns: True if logs were successfully gathered since logging started,
+ else False
+ """
+ return self._proxy.messages_stop()
@proxy_thread_safe
def messages_find(self, pattern_str):
@@ -1701,9 +1665,8 @@
# python3 (hopefully)
# TODO - Revisit converting date to string and back in this method
if info:
- date_format = '%Y-%m-%d %H:%M:%S.%f'
- start_date = datetime.strptime(info[0], date_format)
- end_date = datetime.strptime(info[1], date_format)
+ start_date = datetime.strptime(info[0], self.NATIVE_DATE_FORMAT)
+ end_date = datetime.strptime(info[1], self.NATIVE_DATE_FORMAT)
ret = info[2]
return (start_date, end_date, ret)
@@ -1731,7 +1694,6 @@
"""
return self._proxy.get_wlan_vid_pid()
-
@proxy_thread_safe
def get_bt_module_name(self):
""" Return bluetooth module name for non-USB devices
@@ -1741,6 +1703,11 @@
"""
return self._proxy.get_bt_module_name()
+ @proxy_thread_safe
+ def get_device_time(self):
+ """ Get the current device time. """
+ return datetime.strptime(self._proxy.get_device_time(),
+ self.NATIVE_DATE_FORMAT)
@proxy_thread_safe
def close(self, close_host=True):
diff --git a/server/cros/camerabox_utils.py b/server/cros/camerabox_utils.py
index b3c7f8c..d654469 100644
--- a/server/cros/camerabox_utils.py
+++ b/server/cros/camerabox_utils.py
@@ -43,7 +43,7 @@
logging.info(
'Poll for "is ready" message for ensuring chart is ready.')
- timeout = 30
+ timeout = 60
poll_time_step = 0.1
while timeout > 0:
if self.host.run(
diff --git a/server/cros/dynamic_suite/suite_common.py b/server/cros/dynamic_suite/suite_common.py
index 0cd6718..b98a6f3 100644
--- a/server/cros/dynamic_suite/suite_common.py
+++ b/server/cros/dynamic_suite/suite_common.py
@@ -329,18 +329,39 @@
# path, text, forgiving_error configuration, and test arguments.
paths, texts = list(zip(*control_file_texts_all))
worker_data = list(zip(paths, texts, [forgiving_error] * len(paths),
- [test_args] * len(paths)))
+ [test_args] * len(paths)))
pool = multiprocessing.Pool(processes=get_process_limit())
- result_list = pool.map(parse_cf_text_process, worker_data)
+ raw_result_list = pool.map(parse_cf_text_process, worker_data)
pool.close()
pool.join()
- # Convert [(path, test), ...] to {path: test, ...}
+ result_list = _current_py_compatible_files(raw_result_list)
tests = dict(result_list)
return tests
+def _current_py_compatible_files(control_files):
+ """Given a list of control_files, return a list of compatible files.
+
+ Remove blanks/ctrl files with errors (aka not python3 when running
+ python3 compatible) items so the dict conversion doesn't fail.
+
+ @return: List of control files filtered down to those who are compatible
+ with the current running version of python
+ """
+ result_list = []
+ for item in control_files:
+ if item:
+ result_list.append(item)
+ elif six.PY2:
+ # Only raise the error in python 2 environments, for now. See
+ # crbug.com/990593
+ raise error.ControlFileMalformed(
+ "Blank or invalid control file. See log for details.")
+ return result_list
+
+
def retrieve_control_data_for_test(cf_getter, test_name):
"""Retrieve a test's control file.
diff --git a/server/cros/faft/fingerprint_test.py b/server/cros/faft/fingerprint_test.py
index 285e76e..7a58976 100644
--- a/server/cros/faft/fingerprint_test.py
+++ b/server/cros/faft/fingerprint_test.py
@@ -431,7 +431,8 @@
See go/cros-fingerprint-firmware-branching-and-signing.
"""
# Use cros_config to get fingerprint board.
- result = self._run_cros_config_cmd('board')
+ # Due to b/160271883, we will try running the cmd via cat instead.
+ result = self._run_cros_config_cmd_cat('fingerprint/board')
if result.exit_status != 0:
raise error.TestFail(
'Unable to get fingerprint board with cros_config')
@@ -896,6 +897,11 @@
result = self.run_cmd(cmd)
return result
+ def _run_cros_config_cmd_cat(self, command):
+ """Runs cat /run/chromeos-config/v1 on DUT; return result."""
+ cmd = "cat /run/chromeos-config/v1/{}".format(command)
+ return self.run_cmd(cmd)
+
def _run_dump_fmap_cmd(self, fw_file, section):
"""
Runs "dump_fmap" on DUT for given file.
diff --git a/server/cros/faft/firmware_test.py b/server/cros/faft/firmware_test.py
index 55e7c1a..5e4e764 100644
--- a/server/cros/faft/firmware_test.py
+++ b/server/cros/faft/firmware_test.py
@@ -586,17 +586,14 @@
"""Repeatedly poll for the RootFS partition sysfs node."""
self.servo.system('ls {}'.format(rootfs))
- # Incremental rollout of a large scale test change.
- # TODO(kmshelton): Rollout to all platforms.
- if self.faft_config.platform.lower() in ['coral', 'nami']:
- try:
- confirm_rootfs_partition_device_node_readable()
- except error.AutoservRunError as e:
- usb_info = telemetry.collect_usb_state(self.servo)
- raise error.TestError((
- 'Could not ls the device node for the RootFS on the USB '
- 'device. %s: %s\nMore telemetry: %s') %
- (type(e).__name__, e, usb_info))
+ try:
+ confirm_rootfs_partition_device_node_readable()
+ except error.AutoservRunError as e:
+ usb_info = telemetry.collect_usb_state(self.servo)
+ raise error.TestError(
+ ('Could not ls the device node for the RootFS on the USB '
+ 'device. %s: %s\nMore telemetry: %s') %
+ (type(e).__name__, e, usb_info))
try:
self.servo.system('mount -o ro %s %s' % (rootfs, tmpd))
except error.AutoservRunError as e:
@@ -1003,8 +1000,9 @@
@param enable: True if asserting write protect. Otherwise, False.
"""
self.set_hardware_write_protect(enable)
- self.sync_and_ec_reboot()
- self.switcher.wait_for_client()
+ if hasattr(self, 'ec'):
+ self.sync_and_ec_reboot()
+ self.switcher.wait_for_client()
def run_chromeos_firmwareupdate(self, mode, append=None, options=(),
ignore_status=False):
@@ -2163,17 +2161,17 @@
def _tpm_is_owned(self):
"""Returns True if the tpm is owned"""
- result = self.host.run('cryptohome --action=tpm_more_status',
+ result = self.host.run('tpm_manager_client status --nonsensitive',
ignore_status=True)
logging.debug(result)
- return result.exit_status == 0 and 'owned: true' in result.stdout
+ return result.exit_status == 0 and 'is_owned: true' in result.stdout
def clear_fwmp(self):
"""Clear the FWMP"""
if self.fwmp_is_cleared():
return
tpm_utils.ClearTPMOwnerRequest(self.host, wait_for_ready=True)
- self.host.run('cryptohome --action=tpm_take_ownership')
+ self.host.run('tpm_manager_client take_ownership')
if not utils.wait_for_value(self._tpm_is_owned, expected_value=True):
raise error.TestError('Unable to own tpm while clearing fwmp.')
self.host.run('cryptohome '
diff --git a/server/cros/faft/utils/config.py b/server/cros/faft/utils/config.py
index 053a907..f5cc67c 100644
--- a/server/cros/faft/utils/config.py
+++ b/server/cros/faft/utils/config.py
@@ -14,34 +14,12 @@
_CONFIG_DIR = os.path.abspath(os.path.join(
os.path.dirname(os.path.realpath(__file__)), os.pardir,
'fw-testing-configs'))
-
-def _get_config_dir():
- """
- Return the path to the directory containing platform config files.
-
- We prefer to use _CONFIG_DIR itself, i.e. the Autotest checkout of
- the fw-testing-configs repository. However, if that directory cannot
- be found, then instead use the old configs/ directory.
-
- """
- assert os.path.isdir(_CONFIG_DIR)
- return _CONFIG_DIR
-
-def _get_config_filepath(platform):
- """Find the JSON file containing the platform's config"""
- return os.path.join(_get_config_dir(), '%s.json' % platform)
+_CONSOLIDATED_JSON_BASENAME = 'CONSOLIDATED.json'
-def _has_config_file(platform):
- """Determine whether the platform has a config file"""
- return os.path.isfile(_get_config_filepath(platform))
-
-
-def _load_config(platform):
- """Load the platform's JSON config into a dict"""
- fp = _get_config_filepath(platform)
- with open(fp) as config_file:
- return json.load(config_file)
+def _consolidated_json_fp():
+ """Get the absolute path to CONSOLIDATED.json."""
+ return os.path.join(_CONFIG_DIR, _CONSOLIDATED_JSON_BASENAME)
class Config(object):
@@ -70,22 +48,23 @@
"""
self._precedence_list = []
self._precedence_names = []
- # Loadthe most specific JSON config possible by splitting
- # `platform` at its '_'/'-' and reversing ([::-1]).
- # For example, veyron_minnie should load minnie.json.
- # octopus_fleex should look for fleex.json. It doesn't exist, so
- # instead it loads octopus.json.
+ with open(_consolidated_json_fp()) as f:
+ consolidated_json = json.load(f)
+ # Load the most specific JSON config possible by splitting `platform`
+ # at '_'/'-' and reversing ([::-1]). For example, veyron_minnie should
+ # load minnie.json. octopus_fleex should look for fleex.json. It
+ # doesn't exist, so instead it loads octopus.json.
platform = platform.lower().replace('-', '_')
for p in platform.rsplit('_')[::-1]:
logging.debug('Looking for %s config', p)
- if _has_config_file(p):
+ if p in consolidated_json:
logging.info('Found %s config', p)
self.platform = p
break
else:
self.platform = platform
- if _has_config_file(self.platform):
- platform_config = _load_config(self.platform)
+ if self.platform in consolidated_json:
+ platform_config = consolidated_json[self.platform]
seen_platforms = [self.platform]
self._add_cfg_to_precedence(self.platform, platform_config)
model_configs = platform_config.get('models', {})
@@ -101,15 +80,14 @@
raise error.TestError('fw-testing-configs for platform %s '
'contains an inheritance loop: %s' % (
self.platform, loop))
- parent_config = _load_config(parent_platform)
+ parent_config = consolidated_json[parent_platform]
seen_platforms.append(parent_platform)
self._add_cfg_to_precedence(parent_platform, parent_config)
parent_platform = self._precedence_list[-1].get('parent', None)
else:
- logging.debug(
- 'No platform config file found at %s. Using default.',
- _get_config_filepath(self.platform))
- default_config = _load_config('DEFAULTS')
+ logging.debug('Platform %s not found in %s. Using DEFAULTS.',
+ self.platform, consolidated_json)
+ default_config = consolidated_json['DEFAULTS']
self._add_cfg_to_precedence('DEFAULTS', default_config)
# Set attributes
diff --git a/server/cros/faft/utils/config_unittest.py b/server/cros/faft/utils/config_unittest.py
index ba35c6e..ba63b52 100755
--- a/server/cros/faft/utils/config_unittest.py
+++ b/server/cros/faft/utils/config_unittest.py
@@ -45,28 +45,22 @@
if self.mock_configs is None:
return
- # Setup mock config._get_config_dir(), but remember the original.
+ # Setup mock config._CONFIG_DIR, but remember the original.
self.mock_config_dir = tempfile.mkdtemp()
- self.original_get_config_dir = config._get_config_dir
- config._get_config_dir = lambda: self.mock_config_dir
+ self.original_config_dir = config._CONFIG_DIR
+ config._CONFIG_DIR = self.mock_config_dir
- # Write mock config files.
- self.mock_config_files = []
- for platform in self.mock_configs:
- mock_config_file = os.path.join(self.mock_config_dir,
- '%s.json' % platform)
- with open(mock_config_file, 'w') as f:
- json.dump(self.mock_configs[platform], f)
- self.mock_config_files.append(mock_config_file)
+ # Write mock config file.
+ with open(config._consolidated_json_fp(), 'w') as f:
+ json.dump(self.mock_configs, f)
def tearDown(self):
"""After tests are complete, delete the tempfile"""
if self.mock_configs is None:
return
- for tf in self.mock_config_files:
- os.remove(tf)
+ os.remove(config._consolidated_json_fp())
os.rmdir(self.mock_config_dir)
- config._get_config_dir = self.original_get_config_dir
+ config._CONFIG_DIR = self.original_config_dir
class InheritanceTestCase(_MockConfigTestCaseBaseClass):
@@ -174,30 +168,6 @@
self.assertEqual(parent_modelB_config.attr2, 'parent_attr2')
-class PlatformNamesTestCase(unittest.TestCase):
- """Ensure that each config has a correct 'platform' attribute"""
-
- def runTest(self):
- """
- For each platform JSON config file, verify that there is an
- attribute 'platform' whose value exactly matches the file's basename.
- For example, rambi.json should contain {'platform': 'rambi'}
- """
- for filename in os.listdir(config._CONFIG_DIR):
- filepath = os.path.join(config._CONFIG_DIR, filename)
- platform_name, ext = os.path.splitext(filename)
- if ext != '.json' or platform_name in ('DEFAULTS', 'CONSOLIDATED'):
- continue
- with open(filepath) as f:
- d = json.load(f)
- self.assertIn('platform', d,
- msg='JSON file %s did not contain platform attribute' \
- % filepath)
- self.assertEqual(platform_name, d['platform'],
- msg='JSON file %s contained mismatched platform %s' \
- % (filepath, d['platform']))
-
-
class DirectSelfInheritanceTestCase(_MockConfigTestCaseBaseClass):
"""Ensure that a config which inherits from itself raises an error."""
diff --git a/server/cros/tradefed/cts_expected_failure_parser.py b/server/cros/tradefed/cts_expected_failure_parser.py
index 7fe27e1..7ed2112 100644
--- a/server/cros/tradefed/cts_expected_failure_parser.py
+++ b/server/cros/tradefed/cts_expected_failure_parser.py
@@ -11,23 +11,35 @@
def __init__(self, failure_files):
self.waivers_yaml = self._load_failures(failure_files)
- def _validate_waiver_config(self, arch, board, bundle_abi, sdk_ver, config):
+ def _validate_waiver_config(self, arch, board, bundle_abi, sdk_ver,
+ first_api_level, config):
"""Validate if the test environment matches the test config.
@param arch: DUT's arch type.
@param board: DUT's board name.
@param bundle_abi: The test's abi type.
@param sdk_ver: DUT's Android SDK version
+ @param first_api_level: DUT's Android first API level.
@param config: config for an expected failing test.
@return True if test arch or board is part of the config, else False.
"""
+ # Map only the versions that ARC releases care.
+ sdk_ver_map = {25: 'N', 28: 'P', 30: 'R'}
+
+ # 'all' applies to all devices.
+ # 'x86' or 'arm' applies to the DUT's architecture.
+ # board name like 'eve' or 'kevin' applies to the DUT running the board.
dut_config = ['all', arch, board]
+ # 'nativebridge' applies to the case running ARM CTS on x86 devices.
if bundle_abi and bundle_abi != arch:
dut_config.append('nativebridge')
- # Map only the versions that ARC releases care.
- sdk_ver_map = {25: 'N', 28: 'P'}
+ # 'N' or 'P' or 'R' applies to the device running that Android version.
if sdk_ver in sdk_ver_map:
- dut_config.append(sdk_ver_map[sdk_ver])
+ dut_config.append(sdk_ver_map[sdk_ver])
+ # 'shipatN' or 'shipatP' or 'shipatR' applies to those originally
+ # launched at that Android version.
+ if first_api_level in sdk_ver_map:
+ dut_config.append('shipat' + sdk_ver_map[first_api_level])
return len(set(dut_config).intersection(config)) > 0
def _load_failures(self, failure_files):
@@ -51,19 +63,20 @@
failure_file)
return waivers_yaml
- def find_waivers(self, arch, board, bundle_abi, sdk_ver):
+ def find_waivers(self, arch, board, bundle_abi, sdk_ver, first_api_level):
"""Finds waivers for the test board.
@param arch: DUT's arch type.
@param board: DUT's board name.
@param bundle_abi: The test's abi type.
- @param sdk_ver: DUT's Android SDK version
+ @param sdk_ver: DUT's Android SDK version.
+ @param first_api_level: DUT's Android first API level.
@return a set of waivers/no-test-modules applied to the test board.
"""
applied_waiver_list = set()
for test, config in self.waivers_yaml.iteritems():
if self._validate_waiver_config(arch, board, bundle_abi, sdk_ver,
- config):
+ first_api_level, config):
applied_waiver_list.add(test)
logging.info('Excluding tests/packages from rerun: %s.',
applied_waiver_list)
diff --git a/server/cros/tradefed/generate_controlfiles_CTS_R.py b/server/cros/tradefed/generate_controlfiles_CTS_R.py
index 828cd9c..e83f243 100755
--- a/server/cros/tradefed/generate_controlfiles_CTS_R.py
+++ b/server/cros/tradefed/generate_controlfiles_CTS_R.py
@@ -66,6 +66,7 @@
'CtsLibcoreOjTestCases': 2.0,
'CtsMediaStressTestCases': 5.0,
'CtsMediaTestCases': 10.0,
+ 'CtsMediaTestCases.video': 10.0,
'CtsNNAPIBenchmarkTestCases': 2.0,
'CtsPrintTestCases': 1.5,
'CtsSecurityTestCases': 20.0,
@@ -112,6 +113,7 @@
CONFIG['NEEDS_PUSH_MEDIA'] = CONFIG['MEDIA_MODULES'] + [
'CtsMediaTestCases.audio',
+ 'CtsMediaTestCases.video',
]
# Modules that are known to need the default apps of Chrome (eg. Files.app).
@@ -206,6 +208,7 @@
'CtsMediaTestCases': {
'SUBMODULES': set([
'CtsMediaTestCases.audio',
+ 'CtsMediaTestCases.video',
]),
'SUITES': ['suite:arc-cts-r'],
},
@@ -502,6 +505,22 @@
'--include-filter',
'CtsMediaTestCases android.media.cts.VolumeShaperTest',
],
+ 'CtsMediaTestCases.video': [
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.AdaptivePlaybackTest',
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.DecodeAccuracyTest',
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.DecodeEditEncodeTest',
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.DecoderConformanceTest',
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.EncodeDecodeTest',
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.ExtractDecodeEditEncodeMuxTest',
+ '--include-filter',
+ 'CtsMediaTestCases android.media.cts.MediaCodecPlayerTest',
+ ],
'CtsWindowManager.A': [
'--include-filter',
'CtsWindowManagerDeviceTestCases android.server.wm.ActivityManagerGetConfigTests',
diff --git a/server/cros/tradefed/generate_controlfiles_GTS.py b/server/cros/tradefed/generate_controlfiles_GTS.py
index 27fed8a..8a9a7e9 100755
--- a/server/cros/tradefed/generate_controlfiles_GTS.py
+++ b/server/cros/tradefed/generate_controlfiles_GTS.py
@@ -49,6 +49,7 @@
# Modules that run very long are encoded here.
CONFIG['CTS_TIMEOUT_DEFAULT'] = 0.2
CONFIG['CTS_TIMEOUT'] = {
+ 'GtsAssistantMicHostTestCases': 0.5,
'GtsExoPlayerTestCases': 1.5,
'GtsGmscoreHostTestCases': 1.0,
'GtsMediaTestCases': 4,
diff --git a/server/cros/tradefed/generate_controlfiles_VTS_R.py b/server/cros/tradefed/generate_controlfiles_VTS_R.py
index 20567f7..f64e414 100755
--- a/server/cros/tradefed/generate_controlfiles_VTS_R.py
+++ b/server/cros/tradefed/generate_controlfiles_VTS_R.py
@@ -34,6 +34,7 @@
CONFIG['CONTROLFILE_TEST_FUNCTION_NAME'] = 'run_TS'
CONFIG['CONTROLFILE_WRITE_SIMPLE_QUAL_AND_REGRESS'] = False # True
+CONFIG['CONTROLFILE_WRITE_COLLECT'] = False
CONFIG['CONTROLFILE_WRITE_CAMERA'] = False
CONFIG['CONTROLFILE_WRITE_EXTRA'] = False
diff --git a/server/cros/tradefed/generate_controlfiles_common.py b/server/cros/tradefed/generate_controlfiles_common.py
index 5a4d78e..8e6b956 100755
--- a/server/cros/tradefed/generate_controlfiles_common.py
+++ b/server/cros/tradefed/generate_controlfiles_common.py
@@ -197,6 +197,8 @@
In this case we chose to guess by filename, but we could also parse the
xml files in the module. (Maybe this needs to be done in the future.)
"""
+ if CONFIG.get('DYNAMIC_TEST_FETCH'):
+ return None
if filename.endswith('arm.zip'):
return 'arm'
if filename.endswith('arm64.zip'):
@@ -227,9 +229,9 @@
abi part is omitted.
"""
ext_parts = []
- if not is_public:
+ if not CONFIG.get('DYNAMIC_TEST_FETCH') and not is_public:
ext_parts = [revision]
- if abi:
+ if not CONFIG.get('DYNAMIC_TEST_FETCH') and abi:
ext_parts += [abi]
ext_parts += [module]
if led_provision:
@@ -1252,8 +1254,9 @@
write_extra_camera_controlfiles(abi, revision, build, uri,
is_public)
- write_collect_controlfiles(modules, abi, revision, build, uri,
- is_public, is_latest)
+ if CONFIG.get('CONTROLFILE_WRITE_COLLECT', True):
+ write_collect_controlfiles(modules, abi, revision, build, uri,
+ is_public, is_latest)
if CONFIG['CONTROLFILE_WRITE_EXTRA']:
write_extra_controlfiles(None, abi, revision, build, uri,
diff --git a/server/cros/tradefed/tradefed_test.py b/server/cros/tradefed/tradefed_test.py
index e76e463..e47d860 100644
--- a/server/cros/tradefed/tradefed_test.py
+++ b/server/cros/tradefed/tradefed_test.py
@@ -66,6 +66,7 @@
_board_name = None
_release_branch_number = None # The 'y' of OS version Rxx-xxxxx.y.z
_android_version = None
+ _first_api_level = None
_num_media_bundles = 0
_abilist = []
@@ -809,13 +810,15 @@
test_board = self._get_board_name()
test_arch = self._get_board_arch()
sdk_ver = self._get_android_version()
+ first_api_level = self._get_first_api_level()
expected_fail_dir = os.path.join(self.bindir, directory)
if os.path.exists(expected_fail_dir):
expected_fail_files += glob.glob(expected_fail_dir + '/*.yaml')
waivers = cts_expected_failure_parser.ParseKnownCTSFailures(
expected_fail_files)
- return waivers.find_waivers(test_arch, test_board, bundle_abi, sdk_ver)
+ return waivers.find_waivers(test_arch, test_board, bundle_abi, sdk_ver,
+ first_api_level)
def _get_abilist(self):
"""Return the abilist supported by calling adb command.
@@ -866,6 +869,12 @@
ignore_status=True).stdout.rstrip().split('=')[1]
return int(self._android_version)
+ def _get_first_api_level(self):
+ """Return target DUT Android first API level."""
+ if not self._first_api_level:
+ self._first_api_level = self._hosts[0].get_arc_first_api_level()
+ return int(self._first_api_level)
+
def _get_max_retry(self, max_retry):
"""Return the maximum number of retries.
@@ -1261,23 +1270,21 @@
command = self._tradefed_retry_command(retry_template,
session_id)
- # TODO(pwang): Evaluate if it is worth it to get the number of
- # not-excecuted, for instance, by collecting all
- # tests on startup (very expensive, may take 30
- # minutes).
if media_asset and media_asset.uri:
# Clean-up crash logs from previous sessions to ensure
# enough disk space for 16GB storage devices: b/156075084.
if not keep_media:
self._clean_crash_logs()
- # TODO(b/137917339): Only prevent screen from turning off for
- # media tests. Remove this check once the GPU issue is fixed.
+ # TODO(b/137917339): Only prevent screen from turning off for
+ # media tests. Remove this check once the GPU issue is fixed.
+ keep_screen_on = (media_asset and media_asset.uri) or (
+ target_module and "Media" in target_module)
+ if keep_screen_on:
self._override_powerd_prefs()
try:
waived_tests, acc = self._run_and_parse_tradefed(command)
finally:
- # TODO(b/137917339): ditto
- if media_asset and media_asset.uri:
+ if keep_screen_on:
self._restore_powerd_prefs()
if media_asset:
self._fail_on_unexpected_media_download(media_asset)
diff --git a/server/cros/update_engine/update_engine_test.py b/server/cros/update_engine/update_engine_test.py
index 26ce47e..8d734f7 100644
--- a/server/cros/update_engine/update_engine_test.py
+++ b/server/cros/update_engine/update_engine_test.py
@@ -675,9 +675,11 @@
update_url = self._autotest_devserver.get_update_url(build)
statefuldev_url = update_url.replace('update', 'static')
statefuldev_url += '/stateful.tgz'
- cmd = ['curl', '--silent', '--max-time', '300',
- statefuldev_url, '|', 'tar', '--ignore-command-error',
- '--overwrite','--directory', '/mnt/stateful_partition', '-xz']
+ cmd = [
+ 'curl', '--silent', '--show-error', '--max-time', '600',
+ statefuldev_url, '|', 'tar', '--ignore-command-error',
+ '--overwrite', '--directory', '/mnt/stateful_partition', '-xz'
+ ]
try:
self._run(cmd)
except error.AutoservRunError as e:
diff --git a/server/host_attributes.py b/server/host_attributes.py
index 326855e..bfaafa5 100644
--- a/server/host_attributes.py
+++ b/server/host_attributes.py
@@ -2,8 +2,13 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import utils
-
+try:
+ from autotest_lib.server import utils
+except ImportError:
+ import logging
+ logging.warning("Could not import utils from autotest_lib.server. "
+ "Reverting to simply: `import utils`.")
+ import utils
class base_host_attributes(object):
def __init__(self, host):
diff --git a/server/hosts/__init__.py b/server/hosts/__init__.py
index d8bd4dc..e58e28d 100644
--- a/server/hosts/__init__.py
+++ b/server/hosts/__init__.py
@@ -7,18 +7,33 @@
You should 'import hosts' instead of importing every available host module.
"""
+try:
+ # host abstract classes
+ from autotest_lib.server.hosts.base_classes import Host
+ from autotest_lib.server.hosts.remote import RemoteHost
-# host abstract classes
-from base_classes import Host
-from remote import RemoteHost
+ # host implementation classes
+ from autotest_lib.server.hosts.ssh_host import SSHHost
+ from autotest_lib.server.hosts.cros_host import CrosHost
+ from autotest_lib.server.hosts.chameleon_host import ChameleonHost
+ from autotest_lib.server.hosts.servo_host import ServoHost
+ from autotest_lib.server.hosts.labstation_host import LabstationHost
-# host implementation classes
-from ssh_host import SSHHost
-from cros_host import CrosHost
-from chameleon_host import ChameleonHost
-from servo_host import ServoHost
-from labstation_host import LabstationHost
+ # factory function
+ from autotest_lib.server.hosts.factory import create_host
+ from autotest_lib.server.hosts.factory import create_target_machine
+except ImportError:
+ # host abstract classes
+ from base_classes import Host
+ from remote import RemoteHost
-# factory function
-from factory import create_host
-from factory import create_target_machine
+ # host implementation classes
+ from ssh_host import SSHHost
+ from cros_host import CrosHost
+ from chameleon_host import ChameleonHost
+ from servo_host import ServoHost
+ from labstation_host import LabstationHost
+
+ # factory function
+ from factory import create_host
+ from factory import create_target_machine
diff --git a/server/hosts/abstract_ssh.py b/server/hosts/abstract_ssh.py
index 14286ff..a1bf439 100644
--- a/server/hosts/abstract_ssh.py
+++ b/server/hosts/abstract_ssh.py
@@ -664,10 +664,16 @@
return True
- def is_up_fast(self):
- """Return True if the host can be pinged."""
- ping_config = ping_runner.PingConfig(
- self.hostname, count=1, ignore_result=True, ignore_status=True)
+ def is_up_fast(self, count=1):
+ """Return True if the host can be pinged.
+
+ @param count How many time try to ping before decide that host is not
+ reachable by ping.
+ """
+ ping_config = ping_runner.PingConfig(self.hostname,
+ count=count,
+ ignore_result=True,
+ ignore_status=True)
return ping_runner.PingRunner().ping(ping_config).received > 0
diff --git a/server/hosts/cros_host.py b/server/hosts/cros_host.py
index 44c2ee9..77b0b24 100644
--- a/server/hosts/cros_host.py
+++ b/server/hosts/cros_host.py
@@ -11,6 +11,7 @@
import os
import re
import sys
+import six
import time
import common
@@ -357,7 +358,7 @@
result_dir=self.get_result_dir())
# TODO(otabek@): remove when b/171414073 closed
- pingable_before_servo = self.is_up_fast()
+ pingable_before_servo = self.is_up_fast(count=3)
if pingable_before_servo:
logging.info('DUT is pingable before init Servo.')
_servo_host, servo_state = servo_host.create_servo_host(
@@ -377,20 +378,19 @@
# TODO(otabek@): remove when b/171414073 closed
# Introduced to collect cases when servo made DUT not sshable
- pingable_after_servo = self.is_up_fast()
+ pingable_after_servo = self.is_up_fast(count=3)
if pingable_after_servo:
logging.info('DUT is pingable after init Servo.')
elif pingable_before_servo:
logging.info('DUT was pingable before init Servo but not now')
- board = ''
- info = self.host_info_store.get()
- if info:
- board = info.board
- metrics.Counter('chromeos/autotest/dut_ping_servo_init').increment(
- fields={
- 'host': self.hostname,
- 'board': board,
- })
+ if servo_args and self._servo_host and self._servo_host.hostname:
+ # collect stats only for tests.
+ dut_ping_servo_init_data = {
+ 'host': self.hostname,
+ 'servo_host': self._servo_host.hostname,
+ }
+ metrics.Counter('chromeos/autotest/dut_ping_servo_init2'
+ ).increment(fields=dut_ping_servo_init_data)
# TODO(waihong): Do the simplication on Chameleon too.
self._chameleon_host = chameleon_host.create_chameleon_host(
@@ -1057,8 +1057,21 @@
with metrics.SecondsTimer(
'chromeos/autotest/provision/servo_install/boot_duration'):
+ self.servo._power_state.power_off()
+ try:
+ self.servo.image_to_servo_usb(image_path=image_url,
+ power_off_dut=False)
+ except error.AutotestError as e:
+ metrics.Counter('chromeos/autotest/repair/image_to_usb_error'
+ ).increment(
+ fields={'host': self.hostname or ''})
+ six.reraise(error.AutotestError, str(e), sys.exc_info()[2])
+ # Give the DUT some time to power_off if we skip
+ # download image to usb. (crbug.com/982993)
+ if not image_url:
+ time.sleep(10)
need_snk = self.require_snk_mode_in_recovery()
- self.servo.install_recovery_image(image_url, snk_mode=need_snk)
+ self.servo.boot_in_recovery_mode(snk_mode=need_snk)
if not self.wait_up(timeout=usb_boot_timeout):
if need_snk:
# Attempt to restore servo_v4 role to 'src' mode.
@@ -1309,6 +1322,8 @@
try:
self._repair_strategy.repair(self)
except hosts.AutoservVerifyDependencyError as e:
+ # TODO(otabek): remove when finish b/174191325
+ self._stat_if_pingable_but_not_sshable()
# We don't want flag a DUT as failed if only non-critical
# verifier(s) failed during the repair.
if e.is_critical():
@@ -1520,6 +1535,40 @@
"""Start powerd if it isn't already running."""
self.run('start powerd', ignore_status=True)
+ def _read_arc_prop_file(self, filename):
+ for path in [
+ '/usr/share/arcvm/properties/', '/usr/share/arc/properties/'
+ ]:
+ if self.path_exists(path + filename):
+ return utils.parse_cmd_output('cat ' + path + filename,
+ run_method=self.run)
+ return None
+
+ def _get_arc_build_info(self):
+ """Returns a dictionary mapping build properties to their values."""
+ build_info = None
+ for filename in ['build.prop', 'vendor_build.prop']:
+ properties = self._read_arc_prop_file(filename)
+ if properties:
+ if build_info:
+ build_info.update(properties)
+ else:
+ build_info = properties
+ else:
+ logging.error('Failed to find %s in device.', filename)
+ return build_info
+
+ def _get_arc_primary_abi(self):
+ """Returns the primary abi of the host."""
+ return self._get_arc_build_info().get('ro.product.cpu.abi')
+
+ def _get_arc_security_patch(self):
+ """Returns the security patch of the host."""
+ return self._get_arc_build_info().get('ro.build.version.security_patch')
+
+ def get_arc_first_api_level(self):
+ """Returns the security patch of the host."""
+ return self._get_arc_build_info().get('ro.product.first_api_level')
def _get_lsb_release_content(self):
"""Return the content of lsb-release file of host."""
@@ -1602,12 +1651,8 @@
self._start_powerd_if_needed()
- def cleanup(self, reboot_cmd=None):
- """Cleanup state on device.
-
- @param reboot_cmd: command to use to reboot device
- @return nothing
- """
+ def cleanup(self):
+ """Cleanup state on device."""
self.run('rm -f %s' % client_constants.CLEANUP_LOGS_PAUSED_FILE)
try:
self.cleanup_services()
@@ -1616,12 +1661,13 @@
logging.warning('Unable to restart ui.')
# cleanup routines, i.e. reboot the machine.
- super(CrosHost, self).cleanup(reboot_cmd=reboot_cmd)
+ super(CrosHost, self).cleanup()
# Check if the rpm outlet was manipulated.
if self.has_power():
self._cleanup_poweron()
+
def reboot(self, **dargs):
"""
This function reboots the site host. The more generic
@@ -1630,7 +1676,7 @@
sync should be finished in a short time during the reboot
command.
"""
- if dargs.get('reboot_cmd') is None:
+ if 'reboot_cmd' not in dargs:
reboot_timeout = dargs.get('reboot_timeout', 10)
dargs['reboot_cmd'] = ('sleep 1; '
'reboot & sleep %d; '
@@ -1653,7 +1699,6 @@
t0 = time.time()
try:
- logging.info("reboot cmd: %s", dargs.get('reboot_cmd'))
super(CrosHost, self).reboot(**dargs)
except Exception as e:
metric_fields['success'] = False
@@ -2686,14 +2731,11 @@
main_storage = self.run(main_storage_cmd,
ignore_status=True,
timeout=60).stdout.strip()
- if not main_storage:
- logging.debug('Main storage not detected on the host.')
- return False
- if boot_device == main_storage:
- logging.debug('Device booted from main storage.')
- return False
- logging.debug('Device booted from external storage storage.')
- return True
+ if not main_storage or boot_device != main_storage:
+ logging.debug('Device booted from external storage storage.')
+ return True
+ logging.debug('Device booted from main storage.')
+ return False
def read_from_meminfo(self, key):
"""Return the memory info from /proc/meminfo
@@ -2899,6 +2941,17 @@
dut_ssh_verifier = self._repair_strategy.verifier_is_good('ssh')
return dut_ssh_verifier == hosts.VERIFY_FAILED
+ def _stat_if_pingable_but_not_sshable(self):
+ """Check if DUT pingable but failed SSH verifier."""
+ if not self._repair_strategy:
+ return
+ dut_ssh = self._repair_strategy.verifier_is_good('ssh')
+ dut_ping = self._repair_strategy.verifier_is_good('ping')
+ if (dut_ping == hosts.VERIFY_FAILED
+ and dut_ssh == hosts.VERIFY_FAILED):
+ metrics.Counter('chromeos/autotest/dut_pingable_no_ssh').increment(
+ fields={'host': self.hostname})
+
def try_set_device_needs_manual_repair(self):
"""Check if device require manual attention to be fixed.
diff --git a/server/hosts/cros_repair.py b/server/hosts/cros_repair.py
index 85bd279..dec36c9 100644
--- a/server/hosts/cros_repair.py
+++ b/server/hosts/cros_repair.py
@@ -39,6 +39,7 @@
from chromite.lib import timeout_util
DEFAULT_SERVO_RESET_TRIGGER = (
+ 'ping',
'ssh',
'stop_start_ui',
'power',
@@ -95,13 +96,26 @@
'rwfw',
'fwstatus',
'python',
+ 'hwid',
'cros',
'dev_default_boot',
)
_CROS_POWERWASH_TRIGGERS = ('tpm', 'good_provision', 'ext4',)
-_CROS_USB_TRIGGERS = ('ssh', 'writable', 'stop_start_ui',)
-_JETSTREAM_USB_TRIGGERS = ('ssh', 'writable',)
-_CROS_FIRMWARE_TRIGGERS = ('ssh', )
+_CROS_USB_TRIGGERS = (
+ 'ping',
+ 'ssh',
+ 'writable',
+ 'stop_start_ui',
+)
+_JETSTREAM_USB_TRIGGERS = (
+ 'ping',
+ 'ssh',
+ 'writable',
+)
+_CROS_FIRMWARE_TRIGGERS = (
+ 'ping',
+ 'ssh',
+)
_CROS_USB_DEPENDENCIES = ('usb_drive', )
@@ -467,8 +481,7 @@
return
host_hwid = host.run('crossystem hwid', ignore_status=True).stdout
- host_serial_number = host.run('vpd -g serial_number',
- ignore_status=True).stdout
+ host_serial_number = self._get_serial_number(host, info_serial_number)
if not host_hwid or not host_serial_number:
raise hosts.AutoservVerifyError(
'Failed to get HWID & Serial Number for host %s' %
@@ -494,6 +507,34 @@
host.set_device_repair_state(
cros_constants.DEVICE_STATE_NEEDS_DEPLOY)
+ def _get_serial_number(self, host, serial_number):
+ """Read serial_number from VPD.
+
+ If VPD does not have any value for serial_number then it will
+ try to restore from host_info.
+
+ @param host CrosHost
+ @param serial_number Serial-number from host-info
+ """
+ req = host.run('vpd -g serial_number', ignore_status=True)
+ # serial_number not found in the VPD info
+ if not req.stdout and req.exit_status == 3 and serial_number:
+ logging.debug('Cannot find serial_number from VPD.')
+ # check if vpd working fine without error
+ l1 = host.run('vpd -l', ignore_status=True)
+ l2 = host.run('vpd -l |grep "\"serial_number\"="',
+ ignore_status=True)
+ if l1.exit_status == 0 and l2.exit_status == 1:
+ logging.info('Start restoring serial_number:%s for VPD.',
+ serial_number)
+ # update serial_number for VPD
+ cmd = 'vpd -s serial_number=%s'
+ host.run(cmd % serial_number, ignore_status=True)
+ host.run('dump_vpd_log --force', ignore_status=True)
+ # reading from VPD to see what we updated
+ req = host.run('vpd -g serial_number', ignore_status=True)
+ return req.stdout
+
@property
def description(self):
# pylint: disable=missing-docstring
@@ -1057,9 +1098,12 @@
if not need_update_image and host.health_profile:
repair_failed_count = host.health_profile.get_repair_fail_count()
# try to re-image USB when previous attempt failed
- if repair_failed_count == 1:
- logging.info('Required re-download image to usbkey as'
- ' a previous repair failed.')
+ if (repair_failed_count > 0 and
+ (repair_failed_count == 1 or repair_failed_count % 10 == 0)):
+ logging.info(
+ 'Required re-download image to usbkey as'
+ ' a previous repair failed. Fail count: %s',
+ repair_failed_count)
need_update_image = True
update_url = None
@@ -1119,7 +1163,8 @@
FirmwareStatusVerifier = cros_firmware.FirmwareStatusVerifier
FirmwareVersionVerifier = cros_firmware.FirmwareVersionVerifier
verify_dag = (
- (repair_utils.SshVerifier, 'ssh', ()),
+ (repair_utils.PingVerifier, 'ping', ()),
+ (repair_utils.SshVerifier, 'ssh', ('ping', )),
(ServoUSBDriveVerifier, 'usb_drive', ()),
(DevDefaultBootVerifier, 'dev_default_boot', ('ssh', )),
(DevModeVerifier, 'devmode', ('ssh', )),
@@ -1160,12 +1205,16 @@
# RPM cycling must precede Servo reset: if the DUT has a dead
# battery, we need to reattach AC power before we reset via servo.
(repair_utils.RPMCycleRepair, 'rpm', (), (
+ 'ping',
'ssh',
'power',
)),
(ServoResetRepair, 'servoreset', (), servo_reset_trigger),
(ServoCr50RebootRepair, 'cr50_reset', (), servo_reset_trigger),
- (ServoSysRqRepair, 'sysrq', (), ('ssh', )),
+ (ServoSysRqRepair, 'sysrq', (), (
+ 'ping',
+ 'ssh',
+ )),
(LabelCleanupRepair, 'label_cleanup', ('ssh', ),
('cros_version_label', )),
@@ -1176,6 +1225,7 @@
# and we want the repair steps below to be able to trust the
# firmware.
(cros_firmware.FaftFirmwareRepair, 'faft_firmware_repair', (), (
+ 'ping',
'ssh',
'fwstatus',
'good_provision',
@@ -1301,22 +1351,23 @@
jetstream_tpm_triggers = ('jetstream_tpm', 'jetstream_attestation')
jetstream_service_triggers = (jetstream_tpm_triggers +
('jetstream_services',))
- repair_actions = (
- _cros_basic_repair_actions(servo_reset_trigger=('ssh',)) +
- (
+ base_actions = _cros_basic_repair_actions(servo_reset_trigger=(
+ 'ping',
+ 'ssh',
+ ))
+ custom_actions = (
(JetstreamTpmRepair, 'jetstream_tpm_repair',
_JETSTREAM_USB_TRIGGERS + _CROS_POWERWASH_TRIGGERS,
provision_triggers + jetstream_tpm_triggers),
-
(JetstreamServiceRepair, 'jetstream_service_repair',
- _JETSTREAM_USB_TRIGGERS + _CROS_POWERWASH_TRIGGERS + (
- 'jetstream_tpm', 'jetstream_attestation'),
+ _JETSTREAM_USB_TRIGGERS + _CROS_POWERWASH_TRIGGERS +
+ ('jetstream_tpm', 'jetstream_attestation'),
provision_triggers + jetstream_service_triggers),
- ) +
- _cros_extended_repair_actions(
+ )
+ extend_actions = _cros_extended_repair_actions(
provision_triggers=provision_triggers + jetstream_service_triggers,
- usb_triggers=_JETSTREAM_USB_TRIGGERS))
- return repair_actions
+ usb_triggers=_JETSTREAM_USB_TRIGGERS)
+ return base_actions + custom_actions + extend_actions
def _jetstream_verify_dag():
diff --git a/server/hosts/cros_repair_unittest.py b/server/hosts/cros_repair_unittest.py
index 3783214..2b94ad9 100755
--- a/server/hosts/cros_repair_unittest.py
+++ b/server/hosts/cros_repair_unittest.py
@@ -17,7 +17,8 @@
CROS_VERIFY_DAG = (
- (repair_utils.SshVerifier, 'ssh', ()),
+ (repair_utils.PingVerifier, 'ping', ()),
+ (repair_utils.SshVerifier, 'ssh', ('ping', )),
(cros_repair.ServoUSBDriveVerifier, 'usb_drive', ()),
(cros_repair.DevDefaultBootVerifier, 'dev_default_boot', ('ssh', )),
(cros_repair.DevModeVerifier, 'devmode', ('ssh', )),
@@ -40,10 +41,12 @@
CROS_REPAIR_ACTIONS = (
(repair_utils.RPMCycleRepair, 'rpm', (), (
+ 'ping',
'ssh',
'power',
)),
(cros_repair.ServoResetRepair, 'servoreset', (), (
+ 'ping',
'ssh',
'stop_start_ui',
'power',
@@ -52,13 +55,16 @@
cros_repair.ServoCr50RebootRepair,
'cr50_reset',
(),
- ('ssh', 'stop_start_ui', 'power'),
+ ('ping', 'ssh', 'stop_start_ui', 'power'),
),
- (cros_repair.ServoSysRqRepair, 'sysrq', (), ('ssh', )),
+ (cros_repair.ServoSysRqRepair, 'sysrq', (), (
+ 'ping',
+ 'ssh',
+ )),
(cros_repair.LabelCleanupRepair, 'label_cleanup', ('ssh', ),
('cros_version_label', )),
(cros_firmware.FaftFirmwareRepair, 'faft_firmware_repair', (),
- ('ssh', 'fwstatus', 'good_provision')),
+ ('ping', 'ssh', 'fwstatus', 'good_provision')),
(cros_repair.DevDefaultBootRepair, 'set_default_boot', ('ssh', ),
('dev_default_boot', )),
(cros_repair.CrosRebootRepair, 'reboot', ('ssh', ), (
@@ -68,18 +74,22 @@
(cros_repair.EnrollmentCleanupRepair, 'cleanup_enrollment', ('ssh', ),
('enrollment_state', )),
(cros_repair.ProvisionRepair, 'provision',
- ('ssh', 'writable', 'stop_start_ui', 'tpm', 'good_provision', 'ext4'),
- ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot')),
- (cros_repair.PowerWashRepair, 'powerwash', ('ssh', 'writable',
+ ('ping', 'ssh', 'writable', 'stop_start_ui', 'tpm', 'good_provision',
+ 'ext4'), ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+ 'dev_default_boot')),
+ (cros_repair.PowerWashRepair, 'powerwash', ('ping', 'ssh', 'writable',
'stop_start_ui'),
('tpm', 'good_provision', 'ext4', 'power', 'rwfw', 'fwstatus',
- 'python', 'cros', 'dev_default_boot')),
+ 'python', 'hwid', 'cros', 'dev_default_boot')),
(cros_repair.ServoInstallRepair, 'usb', ('usb_drive', ),
- ('ssh', 'writable', 'stop_start_ui', 'tpm', 'good_provision', 'ext4',
- 'power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
- 'faft_tpm')),
+ ('ping', 'ssh', 'writable', 'stop_start_ui', 'tpm', 'good_provision',
+ 'ext4', 'power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+ 'dev_default_boot', 'faft_tpm')),
(cros_firmware.GeneralFirmwareRepair, 'general_firmware',
- ('usb_drive', ), ('ssh', )),
+ ('usb_drive', ), (
+ 'ping',
+ 'ssh',
+ )),
)
MOBLAB_VERIFY_DAG = (
@@ -96,7 +106,8 @@
)
JETSTREAM_VERIFY_DAG = (
- (repair_utils.SshVerifier, 'ssh', ()),
+ (repair_utils.PingVerifier, 'ping', ()),
+ (repair_utils.SshVerifier, 'ssh', ('ping', )),
(cros_repair.ServoUSBDriveVerifier, 'usb_drive', ()),
(cros_repair.DevDefaultBootVerifier, 'dev_default_boot', ('ssh', )),
(cros_repair.DevModeVerifier, 'devmode', ('ssh', )),
@@ -122,16 +133,26 @@
JETSTREAM_REPAIR_ACTIONS = (
(repair_utils.RPMCycleRepair, 'rpm', (), (
+ 'ping',
'ssh',
'power',
)),
- (cros_repair.ServoResetRepair, 'servoreset', (), ('ssh', )),
- (cros_repair.ServoCr50RebootRepair, 'cr50_reset', (), ('ssh', )),
- (cros_repair.ServoSysRqRepair, 'sysrq', (), ('ssh', )),
+ (cros_repair.ServoResetRepair, 'servoreset', (), (
+ 'ping',
+ 'ssh',
+ )),
+ (cros_repair.ServoCr50RebootRepair, 'cr50_reset', (), (
+ 'ping',
+ 'ssh',
+ )),
+ (cros_repair.ServoSysRqRepair, 'sysrq', (), (
+ 'ping',
+ 'ssh',
+ )),
(cros_repair.LabelCleanupRepair, 'label_cleanup', ('ssh', ),
('cros_version_label', )),
(cros_firmware.FaftFirmwareRepair, 'faft_firmware_repair', (),
- ('ssh', 'fwstatus', 'good_provision')),
+ ('ping', 'ssh', 'fwstatus', 'good_provision')),
(cros_repair.DevDefaultBootRepair, 'set_default_boot', ('ssh', ),
('dev_default_boot', )),
(cros_repair.CrosRebootRepair, 'reboot', ('ssh', ), (
@@ -141,23 +162,26 @@
(cros_repair.EnrollmentCleanupRepair, 'cleanup_enrollment', ('ssh', ),
('enrollment_state', )),
(cros_repair.JetstreamTpmRepair, 'jetstream_tpm_repair',
- ('ssh', 'writable', 'tpm', 'good_provision', 'ext4'),
- ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
- 'jetstream_tpm', 'jetstream_attestation')),
+ ('ping', 'ssh', 'writable', 'tpm', 'good_provision', 'ext4'),
+ ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+ 'dev_default_boot', 'jetstream_tpm', 'jetstream_attestation')),
(cros_repair.JetstreamServiceRepair, 'jetstream_service_repair',
- ('ssh', 'writable', 'tpm', 'good_provision', 'ext4', 'jetstream_tpm',
- 'jetstream_attestation'),
- ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
- 'jetstream_tpm', 'jetstream_attestation', 'jetstream_services')),
- (cros_repair.ProvisionRepair, 'provision', ('ssh', 'writable', 'tpm',
- 'good_provision', 'ext4'),
- ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
- 'jetstream_tpm', 'jetstream_attestation', 'jetstream_services')),
- (cros_repair.PowerWashRepair, 'powerwash', ('ssh', 'writable'),
+ ('ping', 'ssh', 'writable', 'tpm', 'good_provision', 'ext4',
+ 'jetstream_tpm', 'jetstream_attestation'),
+ ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+ 'dev_default_boot', 'jetstream_tpm', 'jetstream_attestation',
+ 'jetstream_services')),
+ (cros_repair.ProvisionRepair, 'provision',
+ ('ping', 'ssh', 'writable', 'tpm', 'good_provision',
+ 'ext4'), ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+ 'dev_default_boot', 'jetstream_tpm',
+ 'jetstream_attestation', 'jetstream_services')),
+ (cros_repair.PowerWashRepair, 'powerwash', ('ping', 'ssh', 'writable'),
('tpm', 'good_provision', 'ext4', 'power', 'rwfw', 'fwstatus',
- 'python', 'cros', 'dev_default_boot', 'jetstream_tpm',
+ 'python', 'hwid', 'cros', 'dev_default_boot', 'jetstream_tpm',
'jetstream_attestation', 'jetstream_services')),
(cros_repair.ServoInstallRepair, 'usb', ('usb_drive', ), (
+ 'ping',
'ssh',
'writable',
'tpm',
@@ -167,6 +191,7 @@
'rwfw',
'fwstatus',
'python',
+ 'hwid',
'cros',
'dev_default_boot',
'jetstream_tpm',
diff --git a/server/hosts/labstation_repair.py b/server/hosts/labstation_repair.py
index ac6e3a6..6bb4acc 100644
--- a/server/hosts/labstation_repair.py
+++ b/server/hosts/labstation_repair.py
@@ -81,29 +81,41 @@
@timeout_util.TimeoutDecorator(cros_constants.VERIFY_TIMEOUT_SEC)
def verify(self, host):
- cmd = (
- "python2 -c 'import usb;"
- " print([[d.open().getString(d.iSerialNumber, 128)"
- " for d in bus.devices if d.idVendor == 0x18d1"
- " and (d.idProduct == 0x501b" #servo_v4
- " or d.idProduct == 0x501a" #servo_micro
- " or d.idProduct == 0x5014)" #ccd_cr50
- " and d.iSerialNumber == 3]" # 3 - slot for serial
- " for bus in usb.busses()])'")
- result = host.run(cmd, ignore_status=True, timeout=30)
- if (result.exit_status != 0
- and 'The device has no langid' in result.stderr.strip()):
- logging.info('Detected langid issue.')
- data = {'host': host.hostname, 'board': host.get_board() or ''}
- metrics.Counter('chromeos/autotest/labstation/langid_issue'
- ).increment(fields=data)
- # labstation reboot will fix the issue but we does not want to
- # reboot the labstation to often. Just create request to reboot
- # it for the next time.
- logging.info('Created request for reboot.')
- cmd = ('touch %slangid%s' %
- (host.TEMP_FILE_DIR, host.REBOOT_FILE_POSTFIX))
- host.run(cmd, ignore_status=True, timeout=30)
+ try:
+ cmd = (
+ "python2 -c 'import usb;"
+ " print([[d.open().getString(d.iSerialNumber, 128)"
+ " for d in bus.devices if d.idVendor == 0x18d1"
+ " and (d.idProduct == 0x501b" #servo_v4
+ " or d.idProduct == 0x501a" #servo_micro
+ " or d.idProduct == 0x5014)" #ccd_cr50
+ " and d.iSerialNumber == 3]" # 3 - slot for serial
+ " for bus in usb.busses()])'")
+ result = host.run(cmd, ignore_status=True, timeout=30)
+ if result.exit_status == 0:
+ return
+ if 'The device has no langid' in result.stderr.strip():
+ self._mark_host_for_reboot(host)
+ except Exception as e:
+ logging.debug('(Not critical) %s', e)
+ if 'Timeout encountered' in str(e):
+ # Time out mean we cannot get servo attributes in time because
+ # one of the servos has langid.
+ self._mark_host_for_reboot(host)
+
+ def _mark_host_for_reboot(self, host):
+ """Mark Labstation as has issue with langid."""
+ logging.info('Detected langid issue.')
+ data = {'host': host.hostname, 'board': host.get_board() or ''}
+ metrics.Counter('chromeos/autotest/labstation/langid_issue').increment(
+ fields=data)
+ # labstation reboot will fix the issue but we does not want to
+ # reboot the labstation to often. Just create request to reboot
+ # it for the next time.
+ logging.info('Created request for reboot.')
+ cmd = ('touch %slangid%s' %
+ (host.TEMP_FILE_DIR, host.REBOOT_FILE_POSTFIX))
+ host.run(cmd, ignore_status=True, timeout=30)
@property
def description(self):
diff --git a/server/hosts/remote.py b/server/hosts/remote.py
index dcb32c6..5f720a0 100644
--- a/server/hosts/remote.py
+++ b/server/hosts/remote.py
@@ -249,10 +249,10 @@
self.log_op(self.OP_REBOOT, op_func)
- def cleanup(self, reboot_cmd=None):
+ def cleanup(self):
# pylint: disable=missing-docstring
super(RemoteHost, self).cleanup()
- self.reboot(reboot_cmd=reboot_cmd)
+ self.reboot()
def get_tmp_dir(self, parent='/tmp'):
diff --git a/server/hosts/repair_utils.py b/server/hosts/repair_utils.py
index 89539f6..a79db04 100644
--- a/server/hosts/repair_utils.py
+++ b/server/hosts/repair_utils.py
@@ -65,6 +65,39 @@
return 'host is available via ssh'
+class PingVerifier(hosts.Verifier):
+ """
+ Verifier to test a host's accessibility via `ping`.
+
+ This verifier checks whether a given host is reachable over `ping`.
+ The device is pingable as soon as booted to level when network driver
+ can respond.
+ In the event of failure, it distinguishes one of distinct conditions:
+ * The host can't be found with a DNS lookup.
+ * The host doesn't booted with network drivers.
+ """
+
+ @timeout_util.TimeoutDecorator(cros_constants.VERIFY_TIMEOUT_SEC)
+ def verify(self, host):
+ if host.is_up_fast(count=10):
+ return
+ msg = 'No answer to ping to %s'
+ ip_address = None
+ try:
+ ip_address = socket.gethostbyname(host.hostname)
+ except Exception as e:
+ logging.exception('DNS lookup failure')
+ msg = 'Unable to look up %s in DNS: %s' % (host.hostname, str(e))
+ raise hosts.AutoservVerifyError(msg)
+ if not ip_address:
+ msg = 'Hostname: %s not present in DNS' % host.hostname
+ raise hosts.AutoservVerifyError(msg)
+
+ @property
+ def description(self):
+ return 'host is available via ping'
+
+
class LegacyHostVerifier(hosts.Verifier):
"""
Ask a Host instance to perform its own verification.
diff --git a/server/hosts/servo_host.py b/server/hosts/servo_host.py
index 437a5ab..9a573f8 100644
--- a/server/hosts/servo_host.py
+++ b/server/hosts/servo_host.py
@@ -1504,25 +1504,6 @@
return '.'.join(host_parts)
-def servo_host_is_up(servo_hostname):
- """Given a servo host name, return if it's up or not.
-
- @param servo_hostname: hostname of the servo host.
-
- @return True if it's up, False otherwise
- """
- # Technically, this duplicates the SSH ping done early in the servo
- # proxy initialization code. However, this ping ends in a couple
- # seconds when if fails, rather than the 60 seconds it takes to decide
- # that an SSH ping has timed out. Specifically, that timeout happens
- # when our servo DNS name resolves, but there is no host at that IP.
- logging.info('Pinging servo host at %s', servo_hostname)
- ping_config = ping_runner.PingConfig(
- servo_hostname, count=3,
- ignore_result=True, ignore_status=True)
- return ping_runner.PingRunner().ping(ping_config).received > 0
-
-
def _map_afe_board_to_servo_board(afe_board):
"""Map a board we get from the AFE to a servo appropriate value.
@@ -1680,15 +1661,12 @@
'Servo connection info is incorrect hostname: %s , port: %s',
servo_hostname, servo_port)
return None, servo_constants.SERVO_STATE_WRONG_CONFIG
- if (not servo_dependency and not try_servo_repair and
- not servo_host_is_up(servo_hostname)):
- logging.debug('ServoHost is not up.')
- return None, servo_constants.SERVO_STATE_NO_SSH
newhost = ServoHost(**servo_args)
- if not newhost.is_up_fast():
- # We do not have any option to recover servo_host.
- # If servo_host is not pingable then we can stop here.
+ if not newhost.is_up_fast(count=3):
+ # ServoHost has internal check to wait if servo-host is in reboot
+ # process. If servo-host still is not available this check will stop
+ # further attempts as we do not have any option to recover servo_host.
return None, servo_constants.SERVO_STATE_NO_SSH
# Reset or reboot servo device only during AdminRepair tasks.
diff --git a/server/server_job.py b/server/server_job.py
index 55d9479..25488dd 100644
--- a/server/server_job.py
+++ b/server/server_job.py
@@ -745,7 +745,7 @@
"skipping crashinfo collection")
return
else:
- log_file = open(self._uncollected_log_file, "w")
+ log_file = open(self._uncollected_log_file, "wb")
pickle.dump([], log_file)
log_file.close()
created_uncollected_logs = True
@@ -1270,7 +1270,7 @@
os.path.exists(self._uncollected_log_file)):
return
if self._uncollected_log_file:
- log_file = open(self._uncollected_log_file, "r+")
+ log_file = open(self._uncollected_log_file, "rb+")
fcntl.flock(log_file, fcntl.LOCK_EX)
try:
uncollected_logs = pickle.load(log_file)
diff --git a/server/site_tests/autoupdate_CatchBadSignatures/autoupdate_CatchBadSignatures.py b/server/site_tests/autoupdate_CatchBadSignatures/autoupdate_CatchBadSignatures.py
index f0754a5..c9ce95e 100755
--- a/server/site_tests/autoupdate_CatchBadSignatures/autoupdate_CatchBadSignatures.py
+++ b/server/site_tests/autoupdate_CatchBadSignatures/autoupdate_CatchBadSignatures.py
@@ -42,9 +42,10 @@
"""Checks that update_engine rejects updates where the payload
and Omaha response do not agree on the metadata signature."""
expected_log_messages = [
- 'Mandating payload hash checks since Omaha Response for '
+ 'Mandating payload signature checks since Omaha Response for '
'unofficial build includes public RSA key',
- 'Mandatory metadata signature validation failed']
+ 'Mandatory metadata signature validation failed'
+ ]
self._check_signature(expected_log_messages,
'Check for bad metadata signature failed.',
@@ -56,10 +57,11 @@
"""Checks that update_engine rejects updates where the payload
signature does not match what is expected."""
expected_log_messages = [
- 'Mandating payload hash checks since Omaha Response for '
+ 'Mandating payload signature checks since Omaha Response for '
'unofficial build includes public RSA key',
'Metadata hash signature matches value in Omaha response.',
- 'Public key verification failed, thus update failed']
+ 'Public key verification failed, thus update failed'
+ ]
self._check_signature(expected_log_messages,
'Check for payload signature failed.',
diff --git a/server/site_tests/bluetooth_AdapterAdvMonitor/bluetooth_AdapterAdvMonitor.py b/server/site_tests/bluetooth_AdapterAdvMonitor/bluetooth_AdapterAdvMonitor.py
index 727b2d8..40724b2 100644
--- a/server/site_tests/bluetooth_AdapterAdvMonitor/bluetooth_AdapterAdvMonitor.py
+++ b/server/site_tests/bluetooth_AdapterAdvMonitor/bluetooth_AdapterAdvMonitor.py
@@ -35,6 +35,17 @@
self.advmon_test_monitor_validity()
+ # TODO(b/150897528) - Dru loses firmware around suspend, which causes bluez
+ # removes all the monitors.
+ @test_wrapper('Pattern Filter Tests',
+ devices={'BLE_KEYBOARD':1, 'BLE_MOUSE':1},
+ skip_models=['dru'],
+ skip_chipsets=SUSPEND_POWER_DOWN_CHIPSETS)
+ def advmon_pattern_filter_tests(self):
+ """Tests monitor functionality for pattern filter only."""
+ self.advmon_test_pattern_filter_only()
+
+
@test_wrapper('Single Client Tests',
devices={'BLE_KEYBOARD':1, 'BLE_MOUSE':1})
def advmon_single_client_tests(self):
@@ -98,6 +109,7 @@
"""
self.advmon_monitor_health_tests()
+ self.advmon_pattern_filter_tests()
self.advmon_single_client_tests()
self.advmon_multi_client_tests()
self.advmon_fg_bg_combination_tests()
diff --git a/server/site_tests/bluetooth_AdapterAdvMonitor/control.advmon_pattern_filter_tests b/server/site_tests/bluetooth_AdapterAdvMonitor/control.advmon_pattern_filter_tests
new file mode 100644
index 0000000..0844a8a
--- /dev/null
+++ b/server/site_tests/bluetooth_AdapterAdvMonitor/control.advmon_pattern_filter_tests
@@ -0,0 +1,30 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from autotest_lib.server import utils
+
+AUTHOR = 'chromeos-bluetooth'
+NAME = 'bluetooth_AdapterAdvMonitor.advmon_pattern_filter_tests'
+PURPOSE = ('batch of Bluetooth Advertisement Monitor tests')
+CRITERIA = 'All tests should pass'
+TIME = 'MEDIUM'
+TEST_CATEGORY = 'Functional'
+ATTRIBUTES = 'suite:bluetooth_flaky'
+TEST_CLASS = 'bluetooth'
+TEST_TYPE = 'server'
+DEPENDENCIES = 'bluetooth, working_bluetooth_btpeer:2'
+
+DOC = """ Tests monitor functionality with patterns filter only. """
+
+args_dict = utils.args_to_dict(args)
+
+def run(machine):
+ host = hosts.create_host(machine)
+ job.run_test('bluetooth_AdapterAdvMonitor',
+ host=host,
+ num_iterations=1,
+ args_dict=args_dict,
+ test_name=NAME.split('.')[1])
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/bluetooth_AdapterCLHealth/bluetooth_AdapterCLHealth.py b/server/site_tests/bluetooth_AdapterCLHealth/bluetooth_AdapterCLHealth.py
index 09af403..9a25d0f 100644
--- a/server/site_tests/bluetooth_AdapterCLHealth/bluetooth_AdapterCLHealth.py
+++ b/server/site_tests/bluetooth_AdapterCLHealth/bluetooth_AdapterCLHealth.py
@@ -135,6 +135,29 @@
self.connect_disconnect_loop(device=device, loops=3)
+ @test_wrapper('Page scan during Inquiry', devices={"MOUSE": 1})
+ def cl_page_scan_during_inquiry(self):
+ """Checks page scan is working during inquiry.
+
+ Scan and pair peer device.
+ Start inquiry.
+ Disconnect peer device from DUT.
+ Reconnect peer device by initiating connection from peer.
+ """
+ device = self.devices['MOUSE'][0]
+
+ # Setup
+ self.assert_discover_and_pair(device)
+ self.test_start_discovery()
+
+ # Disconnection should set up page scan so a reconnect immediately
+ # afterwards should always succeed
+ self.test_disconnection_by_adapter(device.address)
+ self.test_connection_by_device(device)
+
+ # Cleanup
+ self.test_stop_discovery()
+
@test_wrapper('SDP Service Browse Test', devices={"BLUETOOTH_TESTER":1})
def cl_sdp_service_browse_test(self):
"""Performs sdp browse with tester peripheral"""
diff --git a/server/site_tests/bluetooth_AdapterCLHealth/control.cl_page_scan_during_inquiry b/server/site_tests/bluetooth_AdapterCLHealth/control.cl_page_scan_during_inquiry
new file mode 100644
index 0000000..816202a
--- /dev/null
+++ b/server/site_tests/bluetooth_AdapterCLHealth/control.cl_page_scan_during_inquiry
@@ -0,0 +1,31 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from autotest_lib.server import utils
+
+AUTHOR = 'chromeos-bluetooth'
+NAME = 'bluetooth_AdapterCLHealth.cl_page_scan_during_inquiry'
+PURPOSE = ('Test controller page scan is working during inquiry.')
+CRITERIA = 'Connection attempt during inquiry should succeed.'
+ATTRIBUTES = 'suite:bluetooth_flaky'
+TIME = 'SHORT'
+TEST_CATEGORY = 'Functional'
+TEST_CLASS = 'bluetooth'
+TEST_TYPE = 'server'
+DEPENDENCIES = 'bluetooth, working_bluetooth_btpeer:1'
+
+DOC = """
+Verify that the DUT could accept a connection during inquiry.
+"""
+
+args_dict = utils.args_to_dict(args)
+
+def run(machine):
+ host = hosts.create_host(machine)
+ job.run_test('bluetooth_AdapterCLHealth', host=host,
+ num_iterations=1, args_dict=args_dict,
+ test_name=NAME.split('.')[1])
+
+parallel_simple(run, machines)
+
diff --git a/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py b/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py
index 06c8b4e..9655ec6 100644
--- a/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py
+++ b/server/site_tests/bluetooth_AdapterMTBF/bluetooth_AdapterMTBF.py
@@ -29,15 +29,14 @@
BluetoothAdapterQuickTests)
from autotest_lib.server.cros.bluetooth.bluetooth_adapter_tests import (
TABLET_MODELS)
-from autotest_lib.client.cros.bluetooth.bluetooth_audio_test_data import A2DP
+from autotest_lib.client.cros.bluetooth.bluetooth_audio_test_data import A2DP_LONG
from six.moves import range
# Iterations to run the mouse report test, this equals about 10 mins
MOUSE_TEST_ITERATION = 15
# Iterations to run the keyboard report test, this equals about 10 mins
KEYBOARD_TEST_ITERATION = 60
-# Iterations to run the A2DP test, this equals about 10 mins
-A2DP_TEST_ITERATION = 1
+A2DP_TEST_DURATION_SEC = 600
# Wait for some time before stating a new concurrent thread
SLEEP_BETWEEN_THREADS = 15
@@ -107,7 +106,7 @@
def test_mouse_and_audio(self, mouse, audio):
"""Run the mouse and audio tests concurrently for 10 mins"""
audio_thread = threading.Thread(
- target=self.test_audio, args=(audio, A2DP_TEST_ITERATION))
+ target=self.test_audio, args=(audio, A2DP_TEST_DURATION_SEC))
mouse_thread = threading.Thread(
target=self.test_mouse, args=(mouse, MOUSE_TEST_ITERATION))
@@ -141,7 +140,7 @@
def test_hid_and_audio(self, mouse, keyboard, audio):
"""Run the audio, mouse and keyboard tests concurrently for 10 mins"""
audio_thread = threading.Thread(
- target=self.test_audio, args=(audio, A2DP_TEST_ITERATION))
+ target=self.test_audio, args=(audio, A2DP_TEST_DURATION_SEC))
mouse_thread = threading.Thread(
target=self.test_mouse, args=(mouse, MOUSE_TEST_ITERATION))
keyboard_thread = \
@@ -171,7 +170,7 @@
self.run_keyboard_tests(device=keyboard)
- def test_audio(self, device, iteration):
+ def test_audio(self, device, duration):
"""Test A2DP
This test plays A2DP audio on the DUT and record on the peer device,
@@ -181,16 +180,15 @@
self.bluetooth_facade.remove_device_object(device.address)
device.RemoveDevice(self.bluetooth_facade.address)
- self.initialize_bluetooth_audio(device, A2DP)
+ self.initialize_bluetooth_audio(device, A2DP_LONG)
self.test_device_set_discoverable(device, True)
self.test_discover_device(device.address)
self.test_pairing(device.address, device.pin, trusted=True)
device.SetTrustedByRemoteAddress(self.bluetooth_facade.address)
self.test_connection_by_adapter(device.address)
- for i in range(iteration):
- self.test_a2dp_sinewaves(device, A2DP, 0)
+ self.test_a2dp_sinewaves(device, A2DP_LONG, duration)
self.test_disconnection_by_adapter(device.address)
- self.cleanup_bluetooth_audio(device, A2DP)
+ self.cleanup_bluetooth_audio(device, A2DP_LONG)
self.test_remove_device_object(device.address)
@@ -213,13 +211,16 @@
"""Test the device can connect after suspending and resuming"""
boot_id = self.host.get_boot_id()
suspend = self.suspend_async(suspend_time=15)
+ start_time = self.bluetooth_facade.get_device_time()
self.test_device_set_discoverable(mouse, False)
self.test_suspend_and_wait_for_sleep(
suspend, sleep_timeout=15)
- self.test_wait_for_resume(
- boot_id, suspend, resume_timeout=15)
+ self.test_wait_for_resume(boot_id,
+ suspend,
+ resume_timeout=15,
+ test_start_time=start_time)
# LE can't reconnect without advertising/discoverable
self.test_device_set_discoverable(mouse, True)
@@ -237,6 +238,7 @@
boot_id = self.host.get_boot_id()
suspend = self.suspend_async(
suspend_time=60, expect_bt_wake=True)
+ start_time = self.bluetooth_facade.get_device_time()
self.test_adapter_wake_enabled()
self.test_suspend_and_wait_for_sleep(
@@ -248,9 +250,11 @@
peer_wake.start()
# Expect a quick resume. If a timeout occurs, test fails.
- self.test_wait_for_resume(
- boot_id, suspend, resume_timeout=20,
- fail_on_timeout=True)
+ self.test_wait_for_resume(boot_id,
+ suspend,
+ resume_timeout=20,
+ test_start_time=start_time,
+ fail_on_timeout=True)
# Finish peer wake process
peer_wake.join()
diff --git a/server/site_tests/bluetooth_AdapterSAHealth/bluetooth_AdapterSAHealth.py b/server/site_tests/bluetooth_AdapterSAHealth/bluetooth_AdapterSAHealth.py
index fa6ad78..0a7149b 100644
--- a/server/site_tests/bluetooth_AdapterSAHealth/bluetooth_AdapterSAHealth.py
+++ b/server/site_tests/bluetooth_AdapterSAHealth/bluetooth_AdapterSAHealth.py
@@ -206,16 +206,6 @@
self.test_dbus_stop_discovery_fail_discovery_not_in_progress()
self.test_dbus_stop_discovery_fail_power_off()
- self.test_dbus_pause_discovery_success()
- self.test_dbus_pause_discovery_success_no_discovery_in_progress()
- self.test_dbus_pause_discovery_fail_already_paused()
- self.test_dbus_pause_discovery_fail_power_off()
-
- self.test_dbus_unpause_discovery_success()
- self.test_dbus_unpause_discovery_fail_without_pause()
- self.test_dbus_unpause_discovery_fail_power_off()
- self.test_dbus_unpause_discovery_fail_already_unpaused()
-
self.test_dbus_get_supported_capabilities_success()
self.test_dbus_get_supported_capabilities_success_power_off()
diff --git a/server/site_tests/bluetooth_AdapterSAHealth/control.sa_basic_test b/server/site_tests/bluetooth_AdapterSAHealth/control.sa_basic_test
index 614dab1..8c06133 100644
--- a/server/site_tests/bluetooth_AdapterSAHealth/control.sa_basic_test
+++ b/server/site_tests/bluetooth_AdapterSAHealth/control.sa_basic_test
@@ -8,7 +8,7 @@
NAME = 'bluetooth_AdapterSAHealth.sa_basic_test'
PURPOSE = ('batch of Bluetooth stand along health tests')
CRITERIA = 'Pass all health test'
-ATTRIBUTES = 'suite:bluetooth, suite:bluetooth_standalone, suite:bluetooth_standalone_cq'
+ATTRIBUTES = 'suite:bluetooth, suite:bluetooth_standalone, suite:bluetooth_standalone_cq, suite:infra_qual'
TIME = 'MEDIUM'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'bluetooth'
diff --git a/server/site_tests/bluetooth_AdapterSAHealth/control.sa_dbus_api_tests b/server/site_tests/bluetooth_AdapterSAHealth/control.sa_dbus_api_tests
index 5f4b99b..94ca6f5 100644
--- a/server/site_tests/bluetooth_AdapterSAHealth/control.sa_dbus_api_tests
+++ b/server/site_tests/bluetooth_AdapterSAHealth/control.sa_dbus_api_tests
@@ -8,7 +8,7 @@
NAME = 'bluetooth_AdapterSAHealth.sa_dbus_api_tests'
PURPOSE = ('batch of Bluetooth DBus API tests')
CRITERIA = ''
-ATTRIBUTES = 'suite:bluetooth, suite:bluetooth_standalone, suite:bluetooth_standalone_cq'
+ATTRIBUTES = 'suite:bluetooth, suite:bluetooth_standalone, suite:bluetooth_standalone_cq, suite:infra_qual'
TIME = 'MEDIUM'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'bluetooth'
diff --git a/server/site_tests/bluetooth_AdapterSRHealth/bluetooth_AdapterSRHealth.py b/server/site_tests/bluetooth_AdapterSRHealth/bluetooth_AdapterSRHealth.py
index f63d41d..9183f0d 100644
--- a/server/site_tests/bluetooth_AdapterSRHealth/bluetooth_AdapterSRHealth.py
+++ b/server/site_tests/bluetooth_AdapterSRHealth/bluetooth_AdapterSRHealth.py
@@ -111,6 +111,7 @@
# Start the suspend process
suspend = self.suspend_async(suspend_time=SUSPEND_SEC)
+ start_time = self.bluetooth_facade.get_device_time()
# Trigger suspend, wait for regular resume, verify we can reconnect
# and run device specific test
@@ -118,7 +119,8 @@
sleep_timeout=SUSPEND_SEC)
self.test_wait_for_resume(boot_id,
suspend,
- resume_timeout=SUSPEND_SEC)
+ resume_timeout=SUSPEND_SEC,
+ test_start_time=start_time)
for device_type, device, device_test in devtuples:
# Only reconnect if we don't expect automatic reconnect
@@ -292,6 +294,7 @@
# Start a new suspend instance
suspend = self.suspend_async(suspend_time=sleep_time,
expect_bt_wake=should_wake)
+ start_time = self.bluetooth_facade.get_device_time()
if should_wake:
self.test_device_wake_allowed(device.address)
@@ -318,6 +321,7 @@
self.test_wait_for_resume(boot_id,
suspend,
resume_timeout=resume_time,
+ test_start_time=start_time,
resume_slack=resume_slack,
fail_on_timeout=should_wake,
fail_early_wake=not should_wake)
@@ -420,26 +424,51 @@
""" Suspend while discovering. """
device = self.devices['BLE_MOUSE'][0]
boot_id = self.host.get_boot_id()
+
+ self.test_device_set_discoverable(device, True)
+
+ # Test discovery without setting discovery filter
+ # ----------------------------------------------------------------------
suspend = self.suspend_async(suspend_time=EXPECT_NO_WAKE_SUSPEND_SEC)
+ start_time = self.bluetooth_facade.get_device_time()
# We don't pair to the peer device because we don't want it in the
# allowlist. However, we want an advertising peer in this test
# responding to the discovery requests.
- self.test_device_set_discoverable(device, True)
-
self.test_start_discovery()
- self.test_suspend_and_wait_for_sleep(
- suspend, sleep_timeout=EXPECT_NO_WAKE_SUSPEND_SEC)
+ self.test_suspend_and_wait_for_sleep(suspend,
+ sleep_timeout=SUSPEND_SEC)
# If discovery events wake us early, we will raise and suspend.exitcode
# will be non-zero
self.test_wait_for_resume(boot_id,
suspend,
- resume_timeout=EXPECT_NO_WAKE_SUSPEND_SEC)
+ resume_timeout=EXPECT_NO_WAKE_SUSPEND_SEC,
+ test_start_time=start_time)
# Discovering should restore after suspend
self.test_is_discovering()
+ self.test_stop_discovery()
+ # Test discovery with discovery filter set
+ # ----------------------------------------------------------------------
+ suspend = self.suspend_async(suspend_time=EXPECT_NO_WAKE_SUSPEND_SEC)
+ start_time = self.bluetooth_facade.get_device_time()
+
+ self.test_set_discovery_filter({'Transport': 'auto'})
+ self.test_start_discovery()
+ self.test_suspend_and_wait_for_sleep(suspend,
+ sleep_timeout=SUSPEND_SEC)
+
+ # If discovery events wake us early, we will raise and suspend.exitcode
+ # will be non-zero
+ self.test_wait_for_resume(boot_id,
+ suspend,
+ resume_timeout=EXPECT_NO_WAKE_SUSPEND_SEC,
+ test_start_time=start_time)
+
+ # Discovering should restore after suspend
+ self.test_is_discovering()
self.test_stop_discovery()
# TODO(b/150897528) - Scarlet Dru loses firmware around suspend
@@ -452,6 +481,7 @@
device = self.devices['MOUSE'][0]
boot_id = self.host.get_boot_id()
suspend = self.suspend_async(suspend_time=EXPECT_NO_WAKE_SUSPEND_SEC)
+ start_time = self.bluetooth_facade.get_device_time()
self.test_discoverable()
self.test_suspend_and_wait_for_sleep(suspend,
@@ -462,7 +492,8 @@
self.test_wait_for_resume(boot_id,
suspend,
- resume_timeout=EXPECT_NO_WAKE_SUSPEND_SEC)
+ resume_timeout=EXPECT_NO_WAKE_SUSPEND_SEC,
+ test_start_time=start_time)
# Test that we are properly discoverable again
self.test_is_discoverable()
@@ -480,6 +511,7 @@
device = self.devices['MOUSE'][0]
boot_id = self.host.get_boot_id()
suspend = self.suspend_async(suspend_time=SUSPEND_SEC)
+ start_time = self.bluetooth_facade.get_device_time()
# Pair device so we have something to do in suspend
self.assert_discover_and_pair(device)
@@ -489,7 +521,10 @@
self.test_suspend_and_wait_for_sleep(suspend,
sleep_timeout=SUSPEND_SEC)
# Suspend and resume should succeed
- self.test_wait_for_resume(boot_id, suspend, resume_timeout=SUSPEND_SEC)
+ self.test_wait_for_resume(boot_id,
+ suspend,
+ resume_timeout=SUSPEND_SEC,
+ test_start_time=start_time)
# We should be able to power it back on
self.test_power_on_adapter()
diff --git a/server/site_tests/cheets_CTS_R/cheets_CTS_R.py b/server/site_tests/cheets_CTS_R/cheets_CTS_R.py
index c3b84fa..6a39403 100644
--- a/server/site_tests/cheets_CTS_R/cheets_CTS_R.py
+++ b/server/site_tests/cheets_CTS_R/cheets_CTS_R.py
@@ -33,8 +33,8 @@
# Internal uprev for all CTS modules.
_INTERNAL_CTS = 'gs://chromeos-arc-images/cts/bundle/R/'
_CTS_LATEST_URI = {
- 'arm': _INTERNAL_CTS + 'android-cts-7006001-linux_x86-arm.zip',
- 'x86': _INTERNAL_CTS + 'android-cts-7006001-linux_x86-x86.zip',
+ 'arm': _INTERNAL_CTS + 'android-cts-7050651-linux_x86-arm.zip',
+ 'x86': _INTERNAL_CTS + 'android-cts-7050651-linux_x86-x86.zip',
}
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsMediaTestCases.video b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsMediaTestCases.video
new file mode 100644
index 0000000..0edcafa
--- /dev/null
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.arm.CtsMediaTestCases.video
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file has been automatically generated. Do not edit!
+
+AUTHOR = 'ARC++ Team'
+NAME = 'cheets_CTS_R.11_r3.arm.CtsMediaTestCases.video'
+ATTRIBUTES = 'suite:arc-cts-r'
+DEPENDENCIES = 'arc'
+JOB_RETRIES = 1
+TEST_TYPE = 'server'
+TIME = 'MEDIUM'
+MAX_RESULT_SIZE_KB = 512000
+DOC = 'Run module CtsMediaTestCases.video of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'
+
+def run_TS(machine):
+ host_list = [hosts.create_host(machine)]
+ job.run_test(
+ 'cheets_CTS_R',
+ hosts=host_list,
+ iterations=1,
+ needs_push_media=True,
+ tag='11_r3.arm.CtsMediaTestCases.video',
+ test_name='cheets_CTS_R.11_r3.arm.CtsMediaTestCases.video',
+ run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsMediaTestCases android.media.cts.AdaptivePlaybackTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeAccuracyTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeEditEncodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecoderConformanceTest', '--include-filter', 'CtsMediaTestCases android.media.cts.EncodeDecodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.ExtractDecodeEditEncodeMuxTest', '--include-filter', 'CtsMediaTestCases android.media.cts.MediaCodecPlayerTest', '--logcat-on-failure'],
+ retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
+ target_module='CtsMediaTestCases',
+ target_plan=None,
+ bundle='arm',
+ uri='LATEST',
+ use_jdk9=True,
+ timeout=36000)
+
+parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api b/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api
deleted file mode 100644
index 2a405a4..0000000
--- a/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_CTS_R.11_r3.arm.cts-system-all.api'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc'
-JOB_RETRIES = 1
-TEST_TYPE = 'server'
-TIME = 'MEDIUM'
-MAX_RESULT_SIZE_KB = 512000
-DOC = 'Run module cts-system-all.api of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_CTS_R',
- hosts=host_list,
- iterations=1,
- tag='11_r3.arm.cts-system-all.api',
- test_name='cheets_CTS_R.11_r3.arm.cts-system-all.api',
- run_template=['run', 'commandAndExit', 'cts', '--module', 'cts-system-all.api', '--logcat-on-failure'],
- retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='cts-system-all.api',
- target_plan=None,
- bundle='arm',
- uri='LATEST',
- use_jdk9=True,
- timeout=3600)
-
-parallel_simple(run_TS, machines)
diff --git "a/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api\133instant\135" "b/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api\133instant\135"
deleted file mode 100644
index 4cf3cc0..0000000
--- "a/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api\133instant\135"
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_CTS_R.11_r3.arm.cts-system-all.api[instant]'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc'
-JOB_RETRIES = 1
-TEST_TYPE = 'server'
-TIME = 'MEDIUM'
-MAX_RESULT_SIZE_KB = 512000
-DOC = 'Run module cts-system-all.api[instant] of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_CTS_R',
- hosts=host_list,
- iterations=1,
- tag='11_r3.arm.cts-system-all.api[instant]',
- test_name='cheets_CTS_R.11_r3.arm.cts-system-all.api[instant]',
- run_template=['run', 'commandAndExit', 'cts', '--module', 'cts-system-all.api[instant]', '--logcat-on-failure'],
- retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='cts-system-all.api[instant]',
- target_plan=None,
- bundle='arm',
- uri='LATEST',
- use_jdk9=True,
- timeout=3600)
-
-parallel_simple(run_TS, machines)
diff --git "a/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api\133secondary_user\135" "b/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api\133secondary_user\135"
deleted file mode 100644
index 2779b05..0000000
--- "a/server/site_tests/cheets_CTS_R/control.11_r3.arm.cts-system-all.api\133secondary_user\135"
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_CTS_R.11_r3.arm.cts-system-all.api[secondary_user]'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc'
-JOB_RETRIES = 1
-TEST_TYPE = 'server'
-TIME = 'MEDIUM'
-MAX_RESULT_SIZE_KB = 512000
-DOC = 'Run module cts-system-all.api[secondary_user] of the Android Compatibility Test Suite (CTS) using arm ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_CTS_R',
- hosts=host_list,
- iterations=1,
- tag='11_r3.arm.cts-system-all.api[secondary_user]',
- test_name='cheets_CTS_R.11_r3.arm.cts-system-all.api[secondary_user]',
- run_template=['run', 'commandAndExit', 'cts', '--module', 'cts-system-all.api[secondary_user]', '--logcat-on-failure'],
- retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='cts-system-all.api[secondary_user]',
- target_plan=None,
- bundle='arm',
- uri='LATEST',
- use_jdk9=True,
- timeout=3600)
-
-parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsMediaTestCases.video b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsMediaTestCases.video
new file mode 100644
index 0000000..ab393c3
--- /dev/null
+++ b/server/site_tests/cheets_CTS_R/control.11_r3.x86.CtsMediaTestCases.video
@@ -0,0 +1,35 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file has been automatically generated. Do not edit!
+
+AUTHOR = 'ARC++ Team'
+NAME = 'cheets_CTS_R.11_r3.x86.CtsMediaTestCases.video'
+ATTRIBUTES = 'suite:arc-cts-r'
+DEPENDENCIES = 'arc, cts_abi_x86'
+JOB_RETRIES = 1
+TEST_TYPE = 'server'
+TIME = 'MEDIUM'
+MAX_RESULT_SIZE_KB = 512000
+DOC = 'Run module CtsMediaTestCases.video of the Android Compatibility Test Suite (CTS) using x86 ABI in the ARC++ container.'
+
+def run_TS(machine):
+ host_list = [hosts.create_host(machine)]
+ job.run_test(
+ 'cheets_CTS_R',
+ hosts=host_list,
+ iterations=1,
+ needs_push_media=True,
+ tag='11_r3.x86.CtsMediaTestCases.video',
+ test_name='cheets_CTS_R.11_r3.x86.CtsMediaTestCases.video',
+ run_template=['run', 'commandAndExit', 'cts', '--include-filter', 'CtsMediaTestCases android.media.cts.AdaptivePlaybackTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeAccuracyTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecodeEditEncodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.DecoderConformanceTest', '--include-filter', 'CtsMediaTestCases android.media.cts.EncodeDecodeTest', '--include-filter', 'CtsMediaTestCases android.media.cts.ExtractDecodeEditEncodeMuxTest', '--include-filter', 'CtsMediaTestCases android.media.cts.MediaCodecPlayerTest', '--logcat-on-failure'],
+ retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
+ target_module='CtsMediaTestCases',
+ target_plan=None,
+ bundle='x86',
+ uri='LATEST',
+ use_jdk9=True,
+ timeout=36000)
+
+parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api b/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api
deleted file mode 100644
index 6f1afbc..0000000
--- a/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_CTS_R.11_r3.x86.cts-system-all.api'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc, cts_abi_x86'
-JOB_RETRIES = 1
-TEST_TYPE = 'server'
-TIME = 'MEDIUM'
-MAX_RESULT_SIZE_KB = 512000
-DOC = 'Run module cts-system-all.api of the Android Compatibility Test Suite (CTS) using x86 ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_CTS_R',
- hosts=host_list,
- iterations=1,
- tag='11_r3.x86.cts-system-all.api',
- test_name='cheets_CTS_R.11_r3.x86.cts-system-all.api',
- run_template=['run', 'commandAndExit', 'cts', '--module', 'cts-system-all.api', '--logcat-on-failure'],
- retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='cts-system-all.api',
- target_plan=None,
- bundle='x86',
- uri='LATEST',
- use_jdk9=True,
- timeout=3600)
-
-parallel_simple(run_TS, machines)
diff --git "a/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api\133instant\135" "b/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api\133instant\135"
deleted file mode 100644
index 1cc69cb..0000000
--- "a/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api\133instant\135"
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_CTS_R.11_r3.x86.cts-system-all.api[instant]'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc, cts_abi_x86'
-JOB_RETRIES = 1
-TEST_TYPE = 'server'
-TIME = 'MEDIUM'
-MAX_RESULT_SIZE_KB = 512000
-DOC = 'Run module cts-system-all.api[instant] of the Android Compatibility Test Suite (CTS) using x86 ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_CTS_R',
- hosts=host_list,
- iterations=1,
- tag='11_r3.x86.cts-system-all.api[instant]',
- test_name='cheets_CTS_R.11_r3.x86.cts-system-all.api[instant]',
- run_template=['run', 'commandAndExit', 'cts', '--module', 'cts-system-all.api[instant]', '--logcat-on-failure'],
- retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='cts-system-all.api[instant]',
- target_plan=None,
- bundle='x86',
- uri='LATEST',
- use_jdk9=True,
- timeout=3600)
-
-parallel_simple(run_TS, machines)
diff --git "a/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api\133secondary_user\135" "b/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api\133secondary_user\135"
deleted file mode 100644
index 6a78c2e..0000000
--- "a/server/site_tests/cheets_CTS_R/control.11_r3.x86.cts-system-all.api\133secondary_user\135"
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_CTS_R.11_r3.x86.cts-system-all.api[secondary_user]'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc, cts_abi_x86'
-JOB_RETRIES = 1
-TEST_TYPE = 'server'
-TIME = 'MEDIUM'
-MAX_RESULT_SIZE_KB = 512000
-DOC = 'Run module cts-system-all.api[secondary_user] of the Android Compatibility Test Suite (CTS) using x86 ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_CTS_R',
- hosts=host_list,
- iterations=1,
- tag='11_r3.x86.cts-system-all.api[secondary_user]',
- test_name='cheets_CTS_R.11_r3.x86.cts-system-all.api[secondary_user]',
- run_template=['run', 'commandAndExit', 'cts', '--module', 'cts-system-all.api[secondary_user]', '--logcat-on-failure'],
- retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='cts-system-all.api[secondary_user]',
- target_plan=None,
- bundle='x86',
- uri='LATEST',
- use_jdk9=True,
- timeout=3600)
-
-parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_CTS_R/control.tradefed-run-test b/server/site_tests/cheets_CTS_R/control.tradefed-run-test
index 617cce9..31f1556 100644
--- a/server/site_tests/cheets_CTS_R/control.tradefed-run-test
+++ b/server/site_tests/cheets_CTS_R/control.tradefed-run-test
@@ -31,7 +31,7 @@
cts_abi = 'arm'
cts_module = ''
cts_retry = 5
-cts_revision = '6896666' # TODO(kinaba): Set this default value from generator.
+cts_revision = None
cts_test = ''
cts_timeout = 600
@@ -61,7 +61,7 @@
# And we are getting ready for tradefed.
uri = ('gs://chromeos-arc-images/cts/bundle/R/android-cts-' + cts_revision +
- '-linux_x86-' + cts_abi + '.zip') if cts_revision else None
+ '-linux_x86-' + cts_abi + '.zip') if cts_revision else 'LATEST'
run_template = ['run', 'commandAndExit', 'cts',
'--include-filter', cts_module + ' ' + cts_test,
'--logcat-on-failure']
diff --git a/server/site_tests/cheets_CTS_R/notest_modules/notest_combined_modules.yaml b/server/site_tests/cheets_CTS_R/notest_modules/notest_combined_modules.yaml
index 1360184..5952f24 100644
--- a/server/site_tests/cheets_CTS_R/notest_modules/notest_combined_modules.yaml
+++ b/server/site_tests/cheets_CTS_R/notest_modules/notest_combined_modules.yaml
@@ -4,7 +4,7 @@
CtsAttentionServiceDevice: [all]
CtsCar: [all]
CtsExtendedMocking: [nativebridge]
-CtsIncrementalInstallHost: [all]
+CtsIncrementalInstallHost: [shipatN, shipatP]
CtsInit: [nativebridge]
CtsInlineMocking: [nativebridge]
CtsNfc: [all]
diff --git a/server/site_tests/cheets_CTS_R/notest_modules/notest_modules.yaml b/server/site_tests/cheets_CTS_R/notest_modules/notest_modules.yaml
index 7c4dc4c..ebeabf0 100644
--- a/server/site_tests/cheets_CTS_R/notest_modules/notest_modules.yaml
+++ b/server/site_tests/cheets_CTS_R/notest_modules/notest_modules.yaml
@@ -6,7 +6,7 @@
CtsCarHostTestCases: [all]
CtsCarTestCases: [all]
CtsExtendedMockingTestCases: [nativebridge]
-CtsIncrementalInstallHostTestCases: [all]
+CtsIncrementalInstallHostTestCases: [shipatN, shipatP]
CtsInitTestCases: [nativebridge]
CtsInlineMockingTestCases: [nativebridge]
CtsMediaBitstreamsTestCases: [all]
diff --git a/server/site_tests/cheets_GTS/control.8.0_dev.waivers b/server/site_tests/cheets_GTS/control.8.0_dev.waivers
index f3571aa..dfecbcc 100644
--- a/server/site_tests/cheets_GTS/control.8.0_dev.waivers
+++ b/server/site_tests/cheets_GTS/control.8.0_dev.waivers
@@ -28,7 +28,7 @@
target_module='gts-dev',
target_plan='waivers',
load_waivers=False,
- uri='gs://chromeos-arc-images/cts/bundle/android-gts-8-R2-P-Preview10-6924226.zip',
+ uri='gs://chromeos-arc-images/cts/bundle/android-gts-8-R3-P-Preview3-7012566.zip',
use_jdk9=True,
timeout=3600)
diff --git a/server/site_tests/cheets_GTS/control.8.0_r2.GtsAssistant b/server/site_tests/cheets_GTS/control.8.0_r2.GtsAssistant
index 9bdfd55..c93efe8 100644
--- a/server/site_tests/cheets_GTS/control.8.0_r2.GtsAssistant
+++ b/server/site_tests/cheets_GTS/control.8.0_r2.GtsAssistant
@@ -29,6 +29,9 @@
target_plan=None,
uri='gs://chromeos-arc-images/cts/bundle/android-gts-8-R2-P-6955212.zip',
use_jdk9=True,
+ # This module has a known waived abort bug (b/173331969). As long as the
+ # executed test count matches the known number, assume all tests ran.
+ executable_test_count=[1, 2, 3, 4],
timeout=1440)
parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_GTS/control.8.0_r2.all.GtsAccountsHostTestCases_-_GtsEdiHostTestCases b/server/site_tests/cheets_GTS/control.8.0_r2.all.GtsAccountsHostTestCases_-_GtsEdiHostTestCases
index 58f26ef..5cf1f90 100644
--- a/server/site_tests/cheets_GTS/control.8.0_r2.all.GtsAccountsHostTestCases_-_GtsEdiHostTestCases
+++ b/server/site_tests/cheets_GTS/control.8.0_r2.all.GtsAccountsHostTestCases_-_GtsEdiHostTestCases
@@ -30,6 +30,9 @@
target_plan=None,
uri='gs://chromeos-arc-images/cts/bundle/android-gts-8-R2-P-6955212.zip',
use_jdk9=True,
+ # This module has a known waived abort bug (b/173331969). As long as the
+ # executed test count matches the known number, assume all tests ran.
+ executable_test_count=[161, 322, 483, 644],
timeout=86400)
parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_GTS/control.GtsAssistantMicHostTestCases b/server/site_tests/cheets_GTS/control.GtsAssistantMicHostTestCases
index 817da7f..e684d2d 100644
--- a/server/site_tests/cheets_GTS/control.GtsAssistantMicHostTestCases
+++ b/server/site_tests/cheets_GTS/control.GtsAssistantMicHostTestCases
@@ -30,6 +30,6 @@
retry_manual_tests=True,
use_jdk9=True,
warn_on_test_retry=False,
- timeout=720)
+ timeout=1800)
parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_GTS/control.GtsAssistantWorkProfileHostTestCases b/server/site_tests/cheets_GTS/control.GtsAssistantWorkProfileHostTestCases
index 62c7aab..b90da3e 100644
--- a/server/site_tests/cheets_GTS/control.GtsAssistantWorkProfileHostTestCases
+++ b/server/site_tests/cheets_GTS/control.GtsAssistantWorkProfileHostTestCases
@@ -30,6 +30,9 @@
retry_manual_tests=True,
use_jdk9=True,
warn_on_test_retry=False,
+ # This module has a known waived abort bug (b/173331969). As long as the
+ # executed test count matches the known number, assume all tests ran.
+ executable_test_count=[0],
timeout=720)
parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_GTS/control.waivers b/server/site_tests/cheets_GTS/control.waivers
index 806fe91..fb96823 100644
--- a/server/site_tests/cheets_GTS/control.waivers
+++ b/server/site_tests/cheets_GTS/control.waivers
@@ -28,7 +28,7 @@
target_module='gts-dev',
target_plan='waivers',
load_waivers=False,
- uri='gs://chromeos-partner-gts/android-gts-8-R2-P-Preview10-6924226.zip',
+ uri='gs://chromeos-partner-gts/android-gts-8-R3-P-Preview3-7012566.zip',
use_jdk9=True,
warn_on_test_retry=False,
timeout=3600)
diff --git a/server/site_tests/cheets_GTS/control.waivers-collect-tests-only b/server/site_tests/cheets_GTS/control.waivers-collect-tests-only
index f3507c0..e3ee3ad 100644
--- a/server/site_tests/cheets_GTS/control.waivers-collect-tests-only
+++ b/server/site_tests/cheets_GTS/control.waivers-collect-tests-only
@@ -25,10 +25,10 @@
test_name='cheets_GTS.waivers-collect-tests-only',
run_template=['run', 'commandAndExit', 'collect-tests-only', '--subplan', 'waivers', '--ignore-business-logic-failure', '--disable-reboot'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
- target_module='gts-dev',
+ target_module='gts-dev-collect',
target_plan='waivers',
load_waivers=False,
- uri='gs://chromeos-partner-gts/android-gts-8-R2-P-Preview10-6924226.zip',
+ uri='gs://chromeos-partner-gts/android-gts-8-R3-P-Preview3-7012566.zip',
use_jdk9=True,
warn_on_test_retry=False,
timeout=1080)
diff --git a/server/site_tests/cheets_GTS/notest_modules/notest_combined_modules.yaml b/server/site_tests/cheets_GTS/notest_modules/notest_combined_modules.yaml
new file mode 100644
index 0000000..3f8e252
--- /dev/null
+++ b/server/site_tests/cheets_GTS/notest_modules/notest_combined_modules.yaml
@@ -0,0 +1,5 @@
+GtsIncident: [all]
+GtsIncrementalInstall: [all]
+GtsMemory: [all]
+GtsSample: [all]
+gts-dev: [all]
diff --git a/server/site_tests/cheets_GTS/notest_modules/notest_modules.yaml b/server/site_tests/cheets_GTS/notest_modules/notest_modules.yaml
index 9ba3d34..b9e34a2 100644
--- a/server/site_tests/cheets_GTS/notest_modules/notest_modules.yaml
+++ b/server/site_tests/cheets_GTS/notest_modules/notest_modules.yaml
@@ -1,21 +1,20 @@
GtsAccountsHostTestCases: [all]
GtsAssistantHostTestCases: [all]
GtsAudioTestCases: [all]
+GtsBootHealthHostTestCases: [all]
GtsContextHubPermissionDeviceTestCases: [all]
GtsDebugfsMountTestCases: [all]
GtsDeviceConfigTestCases: [all]
GtsDexModuleRegistrationTestCases: [all]
+GtsDozeHostSideTestCases: [all]
GtsGraphicsHostTestCases: [all]
-GtsIncident: [all]
GtsIncidentConfirmationTestCases: [all]
GtsIncidentManagerTestCases: [all]
-GtsIncrementalInstall: [all]
GtsIncrementalInstallProxyHostTestCases: [all]
GtsIncrementalInstallTestCases: [all]
GtsIncrementalInstallTriggerApp: [all]
GtsInstallerV2TestCases: [all]
GtsLensTestCases: [all]
-GtsMemory: [all]
GtsMemoryHostTestCases: [all]
GtsMemoryTestCases: [all]
GtsModuleMetadataTestCases: [all]
@@ -24,7 +23,6 @@
GtsPermissionControllerHostTestCases: [all]
GtsPlayFsiHostTestCases: [all]
GtsPlayFsiTestCases: [all]
-GtsSample: [all]
GtsSampleDeviceTestCases: [all]
GtsSampleDynamicConfigTestCases: [all]
GtsSampleHostTestCases: [all]
diff --git a/server/site_tests/cheets_GTS/subplans/waivers.xml b/server/site_tests/cheets_GTS/subplans/waivers.xml
index 012f5cc..f29acb9 100644
--- a/server/site_tests/cheets_GTS/subplans/waivers.xml
+++ b/server/site_tests/cheets_GTS/subplans/waivers.xml
@@ -6,22 +6,5 @@
is incremented. Otherwise the computation for the canonical list
of test cases is confused. See b/151779432.
-->
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testH265Adaptive" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testH265AdaptiveWithRendererDisabling" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testH265AdaptiveWithSeeking" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testH265Fixed" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testWidevineH265Adaptive" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testWidevineH265AdaptiveWithRendererDisabling" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testWidevineH265AdaptiveWithSeeking" />
- <Entry include="GtsExoPlayerTestCases com.google.android.exoplayer.gts.DashTest#testWidevineH265Fixed" />
- <Entry include="GtsLocationHostTestCases com.google.android.gts.location.LocationHostTest#testSetting" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testClearWith240P30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testClearWith360P30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testClearWith480P30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testClearWith480P30ProfileMainLevel30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testL3With240P30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testL3With360P30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testL3With480P30" />
- <Entry include="GtsMediaTestCases com.google.android.media.gts.WidevineHEVCPlaybackTests#testL3With480P30ProfileMainLevel30" />
- <Entry include="GtsNetworkWatchlistTestCases com.google.android.watchlist.gts.NetworkWatchlistTest#testNetworkWatchlistReports_visitWikipedia" />
+ <Entry include="GtsAssistantWorkProfileHostTestCases" />
</SubPlan>
diff --git a/server/site_tests/cheets_GTS_R/cheets_GTS_R.py b/server/site_tests/cheets_GTS_R/cheets_GTS_R.py
index 9e4a504..5b0dc67 100644
--- a/server/site_tests/cheets_GTS_R/cheets_GTS_R.py
+++ b/server/site_tests/cheets_GTS_R/cheets_GTS_R.py
@@ -31,7 +31,7 @@
_GTS_MEDIA_LOCALPATH = '/tmp/android-gts-media/GtsYouTubeTestCases'
# Internal uprev for all GTS modules.
-_GTS_LATEST_URI = 'gs://chromeos-arc-images/cts/bundle/android-gts-8-R2-R-6955212.zip'
+_GTS_LATEST_URI = 'gs://chromeos-arc-images/cts/bundle/android-gts-8-R3-R-Preview3-7012566.zip'
class cheets_GTS_R(tradefed_test.TradefedTest):
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAccountsHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAccountsHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAccountsHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAccountsHostTestCases
index 872721c..8b30a84 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAccountsHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAccountsHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAccountsHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAccountsHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAccountsHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsAccountsHostTestCases',
+ tag='8.0_r3.GtsAccountsHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsAccountsHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsAccountsHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAdminTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAdminTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAdminTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAdminTestCases
index 9b66293..91e63cd 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAdminTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAdminTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAdminTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAdminTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAdminTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsAdminTestCases',
+ tag='8.0_r3.GtsAdminTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsAdminTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsAdminTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAfwTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAfwTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAfwTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAfwTestCases
index 06e1d62..7bb8688 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAfwTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAfwTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAfwTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAfwTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAfwTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsAfwTestCases',
+ tag='8.0_r3.GtsAfwTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsAfwTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsAfwTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAndroidAutoDeviceTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAndroidAutoDeviceTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAndroidAutoDeviceTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAndroidAutoDeviceTestCases
index 4724d7c..6f64b75 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAndroidAutoDeviceTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAndroidAutoDeviceTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAndroidAutoDeviceTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAndroidAutoDeviceTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAndroidAutoDeviceTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsAndroidAutoDeviceTestCases',
+ tag='8.0_r3.GtsAndroidAutoDeviceTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsAndroidAutoDeviceTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsAndroidAutoDeviceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsApp b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsApp
similarity index 91%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsApp
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsApp
index daf001a..6bd7c73 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsApp
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsApp
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsApp'
+NAME = 'cheets_GTS_R.8.0_r3.GtsApp'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsApp',
- test_name='cheets_GTS_R.8.0_r2.GtsApp',
+ tag='8.0_r3.GtsApp',
+ test_name='cheets_GTS_R.8.0_r3.GtsApp',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsAppBlacklistDeviceTestCases', '--include-filter', 'GtsAppTestCases', '--include-filter', 'GtsAppVisibilityDeviceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsArtManagerHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsArtManagerHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsArtManagerHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsArtManagerHostTestCases
index 7e8e933..2d90e31 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsArtManagerHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsArtManagerHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsArtManagerHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsArtManagerHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsArtManagerHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsArtManagerHostTestCases',
+ tag='8.0_r3.GtsArtManagerHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsArtManagerHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsArtManagerHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAssistIntentTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAssistIntentTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAssistIntentTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAssistIntentTestCases
index 8503126..1d2ba3d 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAssistIntentTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAssistIntentTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAssistIntentTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAssistIntentTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAssistIntentTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsAssistIntentTestCases',
+ tag='8.0_r3.GtsAssistIntentTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsAssistIntentTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsAssistIntentTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAssistant b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAssistant
similarity index 79%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAssistant
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAssistant
index c2d24de..41d7e30 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAssistant
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAssistant
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAssistant'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAssistant'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAssistant',
- test_name='cheets_GTS_R.8.0_r2.GtsAssistant',
+ tag='8.0_r3.GtsAssistant',
+ test_name='cheets_GTS_R.8.0_r3.GtsAssistant',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsAssistantHostTestCases', '--include-filter', 'GtsAssistantMicHostTestCases', '--include-filter', 'GtsAssistantWorkProfileHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
@@ -29,9 +29,6 @@
target_plan=None,
uri='LATEST',
use_jdk9=True,
- # This module has a known waived abort bug (b/173331969). As long as the
- # executed test count matches the known number, assume all tests ran.
- executable_test_count=[2, 4],
timeout=1440)
parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAudioTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAudioTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAudioTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAudioTestCases
index 0fba198..38345f9 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsAudioTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsAudioTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsAudioTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsAudioTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsAudioTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsAudioTestCases',
+ tag='8.0_r3.GtsAudioTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsAudioTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsAudioTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsBackup b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsBackup
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsBackup
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsBackup
index 5248358..2c983bd 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsBackup
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsBackup
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsBackup'
+NAME = 'cheets_GTS_R.8.0_r3.GtsBackup'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsBackup',
- test_name='cheets_GTS_R.8.0_r2.GtsBackup',
+ tag='8.0_r3.GtsBackup',
+ test_name='cheets_GTS_R.8.0_r3.GtsBackup',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsBackupHostTestCases', '--include-filter', 'GtsBackupTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsBoot b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsBoot
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsBoot
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsBoot
index 1067760..5781db0 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsBoot
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsBoot
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsBoot'
+NAME = 'cheets_GTS_R.8.0_r3.GtsBoot'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsBoot',
- test_name='cheets_GTS_R.8.0_r2.GtsBoot',
+ tag='8.0_r3.GtsBoot',
+ test_name='cheets_GTS_R.8.0_r3.GtsBoot',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsBootHealthHostTestCases', '--include-filter', 'GtsBootStatsTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCallLogTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCallLogTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCallLogTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCallLogTestCases
index 5caca56..9946b43 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCallLogTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCallLogTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsCallLogTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsCallLogTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsCallLogTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsCallLogTestCases',
+ tag='8.0_r3.GtsCallLogTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsCallLogTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsCallLogTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCameraTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCameraTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCameraTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCameraTestCases
index 0049738..2d3ca7b 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCameraTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCameraTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsCameraTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsCameraTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsCameraTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsCameraTestCases',
+ tag='8.0_r3.GtsCameraTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsCameraTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsCameraTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCastHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCastHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCastHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCastHostTestCases
index a2665d8..32a3591 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsCastHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsCastHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsCastHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsCastHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsCastHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsCastHostTestCases',
+ tag='8.0_r3.GtsCastHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsCastHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsCastHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContacts b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContacts
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContacts
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContacts
index 2dbd995..31f3be2 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContacts
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContacts
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsContacts'
+NAME = 'cheets_GTS_R.8.0_r3.GtsContacts'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsContacts',
- test_name='cheets_GTS_R.8.0_r2.GtsContacts',
+ tag='8.0_r3.GtsContacts',
+ test_name='cheets_GTS_R.8.0_r3.GtsContacts',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsContactsAppDeviceTestCases', '--include-filter', 'GtsContactsTest', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContent b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContent
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContent
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContent
index ef6cc2c..4586acf 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContent
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContent
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsContent'
+NAME = 'cheets_GTS_R.8.0_r3.GtsContent'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsContent',
- test_name='cheets_GTS_R.8.0_r2.GtsContent',
+ tag='8.0_r3.GtsContent',
+ test_name='cheets_GTS_R.8.0_r3.GtsContent',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsContentHostTestCases', '--include-filter', 'GtsContentTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContextHubPermissionDeviceTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContextHubPermissionDeviceTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContextHubPermissionDeviceTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContextHubPermissionDeviceTestCases
index f1efc2e..4d917f0 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsContextHubPermissionDeviceTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsContextHubPermissionDeviceTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsContextHubPermissionDeviceTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsContextHubPermissionDeviceTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsContextHubPermissionDeviceTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsContextHubPermissionDeviceTestCases',
+ tag='8.0_r3.GtsContextHubPermissionDeviceTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsContextHubPermissionDeviceTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsContextHubPermissionDeviceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDebugfsMountTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDebugfsMountTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDebugfsMountTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDebugfsMountTestCases
index a827113..aa949d7 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDebugfsMountTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDebugfsMountTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsDebugfsMountTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsDebugfsMountTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsDebugfsMountTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsDebugfsMountTestCases',
+ tag='8.0_r3.GtsDebugfsMountTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsDebugfsMountTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsDebugfsMountTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDeviceConfigTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDeviceConfigTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDeviceConfigTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDeviceConfigTestCases
index d2b229b..74e9e90 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDeviceConfigTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDeviceConfigTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsDeviceConfigTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsDeviceConfigTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsDeviceConfigTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsDeviceConfigTestCases',
+ tag='8.0_r3.GtsDeviceConfigTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsDeviceConfigTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsDeviceConfigTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDexModuleRegistrationTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDexModuleRegistrationTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDexModuleRegistrationTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDexModuleRegistrationTestCases
index 479be74..a22a8a7 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDexModuleRegistrationTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDexModuleRegistrationTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsDexModuleRegistrationTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsDexModuleRegistrationTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsDexModuleRegistrationTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsDexModuleRegistrationTestCases',
+ tag='8.0_r3.GtsDexModuleRegistrationTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsDexModuleRegistrationTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsDexModuleRegistrationTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDialer b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDialer
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDialer
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDialer
index 524fe59..a769d89 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDialer
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDialer
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsDialer'
+NAME = 'cheets_GTS_R.8.0_r3.GtsDialer'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsDialer',
- test_name='cheets_GTS_R.8.0_r2.GtsDialer',
+ tag='8.0_r3.GtsDialer',
+ test_name='cheets_GTS_R.8.0_r3.GtsDialer',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsDialerAudioTestCases', '--include-filter', 'GtsDialerDeviceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDoze b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDoze
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDoze
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDoze
index c0e196d..7490fe6 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDoze
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDoze
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsDoze'
+NAME = 'cheets_GTS_R.8.0_r3.GtsDoze'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsDoze',
- test_name='cheets_GTS_R.8.0_r2.GtsDoze',
+ tag='8.0_r3.GtsDoze',
+ test_name='cheets_GTS_R.8.0_r3.GtsDoze',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsDozeDeviceTestCases', '--include-filter', 'GtsDozeHostSideTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDuoReadyTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDuoReadyTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDuoReadyTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDuoReadyTestCases
index bf69b3a..195b26b 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsDuoReadyTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsDuoReadyTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsDuoReadyTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsDuoReadyTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsDuoReadyTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsDuoReadyTestCases',
+ tag='8.0_r3.GtsDuoReadyTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsDuoReadyTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsDuoReadyTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsEdiHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsEdiHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsEdiHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsEdiHostTestCases
index fdd1d68..47cbb91 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsEdiHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsEdiHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsEdiHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsEdiHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsEdiHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsEdiHostTestCases',
+ tag='8.0_r3.GtsEdiHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsEdiHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsEdiHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsExoPlayerTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsExoPlayerTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsExoPlayerTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsExoPlayerTestCases
index 5308d58..86373dd 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsExoPlayerTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsExoPlayerTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsExoPlayerTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsExoPlayerTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsExoPlayerTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsExoPlayerTestCases',
+ tag='8.0_r3.GtsExoPlayerTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsExoPlayerTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsExoPlayerTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsFeaturesTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsFeaturesTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsFeaturesTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsFeaturesTestCases
index e47fc1d..87ec94a 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsFeaturesTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsFeaturesTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsFeaturesTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsFeaturesTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsFeaturesTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsFeaturesTestCases',
+ tag='8.0_r3.GtsFeaturesTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsFeaturesTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsFeaturesTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsGmscoreHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsGmscoreHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsGmscoreHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsGmscoreHostTestCases
index 2e78623..f724dd9 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsGmscoreHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsGmscoreHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsGmscoreHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsGmscoreHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsGmscoreHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsGmscoreHostTestCases',
+ tag='8.0_r3.GtsGmscoreHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsGmscoreHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsGmscoreHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsGraphicsHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsGraphicsHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsGraphicsHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsGraphicsHostTestCases
index 79108e7..22d112a 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsGraphicsHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsGraphicsHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsGraphicsHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsGraphicsHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsGraphicsHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsGraphicsHostTestCases',
+ tag='8.0_r3.GtsGraphicsHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsGraphicsHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsGraphicsHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsHomeHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsHomeHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsHomeHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsHomeHostTestCases
index c7f7f2e..37a107e 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsHomeHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsHomeHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsHomeHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsHomeHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsHomeHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsHomeHostTestCases',
+ tag='8.0_r3.GtsHomeHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsHomeHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsHomeHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsIncident b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsIncident
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsIncident
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsIncident
index c232506..eb340b8 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsIncident
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsIncident
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsIncident'
+NAME = 'cheets_GTS_R.8.0_r3.GtsIncident'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsIncident',
- test_name='cheets_GTS_R.8.0_r2.GtsIncident',
+ tag='8.0_r3.GtsIncident',
+ test_name='cheets_GTS_R.8.0_r3.GtsIncident',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsIncidentConfirmationTestCases', '--include-filter', 'GtsIncidentManagerTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsIncrementalInstall b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsIncrementalInstall
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsIncrementalInstall
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsIncrementalInstall
index 813622a..205249a 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsIncrementalInstall
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsIncrementalInstall
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsIncrementalInstall'
+NAME = 'cheets_GTS_R.8.0_r3.GtsIncrementalInstall'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsIncrementalInstall',
- test_name='cheets_GTS_R.8.0_r2.GtsIncrementalInstall',
+ tag='8.0_r3.GtsIncrementalInstall',
+ test_name='cheets_GTS_R.8.0_r3.GtsIncrementalInstall',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsIncrementalInstallProxyHostTestCases', '--include-filter', 'GtsIncrementalInstallTestCases', '--include-filter', 'GtsIncrementalInstallTriggerApp', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstallPackagesWhitelistDeviceTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstallPackagesWhitelistDeviceTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstallPackagesWhitelistDeviceTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstallPackagesWhitelistDeviceTestCases
index 08f6080..2df8ecd 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstallPackagesWhitelistDeviceTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstallPackagesWhitelistDeviceTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsInstallPackagesWhitelistDeviceTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsInstallPackagesWhitelistDeviceTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsInstallPackagesWhitelistDeviceTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsInstallPackagesWhitelistDeviceTestCases',
+ tag='8.0_r3.GtsInstallPackagesWhitelistDeviceTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsInstallPackagesWhitelistDeviceTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsInstallPackagesWhitelistDeviceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstallerV2TestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstallerV2TestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstallerV2TestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstallerV2TestCases
index 8807490..e621584 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstallerV2TestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstallerV2TestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsInstallerV2TestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsInstallerV2TestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsInstallerV2TestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsInstallerV2TestCases',
+ tag='8.0_r3.GtsInstallerV2TestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsInstallerV2TestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsInstallerV2TestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstantAppsHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstantAppsHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstantAppsHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstantAppsHostTestCases
index 2064361..d893dd1 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsInstantAppsHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsInstantAppsHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsInstantAppsHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsInstantAppsHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsInstantAppsHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsInstantAppsHostTestCases',
+ tag='8.0_r3.GtsInstantAppsHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsInstantAppsHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsInstantAppsHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLargeApkHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLargeApkHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLargeApkHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLargeApkHostTestCases
index 7771f73..cfb4679 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLargeApkHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLargeApkHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsLargeApkHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsLargeApkHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsLargeApkHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsLargeApkHostTestCases',
+ tag='8.0_r3.GtsLargeApkHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsLargeApkHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsLargeApkHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLensTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLensTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLensTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLensTestCases
index dad31c6..7d39706 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLensTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLensTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsLensTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsLensTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsLensTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsLensTestCases',
+ tag='8.0_r3.GtsLensTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsLensTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsLensTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLinkerConfig b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLinkerConfig
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLinkerConfig
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLinkerConfig
index 727fc66..5204c06 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLinkerConfig
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLinkerConfig
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsLinkerConfig'
+NAME = 'cheets_GTS_R.8.0_r3.GtsLinkerConfig'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsLinkerConfig',
- test_name='cheets_GTS_R.8.0_r2.GtsLinkerConfig',
+ tag='8.0_r3.GtsLinkerConfig',
+ test_name='cheets_GTS_R.8.0_r3.GtsLinkerConfig',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsLinkerConfigTestCases', '--include-filter', 'GtsLinkerConfigTestCases[secondary_user]', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLocation b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLocation
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLocation
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLocation
index e616324..f096fdb 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsLocation
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsLocation
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsLocation'
+NAME = 'cheets_GTS_R.8.0_r3.GtsLocation'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsLocation',
- test_name='cheets_GTS_R.8.0_r2.GtsLocation',
+ tag='8.0_r3.GtsLocation',
+ test_name='cheets_GTS_R.8.0_r3.GtsLocation',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsLocationHostTestCases', '--include-filter', 'GtsLocationTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsMediaTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsMediaTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsMediaTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsMediaTestCases
index f2c770d..0a106a6 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsMediaTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsMediaTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsMediaTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsMediaTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsMediaTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsMediaTestCases',
+ tag='8.0_r3.GtsMediaTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsMediaTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsMediaTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsMemory b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsMemory
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsMemory
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsMemory
index 766cd6f..5212515 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsMemory
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsMemory
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsMemory'
+NAME = 'cheets_GTS_R.8.0_r3.GtsMemory'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsMemory',
- test_name='cheets_GTS_R.8.0_r2.GtsMemory',
+ tag='8.0_r3.GtsMemory',
+ test_name='cheets_GTS_R.8.0_r3.GtsMemory',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsMemoryHostTestCases', '--include-filter', 'GtsMemoryTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsModuleMetadataTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsModuleMetadataTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsModuleMetadataTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsModuleMetadataTestCases
index f941f08..91ae017 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsModuleMetadataTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsModuleMetadataTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsModuleMetadataTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsModuleMetadataTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsModuleMetadataTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsModuleMetadataTestCases',
+ tag='8.0_r3.GtsModuleMetadataTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsModuleMetadataTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsModuleMetadataTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNet b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNet
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNet
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNet
index 6912b93..6ffff37 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNet
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNet
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsNet'
+NAME = 'cheets_GTS_R.8.0_r3.GtsNet'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsNet',
- test_name='cheets_GTS_R.8.0_r2.GtsNet',
+ tag='8.0_r3.GtsNet',
+ test_name='cheets_GTS_R.8.0_r3.GtsNet',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsNetStatsHostTestCases', '--include-filter', 'GtsNetTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNetwork b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNetwork
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNetwork
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNetwork
index c8d55ff..7cb7695 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNetwork
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNetwork
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsNetwork'
+NAME = 'cheets_GTS_R.8.0_r3.GtsNetwork'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsNetwork',
- test_name='cheets_GTS_R.8.0_r2.GtsNetwork',
+ tag='8.0_r3.GtsNetwork',
+ test_name='cheets_GTS_R.8.0_r3.GtsNetwork',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsNetworkStackHostTestCases', '--include-filter', 'GtsNetworkWatchlistTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNmgiarcTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNmgiarcTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNmgiarcTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNmgiarcTestCases
index 90a03d5..9a898bc 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNmgiarcTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNmgiarcTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsNmgiarcTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsNmgiarcTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsNmgiarcTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsNmgiarcTestCases',
+ tag='8.0_r3.GtsNmgiarcTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsNmgiarcTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsNmgiarcTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNoPermission b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNoPermission
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNoPermission
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNoPermission
index 3ade02e..02004c5 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNoPermission
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNoPermission
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsNoPermission'
+NAME = 'cheets_GTS_R.8.0_r3.GtsNoPermission'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsNoPermission',
- test_name='cheets_GTS_R.8.0_r2.GtsNoPermission',
+ tag='8.0_r3.GtsNoPermission',
+ test_name='cheets_GTS_R.8.0_r3.GtsNoPermission',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsNoPermissionTestCases', '--include-filter', 'GtsNoPermissionTestCases25', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNotificationTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNotificationTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNotificationTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNotificationTestCases
index e148336..81c78c7 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsNotificationTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsNotificationTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsNotificationTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsNotificationTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsNotificationTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsNotificationTestCases',
+ tag='8.0_r3.GtsNotificationTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsNotificationTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsNotificationTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsOemLockServiceTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsOemLockServiceTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsOemLockServiceTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsOemLockServiceTestCases
index f561fef..bdb4d51 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsOemLockServiceTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsOemLockServiceTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsOemLockServiceTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsOemLockServiceTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsOemLockServiceTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsOemLockServiceTestCases',
+ tag='8.0_r3.GtsOemLockServiceTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsOemLockServiceTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsOemLockServiceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsOsTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsOsTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsOsTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsOsTestCases
index e5bcd91..0ff1e54 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsOsTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsOsTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsOsTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsOsTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsOsTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsOsTestCases',
+ tag='8.0_r3.GtsOsTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsOsTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsOsTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPackage b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPackage
similarity index 91%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPackage
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPackage
index 61a5792..0fb7823 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPackage
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPackage
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPackage'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPackage'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPackage',
- test_name='cheets_GTS_R.8.0_r2.GtsPackage',
+ tag='8.0_r3.GtsPackage',
+ test_name='cheets_GTS_R.8.0_r3.GtsPackage',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsPackageInstallTestCases', '--include-filter', 'GtsPackageInstallerTapjackingTestCases', '--include-filter', 'GtsPackageManagerHostTestCases', '--include-filter', 'GtsPackageNameCertPairsDeviceTestCases', '--include-filter', 'GtsPackageUninstallTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPartnerBookmarksTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPartnerBookmarksTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPartnerBookmarksTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPartnerBookmarksTestCases
index 1cd09f4..91f66ac 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPartnerBookmarksTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPartnerBookmarksTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPartnerBookmarksTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPartnerBookmarksTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPartnerBookmarksTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsPartnerBookmarksTestCases',
+ tag='8.0_r3.GtsPartnerBookmarksTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsPartnerBookmarksTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsPartnerBookmarksTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPermission b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPermission
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPermission
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPermission
index ee2e596..71e80f7 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPermission
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPermission
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPermission'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPermission'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPermission',
- test_name='cheets_GTS_R.8.0_r2.GtsPermission',
+ tag='8.0_r3.GtsPermission',
+ test_name='cheets_GTS_R.8.0_r3.GtsPermission',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsPermissionControllerHostTestCases', '--include-filter', 'GtsPermissionTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPlacementTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPlacementTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPlacementTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPlacementTestCases
index 4be810c..44cb5ec 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPlacementTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPlacementTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPlacementTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPlacementTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPlacementTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsPlacementTestCases',
+ tag='8.0_r3.GtsPlacementTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsPlacementTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsPlacementTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPlay b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPlay
similarity index 91%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPlay
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPlay
index 3311601..2a5b672 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPlay
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPlay
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPlay'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPlay'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPlay',
- test_name='cheets_GTS_R.8.0_r2.GtsPlay',
+ tag='8.0_r3.GtsPlay',
+ test_name='cheets_GTS_R.8.0_r3.GtsPlay',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsPlayAutoInstallTestCases', '--include-filter', 'GtsPlayFsiHostTestCases', '--include-filter', 'GtsPlayFsiTestCases', '--include-filter', 'GtsPlayStoreHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPrintTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPrintTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPrintTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPrintTestCases
index dddcb75..2fd18c4 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPrintTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPrintTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPrintTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPrintTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPrintTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsPrintTestCases',
+ tag='8.0_r3.GtsPrintTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsPrintTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsPrintTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPrivacyTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPrivacyTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPrivacyTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPrivacyTestCases
index 1058227..a79ef8e 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPrivacyTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPrivacyTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPrivacyTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPrivacyTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPrivacyTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsPrivacyTestCases',
+ tag='8.0_r3.GtsPrivacyTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsPrivacyTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsPrivacyTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPropertiesTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPropertiesTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPropertiesTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPropertiesTestCases
index 3acc35c..9ff138e 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsPropertiesTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsPropertiesTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsPropertiesTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsPropertiesTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsPropertiesTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsPropertiesTestCases',
+ tag='8.0_r3.GtsPropertiesTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsPropertiesTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsPropertiesTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsRegulationComplianceTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsRegulationComplianceTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsRegulationComplianceTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsRegulationComplianceTestCases
index 1a2e1e9..829a539 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsRegulationComplianceTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsRegulationComplianceTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsRegulationComplianceTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsRegulationComplianceTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsRegulationComplianceTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsRegulationComplianceTestCases',
+ tag='8.0_r3.GtsRegulationComplianceTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsRegulationComplianceTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsRegulationComplianceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsRlzTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsRlzTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsRlzTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsRlzTestCases
index 42ddd46..b5c95b4 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsRlzTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsRlzTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsRlzTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsRlzTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsRlzTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsRlzTestCases',
+ tag='8.0_r3.GtsRlzTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsRlzTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsRlzTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSample b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSample
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSample
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSample
index 611d605..0f10f95 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSample
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSample
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSample'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSample'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSample',
- test_name='cheets_GTS_R.8.0_r2.GtsSample',
+ tag='8.0_r3.GtsSample',
+ test_name='cheets_GTS_R.8.0_r3.GtsSample',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsSampleDeviceTestCases', '--include-filter', 'GtsSampleDynamicConfigTestCases', '--include-filter', 'GtsSampleHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsScreenshotHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsScreenshotHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsScreenshotHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsScreenshotHostTestCases
index 3093e97..9bc9936 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsScreenshotHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsScreenshotHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsScreenshotHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsScreenshotHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsScreenshotHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsScreenshotHostTestCases',
+ tag='8.0_r3.GtsScreenshotHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsScreenshotHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsScreenshotHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSearchHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSearchHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSearchHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSearchHostTestCases
index af571f2..3151771 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSearchHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSearchHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSearchHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSearchHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSearchHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSearchHostTestCases',
+ tag='8.0_r3.GtsSearchHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSearchHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSearchHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSecurityHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSecurityHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSecurityHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSecurityHostTestCases
index acd2531..310283e 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSecurityHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSecurityHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSecurityHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSecurityHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSecurityHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSecurityHostTestCases',
+ tag='8.0_r3.GtsSecurityHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSecurityHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSecurityHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSensorHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSensorHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSensorHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSensorHostTestCases
index 8079cac..1f9a5b8 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSensorHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSensorHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSensorHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSensorHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSensorHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSensorHostTestCases',
+ tag='8.0_r3.GtsSensorHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSensorHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSensorHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSettings b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSettings
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSettings
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSettings
index da49173..0b19fb0 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSettings
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSettings
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSettings'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSettings'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSettings',
- test_name='cheets_GTS_R.8.0_r2.GtsSettings',
+ tag='8.0_r3.GtsSettings',
+ test_name='cheets_GTS_R.8.0_r3.GtsSettings',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsSettingsHostTestCases', '--include-filter', 'GtsSettingsTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSetupWizard b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSetupWizard
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSetupWizard
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSetupWizard
index f1b23f3..81e474e 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSetupWizard
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSetupWizard
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSetupWizard'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSetupWizard'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSetupWizard',
- test_name='cheets_GTS_R.8.0_r2.GtsSetupWizard',
+ tag='8.0_r3.GtsSetupWizard',
+ test_name='cheets_GTS_R.8.0_r3.GtsSetupWizard',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsSetupWizardHostTestCases', '--include-filter', 'GtsSetupWizardNoPermissionTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSimAppDialogTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSimAppDialogTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSimAppDialogTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSimAppDialogTestCases
index 9dcabe7..29c3795 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSimAppDialogTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSimAppDialogTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSimAppDialogTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSimAppDialogTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSimAppDialogTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSimAppDialogTestCases',
+ tag='8.0_r3.GtsSimAppDialogTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSimAppDialogTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSimAppDialogTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSmartBatteryDeviceTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSmartBatteryDeviceTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSmartBatteryDeviceTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSmartBatteryDeviceTestCases
index bf034bb..f0ca993 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSmartBatteryDeviceTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSmartBatteryDeviceTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSmartBatteryDeviceTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSmartBatteryDeviceTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSmartBatteryDeviceTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSmartBatteryDeviceTestCases',
+ tag='8.0_r3.GtsSmartBatteryDeviceTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSmartBatteryDeviceTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSmartBatteryDeviceTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSmsCallLogTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSmsCallLogTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSmsCallLogTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSmsCallLogTestCases
index 4b77406..9114951 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSmsCallLogTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSmsCallLogTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSmsCallLogTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSmsCallLogTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSmsCallLogTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSmsCallLogTestCases',
+ tag='8.0_r3.GtsSmsCallLogTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSmsCallLogTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSmsCallLogTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSsaidHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSsaidHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSsaidHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSsaidHostTestCases
index b0b9b26..e45a1d5 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSsaidHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSsaidHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSsaidHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSsaidHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSsaidHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSsaidHostTestCases',
+ tag='8.0_r3.GtsSsaidHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSsaidHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSsaidHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStagedInstallHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStagedInstallHostTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStagedInstallHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStagedInstallHostTestCases
index 4cd4a1b..4e2c637 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStagedInstallHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStagedInstallHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsStagedInstallHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsStagedInstallHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsStagedInstallHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsStagedInstallHostTestCases',
+ tag='8.0_r3.GtsStagedInstallHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsStagedInstallHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsStagedInstallHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStatsdHostTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStatsdHostTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStatsdHostTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStatsdHostTestCases
index fa443f4..b573025 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStatsdHostTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStatsdHostTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsStatsdHostTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsStatsdHostTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsStatsdHostTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsStatsdHostTestCases',
+ tag='8.0_r3.GtsStatsdHostTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsStatsdHostTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsStatsdHostTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStorageTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStorageTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStorageTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStorageTestCases
index 1a2f2c2..4842a08 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsStorageTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsStorageTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsStorageTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsStorageTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsStorageTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsStorageTestCases',
+ tag='8.0_r3.GtsStorageTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsStorageTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsStorageTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSupervisionTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSupervisionTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSupervisionTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSupervisionTestCases
index 8d87545..9bf5ce9 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSupervisionTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSupervisionTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSupervisionTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSupervisionTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSupervisionTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsSupervisionTestCases',
+ tag='8.0_r3.GtsSupervisionTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsSupervisionTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsSupervisionTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSuspendApps b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSuspendApps
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSuspendApps
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSuspendApps
index e0709c4..5618728 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsSuspendApps
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsSuspendApps
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsSuspendApps'
+NAME = 'cheets_GTS_R.8.0_r3.GtsSuspendApps'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsSuspendApps',
- test_name='cheets_GTS_R.8.0_r2.GtsSuspendApps',
+ tag='8.0_r3.GtsSuspendApps',
+ test_name='cheets_GTS_R.8.0_r3.GtsSuspendApps',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsSuspendAppsPermissionTestCases', '--include-filter', 'GtsSuspendAppsTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTelecomManagerTests b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTelecomManagerTests
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTelecomManagerTests
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTelecomManagerTests
index a07df0b..11d2eca 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTelecomManagerTests
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTelecomManagerTests
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsTelecomManagerTests'
+NAME = 'cheets_GTS_R.8.0_r3.GtsTelecomManagerTests'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsTelecomManagerTests',
- test_name='cheets_GTS_R.8.0_r2.GtsTelecomManagerTests',
+ tag='8.0_r3.GtsTelecomManagerTests',
+ test_name='cheets_GTS_R.8.0_r3.GtsTelecomManagerTests',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsTelecomManagerTests', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTelephony b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTelephony
similarity index 89%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTelephony
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTelephony
index 8302260..ce85f66 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTelephony
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTelephony
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsTelephony'
+NAME = 'cheets_GTS_R.8.0_r3.GtsTelephony'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsTelephony',
- test_name='cheets_GTS_R.8.0_r2.GtsTelephony',
+ tag='8.0_r3.GtsTelephony',
+ test_name='cheets_GTS_R.8.0_r3.GtsTelephony',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsTelephonyNumberVerificationHostCases', '--include-filter', 'GtsTelephonyTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTestHarnessModeTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTestHarnessModeTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTestHarnessModeTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTestHarnessModeTestCases
index 03ad773..8540681 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTestHarnessModeTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTestHarnessModeTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsTestHarnessModeTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsTestHarnessModeTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsTestHarnessModeTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsTestHarnessModeTestCases',
+ tag='8.0_r3.GtsTestHarnessModeTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsTestHarnessModeTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsTestHarnessModeTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTetheringTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTetheringTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTetheringTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTetheringTestCases
index 7a4921e..b2d30b5 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTetheringTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTetheringTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsTetheringTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsTetheringTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsTetheringTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsTetheringTestCases',
+ tag='8.0_r3.GtsTetheringTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsTetheringTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsTetheringTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTv b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTv
similarity index 91%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTv
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTv
index ee13f5e..5385333 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsTv
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsTv
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsTv'
+NAME = 'cheets_GTS_R.8.0_r3.GtsTv'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsTv',
- test_name='cheets_GTS_R.8.0_r2.GtsTv',
+ tag='8.0_r3.GtsTv',
+ test_name='cheets_GTS_R.8.0_r3.GtsTv',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsTvBugReportTestCases', '--include-filter', 'GtsTvHostTestCases', '--include-filter', 'GtsTvTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUnofficialApisUsageTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUnofficialApisUsageTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUnofficialApisUsageTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUnofficialApisUsageTestCases
index 6f1282f..c6c3fc5 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUnofficialApisUsageTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUnofficialApisUsageTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsUnofficialApisUsageTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsUnofficialApisUsageTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsUnofficialApisUsageTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsUnofficialApisUsageTestCases',
+ tag='8.0_r3.GtsUnofficialApisUsageTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsUnofficialApisUsageTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsUnofficialApisUsageTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUsageStatsTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUsageStatsTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUsageStatsTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUsageStatsTestCases
index 3ea8c6c..f471eb9 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUsageStatsTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUsageStatsTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsUsageStatsTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsUsageStatsTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsUsageStatsTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsUsageStatsTestCases',
+ tag='8.0_r3.GtsUsageStatsTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsUsageStatsTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsUsageStatsTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUserspaceRebootHostSideTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUserspaceRebootHostSideTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUserspaceRebootHostSideTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUserspaceRebootHostSideTestCases
index 7819252..f118b6c 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsUserspaceRebootHostSideTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsUserspaceRebootHostSideTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsUserspaceRebootHostSideTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsUserspaceRebootHostSideTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsUserspaceRebootHostSideTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsUserspaceRebootHostSideTestCases',
+ tag='8.0_r3.GtsUserspaceRebootHostSideTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsUserspaceRebootHostSideTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsUserspaceRebootHostSideTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsViewTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsViewTestCases
similarity index 88%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsViewTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsViewTestCases
index 789f2c1..79d7b2b 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsViewTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsViewTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsViewTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsViewTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsViewTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsViewTestCases',
+ tag='8.0_r3.GtsViewTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsViewTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsViewTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsVndkDependencyTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsVndkDependencyTestCases
similarity index 86%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsVndkDependencyTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsVndkDependencyTestCases
index 7662ca5..dcebe10 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsVndkDependencyTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsVndkDependencyTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsVndkDependencyTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsVndkDependencyTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsVndkDependencyTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsVndkDependencyTestCases',
+ tag='8.0_r3.GtsVndkDependencyTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsVndkDependencyTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsVndkDependencyTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsWebView b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsWebView
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsWebView
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsWebView
index 3d14d6c..ee1d44b 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsWebView
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsWebView
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsWebView'
+NAME = 'cheets_GTS_R.8.0_r3.GtsWebView'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsWebView',
- test_name='cheets_GTS_R.8.0_r2.GtsWebView',
+ tag='8.0_r3.GtsWebView',
+ test_name='cheets_GTS_R.8.0_r3.GtsWebView',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsWebViewHostTestCases', '--include-filter', 'GtsWebViewTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsWellbeing b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsWellbeing
similarity index 90%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsWellbeing
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsWellbeing
index 8f58949..37446818 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsWellbeing
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsWellbeing
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsWellbeing'
+NAME = 'cheets_GTS_R.8.0_r3.GtsWellbeing'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -20,8 +20,8 @@
'cheets_GTS_R',
hosts=host_list,
iterations=1,
- tag='8.0_r2.GtsWellbeing',
- test_name='cheets_GTS_R.8.0_r2.GtsWellbeing',
+ tag='8.0_r3.GtsWellbeing',
+ test_name='cheets_GTS_R.8.0_r3.GtsWellbeing',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--include-filter', 'GtsWellbeingHostTestCases', '--include-filter', 'GtsWellbeingPermissionPolicyTestCases', '--include-filter', 'GtsWellbeingTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsYouTubeTestCases b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsYouTubeTestCases
similarity index 87%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.GtsYouTubeTestCases
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.GtsYouTubeTestCases
index ed7b360..001e00b 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.GtsYouTubeTestCases
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.GtsYouTubeTestCases
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.GtsYouTubeTestCases'
+NAME = 'cheets_GTS_R.8.0_r3.GtsYouTubeTestCases'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 1
@@ -21,8 +21,8 @@
hosts=host_list,
iterations=1,
needs_push_media=True,
- tag='8.0_r2.GtsYouTubeTestCases',
- test_name='cheets_GTS_R.8.0_r2.GtsYouTubeTestCases',
+ tag='8.0_r3.GtsYouTubeTestCases',
+ test_name='cheets_GTS_R.8.0_r3.GtsYouTubeTestCases',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'gts', '--module', 'GtsYouTubeTestCases', '--ignore-business-logic-failure'],
retry_template=['run', 'commandAndExit', 'retry', '--retry', '{session_id}'],
diff --git a/server/site_tests/cheets_GTS_R/control.8.0_r2.tradefed-run-collect-tests-only-internal b/server/site_tests/cheets_GTS_R/control.8.0_r3.tradefed-run-collect-tests-only-internal
similarity index 84%
rename from server/site_tests/cheets_GTS_R/control.8.0_r2.tradefed-run-collect-tests-only-internal
rename to server/site_tests/cheets_GTS_R/control.8.0_r3.tradefed-run-collect-tests-only-internal
index c352f21..9efdc64 100644
--- a/server/site_tests/cheets_GTS_R/control.8.0_r2.tradefed-run-collect-tests-only-internal
+++ b/server/site_tests/cheets_GTS_R/control.8.0_r3.tradefed-run-collect-tests-only-internal
@@ -5,7 +5,7 @@
# This file has been automatically generated. Do not edit!
AUTHOR = 'ARC++ Team'
-NAME = 'cheets_GTS_R.8.0_r2.tradefed-run-collect-tests-only-internal'
+NAME = 'cheets_GTS_R.8.0_r3.tradefed-run-collect-tests-only-internal'
ATTRIBUTES = 'suite:arc-cts-r'
DEPENDENCIES = 'arc'
JOB_RETRIES = 0
@@ -21,8 +21,8 @@
hosts=host_list,
iterations=1,
max_retry=0,
- tag='8.0_r2.tradefed-run-collect-tests-only-internal',
- test_name='cheets_GTS_R.8.0_r2.tradefed-run-collect-tests-only-internal',
+ tag='8.0_r3.tradefed-run-collect-tests-only-internal',
+ test_name='cheets_GTS_R.8.0_r3.tradefed-run-collect-tests-only-internal',
authkey='gs://chromeos-arc-images/cts/bundle/gts-arc.json',
run_template=['run', 'commandAndExit', 'collect-tests-only', '--disable-reboot', '--module-arg', 'GtsYouTubeTestCases:skip-media-download:true'],
retry_template=None,
diff --git a/server/site_tests/cheets_GTS_R/control.tradefed-run-test b/server/site_tests/cheets_GTS_R/control.tradefed-run-test
index 741fbbcf..e214921 100644
--- a/server/site_tests/cheets_GTS_R/control.tradefed-run-test
+++ b/server/site_tests/cheets_GTS_R/control.tradefed-run-test
@@ -29,7 +29,7 @@
# Define the variables that we are going to use and set sensible defaults.
gts_module = ''
gts_retry = 5
-gts_revision = '8-R2-R-6955212' # TODO(ihf): Set this default value from generator.
+gts_revision = None
gts_test = ''
gts_timeout = 600
@@ -53,11 +53,12 @@
# Basic checks for option validity.
logging.error('Running module %s with test %s on revision %s',
gts_module, gts_test, gts_revision)
-if not gts_module or not gts_revision or not gts_test:
+if not gts_module or not gts_test:
usage_error()
# And we are getting ready for tradefed.
-uri = ('gs://chromeos-arc-images/cts/bundle/android-gts-' + gts_revision + '.zip')
+uri = ('gs://chromeos-arc-images/cts/bundle/android-gts-' + gts_revision +
+ '.zip') if gts_revision else 'LATEST'
run_template = ['run', 'commandAndExit', 'gts',
'--include-filter', gts_module + ' ' + gts_test,
'--ignore-business-logic-failure']
diff --git a/server/site_tests/cheets_GTS_R/notest_modules/notest_modules.yaml b/server/site_tests/cheets_GTS_R/notest_modules/notest_modules.yaml
index 0f7acc7..59c9c41 100644
--- a/server/site_tests/cheets_GTS_R/notest_modules/notest_modules.yaml
+++ b/server/site_tests/cheets_GTS_R/notest_modules/notest_modules.yaml
@@ -1,8 +1,10 @@
GtsAccountsHostTestCases: [all]
GtsAssistantWorkProfileHostTestCases: [all]
-GtsDebugfsMountTestCases: [all]
+GtsBootHealthHostTestCases: [all]
+GtsDebugfsMountTestCases: [shipatN, shipatP]
GtsDexModuleRegistrationTestCases: [all]
-GtsGraphicsHostTestCases: [all]
+GtsDozeHostSideTestCases: [all]
+GtsGraphicsHostTestCases: [shipatN, shipatP]
GtsIncrementalInstallProxyHostTestCases: [all]
GtsIncrementalInstallTestCases: [all]
GtsIncrementalInstallTriggerApp: [all]
@@ -10,6 +12,7 @@
GtsLensTestCases: [all]
GtsMemoryHostTestCases: [all]
GtsMemoryTestCases: [all]
+GtsModuleMetadataTestCases: [all]
GtsNoPermissionTestCases: [all]
GtsNoPermissionTestCases25: [all]
GtsOemLockServiceTestCases: [all]
diff --git a/server/site_tests/cheets_VTS_R/control.11_r1.arm.tradefed-run-collect-tests-only-internal b/server/site_tests/cheets_VTS_R/control.11_r1.arm.tradefed-run-collect-tests-only-internal
deleted file mode 100644
index d2fea54..0000000
--- a/server/site_tests/cheets_VTS_R/control.11_r1.arm.tradefed-run-collect-tests-only-internal
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_VTS_R.11_r1.arm.tradefed-run-collect-tests-only-internal'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc, cts_abi_arm'
-JOB_RETRIES = 0
-TEST_TYPE = 'server'
-TIME = 'LENGTHY'
-MAX_RESULT_SIZE_KB = 1024000
-DOC = 'Run all of the Vendor Test Suite (VTS) using arm ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_VTS_R',
- hosts=host_list,
- iterations=1,
- max_retry=0,
- tag='11_r1.arm.tradefed-run-collect-tests-only-internal',
- test_name='cheets_VTS_R.11_r1.arm.tradefed-run-collect-tests-only-internal',
- run_template=['run', 'commandAndExit', 'collect-tests-only', '--disable-reboot'],
- retry_template=None,
- target_module=None,
- target_plan=None,
- bundle='arm',
- use_jdk9=True,
- timeout=7200)
-
-parallel_simple(run_TS, machines)
diff --git a/server/site_tests/cheets_VTS_R/control.11_r1.x86.tradefed-run-collect-tests-only-internal b/server/site_tests/cheets_VTS_R/control.11_r1.x86.tradefed-run-collect-tests-only-internal
deleted file mode 100644
index bfdd61f..0000000
--- a/server/site_tests/cheets_VTS_R/control.11_r1.x86.tradefed-run-collect-tests-only-internal
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file has been automatically generated. Do not edit!
-
-AUTHOR = 'ARC++ Team'
-NAME = 'cheets_VTS_R.11_r1.x86.tradefed-run-collect-tests-only-internal'
-ATTRIBUTES = 'suite:arc-cts-r'
-DEPENDENCIES = 'arc, cts_abi_x86'
-JOB_RETRIES = 0
-TEST_TYPE = 'server'
-TIME = 'LENGTHY'
-MAX_RESULT_SIZE_KB = 1024000
-DOC = 'Run all of the Vendor Test Suite (VTS) using x86 ABI in the ARC++ container.'
-
-def run_TS(machine):
- host_list = [hosts.create_host(machine)]
- job.run_test(
- 'cheets_VTS_R',
- hosts=host_list,
- iterations=1,
- max_retry=0,
- tag='11_r1.x86.tradefed-run-collect-tests-only-internal',
- test_name='cheets_VTS_R.11_r1.x86.tradefed-run-collect-tests-only-internal',
- run_template=['run', 'commandAndExit', 'collect-tests-only', '--disable-reboot'],
- retry_template=None,
- target_module=None,
- target_plan=None,
- bundle='x86',
- use_jdk9=True,
- timeout=7200)
-
-parallel_simple(run_TS, machines)
diff --git a/server/site_tests/firmware_Cr50CCDServoCap/control b/server/site_tests/firmware_Cr50CCDServoCap/control
index 597403f..157a820 100644
--- a/server/site_tests/firmware_Cr50CCDServoCap/control
+++ b/server/site_tests/firmware_Cr50CCDServoCap/control
@@ -7,7 +7,7 @@
AUTHOR = "mruthven"
NAME = "firmware_Cr50CCDServoCap"
PURPOSE = "Verify uart control"
-ATTRIBUTES = "suite:faft_cr50_pvt, suite:faft_cr50_prepvt"
+ATTRIBUTES = "suite:faft_cr50_pvt, suite:faft_cr50_prepvt, suite:infra_qual"
TIME = "SHORT"
TEST_TYPE = "server"
DEPENDENCIES = "servo_state:WORKING"
diff --git a/server/site_tests/firmware_Cr50DeepSleepStress/firmware_Cr50DeepSleepStress.py b/server/site_tests/firmware_Cr50DeepSleepStress/firmware_Cr50DeepSleepStress.py
index 0dc11ca..4090395 100644
--- a/server/site_tests/firmware_Cr50DeepSleepStress/firmware_Cr50DeepSleepStress.py
+++ b/server/site_tests/firmware_Cr50DeepSleepStress/firmware_Cr50DeepSleepStress.py
@@ -113,8 +113,13 @@
errors = []
for i in range(suspend_count):
+ if not self._dut_is_responsive():
+ raise error.TestFail('Unable to ssh into DUT after %d resets' %
+ i)
+ self.host.run('ls /dev/tpm0')
# Power off the device
- self.host.power_off_via_servo()
+ self.set_ap_off_power_mode('shutdown')
+
time.sleep(self.MIN_SUSPEND)
# Power on the device
diff --git a/server/site_tests/firmware_Cr50VirtualNVRamServer/firmware_Cr50VirtualNVRamServer.py b/server/site_tests/firmware_Cr50VirtualNVRamServer/firmware_Cr50VirtualNVRamServer.py
index 6d8895f..d8c462a 100644
--- a/server/site_tests/firmware_Cr50VirtualNVRamServer/firmware_Cr50VirtualNVRamServer.py
+++ b/server/site_tests/firmware_Cr50VirtualNVRamServer/firmware_Cr50VirtualNVRamServer.py
@@ -21,10 +21,10 @@
# Skip the test if the TPM is unavailable.
tpm_status = tpm_utils.TPMStatus(self.client)
- if 'Enabled' not in tpm_status:
+ if 'is_enabled' not in tpm_status:
raise error.TestError('Error obtaining TPM enabled state. Status '
'returned by cryptohome: ' + str(tpm_status))
- if not tpm_status['Enabled']:
+ if not tpm_status['is_enabled']:
raise error.TestNAError("TPM is not enabled")
# Clear the TPM, so that the client test is able to obtain the TPM owner
diff --git a/server/site_tests/firmware_CsmeFwUpdate/control b/server/site_tests/firmware_CsmeFwUpdate/control
new file mode 100644
index 0000000..360989a
--- /dev/null
+++ b/server/site_tests/firmware_CsmeFwUpdate/control
@@ -0,0 +1,26 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+from autotest_lib.server import utils
+
+NAME = "firmware_CsmeFwUpdate"
+AUTHOR = "Chrome OS Team"
+SUITE = "suite:faft_bios"
+TIME = "SHORT"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = "platform"
+TEST_TYPE = "server"
+JOB_RETRIES = 0
+TEST_CASE_ID = "CSME_UPDATE"
+DOC = """
+This test updates the RW section of the current bios with another image which contain
+a differnt ME RW version and verifies if MW firmware udpate happens successfully.
+This is applicable only for systems supporting Intel CSE Lite
+"""
+args_dict = utils.args_to_dict(args)
+servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
+def run(machine):
+ host = hosts.create_host(machine, servo_args=servo_args)
+ job.run_test("firmware_CsmeFwUpdate", host=host, cmdline_args=args, dev_mode = False)
+parallel_simple(run, machines)
+
diff --git a/server/site_tests/firmware_CsmeFwUpdate/control.dev b/server/site_tests/firmware_CsmeFwUpdate/control.dev
new file mode 100644
index 0000000..d49e190
--- /dev/null
+++ b/server/site_tests/firmware_CsmeFwUpdate/control.dev
@@ -0,0 +1,26 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+from autotest_lib.server import utils
+
+NAME = "firmware_CsmeFwUpdate"
+AUTHOR = "Chrome OS Team"
+SUITE = "suite:faft_bios"
+TIME = "SHORT"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = "platform"
+TEST_TYPE = "server"
+JOB_RETRIES = 0
+TEST_CASE_ID = "CSME_UPDATE"
+DOC = """
+This test updates the RW section of the current bios with another image which contain
+a differnt ME RW version and verifies if MW firmware udpate happens successfully.
+This is applicable only for systems supporting Intel CSE Lite
+"""
+args_dict = utils.args_to_dict(args)
+servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
+def run(machine):
+ host = hosts.create_host(machine, servo_args=servo_args)
+ job.run_test("firmware_CsmeFwUpdate", host=host, cmdline_args=args, dev_mode = True)
+parallel_simple(run, machines)
+
diff --git a/server/site_tests/firmware_CsmeFwUpdate/firmware_CsmeFwUpdate.py b/server/site_tests/firmware_CsmeFwUpdate/firmware_CsmeFwUpdate.py
new file mode 100644
index 0000000..a2a3fc3
--- /dev/null
+++ b/server/site_tests/firmware_CsmeFwUpdate/firmware_CsmeFwUpdate.py
@@ -0,0 +1,422 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import logging, re
+import os
+import xmlrpclib
+
+from autotest_lib.client.common_lib import error
+from autotest_lib.client.common_lib import utils
+from autotest_lib.server.cros.faft.firmware_test import FirmwareTest
+
+
+class firmware_CsmeFwUpdate(FirmwareTest):
+ """
+ This tests csme rw firmware update feature by changing the me_rw
+ image in firmware main regions with a different version
+
+ Accepted --args names:
+ old_bios = specify this argument to use a different bios
+ than shellball default for downgrade
+
+ """
+ version = 1
+ ORIGINAL_BIOS = "/usr/local/tmp/bios_original.bin"
+ DOWNGRADE_BIOS = "/usr/local/tmp/bios_downgrade.bin"
+ # Region to use for flashrom wp-region commands
+ WP_REGION = 'WP_RO'
+ MODE = 'recovery'
+
+ def initialize(self, host, cmdline_args, dev_mode = False):
+ # Parse arguments from command line
+ dict_args = utils.args_to_dict(cmdline_args)
+ super(firmware_CsmeFwUpdate, self).initialize(host, cmdline_args)
+
+ self.bios_input = None
+ self.restore_required = False
+ self.downgrade_bios = None
+ self.spi_bios = None
+ self._orig_sw_wp = None
+ self._original_hw_wp = None
+ arg_name = "old_bios"
+ arg_value = dict_args.get(arg_name)
+ if arg_value:
+ logging.info('%s=%s', arg_name, arg_value)
+ image_path = os.path.expanduser(arg_value)
+ if not os.path.isfile(image_path):
+ raise error.TestError(
+ "Specified file does not exist: %s=%s"
+ % (arg_name, image_path))
+ self.bios_input = image_path
+ else:
+ logging.info("No bios specified. Using default " \
+ "shellball bios for downgrade")
+
+ self.backup_firmware()
+ self.switcher.setup_mode('dev' if dev_mode else 'normal')
+
+ # Save write protect configuration and enable it
+ logging.info("Enabling Write protection")
+ self._orig_sw_wp = self.faft_client.bios.get_write_protect_status()
+ self._original_hw_wp = 'on' in self.servo.get('fw_wp_state')
+ self.set_ap_write_protect_and_reboot(False)
+ self.faft_client.bios.set_write_protect_region(self.WP_REGION, True)
+ self.set_ap_write_protect_and_reboot(True)
+
+ # Make sure that the shellball is retained over subsequent power cycles
+ self.blocking_sync()
+
+ def cleanup(self):
+ """
+ Flash the backed up firmware at the end of test
+
+ """
+ self.faft_client.system.remove_file(self.ORIGINAL_BIOS)
+ self.faft_client.system.remove_file(self.DOWNGRADE_BIOS)
+ self.set_ap_write_protect_and_reboot(False)
+
+ try:
+ if self.is_firmware_saved() and self.restore_required:
+ logging.info("Restoring Original Image")
+ self.restore_firmware()
+ except (EnvironmentError, xmlrpclib.Fault,
+ error.AutoservError, error.TestBaseException):
+ logging.error("Problem restoring firmware:", exc_info=True)
+
+ try:
+ # Restore the old write-protection value at the end of the test.
+ logging.info("Restoring write protection configuration")
+ if self._orig_sw_wp:
+ self.faft_client.bios.set_write_protect_range(
+ self._orig_sw_wp['start'],
+ self._orig_sw_wp['length'],
+ self._orig_sw_wp['enabled'])
+ except (EnvironmentError, xmlrpclib.Fault,
+ error.AutoservError, error.TestBaseException):
+ logging.error("Problem restoring software write-protect:",
+ exc_info = True)
+
+ if self._original_hw_wp is not None:
+ self.set_ap_write_protect_and_reboot(self._original_hw_wp)
+
+ self.switcher.mode_aware_reboot(reboot_type = 'cold')
+ super(firmware_CsmeFwUpdate, self).cleanup()
+
+ def read_current_bios_and_save(self):
+ """
+ Dumps current bios from spi to two file.(working copy and backup)
+
+ @returns the working copy file path
+
+ """
+ # Dump the current spi bios to file
+ self.spi_bios = self.ORIGINAL_BIOS
+ logging.info("Copying current bios image to %s for upgrade " \
+ "test" % self.spi_bios)
+ self.faft_client.bios.dump_whole(self.spi_bios)
+
+ # Get the downgrade bios image from user or from shellball
+ self.downgrade_bios = self.DOWNGRADE_BIOS
+ if self.bios_input:
+ logging.info("Copying user given bios image to %s for downgrade " \
+ "test" % self.downgrade_bios)
+ self._client.send_file(self.bios_input, self.downgrade_bios)
+ else:
+ logging.info("Copying bios image from update shellball to %s " \
+ "for downgrade test" % self.downgrade_bios)
+ self.faft_client.updater.extract_shellball()
+ cbfs_work_dir = self.faft_client.updater.cbfs_setup_work_dir()
+ shellball_bios = os.path.join(cbfs_work_dir,
+ self.faft_client.updater.get_bios_relative_path())
+ command = "cp %s %s" % (shellball_bios, self.downgrade_bios)
+ self.faft_client.system.run_shell_command(command)
+
+ def check_fmap_format(self, image_path):
+ """
+ Checks FMAP format used by the Image for CSME update
+
+ @param image_path: path of the image
+ @returns the fmap format string
+
+ """
+ # Check if ME_RW_A is present in the image
+ logging.info("Checking if seperate CBFS is used for CSE RW in " \
+ "image : %s" % image_path)
+ command = "futility dump_fmap -F %s | grep ME_RW_A" % image_path
+ output = self.faft_client.system.run_shell_command_get_output(
+ command, True)
+ if output:
+ logging.info("Image uses seperate CBFS for CSE RW")
+ return "CSE_RW_SEPARATE_CBFS"
+ else:
+ return "DEFAULT"
+
+ def check_if_me_blob_exist_in_image(self, image_path):
+ """
+ Checks if me_blob exists in FW MAIN section of an image
+
+ @param image_path: path of the image
+ @returns True if present else False
+
+ """
+ # Check if me_rw.metadata present FW_MAIN region
+ logging.info("Checking if me_rw.metadata file " \
+ "present in image : %s" % image_path )
+ command = "cbfstool %s print -r FW_MAIN_A " \
+ "| grep me_rw.metadata" % image_path
+ output = self.faft_client.system.run_shell_command_get_output(
+ command, True)
+ if output:
+ available = True
+ logging.info("me_rw.metadata present in image")
+ else:
+ available = False
+ logging.info("me_rw.metadata not present in image")
+
+ return available
+
+ def extract_me_rw_version_from_bin(self, me_blob, version_offset = 0):
+ """
+ Extract me_rw version from given me_rw blob. Version is first 8
+ bytes in the blob
+
+ @param me_blob: me_rw blob (old fmap) or me_rw_metadata blob
+ @param version_offset: version filed offset in the blob
+ @returns the CSME RW version string
+
+ """
+ ver_res = ""
+ logging.info("Extracting version field from ME blob")
+ command = ("hexdump -n 8 -s %s %s | cut -c 9- |sed 's/ //g' |" \
+ "sed 's/.\{4\}/&./g;s/ $//' | head -c19" % ( \
+ str(int(version_offset)), me_blob))
+ output = self.faft_client.system.run_shell_command_get_output(
+ command, True)
+ for each_word in output[0].split("."):
+ version = (int(each_word, 16))
+ ver_res = "".join((ver_res, "".join((str(version),"."))))
+ ver_res = ver_res[:-1]
+ logging.info("Version : %s" % ver_res)
+ return ver_res
+
+ def get_image_fwmain_me_rw_version(self,
+ bios,
+ region = "FW_MAIN_A"):
+ """
+ Extract CSME RW version of the me_rw blob of the given
+ region in the given bios
+
+ @param bios: Bios path
+ @param region: region which contains me_rw blob
+ @returns the CSME RW version string
+
+ """
+ # Extract me_rw.metadata and check version.
+ cbfs_name = "me_rw.metadata"
+ temp_dir = self.faft_client.system.create_temp_dir()
+ me_blob = os.path.join(temp_dir, cbfs_name)
+
+ cmd_status = self.faft_client.updater.cbfs_extract(cbfs_name,
+ '',(region, ),
+ me_blob,'x86',bios)
+
+ if cmd_status is None:
+ self.faft_client.system.remove_dir(temp_dir)
+ raise error.TestError("Failed to extract ME blob from " \
+ "the given bios : %s" % bios)
+
+ version = self.extract_me_rw_version_from_bin(me_blob)
+ self.faft_client.system.remove_dir(temp_dir)
+ return version
+
+ def get_current_me_rw_version(self):
+ """
+ Reads the current active CSME RW Version from coreboot logs
+
+ @returns the CSME RW version string
+
+ """
+ logging.info("Extracting cselite version info from coreboot logs")
+ command = "cbmem -1 | grep 'cse_lite:'"
+ output = self.faft_client.system.run_shell_command_get_output(
+ command, True)
+ logging.info(output)
+ # Offset of rw portion in ME region
+ me_cse_rw_info = re.search(r"(cse_lite: RW version = )" \
+ "([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)","".join(output))
+
+ if me_cse_rw_info:
+ me_version = me_cse_rw_info.group(2)
+ else:
+ raise error.TestError("cse_lite RW info not"
+ " found in coreboot logs!")
+ return me_version
+
+ def verify_me_version(self, expected_version, expected_slot):
+ """
+ Reads the current active CSME RW Version from coreboot logs
+ and compares with expected version
+
+ @param expected_version: Expected CSME RW Version string
+ @returns True is matching else False
+
+ """
+ me_version = self.get_current_me_rw_version()
+ command = "crossystem mainfw_act"
+ output = self.faft_client.system.run_shell_command_get_output(
+ command, True)
+ main_fw_act = output[0]
+
+ logging.info("Expected mainfw_act : %s\n" \
+ "Current mainfw_act : %s\n" \
+ "Expected ME RW Version : %s\n" \
+ "Current ME RW Version : %s\n" % (
+ expected_slot, main_fw_act,
+ expected_version, me_version))
+
+ if (expected_version not in me_version) or \
+ (expected_slot not in main_fw_act):
+ return False
+ else:
+ return True
+
+ def prepare_shellball(self, bios_image, append = None):
+ """Prepare a shellball with the given bios image.
+
+ @param bios_image: bios image with shellball to be created
+ @param append: string to be updated with shellball name
+ """
+ logging.info("Preparing shellball with %s" % bios_image)
+ self.faft_client.updater.reset_shellball()
+ # Copy the given bois to shellball
+ extract_dir = self.faft_client.updater.get_work_path()
+ bios_rel = self.faft_client.updater.get_bios_relative_path()
+ bios_shell = os.path.join(extract_dir, bios_rel)
+ command = "cp %s %s" % (bios_image, bios_shell)
+ output = self.faft_client.system.run_shell_command_get_output(
+ command, True)
+ if output:
+ raise error.TestError("File not found!: %s" % bios_image)
+ # Reload and repack the shellball
+ self.faft_client.updater.reload_images()
+ self.faft_client.updater.repack_shellball(append)
+
+ def run_shellball(self, append):
+ """Run chromeos-firmwareupdate
+
+ @param append: additional piece to add to shellball name
+ """
+
+ # make sure we restore firmware after the test, if it tried to flash.
+ self.restore_required = True
+
+ # Update only host firmware
+ options = ['--host_only', '--wp=1']
+ logging.info("Updating RW firmware using " \
+ "chromeos_firmwareupdate")
+ logging.info("Update command : chromeos_firmwareupdate-%s --mode=%s "
+ " %s" % (append,self.MODE,' '.join(options)))
+ result = self.run_chromeos_firmwareupdate(
+ self.MODE, append, options, ignore_status = True)
+
+ if result.exit_status == 255:
+ raise error.TestError("DUT network dropped during update.")
+ elif result.exit_status != 0:
+ if ('Good. It seems nothing was changed.' in result.stdout):
+ logging.info("DUT already matched the image; updater aborted.")
+ else:
+ raise error.TestError("Firmware updater unexpectedly" \
+ "failed (rc=%s)" % result.exit_status)
+
+ def run_once(self):
+ if not self.faft_config.intel_cse_lite:
+ raise error.TestNAError("CSELite feature not supported " \
+ "on this device. Test Skipped")
+
+ # Read current bios from SPI and create a backup copy
+ self.read_current_bios_and_save()
+
+ # Check fmap scheme of the bios read from SPI
+ spi_bios_fmap_ver = self.check_fmap_format(self.spi_bios)
+
+ if not self.check_if_me_blob_exist_in_image(self.spi_bios):
+ raise error.TestError("Test setup issue : me_rw blob is not " \
+ "present in the current bios.!")
+
+ # Check fmap scheme of the default bios in shellball
+ downgrade_bios_fmap = self.check_fmap_format(self.downgrade_bios)
+
+ # Check if me_rw blob is present in FW_MAIN
+ if not self.check_if_me_blob_exist_in_image(self.downgrade_bios):
+ raise error.TestError("Test setup issue : me_rw blob is not " \
+ "present in downgrade bios.")
+
+ # Check if both of the bios versions use same fmap structure for me_rw
+ if downgrade_bios_fmap not in spi_bios_fmap_ver:
+ raise error.TestError("Test setup issue : FMAP format is " \
+ "different in current and downgrade bios.")
+
+ # Get the version of me_rw in the downgrade bios
+ downgrade_me_version = self.get_image_fwmain_me_rw_version( \
+ self.downgrade_bios)
+
+ # Get the version of me_rw in the spi bios
+ spi_me_version = self.get_image_fwmain_me_rw_version(self.spi_bios)
+
+ # Get active CSME RW version from cbmem -1
+ active_csme_rw_version = self.get_current_me_rw_version()
+
+ logging.info("Active CSME RW Version : %s\n" \
+ "FW main CSME RW Version SPI Image : %s\n" \
+ "FW main CSME RW Version downgrade Image: %s\n" % (
+ active_csme_rw_version, spi_me_version,
+ downgrade_me_version ))
+
+ # Abort if downgrade me_rw version is same as spi me_rw version
+ if (spi_me_version in downgrade_me_version):
+ raise error.TestError("Test setup issue : CSME RW version is " \
+ "same in both of the images.")
+
+ for slot in ["A", "B"]:
+ operation = "downgrade"
+ # Create a shellball with downgrade bios
+ self.prepare_shellball(self.downgrade_bios, operation)
+
+ logging.info("Downgrading RW section. Downgrade ME " \
+ "Version: %s" % downgrade_me_version)
+ # Run firmware updater downgrade the bios RW
+ self.run_shellball(operation)
+
+ # Set fw_try_next to slot and reboot to trigger csme update
+ logging.info("Setting fw_try_next to %s: " % slot)
+ self.faft_client.system.set_fw_try_next(slot)
+ self.switcher.mode_aware_reboot(reboot_type = 'cold')
+
+ # Check if the Active CSME RW version changed to downgrade version
+ if not self.verify_me_version(downgrade_me_version, slot):
+ raise error.TestError("CSME RW Downgrade using "
+ "FW_MAIN_%s is Failed!" % slot)
+ logging.info("CSME RW Downgrade using FW_MAIN_%s is "
+ "successful" % slot)
+
+ operation = "upgrade"
+ # Create a shellball with the original spi bios
+ self.prepare_shellball(self.spi_bios, operation)
+
+ logging.info("Upgrading RW Section. Upgrade ME " \
+ "Version: %s" % spi_me_version)
+ # Run firmware updater and update RW section with shellball
+ self.run_shellball(operation)
+
+ # Set fw_try_next to slot and reboot to trigger csme update
+ logging.info("Setting fw_try_next to %s: " % slot)
+ self.faft_client.system.set_fw_try_next(slot)
+ self.switcher.mode_aware_reboot(reboot_type = 'cold')
+
+ # Check if the Active CSME RW version changed to original version
+ if not self.verify_me_version(spi_me_version, slot):
+ raise error.TestError("CSME RW Upgrade using "
+ "FW_MAIN_%s is Failed!" % slot)
+ logging.info("CSME RW Upgrade using FW_MAIN_%s is "
+ "successful" % slot)
diff --git a/server/site_tests/firmware_ECPeci/control b/server/site_tests/firmware_ECPeci/control
deleted file mode 100644
index b640c21..0000000
--- a/server/site_tests/firmware_ECPeci/control
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from autotest_lib.server import utils
-
-AUTHOR = "Chrome OS Team"
-NAME = "firmware_ECPeci"
-PURPOSE = "Servo based EC PECI test"
-CRITERIA = "This test will fail if EC PECI misbehalved."
-ATTRIBUTES = "suite:faft_ec, suite:faft_ec_fw_qual, suite:faft_ec3po, suite:faft_ec_tot"
-TIME = "SHORT"
-TEST_CATEGORY = "Functional"
-TEST_CLASS = "firmware"
-TEST_TYPE = "server"
-DEPENDENCIES = "ec:cros, servo_state:WORKING"
-JOB_RETRIES = 4
-
-DOC = """
-This is a stress test for EC PECI. We keep polling CPU temperature through
-PECI and check there should be no error.
-"""
-
-args_dict = utils.args_to_dict(args)
-servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
-
-def run_ecpeci(machine):
- host = hosts.create_host(machine, servo_args=servo_args)
- job.run_test("firmware_ECPeci", host=host, cmdline_args=args,
- disable_sysinfo=True)
-
-parallel_simple(run_ecpeci, machines)
diff --git a/server/site_tests/firmware_ECPeci/firmware_ECPeci.py b/server/site_tests/firmware_ECPeci/firmware_ECPeci.py
deleted file mode 100644
index 4202db1..0000000
--- a/server/site_tests/firmware_ECPeci/firmware_ECPeci.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import logging
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.server.cros.faft.firmware_test import FirmwareTest
-
-
-class firmware_ECPeci(FirmwareTest):
- """
- Servo based EC PECI test.
- """
- version = 1
-
- # Repeat read count
- READ_COUNT = 200
-
- def initialize(self, host, cmdline_args):
- super(firmware_ECPeci, self).initialize(host, cmdline_args)
- # Don't bother if there is no Chrome EC.
- if not self.check_ec_capability(['peci']):
- raise error.TestNAError("Nothing needs to be tested on this device")
- self.ec.send_command("chan 0")
-
- def cleanup(self):
- try:
- self.ec.send_command("chan 0xffffffff")
- except Exception as e:
- logging.error("Caught exception: %s", str(e))
- super(firmware_ECPeci, self).cleanup()
-
- def _check_read(self):
- """Read CPU temperature through PECI.
-
- Raises:
- error.TestFail: Raised when read fails.
- """
- t = int(self.ec.send_command_get_output("pecitemp",
- ["CPU temp = (\d+) K"])[0][1])
- if t < 273 or t > 400:
- raise error.TestFail("Abnormal CPU temperature %d K" % t)
-
- def run_once(self):
- """Execute the main body of the test.
- """
- if not self.check_ec_capability(['peci']):
- raise error.TestNAError("Nothing needs to be tested on this device")
- logging.info("Reading PECI CPU temperature for %d times.",
- self.READ_COUNT)
- for _ in xrange(self.READ_COUNT):
- self._check_read()
diff --git a/server/site_tests/firmware_ECWakeSource/firmware_ECWakeSource.py b/server/site_tests/firmware_ECWakeSource/firmware_ECWakeSource.py
index 145e312..28f0307 100644
--- a/server/site_tests/firmware_ECWakeSource/firmware_ECWakeSource.py
+++ b/server/site_tests/firmware_ECWakeSource/firmware_ECWakeSource.py
@@ -44,7 +44,11 @@
"""Shutdown to G3/S5, hibernate EC, and then wake by power button."""
is_ac = host.is_ac_connected()
self.run_shutdown_cmd()
- self.ec.send_command('hibernate 1000')
+ if not self.wait_power_state(self.POWER_STATE_G3,
+ self.POWER_STATE_RETRY_COUNT):
+ raise error.TestFail('Platform failed to reach G3 state.')
+
+ self.ec.send_command('hibernate')
time.sleep(self.WAKE_DELAY)
# If AC is plugged during the test, the DUT would wake up right after
diff --git a/server/site_tests/firmware_FAFTSetup/control b/server/site_tests/firmware_FAFTSetup/control
index e958a9e..d9aff05 100644
--- a/server/site_tests/firmware_FAFTSetup/control
+++ b/server/site_tests/firmware_FAFTSetup/control
@@ -8,7 +8,7 @@
NAME = "firmware_FAFTSetup"
PURPOSE = "Servo based diagnose of FAFT hardware setup"
CRITERIA = "This test will fail if FAFT hardware is not set up correctly."
-ATTRIBUTES = "suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual, suite:faft_lab, suite:faft_lv2, suite:faft_normal, suite:faft_bios_ec3po, suite:faft_bios_tot, suite:faft_setup, suite:bvt-faft, suite:labqual"
+ATTRIBUTES = "suite:faft_bios, suite:faft_bios_ro_qual, suite:faft_bios_rw_qual, suite:faft_lab, suite:faft_lv2, suite:faft_normal, suite:faft_bios_ec3po, suite:faft_bios_tot, suite:faft_setup, suite:bvt-faft, suite:labqual, suite:infra_qual"
DEPENDENCIES = "servo_state:WORKING"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
diff --git a/server/site_tests/firmware_FMap/firmware_FMap.py b/server/site_tests/firmware_FMap/firmware_FMap.py
index b7d8024..7f14f82 100644
--- a/server/site_tests/firmware_FMap/firmware_FMap.py
+++ b/server/site_tests/firmware_FMap/firmware_FMap.py
@@ -39,6 +39,14 @@
'RW_VPD': {},
}
+INTEL_CSE_RW_A = {
+ 'ME_RW_A': {},
+}
+
+INTEL_CSE_RW_B = {
+ 'ME_RW_B': {},
+}
+
EXPECTED_FMAP_TREE_EC = {
'WP_RO': {
'EC_RO': {
@@ -109,6 +117,15 @@
self.run_cmd(
'flashrom -p %s -r -i FMAP:%s' % (target, fmap))
lines = self.run_cmd('dump_fmap -p %s' % fmap)
+ # Change the expected FMAP Tree if separate CBFS is used for CSE RW
+ command = "dump_fmap -F %s | grep ME_RW_A" % fmap
+ if (target in TARGET_BIOS) and self.run_cmd(command):
+ self._EXPECTED_FMAP_TREE[target]['RW_SECTION_A'].update(
+ INTEL_CSE_RW_A)
+ self._EXPECTED_FMAP_TREE[target]['RW_SECTION_B'].update(
+ INTEL_CSE_RW_B)
+ logging.info("DUT uses INTEL CSE LITE FMAP Scheme")
+
self.faft_client.system.remove_dir(tmpdir)
# The above output is formatted as:
diff --git a/server/site_tests/logging_GenerateCrashFiles/control.chrome b/server/site_tests/logging_GenerateCrashFiles/control.chrome
deleted file mode 100644
index c8cc4e1..0000000
--- a/server/site_tests/logging_GenerateCrashFiles/control.chrome
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file
-
-AUTHOR = "Chromium OS Team"
-NAME = "logging_GenerateCrashFiles.CHROME"
-PURPOSE = "Verify that Chome browser crash files are generated."
-TIME = "SHORT"
-TEST_CATEGORY = "Functional"
-TEST_CLASS = "logging"
-TEST_TYPE = "server"
-ATTRIBUTES = "suite:usb_detect"
-
-DOC = """
-Crash Chrome and confirm log files are generated.
-"""
-
-def run(machine):
- host = hosts.create_host(machine)
- crash_cmd = "chrome://inducebrowsercrashforrealz"
- crash_files = ["core", "dmp", "meta", "log", "proclog"]
- prefix = "chrome"
- job.run_test("logging_GenerateCrashFiles", host=host,
- crash_cmd=crash_cmd, crash_files=crash_files,
- prefix=prefix, tag="CHROME")
-
-parallel_simple(run, machines)
-
diff --git a/server/site_tests/logging_GenerateCrashFiles/control.kernel b/server/site_tests/logging_GenerateCrashFiles/control.kernel
deleted file mode 100644
index f975606..0000000
--- a/server/site_tests/logging_GenerateCrashFiles/control.kernel
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = "Chromium OS Team"
-NAME = "logging_GenerateCrashFiles.KERNEL"
-PURPOSE = "Verify that process crash files are generated."
-TIME = "SHORT"
-TEST_CATEGORY = "Functional"
-TEST_CLASS = "logging"
-TEST_TYPE = "server"
-ATTRIBUTES = "suite:usb_detect,suite:manual_platform_suite"
-
-DOC = """
-Crash process and confirm log files are generated.
-"""
-
-def run(machine):
- host = hosts.create_host(machine)
- crash_cmd = "echo BUG > /sys/kernel/debug/provoke-crash/DIRECT"
- crash_files = ["kcrash", "meta"]
- prefix = "kernel"
- job.run_test("logging_GenerateCrashFiles", host=host,
- crash_cmd=crash_cmd, crash_files=crash_files,
- prefix=prefix, tag="KERNEL")
-
-parallel_simple(run, machines)
-
diff --git a/server/site_tests/logging_GenerateCrashFiles/control.process b/server/site_tests/logging_GenerateCrashFiles/control.process
deleted file mode 100644
index f28cf1a..0000000
--- a/server/site_tests/logging_GenerateCrashFiles/control.process
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = "Chromium OS Team"
-NAME = "logging_GenerateCrashFiles.PROCESS"
-PURPOSE = "Verify that process crash files are generated."
-TIME = "SHORT"
-TEST_CATEGORY = "Functional"
-TEST_CLASS = "logging"
-TEST_TYPE = "server"
-ATTRIBUTES = "suite:usb_detect,suite:manual_platform_suite"
-
-DOC = """
-Crash process and confirm log files are generated.
-"""
-
-def run(machine):
- host = hosts.create_host(machine)
- crash_cmd = "killall -w -s SEGV /usr/bin/powerd"
- crash_files = ["core", "dmp", "meta", "log"]
- prefix = "powerd"
- job.run_test("logging_GenerateCrashFiles", host=host,
- crash_cmd=crash_cmd, crash_files=crash_files,
- prefix=prefix, tag="PROCESS")
-
-parallel_simple(run, machines)
-
diff --git a/server/site_tests/logging_GenerateCrashFiles/control.render b/server/site_tests/logging_GenerateCrashFiles/control.render
deleted file mode 100644
index c4cbfdc..0000000
--- a/server/site_tests/logging_GenerateCrashFiles/control.render
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file
-
-AUTHOR = "Chromium OS Team"
-NAME = "logging_GenerateCrashFiles.RENDER"
-PURPOSE = "Verify that Chome browser crash files are generated."
-TIME = "SHORT"
-TEST_CATEGORY = "Functional"
-TEST_CLASS = "logging"
-TEST_TYPE = "server"
-ATTRIBUTES = "suite:usb_detect"
-
-DOC = """
-Crash Chrome and confirm log files are generated.
-"""
-
-def run(machine):
- host = hosts.create_host(machine)
- crash_cmd = "chrome://crash"
- crash_files = ["core", "dmp", "meta", "log", "proclog"]
- prefix = "chrome"
- job.run_test("logging_GenerateCrashFiles", host=host,
- crash_cmd=crash_cmd, crash_files=crash_files,
- prefix=prefix, tag="RENDER")
-
-parallel_simple(run, machines)
-
diff --git a/server/site_tests/logging_GenerateCrashFiles/logging_GenerateCrashFiles.py b/server/site_tests/logging_GenerateCrashFiles/logging_GenerateCrashFiles.py
deleted file mode 100644
index 382ce6e..0000000
--- a/server/site_tests/logging_GenerateCrashFiles/logging_GenerateCrashFiles.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import logging
-
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.bin import utils
-from autotest_lib.client.cros.crash.crash_test import CrashTest
-from autotest_lib.server import autotest, test
-
-
-class logging_GenerateCrashFiles(test.test):
- """Tests if crash files are generated when crash is invoked."""
- version = 2
- WAIT_FOR_CRASH_FILES = 40
- REBOOT_TIMEOUT = 60
- CRASH_DIR = CrashTest._SYSTEM_CRASH_DIR
- CHROME_CRASH_DIR = CrashTest._FALLBACK_USER_CRASH_DIR
-
- def get_file_diff(self):
- """ Gets the current files and forms the diff
- @returns difference of file sets
- """
- out = self.host.run('ls %s' % self.location, ignore_status=True)
- current_files = out.stdout.strip().split('\n')
- file_diff = set(current_files) - set(self.existing_files)
- logging.info("Crash files diff: %s" % str(file_diff))
- return file_diff
-
-
- def check_missing_crash_files(self, expected_extensions,prefix):
- """Find if the crash dumps with appropriate extensions are created.
- @param expected_extensions: matching crash file extensions.
- @param prefix: matching crash file prefix.
- @raises TestFail error if crash files are not generated.
- """
- crash_extensions = list()
-
- utils.poll_for_condition(
- lambda: len(self.get_file_diff()) != 0, sleep_interval=5,
- exception=error.TestFail("Crash files not generated in time."),
- timeout=self.WAIT_FOR_CRASH_FILES)
-
- file_diff = self.get_file_diff()
-
- # Check empty files, prefix, and extension of crash files.
- for crash_file in file_diff:
- if crash_file.split('.')[0] != prefix:
- continue
- file_path = self.location + '/' + crash_file
- if '0' == self.host.run("du -h %s" % file_path).stdout[:1]:
- raise error.TestFail('Crash file is empty: %s' % crash_file)
- crash_extensions.append(crash_file.split('.')[-1])
-
- # Check for presence of all crash file extensions.
- extension_diff = set(expected_extensions) - set(crash_extensions)
- if len(extension_diff) > 0:
- raise error.TestFail('%s files not generated.' % extension_diff)
-
- # Remove existing file crash files, if any.
- for crash_file in file_diff:
- self.host.run('rm %s' % self.location + '/' + crash_file)
-
- def open_browser_crash_url(self, start_url):
- """ Logs in and Opens crash url in browser tab
- param@ start_url URL to induce the browser crash
- """
- autotest_client = autotest.Autotest(self.host)
- autotest_client.run_test('desktopui_SimpleLogin',
- start_url=start_url,
- exit_without_logout=True)
-
-
- def run_once(self, host, crash_cmd, crash_files, prefix):
- self.host = host
-
- # Sync the file system.
- self.host.run('sync', ignore_status=True)
- file_list = self.host.run('ls %s' % self.CRASH_DIR, ignore_status=True)
- self.existing_files = file_list.stdout.strip().split('\n')
- self.location = self.CRASH_DIR
-
- # Execute crash command.
- if (prefix == 'chrome'):
- logging.info("OPENING BROWSER for %s" % crash_cmd)
- self.open_browser_crash_url(crash_cmd)
- self.location = self.CHROME_CRASH_DIR
- else:
- boot_id = host.get_boot_id()
- self.host.run(crash_cmd, ignore_status=True,
- timeout=30, ignore_timeout=True)
- logging.debug('Crash invoked!')
-
- # To check If the device has rebooted after kernel crash
- if(prefix == 'kernel'):
- # In case of kernel crash the reboot will take some time.
- host.ping_wait_up(self.REBOOT_TIMEOUT)
- if(boot_id == host.get_boot_id()):
- raise error.TestFail('Device not rebooted')
-
- # Sync the file system.
- self.host.run('sync', ignore_status=True)
-
- self.check_missing_crash_files(crash_files,prefix)
diff --git a/server/site_tests/platform_CryptohomeTpmLiveTestServer/platform_CryptohomeTpmLiveTestServer.py b/server/site_tests/platform_CryptohomeTpmLiveTestServer/platform_CryptohomeTpmLiveTestServer.py
index dfb79a4..7048710 100644
--- a/server/site_tests/platform_CryptohomeTpmLiveTestServer/platform_CryptohomeTpmLiveTestServer.py
+++ b/server/site_tests/platform_CryptohomeTpmLiveTestServer/platform_CryptohomeTpmLiveTestServer.py
@@ -14,14 +14,15 @@
version = 1
def run_once(self, host=None):
+ """Runs a single iteration of the test."""
self.client = host
# Skip the test if the TPM is unavailable.
tpm_status = tpm_utils.TPMStatus(self.client)
- if 'Enabled' not in tpm_status:
+ if 'is_enabled' not in tpm_status:
raise error.TestError('Error obtaining TPM enabled state. Status '
'returned by cryptohome: ' + str(tpm_status))
- if not tpm_status['Enabled']:
+ if not tpm_status['is_enabled']:
return
# Clear the TPM, so that the client test is able to obtain the TPM owner
diff --git a/server/site_tests/rlz_CheckPing/control.guest b/server/site_tests/rlz_CheckPing/control.guest
index bc650ef..e4f6acc 100644
--- a/server/site_tests/rlz_CheckPing/control.guest
+++ b/server/site_tests/rlz_CheckPing/control.guest
@@ -9,8 +9,7 @@
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
TEST_TYPE = "server"
-# Disable this test until it is passing at least 90% of the time: https://crbug.com/1048226
-# ATTRIBUTES = "suite:rlz"
+ATTRIBUTES = "suite:rlz"
DOC = """
This tests the RLZ client install (CAI) and first-use event (CAF) pings are
sent on first use of the device in guest mode, as long as the device has been
diff --git a/server/site_tests/tast/control.critical-android b/server/site_tests/tast/control.critical-android
index df67d88..e4364f4 100644
--- a/server/site_tests/tast/control.critical-android
+++ b/server/site_tests/tast/control.critical-android
@@ -36,6 +36,7 @@
test_exprs=['('
'"group:mainline" && '
'!informational && '
+ '!"dep:plugin_vm" && '
'"dep:android*"'
')'],
download_data_lazily=False,
diff --git a/server/site_tests/tast/control.critical-chrome b/server/site_tests/tast/control.critical-chrome
index 41eba0a..b74f07d 100644
--- a/server/site_tests/tast/control.critical-chrome
+++ b/server/site_tests/tast/control.critical-chrome
@@ -35,6 +35,7 @@
'"group:mainline" && '
'!informational && '
'"dep:chrome" && '
+ '!"dep:plugin_vm" && '
'!"dep:android*"'
')'],
download_data_lazily=False,
diff --git a/server/site_tests/tast/control.critical-parallels b/server/site_tests/tast/control.critical-parallels
new file mode 100644
index 0000000..2b5e1aa
--- /dev/null
+++ b/server/site_tests/tast/control.critical-parallels
@@ -0,0 +1,43 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.critical-parallels'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+# TODO(crbug.com/1154072): Remove from 'suite:bvt-tast-cq' once the
+# parallels suite is scheduled.
+ATTRIBUTES = 'suite:bvt-tast-cq, suite:bvt-tast-parallels-cq'
+MAX_RESULT_SIZE_KB = 256 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast must-pass Parallels test suite.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Parallels-dependent Tast-based tests that are required to pass
+against a remote DUT. It fails if any individual Tast tests fail.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['('
+ '"group:mainline" && '
+ '!informational && '
+ '"dep:plugin_vm"'
+ ')'],
+ download_data_lazily=False,
+ ignore_test_failures=False, max_run_sec=3600,
+ command_args=args,
+ clear_tpm=True)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.critical-system b/server/site_tests/tast/control.critical-system
index 90d51bc..eda5205 100644
--- a/server/site_tests/tast/control.critical-system
+++ b/server/site_tests/tast/control.critical-system
@@ -42,6 +42,7 @@
'"group:mainline" && '
'!informational && '
'!"dep:chrome" && '
+ '!"dep:plugin_vm" && '
'!"dep:android*"'
')'],
download_data_lazily=False,
diff --git a/server/site_tests/tast/control.crosbolt-nightly b/server/site_tests/tast/control.crosbolt-nightly
index 2c1b82d..4d6df66 100644
--- a/server/site_tests/tast/control.crosbolt-nightly
+++ b/server/site_tests/tast/control.crosbolt-nightly
@@ -27,7 +27,11 @@
def run(machine):
job.run_test('tast',
host=hosts.create_host(machine),
- test_exprs=['("group:crosbolt" && crosbolt_nightly)'],
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_nightly && '
+ '!"dep:plugin_vm"'
+ ')'],
ignore_test_failures=True,
max_run_sec=14400, # 4 hours.
command_args=args)
diff --git a/server/site_tests/tast/control.crosbolt-parallels-nightly b/server/site_tests/tast/control.crosbolt-parallels-nightly
new file mode 100644
index 0000000..1ea5880
--- /dev/null
+++ b/server/site_tests/tast/control.crosbolt-parallels-nightly
@@ -0,0 +1,41 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.crosbolt-parallels-nightly'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+# TODO(crbug.com/1154072): Remove from 'suite:crosbolt_perf_nightly' once the
+# parallels suite is scheduled.
+ATTRIBUTES = 'suite:crosbolt_perf_nightly, suite:crosbolt_perf_parallels_nightly'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast crosbolt performance test suite for Parallels.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based crosbolt performance tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_nightly && '
+ '"dep:plugin_vm"'
+ ')'],
+ ignore_test_failures=True,
+ max_run_sec=7200, # 2 hours.
+ command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.crosbolt-parallels-perbuild b/server/site_tests/tast/control.crosbolt-parallels-perbuild
new file mode 100644
index 0000000..f5c9431
--- /dev/null
+++ b/server/site_tests/tast/control.crosbolt-parallels-perbuild
@@ -0,0 +1,41 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.crosbolt-parallels-perbuild'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+# TODO(crbug.com/1154072): Remove from 'suite:crosbolt_perf_perbuild' once the
+# parallels suite is scheduled.
+ATTRIBUTES = 'suite:crosbolt_perf_perbuild, suite:crosbolt_perf_parallels_perbuild'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast crosbolt performance test suite for Parallels.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based crosbolt performance tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_perbuild && '
+ '"dep:plugin_vm"'
+ ')'],
+ ignore_test_failures=True,
+ max_run_sec=7200, # 2 hours.
+ command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.crosbolt-parallels-weekly b/server/site_tests/tast/control.crosbolt-parallels-weekly
new file mode 100644
index 0000000..a67d24e
--- /dev/null
+++ b/server/site_tests/tast/control.crosbolt-parallels-weekly
@@ -0,0 +1,41 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.crosbolt-parallels-weekly'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+# TODO(crbug.com/1154072): Remove from 'suite:crosbolt_perf_weekly' once the
+# parallels suite is scheduled.
+ATTRIBUTES = 'suite:crosbolt_perf_weekly, suite:crosbolt_perf_parallels_weekly'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast crosbolt performance test suite for Parallels.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based crosbolt performance tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_weekly && '
+ '"dep:plugin_vm"'
+ ')'],
+ ignore_test_failures=True,
+ max_run_sec=7200, # 2 hours.
+ command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.crosbolt-perbuild b/server/site_tests/tast/control.crosbolt-perbuild
index e1b484b..1243b41 100644
--- a/server/site_tests/tast/control.crosbolt-perbuild
+++ b/server/site_tests/tast/control.crosbolt-perbuild
@@ -27,7 +27,12 @@
def run(machine):
job.run_test('tast',
host=hosts.create_host(machine),
- test_exprs=['("group:crosbolt" && crosbolt_perbuild)'],
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_perbuild && '
+ '!"dep:android*" && '
+ '!"dep:plugin_vm"'
+ ')'],
ignore_test_failures=True,
max_run_sec=21600, # 6 hours.
command_args=args)
diff --git a/server/site_tests/tast/control.crosbolt-perbuild-android b/server/site_tests/tast/control.crosbolt-perbuild-android
new file mode 100644
index 0000000..e8a5ead
--- /dev/null
+++ b/server/site_tests/tast/control.crosbolt-perbuild-android
@@ -0,0 +1,40 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.crosbolt-perbuild-android'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:crosbolt_perf_perbuild'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast crosbolt performance test suite.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based crosbolt performance tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_perbuild && '
+ '"dep:android*" && '
+ '!"dep:plugin_vm"'
+ ')'],
+ ignore_test_failures=True,
+ max_run_sec=21600, # 6 hours.
+ command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.crosbolt-weekly b/server/site_tests/tast/control.crosbolt-weekly
index fe2a4a7..0e8ad70 100644
--- a/server/site_tests/tast/control.crosbolt-weekly
+++ b/server/site_tests/tast/control.crosbolt-weekly
@@ -27,7 +27,11 @@
def run(machine):
job.run_test('tast',
host=hosts.create_host(machine),
- test_exprs=['("group:crosbolt" && crosbolt_weekly)'],
+ test_exprs=['('
+ '"group:crosbolt" && '
+ 'crosbolt_weekly && '
+ '!"dep:plugin_vm"'
+ ')'],
ignore_test_failures=True, max_run_sec=10800,
command_args=args)
diff --git a/server/site_tests/tast/control.fingerprint-mcu b/server/site_tests/tast/control.fingerprint-mcu
new file mode 100644
index 0000000..d181965
--- /dev/null
+++ b/server/site_tests/tast/control.fingerprint-mcu
@@ -0,0 +1,32 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.fingerprint-mcu'
+TIME = 'SHORT'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:fingerprint-mcu'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+DOC = '''
+Run the Tast tests which run in suite:fingerprint-mcu.
+
+"group:fingerprint-mcu" indicates tests that run on standalone fingerprint MCU
+boards.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['("group:fingerprint-mcu")'],
+ ignore_test_failures=True, max_run_sec=10800,
+ command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.firmware-experimental b/server/site_tests/tast/control.firmware-experimental
new file mode 100644
index 0000000..1c957c6
--- /dev/null
+++ b/server/site_tests/tast/control.firmware-experimental
@@ -0,0 +1,42 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from autotest_lib.client.common_lib import utils
+
+AUTHOR = 'Chromium OS Firmware EngProd team'
+NAME = 'tast.firmware-experimental'
+TIME = 'SHORT'
+TEST_TYPE = 'Server'
+DEPENDENCIES = 'servo_state:WORKING'
+ATTRIBUTES = 'suite:faft_experimental'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run unstable firmware Tast tests.
+
+The tests are part of 'group:firmware'. The 'firmware_experimental'
+sub-attribute indicates tests that are not yet stabilized.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/
+for more information.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+args_dict = utils.args_to_dict(args)
+assert 'servo_state:WORKING' in DEPENDENCIES
+servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine, servo_args=servo_args),
+ test_exprs=['("group:firmware" && firmware_experimental)'],
+ ignore_test_failures=True, max_run_sec=10800,
+ command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.informational-android b/server/site_tests/tast/control.informational-android
index d98224f..f440fc2 100644
--- a/server/site_tests/tast/control.informational-android
+++ b/server/site_tests/tast/control.informational-android
@@ -35,6 +35,7 @@
'"group:mainline" && '
'informational && '
'!"name:crostini.*" && '
+ '!"dep:plugin_vm" && '
'"dep:android*"'
')'],
ignore_test_failures=True,
diff --git a/server/site_tests/tast/control.informational-chrome b/server/site_tests/tast/control.informational-chrome
index 4685935..d4f6baa 100644
--- a/server/site_tests/tast/control.informational-chrome
+++ b/server/site_tests/tast/control.informational-chrome
@@ -35,6 +35,7 @@
'"group:mainline" && '
'informational && '
'!"name:crostini.*" && '
+ '!"dep:plugin_vm" && '
'"dep:chrome" && '
'!"dep:android*"'
')'],
diff --git a/server/site_tests/tast/control.informational-crostini b/server/site_tests/tast/control.informational-crostini
index cddce69..242d8ff 100644
--- a/server/site_tests/tast/control.informational-crostini
+++ b/server/site_tests/tast/control.informational-crostini
@@ -33,7 +33,8 @@
test_exprs=['('
'"group:mainline" && '
'informational && '
- '"name:crostini.*"'
+ '"name:crostini.*" && '
+ '!"dep:plugin_vm"'
')'],
ignore_test_failures=True,
max_run_sec=3*60*60,
diff --git a/server/site_tests/tast/control.informational-parallels b/server/site_tests/tast/control.informational-parallels
new file mode 100644
index 0000000..4d80635
--- /dev/null
+++ b/server/site_tests/tast/control.informational-parallels
@@ -0,0 +1,46 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.informational-parallels'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+# TODO(crbug.com/1154072): Remove from 'suite:bvt-tast-informational' once the
+# parallels suite is scheduled.
+ATTRIBUTES = 'suite:bvt-tast-informational, suite:bvt-tast-parallels-informational'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+JOB_RETRIES = 0 # Do not retry informational tests.
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast informational Parallels test suite.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Parallels-dependent Tast-based informational tests against a
+remote DUT. It only reports failure if the tast process itself (rather than
+individual Tast tests) fails.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+ # TODO(crbug.com/992303): Fix android condition.
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['('
+ '"group:mainline" && '
+ 'informational && '
+ '"dep:plugin_vm"'
+ ')'],
+ ignore_test_failures=True,
+ max_run_sec=3*60*60,
+ command_args=args,
+ clear_tpm=True)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.informational-system b/server/site_tests/tast/control.informational-system
index aa4aef5..f4c2b68 100644
--- a/server/site_tests/tast/control.informational-system
+++ b/server/site_tests/tast/control.informational-system
@@ -46,6 +46,7 @@
'"group:mainline" && '
'informational && '
'!"name:crostini.*" && '
+ '!"dep:plugin_vm" && '
'!"dep:chrome" && '
'!"dep:android*"'
')'],
diff --git a/server/site_tests/tast/control.nearby-share b/server/site_tests/tast/control.nearby-share
new file mode 100644
index 0000000..3fa7fbd
--- /dev/null
+++ b/server/site_tests/tast/control.nearby-share
@@ -0,0 +1,23 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+AUTHOR = 'ChromeOS SW Engprod Team (chromeos-sw-engprod@google.com)'
+NAME = 'tast.nearby-share'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:nearby-share'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''Run the Tast Nearby Share test suite.'''
+
+def run(machine):
+ job.run_test('tast',
+ host=hosts.create_host(machine),
+ test_exprs=['("group:nearby-share")'],
+ ignore_test_failures=True, max_run_sec=10800,
+ command_args=args)
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/tast.py b/server/site_tests/tast/tast.py
index c12968b..4f168e1 100644
--- a/server/site_tests/tast/tast.py
+++ b/server/site_tests/tast/tast.py
@@ -461,18 +461,6 @@
self._run_tast('run', args, self._max_run_sec + tast._RUN_EXIT_SEC,
log_stdout=True)
- # Dump a list of the results directory files for log upload issue investigation.
- # crbug.com/1140286
- cmd = ['ls', '-Ral', self.resultsdir]
- utils.run(cmd,
- ignore_status=False,
- timeout=5,
- stdout_tee=utils.TEE_TO_LOGS,
- stderr_tee=utils.TEE_TO_LOGS,
- stderr_is_expected=False,
- stdout_level=logging.INFO,
- stderr_level=logging.ERROR)
-
def _read_run_error(self):
"""Reads a global run error message written by the tast command."""
# The file is only written if a run error occurred.
diff --git a/site_utils/admin_audit/constants.py b/site_utils/admin_audit/constants.py
index cbf3b95..0bb746d 100644
--- a/site_utils/admin_audit/constants.py
+++ b/site_utils/admin_audit/constants.py
@@ -13,3 +13,19 @@
# Labels for hardware parts
DUT_STORAGE_STATE_PREFIX = 'storage_state'
SERVO_USB_STATE_PREFIX = 'servo_usb_state'
+
+# RPM states
+RPM_STATE_LABEL_PREFIX = 'rpm_state'
+RPM_STATE_UNKNOWN = 'UNKNOWN'
+# Config not provided
+RPM_STATE_MISSING_CONFIG = 'MISSING_CONFIG'
+# Config is incorrect or not working
+RPM_STATE_WRONG_CONFIG = 'WRONG_CONFIG'
+# Config present and working as expected
+RPM_STATE_WORKING = 'WORKING'
+RPM_STATES_SUPPORTED = (
+ RPM_STATE_UNKNOWN,
+ RPM_STATE_MISSING_CONFIG,
+ RPM_STATE_WRONG_CONFIG,
+ RPM_STATE_WORKING,
+)
diff --git a/site_utils/admin_audit/main.py b/site_utils/admin_audit/main.py
index 576f751..fcb7cac 100755
--- a/site_utils/admin_audit/main.py
+++ b/site_utils/admin_audit/main.py
@@ -38,16 +38,19 @@
ACTION_VERIFY_SERVO_FW = 'verify-servo-fw'
ACTION_FLASH_SERVO_KEYBOARD_MAP = 'flash-servo-keyboard-map'
ACTION_VERIFY_DUT_MACADDR = 'verify-dut-macaddr'
+ACTION_VERIFY_RPM_CONFIG = 'verify-rpm-config'
_LOG_FILE = 'audit.log'
_SERVO_UART_LOGS = 'servo_uart'
VERIFIER_MAP = {
- ACTION_VERIFY_DUT_STORAGE: verifiers.VerifyDutStorage,
- ACTION_VERIFY_SERVO_USB: verifiers.VerifyServoUsb,
- ACTION_VERIFY_SERVO_FW: verifiers.VerifyServoFw,
- ACTION_FLASH_SERVO_KEYBOARD_MAP: verifiers.FlashServoKeyboardMapVerifier,
- ACTION_VERIFY_DUT_MACADDR: verifiers.VerifyDUTMacAddress,
+ ACTION_VERIFY_DUT_STORAGE: verifiers.VerifyDutStorage,
+ ACTION_VERIFY_SERVO_USB: verifiers.VerifyServoUsb,
+ ACTION_VERIFY_SERVO_FW: verifiers.VerifyServoFw,
+ ACTION_FLASH_SERVO_KEYBOARD_MAP:
+ verifiers.FlashServoKeyboardMapVerifier,
+ ACTION_VERIFY_DUT_MACADDR: verifiers.VerifyDUTMacAddress,
+ ACTION_VERIFY_RPM_CONFIG: verifiers.VerifyRPMConfig,
}
# Actions required Servod service
diff --git a/site_utils/admin_audit/rpm_validator.py b/site_utils/admin_audit/rpm_validator.py
new file mode 100644
index 0000000..5453378
--- /dev/null
+++ b/site_utils/admin_audit/rpm_validator.py
@@ -0,0 +1,219 @@
+#!/usr/bin/env python2
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Functional to validate RPM configs in the lab."""
+
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import os
+import logging
+import six
+import time
+
+import common
+from autotest_lib.client.common_lib import error
+from autotest_lib.site_utils.rpm_control_system import rpm_client
+from autotest_lib.site_utils.admin_audit import constants
+
+
+def _is_rpm_config_present(host):
+ """Check if RPM config data present.
+
+ @param host: any host with has host_info_store field
+
+ @raises: error.AutoservError if config present partially.
+ """
+ host_info = host.host_info_store.get()
+ powerunit_hostname = host_info.attributes.get('powerunit_hostname')
+ powerunit_outlet = host_info.attributes.get('powerunit_outlet')
+
+ powerunit_hasinfo = (bool(powerunit_hostname), bool(powerunit_outlet))
+
+ if powerunit_hasinfo == (True, True):
+ return True
+ elif powerunit_hasinfo == (False, False):
+ set_rpm_state(host, constants.RPM_STATE_MISSING_CONFIG)
+ return False
+ else:
+ set_rpm_state(host, constants.RPM_STATE_WRONG_CONFIG)
+ msg = "inconsistent power info: %s %s" % (powerunit_hostname,
+ powerunit_outlet)
+ logging.error(msg)
+ raise error.AutoservError(msg)
+
+
+def _set_power_off(host, quite=False):
+ try:
+ rpm_client.set_power(host, "OFF")
+ except Exception as e:
+ # We do not want to leave RPM outlets in off state
+ _set_power_on(host, quite=True)
+ if not quite:
+ logging.debug('Fail to set state OFF for RPM; %s', str(e))
+ six.reraise(e.__class__, e)
+
+
+def _set_power_on(host, quite=False):
+ try:
+ rpm_client.set_power(host, "ON")
+ except Exception as e:
+ # We do not want to leave RPM outlets in off state
+ if not quite:
+ logging.debug('Fail to set state ON for RPM; %s', str(e))
+ six.reraise(e.__class__, e)
+
+
+def _check_rpm_power_delivery_with_battery(host):
+ """Verify RPM for device which has battery.
+
+ Verification based on check if device can charging.
+ @param host: any host with has host_info_store field
+ """
+
+ def validate_power_state(is_on, wait_time):
+ deadline = time.time() + wait_time
+ while time.time() < deadline:
+ if not host.is_up():
+ # DUT is not available by ssh will try again.
+ continue
+ power_info = host.get_power_supply_info()
+ try:
+ is_online = power_info['Line Power']['online'] == 'yes'
+ if is_on == is_online:
+ break
+ except KeyError:
+ logging.debug('(Not critical) Fail check online power')
+ time.sleep(5)
+ else:
+ expected_state = 'ON' if is_on else 'OFF'
+ msg = "%s didn't enter %s state in %s seconds" % (
+ host.hostname,
+ expected_state,
+ wait_time,
+ )
+ raise Exception(msg)
+
+ logging.info("Cutting down wall power for %s...", host.hostname)
+ _set_power_off(host)
+ validate_power_state(False, host.WAIT_DOWN_REBOOT_TIMEOUT)
+
+ logging.info("Re-enable wall power for %s...", host.hostname)
+ _set_power_on(host)
+ validate_power_state(True, host.BOOT_TIMEOUT)
+ logging.info("RPM Check Successful")
+
+
+def _check_rpm_power_delivery_without_battery(host):
+ """Verify RPM for device which has battery.
+
+ Verification based on check if device online or offline.
+ @param host: any host with has host_info_store field
+ """
+ logging.info("Cutting down wall power for %s...", host.hostname)
+ _set_power_off(host)
+ if not host.wait_down(timeout=host.WAIT_DOWN_REBOOT_TIMEOUT):
+ msg = "%s didn't enter OFF state in %s seconds" % (
+ host.hostname,
+ host.WAIT_DOWN_REBOOT_TIMEOUT,
+ )
+ raise Exception(msg)
+
+ logging.info("Re-enable wall power for %s...", host.hostname)
+ _set_power_on(host)
+ if not host.wait_up(timeout=host.BOOT_TIMEOUT):
+ msg = "%s didn't enter ON state in %s seconds" % (
+ host.hostname,
+ host.BOOT_TIMEOUT,
+ )
+ raise Exception(msg)
+
+
+def verify_unsafe(host):
+ """Verify that we can power cycle a host with its RPM information.
+ Any host without RPM information will be safely skipped.
+
+ This procedure is intended to catch inaccurate RPM info when the
+ host is deployed.
+
+ @param host: any host with has host_info_store field
+
+ @raises: error.AutoservError if config present partially or wrong.
+ error.AutoservError if device does not specify power label.
+ error.AutoservError if device has mismatch between host-info
+ and device.
+ """
+ logging.info("Start RPM check for: %s", host.hostname)
+ if not hasattr(host, 'host_info_store'):
+ logging.info('Host:%s does not have host_info_store attribute',
+ host.hostname)
+ return
+ if not _is_rpm_config_present(host):
+ logging.info("RPM config is not present. Skipping check.")
+ return
+
+ # In the lab we need trust that host-info will be correct.
+ power_info = host.host_info_store.get().get_label_value('power')
+ if not power_info:
+ raise error.AutoservError(
+ 'Could not detect power-info in host-info. The information'
+ ' has to be provided by manufacture configs. Please file'
+ ' the bug agains Fleet Inventory')
+ has_battery = power_info == 'battery'
+
+ # Verify host-info against manufactory configs
+ try:
+ info = host.get_power_supply_info()
+ except Exception as e:
+ logging.debug('(Not critical) %s', e)
+ raise error.AutoservError('Could not detect power supply info')
+ if 'Battery' in info:
+ if not has_battery:
+ raise error.AutoservError(
+ 'Unexpected detected battery on the device')
+ elif has_battery:
+ raise error.AutoservError(
+ 'Battery is not detected on the device. But expected')
+ # Try to use RPM config to confirm tha information is correct.
+ try:
+ if has_battery:
+ _check_rpm_power_delivery_with_battery(host)
+ else:
+ _check_rpm_power_delivery_without_battery(host)
+ except Exception as e:
+ set_rpm_state(host, constants.RPM_STATE_WRONG_CONFIG)
+ logging.debug('(Not critical) %s', e)
+ msg = getattr(e, 'message') if hasattr(e, 'message') else str(e)
+ logging.info('RPM check fails! %s', msg)
+ six.reraise(error.AutoservError, e)
+ else:
+ set_rpm_state(host, constants.RPM_STATE_WORKING)
+ logging.info("The host passed RPM config check!")
+
+
+def set_rpm_state(host, new_state):
+ """Set RPM state info labels to dut host_info.
+
+ @param host: Any host with has host_info_store field
+ @param new_state: New RPM state. Possible values are
+ listed in RPM_STATES_SUPPORTED.
+ """
+ if not new_state:
+ logging.debug('RPM state is not specified.')
+ return
+ if new_state not in constants.RPM_STATES_SUPPORTED:
+ logging.debug('Not supported Incorrect RPM state.')
+ return
+ host_info = host.host_info_store.get()
+ prefix = constants.RPM_STATE_LABEL_PREFIX
+ old_state = host_info.get_label_value(prefix)
+ if old_state == new_state:
+ # do not need update
+ logging.debug('RPM state not changed. Skiping update')
+ return
+ host_info.set_version_label(prefix, new_state)
+ host.host_info_store.commit(host_info)
+ logging.info('Rpm state updated to %s (previous: %s)', new_state,
+ old_state)
diff --git a/site_utils/admin_audit/verifiers.py b/site_utils/admin_audit/verifiers.py
index 24688c0..b055ff2 100644
--- a/site_utils/admin_audit/verifiers.py
+++ b/site_utils/admin_audit/verifiers.py
@@ -17,6 +17,7 @@
from autotest_lib.client.common_lib import utils as client_utils
from autotest_lib.server.cros.storage import storage_validate as storage
from autotest_lib.server.cros import servo_keyboard_utils
+from autotest_lib.site_utils.admin_audit import rpm_validator
try:
from chromite.lib import metrics
@@ -161,11 +162,29 @@
cmd = ('. /usr/share/misc/chromeos-common.sh; get_device_type %s' %
path)
check_run = self._dut_host.run(cmd, timeout=30, ignore_status=True)
- if check_run.stdout.strip() == 'USB':
+ if check_run.stdout.strip() != 'USB':
+ continue
+ if self._quick_check_if_device_responsive(self._dut_host, path):
logging.info('USB drive detected on DUT side as %s', path)
return path
return None
+ def _quick_check_if_device_responsive(self, host, usb_path):
+ """Verify that device """
+ validate_cmd = 'fdisk -l %s' % usb_path
+ try:
+ resp = host.run(validate_cmd, ignore_status=True, timeout=30)
+ if resp.exit_status == 0:
+ return True
+ logging.error('USB %s is not detected by fdisk!', usb_path)
+ except error.AutoservRunError as e:
+ if 'Timeout encountered' in str(e):
+ logging.warning('Timeout encountered during fdisk run.')
+ else:
+ logging.error('(Not critical) fdisk check fail for %s; %s',
+ usb_path, str(e))
+ return False
+
def _run_check_on_host(self, host, usb):
"""Run badblocks on the provided host.
@@ -221,6 +240,19 @@
force_update=True)
+class VerifyRPMConfig(base._BaseDUTVerifier):
+ """Check RPM config of the setup.
+
+ This check run against RPM configs settings.
+ """
+
+ def _verify(self):
+ if not self.host_is_up():
+ logging.info('Host is down; Skipping the verification')
+ return
+ rpm_validator.verify_unsafe(self.get_host())
+
+
class FlashServoKeyboardMapVerifier(base._BaseDUTVerifier):
"""Flash the keyboard map on servo."""
diff --git a/site_utils/attribute_allowlist.txt b/site_utils/attribute_allowlist.txt
index 84f4b6e..5962a11 100644
--- a/site_utils/attribute_allowlist.txt
+++ b/site_utils/attribute_allowlist.txt
@@ -50,6 +50,8 @@
suite:bvt-tast-chrome-pfq
suite:bvt-tast-cq
suite:bvt-tast-informational
+suite:bvt-tast-parallels-cq
+suite:bvt-tast-parallels-informational
suite:camera-libcamera
suite:camera-postsubmit
suite:camerabox_facing-back
@@ -73,6 +75,9 @@
suite:chrome-informational
suite:cros-av-analysis
suite:crosbolt_perf_nightly
+suite:crosbolt_perf_parallels_nightly
+suite:crosbolt_perf_parallels_perbuild
+suite:crosbolt_perf_parallels_weekly
suite:crosbolt_perf_perbuild
suite:crosbolt_perf_weekly
suite:cts_P
@@ -110,6 +115,7 @@
suite:faft_ec_fw_qual
suite:faft_ec_tot
suite:faft_ec_wp
+suite:faft_experimental
suite:faft_flashrom
suite:faft_lab
suite:faft_lv1
@@ -125,6 +131,7 @@
suite:faft_wilco
suite:files
suite:fingerprint
+suite:fingerprint-mcu
suite:graphics
suite:graphics_browser
suite:graphics_per-build
@@ -153,6 +160,7 @@
suite:moblab
suite:moblab_quick
suite:moblab_storage_qual
+suite:nearby-share
suite:network_nightly
suite:network_ui
suite:offloads
diff --git a/site_utils/deployment/cmdvalidate.py b/site_utils/deployment/cmdvalidate.py
index 60ee9a0..cbd228e 100644
--- a/site_utils/deployment/cmdvalidate.py
+++ b/site_utils/deployment/cmdvalidate.py
@@ -177,6 +177,11 @@
# an error message.
if board is None:
return False
+
+ # TODO b:169251326 terms below (and in the comment above) are set outside
+ # of this codebase and should be updated when possible.
+ # ("master" -> "main")
+
# Check Google storage; report failures on stderr.
if _build_path_exists(board, 'LATEST-master'):
return True
diff --git a/site_utils/deployment/install.py b/site_utils/deployment/install.py
index 69c6909..c837294 100644
--- a/site_utils/deployment/install.py
+++ b/site_utils/deployment/install.py
@@ -315,12 +315,12 @@
@return A true value if the host is idle at return, or a false value
if the host wasn't idle after some reasonable time.
"""
- # We need to talk to the shard, not the master, for at least two
+ # We need to talk to the shard, not the main, for at least two
# reasons:
- # * The `abort_special_tasks` RPC doesn't forward from the master
+ # * The `abort_special_tasks` RPC doesn't forward from the main
# to the shard, and only the shard has access to the special
# tasks.
- # * Host status on the master can lag actual status on the shard
+ # * Host status on the main can lag actual status on the shard
# by several minutes. Only the shard can provide status
# guaranteed to post-date the call to lock the DUT.
if afe_host.shard:
diff --git a/site_utils/deployment/prepare/dut.py b/site_utils/deployment/prepare/dut.py
index d49d9f1..6b80285 100644
--- a/site_utils/deployment/prepare/dut.py
+++ b/site_utils/deployment/prepare/dut.py
@@ -408,7 +408,11 @@
host.run('chromeos-install --yes', timeout=host.INSTALL_TIMEOUT)
logging.info("Rebooting DUT to boot from hard drive.")
- power_cycle_via_servo(host)
+ try:
+ host.reboot()
+ except Exception as e:
+ logging.info('Failed to reboot DUT via ssh; %s', str(e))
+ try_reset_by_servo(host)
logging.info("Install test image completed successfully.")
diff --git a/site_utils/deployment/prepare/main.py b/site_utils/deployment/prepare/main.py
index 46ff993..8f2256f 100755
--- a/site_utils/deployment/prepare/main.py
+++ b/site_utils/deployment/prepare/main.py
@@ -24,6 +24,7 @@
from autotest_lib.server.hosts import file_store
from autotest_lib.site_utils.deployment.prepare import dut as preparedut
from autotest_lib.server.hosts import factory
+from autotest_lib.site_utils.admin_audit import rpm_validator
RETURN_CODES = autotest_enum.AutotestEnum(
@@ -65,6 +66,8 @@
logging.info('DRY RUN: Would have run actions %s', opts.actions)
return
+ is_labstation = (host_info.get().os == "labstation")
+
if 'stage-usb' in opts.actions:
try:
repair_image = afe_utils.get_stable_cros_image_name_v2(
@@ -90,19 +93,6 @@
logging.error("fail to install firmware: %s", err)
return RETURN_CODES.INSTALL_FIRMWARE_FAILURE
- if 'run-pre-deploy-verification' in opts.actions:
- try:
- if host_info.get().os == "labstation":
- logging.info("testing RPM information on labstation")
- preparedut.verify_labstation_RPM_config_unsafe(host)
- else:
- preparedut.verify_servo(host)
- preparedut.verify_battery_status(host)
- preparedut.verify_ccd_testlab_enable(host)
- except Exception as err:
- logging.error("fail on pre-deploy verification: %s", err)
- return RETURN_CODES.PRE_DEPLOY_VERIFICATION_FAILURE
-
if 'verify-recovery-mode' in opts.actions:
try:
preparedut.verify_boot_into_rec_mode(host)
@@ -110,6 +100,7 @@
logging.error("fail to boot from recovery mode: %s", err)
return RETURN_CODES.BOOT_FROM_RECOVERY_MODE_FAILURE
+ # TODO (otabek): mix this step with update-label later.
if 'setup-labstation' in opts.actions:
try:
preparedut.setup_hwid_and_serialnumber(host)
@@ -120,11 +111,26 @@
if 'update-label' in opts.actions:
try:
preparedut.setup_hwid_and_serialnumber(host)
- host.labels.update_labels(host, task_name='deploy')
+ if not is_labstation:
+ host.labels.update_labels(host, task_name='deploy')
except Exception as err:
logging.error("fail to update label: %s", err)
return RETURN_CODES.UPDATE_LABEL_FAILURE
+ if 'run-pre-deploy-verification' in opts.actions:
+ try:
+ if is_labstation:
+ logging.info("testing RPM information on labstation")
+ preparedut.verify_labstation_RPM_config_unsafe(host)
+ else:
+ preparedut.verify_servo(host)
+ preparedut.verify_battery_status(host)
+ preparedut.verify_ccd_testlab_enable(host)
+ rpm_validator.verify_unsafe(host)
+ except Exception as err:
+ logging.error("fail on pre-deploy verification: %s", err)
+ return RETURN_CODES.PRE_DEPLOY_VERIFICATION_FAILURE
+
return RETURN_CODES.OK
diff --git a/site_utils/diagnosis_utils_unittest.py b/site_utils/diagnosis_utils_unittest.py
index da330a2..6c3cc08 100755
--- a/site_utils/diagnosis_utils_unittest.py
+++ b/site_utils/diagnosis_utils_unittest.py
@@ -104,7 +104,7 @@
self.status = status
self.locked = locked
- is_available = frontend.Host.is_available.im_func
+ is_available = frontend.Host.is_available.__func__
if __name__ == '__main__':
diff --git a/site_utils/dump_to_cloudsql.py b/site_utils/dump_to_cloudsql.py
index 4e15f25..2639a9b 100755
--- a/site_utils/dump_to_cloudsql.py
+++ b/site_utils/dump_to_cloudsql.py
@@ -24,7 +24,9 @@
--passwd PASSWD passwd (ignored for CloudSQL)
"""
+from __future__ import absolute_import
from __future__ import division
+from __future__ import print_function
import argparse
import collections
import datetime
@@ -32,6 +34,7 @@
import re
import sys
import time
+import six
BYTES_PER_GB = 2**30
@@ -65,7 +68,7 @@
return
# Execute command.
if execute_cmd:
- self._cursor.execute(self._cmd.decode('utf-8'))
+ self._cursor.execute(six.ensure_text(self._cmd, 'utf-8'))
self._cmd = ''
if increment_cmd:
self.cmd_num += 1
@@ -97,7 +100,7 @@
Returns:
A MySQLdb compatible database connection to the Cloud SQL instance.
"""
- print 'Connecting to Cloud SQL instance %s.' % self._instance
+ print('Connecting to Cloud SQL instance %s.' % self._instance)
try:
from google.storage.speckle.python.api import rdbms_googleapi
except ImportError:
@@ -122,7 +125,7 @@
Returns:
A MySQLdb database connection to the local MySQL database.
"""
- print 'Connecting to mysql at localhost as %s.' % self._user
+ print('Connecting to mysql at localhost as %s.' % self._user)
try:
import MySQLdb
except ImportError:
@@ -172,7 +175,7 @@
out: A File-like object to write out saved state.
"""
out.write(self._db_line)
- for v in self._sets.itervalues():
+ for v in six.itervalues(self._sets):
out.write(v)
for l in self._table_lock:
out.write(l)
@@ -212,7 +215,7 @@
# Construct commands from lines and execute them.
state.process(line)
if manager.cmd_num == cmd_offset and cmd_offset != 0:
- print '\nRecreating state at line: %d' % line_num
+ print('\nRecreating state at line: %d' % line_num)
state.write(manager)
manager.write(line, manager.cmd_num >= cmd_offset, True)
# Print status.
@@ -223,28 +226,28 @@
sys.stdout.flush()
# Handle interrupts and connection failures.
except KeyboardInterrupt:
- print ('\nInterrupted while executing command: %d' %
- manager.cmd_num)
+ print('\nInterrupted while executing command: %d' %
+ manager.cmd_num)
raise
except:
- print '\nFailed while executing command: %d' % manager.cmd_num
+ print('\nFailed while executing command: %d' % manager.cmd_num)
delta = int(time.time() - start_time)
- print 'Total time: %s' % str(datetime.timedelta(seconds=delta))
+ print('Total time: %s' % str(datetime.timedelta(seconds=delta)))
if state.breakpoint(line):
# Attempt to resume.
- print ('Execution can resume from here (line = %d)' %
- line_num)
+ print('Execution can resume from here (line = %d)' %
+ line_num)
manager.cmd_num += 1
cmd_offset = manager.cmd_num
- print ('Will now attempt to auto-resume at command: %d' %
- cmd_offset)
+ print('Will now attempt to auto-resume at command: %d' %
+ cmd_offset)
manager.disconnect()
else:
- print 'Execution may fail to resume correctly from here.'
- print ('Use --resume=%d to attempt to resume the dump.' %
- manager.cmd_num)
+ print('Execution may fail to resume correctly from here.')
+ print('Use --resume=%d to attempt to resume the dump.' %
+ manager.cmd_num)
raise
- print '\nDone.'
+ print('\nDone.')
if __name__ == '__main__':
@@ -273,6 +276,6 @@
connection = LocalSQLConnectionFactory(args.remote, args.user,
args.passwd)
if args.resume:
- print 'Resuming execution at command: %d' % options.resume
+ print('Resuming execution at command: %d' % options.resume)
dump_to_cloudsql(args.mysqldump, MySQLConnectionManager(connection),
args.resume)
diff --git a/site_utils/dut_status.py b/site_utils/dut_status.py
index 930d409..5f07c03 100755
--- a/site_utils/dut_status.py
+++ b/site_utils/dut_status.py
@@ -106,6 +106,10 @@
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import argparse
import sys
import time
@@ -169,7 +173,7 @@
"""
fmt = '%-30s %-2s %-19s %s'
- print fmt % ('hostname', 'S', 'last checked', 'URL')
+ print(fmt % ('hostname', 'S', 'last checked', 'URL'))
for history in history_list:
status, event = history.last_diagnosis()
if not _include_status(status, arguments):
@@ -178,23 +182,23 @@
url = '---'
if event is not None:
datestr = time_utils.epoch_time_to_date_string(
- event.start_time)
+ event.start_time)
url = event.job_url
- print fmt % (history.hostname,
+ print(fmt % (history.hostname,
_DIAGNOSIS_IDS[status],
datestr,
- url)
+ url))
def _print_event_summary(event):
"""Print a one-line summary of a job or special task."""
start_time = time_utils.epoch_time_to_date_string(
- event.start_time)
- print ' %s %s %s' % (
- start_time,
- _DIAGNOSIS_IDS[event.diagnosis],
- event.job_url)
+ event.start_time)
+ print(' %s %s %s' % (
+ start_time,
+ _DIAGNOSIS_IDS[event.diagnosis],
+ event.job_url))
def _print_hosts(history_list, arguments):
@@ -214,7 +218,7 @@
status, _ = history.last_diagnosis()
if not _include_status(status, arguments):
continue
- print history.hostname
+ print(history.hostname)
if arguments.full_history:
for event in history:
_print_event_summary(event)
@@ -240,8 +244,9 @@
"""
if (arguments.duration is not None and
arguments.since is not None and arguments.until is not None):
- print >>sys.stderr, ('FATAL: Can specify at most two of '
- '--since, --until, and --duration')
+ print('FATAL: Can specify at most two of '
+ '--since, --until, and --duration',
+ file=sys.stderr)
sys.exit(1)
if (arguments.until is None and (arguments.since is None or
arguments.duration is None)):
@@ -282,12 +287,12 @@
afe, hostname, arguments.since, arguments.until)
histories.append(h)
except:
- print >>sys.stderr, ('WARNING: Ignoring unknown host %s' %
- hostname)
+ print('WARNING: Ignoring unknown host %s' %
+ hostname, file=sys.stderr)
saw_error = True
if saw_error:
# Create separation from the output that follows
- print >>sys.stderr
+ print(file=sys.stderr)
return histories
@@ -314,8 +319,8 @@
"""
if arguments.board or arguments.pool or arguments.model:
if arguments.hostnames:
- print >>sys.stderr, ('FATAL: Hostname arguments provided '
- 'with --board or --pool')
+ print('FATAL: Hostname arguments provided '
+ 'with --board or --pool', file=sys.stderr)
sys.exit(1)
labels = labellib.LabelsMapping()
@@ -327,7 +332,7 @@
else:
histories = _get_host_histories(afe, arguments)
if not histories:
- print >>sys.stderr, 'FATAL: no valid hosts found'
+ print('FATAL: no valid hosts found', file=sys.stderr)
sys.exit(1)
return histories
diff --git a/site_utils/gmail_lib.py b/site_utils/gmail_lib.py
index 997c7b8..f5df276 100755
--- a/site_utils/gmail_lib.py
+++ b/site_utils/gmail_lib.py
@@ -16,6 +16,10 @@
> Line 2
Ctrl-D to end standard input.
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import argparse
import base64
import httplib2
@@ -196,7 +200,7 @@
help='Email addresses separated by space.')
args = parser.parse_args()
if not args.recipients or not args.subject:
- print 'Requires both recipients and subject.'
+ print('Requires both recipients and subject.')
sys.exit(1)
message_text = sys.stdin.read()
@@ -207,9 +211,9 @@
if random.random() < args.probability:
recipients.append(r)
if recipients:
- print 'Randomly selected recipients %s' % recipients
+ print('Randomly selected recipients %s' % recipients)
else:
- print 'Random filtering removed all recipients. Sending nothing.'
+ print('Random filtering removed all recipients. Sending nothing.')
sys.exit(0)
else:
recipients = args.recipients
diff --git a/site_utils/log_socket_server.py b/site_utils/log_socket_server.py
index 9de8080..ac948ae 100644
--- a/site_utils/log_socket_server.py
+++ b/site_utils/log_socket_server.py
@@ -1,3 +1,4 @@
+# Lint as: python2, python3
# The source code is from following Python documentation:
# https://docs.python.org/2/howto/logging-cookbook.html#network-logging
@@ -10,19 +11,23 @@
# logging.handlers.DEFAULT_TCP_LOGGING_PORT)
# logging.getLogger().addHandler(socketHandler)
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import ctypes
import pickle
import logging
import multiprocessing
import select
-import SocketServer
+import six.moves.socketserver
import struct
import time
import common
from autotest_lib.client.common_lib import utils
-class LogRecordStreamHandler(SocketServer.StreamRequestHandler):
+class LogRecordStreamHandler(six.moves.socketserver.StreamRequestHandler):
"""Handler for a streaming logging request.
This basically logs the record using whatever logging policy is
@@ -76,7 +81,7 @@
logger.handle(record)
-class LogRecordSocketReceiver(SocketServer.ThreadingTCPServer):
+class LogRecordSocketReceiver(six.moves.socketserver.ThreadingTCPServer):
"""Simple TCP socket-based logging receiver.
"""
@@ -86,7 +91,7 @@
handler=LogRecordStreamHandler):
if not port:
port = utils.get_unused_port()
- SocketServer.ThreadingTCPServer.__init__(self, (host, port), handler)
+ six.moves.socketserver.ThreadingTCPServer.__init__(self, (host, port), handler)
self.abort = 0
self.timeout = 1
self.logname = None
@@ -95,7 +100,7 @@
def serve_until_stopped(self):
"""Run the socket receiver until aborted."""
- print 'Log Record Socket Receiver is started.'
+ print('Log Record Socket Receiver is started.')
abort = 0
while not abort:
rd, wr, ex = select.select([self.socket.fileno()], [], [],
@@ -103,7 +108,7 @@
if rd:
self.handle_request()
abort = self.abort
- print 'Log Record Socket Receiver is stopped.'
+ print('Log Record Socket Receiver is stopped.')
class LogSocketServer:
@@ -132,7 +137,7 @@
while not server_started.value:
time.sleep(0.1)
LogSocketServer.port = port.value
- print 'Log Record Socket Server is started at port %d.' % port.value
+ print('Log Record Socket Server is started at port %d.' % port.value)
@staticmethod
diff --git a/site_utils/log_socket_server_unittest.py b/site_utils/log_socket_server_unittest.py
index 58c9403..a289670 100644
--- a/site_utils/log_socket_server_unittest.py
+++ b/site_utils/log_socket_server_unittest.py
@@ -1,7 +1,12 @@
+# Lint as: python2, python3
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import logging
import logging.handlers
import mox
@@ -11,7 +16,8 @@
import os
import unittest
-import log_socket_server
+from autotest_lib.site_utils import log_socket_server
+from six.moves import range
class TestLogSocketServer(mox.MoxTestBase):
diff --git a/site_utils/perf_compare.py b/site_utils/perf_compare.py
index b303413..0318d25 100644
--- a/site_utils/perf_compare.py
+++ b/site_utils/perf_compare.py
@@ -58,6 +58,9 @@
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
import json
import logging
import math
@@ -67,6 +70,7 @@
import shutil
import subprocess
import sys
+from six.moves import input
_ITERATIONS = 5
@@ -150,7 +154,7 @@
else benchmark_to_add['iterations'])
else:
benchmark_to_add['iterations'] = iter_num
- benchmarks_to_run = identified_benchmarks.values()
+ benchmarks_to_run = list(identified_benchmarks.values())
return benchmarks_to_run, perf_keys_requested
diff --git a/site_utils/rpc_flight_recorder.py b/site_utils/rpc_flight_recorder.py
index 7462f5b..f86f980 100755
--- a/site_utils/rpc_flight_recorder.py
+++ b/site_utils/rpc_flight_recorder.py
@@ -10,7 +10,7 @@
import time
import logging
import multiprocessing
-import urllib2
+from six.moves import urllib
import common
from autotest_lib.client.common_lib import global_config
@@ -224,7 +224,7 @@
if expected is not None and expected != result:
_failed(f, msg_str, 'IncorrectResponse')
- except urllib2.HTTPError as e:
+ except urllib.error.HTTPError as e:
_failed(f, msg_str, 'HTTPError:%d' % e.code)
except Exception as e:
diff --git a/site_utils/rpc_logserver.py b/site_utils/rpc_logserver.py
index ce7518e..4e225aa 100755
--- a/site_utils/rpc_logserver.py
+++ b/site_utils/rpc_logserver.py
@@ -5,6 +5,10 @@
# found in the LICENSE file.
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import argparse
import ctypes
import logging
@@ -51,7 +55,7 @@
LogServer.process.start()
while not server_started.value:
time.sleep(0.1)
- print 'LogServer is started at port %d.' % port
+ print('LogServer is started at port %d.' % port)
@staticmethod
diff --git a/site_utils/server_manager.py b/site_utils/server_manager.py
index 5a7d183..90c8430 100644
--- a/site_utils/server_manager.py
+++ b/site_utils/server_manager.py
@@ -1,3 +1,4 @@
+# Lint as: python2, python3
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -30,6 +31,10 @@
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import datetime
import common
@@ -74,7 +79,7 @@
server_manager_actions.try_execute(server, [role], enable=True,
post_change=True, do_action=action)
- print 'Role %s is added to server %s.' % (role, server.hostname)
+ print('Role %s is added to server %s.' % (role, server.hostname))
def _delete_role(server, role, action=False):
@@ -100,7 +105,7 @@
server_manager_actions.try_execute(server, [role], enable=False,
post_change=False, do_action=action)
- print 'Deleting role %s from server %s...' % (role, server.hostname)
+ print('Deleting role %s from server %s...' % (role, server.hostname))
server.roles.get(role=role).delete()
# Apply actions to disable the role for the server after the role is
@@ -112,7 +117,7 @@
server.status == server_models.Server.STATUS.PRIMARY):
print ('Server %s has no role.')
- print 'Role %s is deleted from server %s.' % (role, server.hostname)
+ print('Role %s is deleted from server %s.' % (role, server.hostname))
def _change_status(server, status, action):
@@ -175,9 +180,9 @@
prev_status=prev_status,
do_action=action)
- print ('Status of server %s is changed from %s to %s. Affected roles: %s' %
- (server.hostname, prev_status, status,
- ', '.join(server.get_role_names())))
+ print('Status of server %s is changed from %s to %s. Affected roles: %s' %
+ (server.hostname, prev_status, status,
+ ', '.join(server.get_role_names())))
@server_manager_utils.verify_server(exist=False)
@@ -211,17 +216,17 @@
@raise ServerActionError: If delete server action failed, e.g., server is
not found in database.
"""
- print 'Deleting server %s from server database.' % hostname
+ print('Deleting server %s from server database.' % hostname)
if (server_manager_utils.use_server_db() and
server.status == server_models.Server.STATUS.PRIMARY):
- print ('Server %s is in status primary, need to disable its '
- 'current roles first.' % hostname)
+ print('Server %s is in status primary, need to disable its '
+ 'current roles first.' % hostname)
for role in server.roles.all():
_delete_role(server, role.role)
server.delete()
- print 'Server %s is deleted from server database.' % hostname
+ print('Server %s is deleted from server database.' % hostname)
@server_manager_utils.verify_server()
diff --git a/site_utils/server_manager_actions.py b/site_utils/server_manager_actions.py
index f323038..f48f585 100644
--- a/site_utils/server_manager_actions.py
+++ b/site_utils/server_manager_actions.py
@@ -1,3 +1,4 @@
+# Lint as: python2, python3
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -11,6 +12,10 @@
are required to be executed and what actions to executed on which servers.
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import subprocess
import sys
@@ -85,18 +90,18 @@
servers = server_manager_utils.get_servers(
role=role, status=server_models.Server.STATUS.PRIMARY)
if not servers:
- print >> sys.stderr, ('WARNING! Action %s failed to be applied. No '
- 'server with given role %s was found.' %
- (action, role))
+ print('WARNING! Action %s failed to be applied. No '
+ 'server with given role %s was found.' % (action, role),
+ file=sys.stderr)
return
for server in servers:
- print 'Run command `%s` on server %s' % (command, server.hostname)
+ print('Run command `%s` on server %s' % (command, server.hostname))
try:
infra.execute_command(server.hostname, command)
except subprocess.CalledProcessError as e:
- print >> sys.stderr, ('Failed to check server %s, error: %s' %
- (server.hostname, e))
+ print('Failed to check server %s, error: %s' %
+ (server.hostname, e), file=sys.stderr)
def try_execute(server, roles, enable, post_change,
@@ -147,4 +152,4 @@
message = ('WARNING! Action %s is skipped. Please manually '
'execute the action to make your change effective.' %
str(action))
- print >> sys.stderr, message
+ print(message, file=sys.stderr)
diff --git a/site_utils/server_manager_utils.py b/site_utils/server_manager_utils.py
index a626dd5..b164318 100644
--- a/site_utils/server_manager_utils.py
+++ b/site_utils/server_manager_utils.py
@@ -1,3 +1,4 @@
+# Lint as: python2, python3
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -7,6 +8,10 @@
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import json
import socket
import subprocess
@@ -51,7 +56,7 @@
'removed from server %s. Autotest will not function '
'normally without any server in role %s.' %
(role, exclude_server.hostname, role))
- print >> sys.stderr, message
+ print(message, file=sys.stderr)
def get_servers(hostname=None, role=None, status=None):
@@ -143,8 +148,8 @@
infra.execute_command(hostname, 'true')
return True
except subprocess.CalledProcessError as e:
- print >> sys.stderr, ('Failed to check server %s, error: %s' %
- (hostname, e))
+ print('Failed to check server %s, error: %s' %
+ (hostname, e), file=sys.stderr)
return False
@@ -216,8 +221,8 @@
raise ServerActionError('Server %s does not have attribute %s' %
(server.hostname, attribute))
attributes[0].delete()
- print 'Attribute %s is deleted from server %s.' % (attribute,
- server.hostname)
+ print('Attribute %s is deleted from server %s.' % (attribute,
+ server.hostname))
def change_attribute(server, attribute, value):
@@ -240,13 +245,13 @@
old_value = attributes[0].value
attributes[0].value = value
attributes[0].save()
- print ('Attribute `%s` of server %s is changed from %s to %s.' %
- (attribute, server.hostname, old_value, value))
+ print('Attribute `%s` of server %s is changed from %s to %s.' %
+ (attribute, server.hostname, old_value, value))
else:
server_models.ServerAttribute.objects.create(
server=server, attribute=attribute, value=value)
- print ('Attribute `%s` of server %s is set to %s.' %
- (attribute, server.hostname, value))
+ print('Attribute `%s` of server %s is set to %s.' %
+ (attribute, server.hostname, value))
def get_shards():
diff --git a/site_utils/set_tree_status.py b/site_utils/set_tree_status.py
index 9a9c302..4ddc813 100755
--- a/site_utils/set_tree_status.py
+++ b/site_utils/set_tree_status.py
@@ -9,17 +9,21 @@
# Example usage:
# ./set_tree_status.py [options] "a quoted space separated message."
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
import getpass
import optparse
import os
import sys
-import urllib
+from six.moves import urllib
CHROMEOS_STATUS_SERVER = 'https://chromiumos-status.appspot.com'
def get_status():
- response = urllib.urlopen(CHROMEOS_STATUS_SERVER + '/current?format=raw')
+ response = urllib.request.urlopen(
+ CHROMEOS_STATUS_SERVER + '/current?format=raw')
return response.read()
@@ -35,15 +39,17 @@
if not force:
status = get_status()
if 'tree is closed' in status.lower():
- print >> sys.stderr, 'Tree is already closed for some other reason.'
- print >> sys.stderr, status
+ print('Tree is already closed for some other reason.',
+ file=sys.stderr)
+ print(status, file=sys.stderr)
return -1
data = {
'message': message,
'username': getpass.getuser(),
'password': get_pwd(),
}
- urllib.urlopen(CHROMEOS_STATUS_SERVER + '/status', urllib.urlencode(data))
+ urllib.request.urlopen(CHROMEOS_STATUS_SERVER + '/status',
+ urllib.parse.urlencode(data))
return 0
@@ -55,5 +61,5 @@
help='Dont force to close tree if it is already closed.')
options, args = parser.parse_args()
if not args:
- print >> sys.stderr, 'missing tree close message.'
+ print('missing tree close message.', file=sys.stderr)
sys.exit(post_status(options.force, args[0]))
diff --git a/site_utils/suite_enumerator.py b/site_utils/suite_enumerator.py
index ab352ed..37e949f 100755
--- a/site_utils/suite_enumerator.py
+++ b/site_utils/suite_enumerator.py
@@ -19,6 +19,10 @@
dynamic suite infrastructure in server/cros/dynamic_suite.py.
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import logging
import optparse, os, sys
@@ -55,7 +59,7 @@
parser, options, args = parse_options()
if options.listall:
if args:
- print 'Cannot use suite_name with --listall'
+ print('Cannot use suite_name with --listall')
parser.print_help()
elif not args or len(args) != 1:
parser.print_help()
@@ -65,7 +69,7 @@
devserver = cros_lib.dev_server.ImageServer('')
if options.listall:
for suite in suite_lib.list_all_suites('', devserver, fs_getter):
- print suite
+ print(suite)
return
suite = suite_lib.Suite.create_from_name(args[0], {}, '', devserver,
@@ -74,19 +78,19 @@
# NOTE: the test.name value can be *different* from the directory
# name that appears in test.path
PRETEST_LIST = ['firmware_FAFTSetup',]
- for test in filter(lambda test: test.name in \
- PRETEST_LIST, suite.tests):
- print test.path
- for test in filter(lambda test: test.name not in \
- PRETEST_LIST, suite.tests):
- print test.path
+ for test in [test for test in suite.tests if test.name in
+ PRETEST_LIST]:
+ print(test.path)
+ for test in [test for test in suite.tests if test.name not in
+ PRETEST_LIST]:
+ print(test.path)
# Check if test_suites/control.suite_name exists.
control_path = os.path.join(options.autotest_dir, 'test_suites',
'control.' + args[0])
if not os.path.exists(control_path):
- print >> sys.stderr, ('Warning! control file is missing: %s' %
- control_path)
+ print('Warning! control file is missing: %s' %
+ control_path, file=sys.stderr)
if __name__ == "__main__":
diff --git a/site_utils/suite_preprocessor.py b/site_utils/suite_preprocessor.py
index 99e78ca..3f0452d 100755
--- a/site_utils/suite_preprocessor.py
+++ b/site_utils/suite_preprocessor.py
@@ -8,6 +8,9 @@
Deprecated tool for preprocessing tests to determine their DEPENDENCIES.
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
import optparse, os, sys
import common
@@ -42,7 +45,7 @@
with open(options.output_file, 'w') as file_obj:
file_obj.write('%r' % test_deps)
else:
- print '%r' % test_deps
+ print('%r' % test_deps)
if __name__ == "__main__":
diff --git a/site_utils/sync_cloudsql_access.py b/site_utils/sync_cloudsql_access.py
index 2254ae9..3abb94b 100755
--- a/site_utils/sync_cloudsql_access.py
+++ b/site_utils/sync_cloudsql_access.py
@@ -22,6 +22,10 @@
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import argparse
import socket
import sys
@@ -89,9 +93,9 @@
'CLOUD', 'tko_access_servers', default='')
if tko_servers:
servers.extend(tko_servers.split(','))
- print 'Adding servers %s to access list for projects %s' % (servers,
- instance)
- print 'Fetching their IP addresses...'
+ print('Adding servers %s to access list for projects %s' % (servers,
+ instance))
+ print('Fetching their IP addresses...')
ips = []
for name in servers:
try:
@@ -100,18 +104,18 @@
# collect external ips
ips.append(_fetch_external_ip(name))
except socket.gaierror:
- print 'Failed to resolve internal IP address for name %s' % name
+ print('Failed to resolve internal IP address for name %s' % name)
raise
except error.TimeoutException:
- print 'Failed to resolve external IP address for %s' % name
+ print('Failed to resolve external IP address for %s' % name)
raise
- print '...Done: %s' % ips
+ print('...Done: %s' % ips)
cidr_ips = [str(ip) + '/32' for ip in ips]
if dryrun:
- print 'This is a dryrun: skip updating glcoud sql allowlists.'
+ print('This is a dryrun: skip updating glcoud sql allowlists.')
return
login = False
@@ -120,7 +124,7 @@
utils.run('gcloud config set project %s -q' % project)
cmd = ('gcloud sql instances patch %s --authorized-networks %s '
'-q' % (instance, ','.join(cidr_ips)))
- print 'Running command to update allowlists: "%s"' % cmd
+ print('Running command to update allowlists: "%s"' % cmd)
utils.run(cmd, stdout_tee=sys.stdout, stderr_tee=sys.stderr)
return
except error.CmdError:
diff --git a/site_utils/test_push.py b/site_utils/test_push.py
index f1f1fb6..e19f739 100755
--- a/site_utils/test_push.py
+++ b/site_utils/test_push.py
@@ -18,6 +18,10 @@
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import argparse
import ast
import datetime
@@ -29,7 +33,7 @@
import sys
import time
import traceback
-import urllib2
+from six.moves import urllib
import common
try:
@@ -108,7 +112,7 @@
@param pool: the pool used by test_push.
@raise TestPushException: if number of DUTs are less than the requirement.
"""
- print 'Checking DUT inventory...'
+ print('Checking DUT inventory...')
pool_label = constants.Labels.POOL_PREFIX + pool
hosts = AFE.run('get_hosts', status='Ready', locked=False)
hosts = [h for h in hosts if pool_label in h.get('labels', [])]
@@ -154,7 +158,7 @@
def reverify_all_push_duts():
"""Reverify all the push DUTs."""
- print 'Reverifying all DUTs.'
+ print('Reverifying all DUTs.')
hosts = [h.hostname for h in AFE.get_hosts()]
AFE.reverify_hosts(hostnames=hosts)
@@ -270,7 +274,7 @@
# Break when run_suite process completed.
if not line and proc.poll() != None:
break
- print line.rstrip()
+ print(line.rstrip())
_run_suite_output.append(line.rstrip())
if not suite_job_id:
@@ -295,7 +299,7 @@
'flag has timed out after %d mins. Aborting it.' %
arguments.timeout_min)
- print 'Suite job %s is completed.' % suite_job_id
+ print('Suite job %s is completed.' % suite_job_id)
return suite_job_id
@@ -306,7 +310,7 @@
@param suite_job_id: job ID of the suite job.
@raise TestPushException: If a DUT does not have expected build imaged.
"""
- print 'Checking image installed in DUTs...'
+ print('Checking image installed in DUTs...')
job_ids = [job.id for job in
models.Job.objects.filter(parent_job_id=suite_job_id)]
hqes = [models.HostQueueEntry.objects.filter(job_id=job_id)[0]
@@ -352,7 +356,7 @@
@param expected_results: A dictionary of test name to test result.
@raise TestPushException: If verify fails.
"""
- print 'Comparing test results...'
+ print('Comparing test results...')
test_views = site_utils.get_test_views_from_tko(job_id, TKO)
summary = test_push_common.summarize_push(test_views, expected_results,
_IGNORED_TESTS)
@@ -361,8 +365,8 @@
job_name = '%s-%s' % (job_id, getpass.getuser())
log_link = URL_PATTERN % (rpc_client_lib.add_protocol(URL_HOST), job_name)
try:
- urllib2.urlopen(log_link).read()
- except urllib2.URLError:
+ urllib.request.urlopen(log_link).read()
+ except urllib.error.URLError:
summary.append('Failed to load page for link to log: %s.' % log_link)
if summary:
@@ -400,7 +404,7 @@
return
exc_info = queue.get()
# Raise the exception with original backtrace.
- print 'Original stack trace of the exception:\n%s' % exc_info[2]
+ print('Original stack trace of the exception:\n%s' % exc_info[2])
raise exc_info[0](exc_info[1])
@@ -504,7 +508,7 @@
check_dut_inventory(arguments.num_duts, arguments.pool)
_run_test_suites(arguments)
check_service_crash(arguments.service_respawn_limit, start_time)
- print _SUCCESS_MSG
+ print(_SUCCESS_MSG)
except Exception:
# Abort running jobs unless flagged to continue when there is a failure.
if not arguments.continue_on_failure:
diff --git a/site_utils/test_push_common.py b/site_utils/test_push_common.py
index f22614c..715aa6b 100644
--- a/site_utils/test_push_common.py
+++ b/site_utils/test_push_common.py
@@ -1,3 +1,4 @@
+# Lint as: python2, python3
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -8,8 +9,12 @@
skylab: venv/skylab_staging/test_push.py
"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
import collections
import re
+import six
# Dictionary of test results keyed by test name regular expression.
EXPECTED_TEST_RESULTS = {'^SERVER_JOB$': ['GOOD'],
@@ -74,7 +79,7 @@
mismatch_errors = []
unknown_tests = []
found_keys = set()
- for test_name, test_status_list in test_views.iteritems():
+ for test_name, test_status_list in six.iteritems(test_views):
test_found = False
for test_name_pattern, expected_result in expected_results.items():
if re.search(test_name_pattern, test_name):
diff --git a/site_utils/test_push_unittest.py b/site_utils/test_push_unittest.py
index 32f353f..fbc3d31 100755
--- a/site_utils/test_push_unittest.py
+++ b/site_utils/test_push_unittest.py
@@ -3,10 +3,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import StringIO
+import six
import mox
import unittest
-import urllib2
+from six.moves import urllib
import mock
@@ -47,9 +47,9 @@
"""
self.mox.UnsetStubs()
- response = StringIO.StringIO('some_value')
- self.mox.StubOutWithMock(urllib2, 'urlopen')
- urllib2.urlopen(mox.IgnoreArg()).AndReturn(response)
+ response = six.StringIO('some_value')
+ self.mox.StubOutWithMock(urllib.request, 'urlopen')
+ urllib.request.urlopen(mox.IgnoreArg()).AndReturn(response)
self.mox.StubOutWithMock(test_push, 'check_dut_image')
test_push.check_dut_image(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(
diff --git a/site_utils/test_runner_utils.py b/site_utils/test_runner_utils.py
index 802cde6..7d6f2d8 100755
--- a/site_utils/test_runner_utils.py
+++ b/site_utils/test_runner_utils.py
@@ -1,7 +1,12 @@
+# Lint as: python2, python3
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import errno
import os
import re
@@ -31,6 +36,7 @@
from autotest_lib.server import server_logging_config
from autotest_lib.server import utils
from autotest_lib.utils import labellib
+from six.moves import range
_autoserv_proc = None
@@ -463,7 +469,7 @@
@param ssh_private_key: Path to the ssh private key to use for testing.
"""
# Add the testing key to the current ssh agent.
- if os.environ.has_key('SSH_AGENT_PID'):
+ if 'SSH_AGENT_PID' in os.environ:
# Copy the testing key to the temp directory and make it NOT
# world-readable. Otherwise, ssh-add complains.
shutil.copy(ssh_private_key, temp_directory)
diff --git a/site_utils/test_runner_utils_unittest.py b/site_utils/test_runner_utils_unittest.py
index 6f75fe8..2c87bad 100755
--- a/site_utils/test_runner_utils_unittest.py
+++ b/site_utils/test_runner_utils_unittest.py
@@ -4,6 +4,9 @@
# found in the LICENSE file.
# pylint: disable-msg=C0111
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
import os, unittest
import mox
import common
@@ -15,6 +18,8 @@
from autotest_lib.server.cros.dynamic_suite import suite as suite_module
from autotest_lib.server.hosts import host_info
from autotest_lib.site_utils import test_runner_utils
+from six.moves import range
+from six.moves import zip
class StartsWithList(mox.Comparator):
@@ -47,7 +52,7 @@
if len(rhs)<n:
return False
return any((self._sublist == rhs[i:i+n])
- for i in xrange(len(rhs) - n + 1))
+ for i in range(len(rhs) - n + 1))
class DummyJob(object):
def __init__(self, id=1):
diff --git a/site_utils/test_that.py b/site_utils/test_that.py
index 7a2e6a6..64a01a3 100755
--- a/site_utils/test_that.py
+++ b/site_utils/test_that.py
@@ -3,6 +3,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
import argparse
import os
import signal
@@ -253,7 +257,7 @@
@param arguments: Parsed command line arguments.
"""
if not os.path.exists('/etc/cros_chroot_version'):
- print >> sys.stderr, 'For local runs, script must be run inside chroot.'
+ print('For local runs, script must be run inside chroot.', file=sys.stderr)
return 1
results_directory = test_runner_utils.create_results_directory(
@@ -281,8 +285,8 @@
sysroot_path = os.path.join('/build', arguments.board, '')
if not os.path.exists(sysroot_path):
- print >> sys.stderr, ('%s does not exist. Have you run '
- 'setup_board?' % sysroot_path)
+ print(('%s does not exist. Have you run '
+ 'setup_board?' % sysroot_path), file=sys.stderr)
return 1
path_ending = 'usr/local/build/autotest'
@@ -291,10 +295,10 @@
site_utils_path = os.path.join(autotest_path, 'site_utils')
if not os.path.exists(autotest_path):
- print >> sys.stderr, ('%s does not exist. Have you run '
- 'build_packages? Or if you are using '
- '--autotest_dir, make sure it points to '
- 'a valid autotest directory.' % autotest_path)
+ print(('%s does not exist. Have you run '
+ 'build_packages? Or if you are using '
+ '--autotest_dir, make sure it points to '
+ 'a valid autotest directory.' % autotest_path), file=sys.stderr)
return 1
realpath = os.path.realpath(__file__)
@@ -378,7 +382,7 @@
try:
validate_arguments(arguments)
except ValueError as err:
- print >> sys.stderr, ('Invalid arguments. %s' % err.message)
+ print(('Invalid arguments. %s' % str(err)), file=sys.stderr)
return 1
if arguments.remote == ':lab:':
diff --git a/test_suites/control.camera-postsubmit b/test_suites/control.camera-postsubmit
index f154e0f..90ae2db 100644
--- a/test_suites/control.camera-postsubmit
+++ b/test_suites/control.camera-postsubmit
@@ -3,7 +3,7 @@
# found in the LICENSE file.
AUTHOR = "Chrome OS Team"
-NAME = "camera-postsbumit"
+NAME = "camera-postsubmit"
PURPOSE = "Suite to run camera tests in postsubmit"
TIME = "MEDIUM"
TEST_CATEGORY = "General"
diff --git a/test_suites/control.fingerprint-mcu b/test_suites/control.fingerprint-mcu
new file mode 100644
index 0000000..e32fefe
--- /dev/null
+++ b/test_suites/control.fingerprint-mcu
@@ -0,0 +1,24 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "yichengli@chromium.org"
+NAME = "fingerprint-mcu"
+PURPOSE = "Verify fingerprint MCU unittests pass on device."
+
+TIME = "SHORT"
+TEST_CATEGORY = "General"
+TEST_CLASS = "suite"
+TEST_TYPE = "Server"
+
+DOC = """ This suite runs fingerprint MCU unittests on board. """
+
+import common
+from autotest_lib.server.cros.dynamic_suite import dynamic_suite
+
+args_dict['add_experimental'] = True
+args_dict['max_runtime_mins'] = 60
+args_dict['name'] = NAME
+args_dict['job'] = job
+
+dynamic_suite.reimage_and_run(**args_dict)
diff --git a/test_suites/control.nearby-share b/test_suites/control.nearby-share
new file mode 100644
index 0000000..da46783
--- /dev/null
+++ b/test_suites/control.nearby-share
@@ -0,0 +1,20 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "ChromeOS SW Engprod Team (chromeos-sw-engprod@google.com)"
+NAME = "nearby-share"
+PURPOSE = "Suite to run Nearby Share tests on Chrome OS devices."
+TIME = "SHORT"
+TEST_CATEGORY = "General"
+TEST_CLASS = "suite"
+TEST_TYPE = "Server"
+DOC = """ This suite runs Nearby Share tests. """
+
+import common
+from autotest_lib.server.cros.dynamic_suite import dynamic_suite
+args_dict['max_runtime_mins'] = 60
+args_dict['name'] = NAME
+args_dict['job'] = job
+dynamic_suite.reimage_and_run(**args_dict)
+
diff --git a/tko/perf_upload/perf_uploader.py b/tko/perf_upload/perf_uploader.py
index d94af55..7834da3 100644
--- a/tko/perf_upload/perf_uploader.py
+++ b/tko/perf_upload/perf_uploader.py
@@ -394,7 +394,7 @@
presentation_info, jobname)
_send_to_dashboard(formatted_data)
except PerfUploadingError as e:
- tko_utils.dprint('Error when uploading perf data to the perf '
+ tko_utils.dprint('Warning: unable to upload perf data to the perf '
'dashboard for test %s: %s' % (test_name, e))
else:
tko_utils.dprint('Successfully uploaded perf data to the perf '