#
# DO NOT EDIT!
# This file is automatically generated at least once every
# hour by the GenerateVersionTable() sub in globals.pl.
# Any changes you make will be overwritten.
#
@::log_columns = (
                   'alias',
                   'assigned_to',
                   'bug_file_loc',
                   'bug_severity',
                   'bug_status',
                   'cclist_accessible',
                   'component_id',
                   'deadline',
                   'estimated_time',
                   'everconfirmed',
                   'keywords',
                   'op_sys',
                   'priority',
                   'product_id',
                   'qa_contact',
                   'remaining_time',
                   'rep_platform',
                   'reporter',
                   'reporter_accessible',
                   'resolution',
                   'short_desc',
                   'status_whiteboard',
                   'target_milestone',
                   'version',
                   'votes'
                 );
%::versions = (
                'usermgmt_cmds' => [
                                     'unspecified'
                                   ],
                'WebKit' => [
                              '312.x',
                              '412',
                              '412.x',
                              '416.x',
                              '417.x',
                              '420+ (nightly)'
                            ],
                'XPostFacto' => [
                                  '3.0a10',
                                  '3.0a11',
                                  '3.0a3',
                                  '3.0a4',
                                  '3.0a5',
                                  '3.0a6',
                                  '3.0a8',
                                  '3.0a9',
                                  '3.0b1',
                                  'unspecified'
                                ],
                'Infrastructure' => [
                                      'unspecified'
                                    ],
                'HeaderDoc' => [
                                 '6',
                                 '8.0'
                               ],
                'xar' => [
                           'unspecified'
                         ],
                'darwinbuild' => [
                                   '0.1',
                                   '0.2',
                                   '0.3',
                                   '0.4',
                                   '0.5',
                                   '0.6',
                                   '0.6.1',
                                   '0.7',
                                   '0.7.1',
                                   '0.7.2',
                                   '0.7.3',
                                   'current'
                                 ],
                'Doc' => [
                           '1.0'
                         ],
                'openssh-lpk' => [
                                   '0.2',
                                   'current'
                                 ],
                'libFoundation' => [
                                     'unspecified'
                                   ],
                'DarwinPorts' => [
                                   '0.5',
                                   '1.0',
                                   '1.2'
                                 ],
                'OpenAudio' => [
                                 '0.2',
                                 'unspecified'
                               ],
                'OpenDarwin' => [
                                  '7.2.1',
                                  '7.2.1-pre',
                                  '8.2.1',
                                  'unspecified'
                                ]
              );
@::legal_versions = (
                      '0.1',
                      '0.2',
                      '0.3',
                      '0.4',
                      '0.5',
                      '0.6',
                      '0.6.1',
                      '0.7',
                      '0.7.1',
                      '0.7.2',
                      '0.7.3',
                      '1.0',
                      '1.2',
                      '3.0a10',
                      '3.0a11',
                      '3.0a3',
                      '3.0a4',
                      '3.0a5',
                      '3.0a6',
                      '3.0a8',
                      '3.0a9',
                      '3.0b1',
                      '312.x',
                      '412',
                      '412.x',
                      '416.x',
                      '417.x',
                      '420+ (nightly)',
                      '6',
                      '7.2.1',
                      '7.2.1-pre',
                      '8.0',
                      '8.2.1',
                      'current',
                      'unspecified'
                    );
%::components = (
                  'usermgmt_cmds' => [
                                       'adduser',
                                       'pw',
                                       'www'
                                     ],
                  'WebKit' => [
                                'Accessibility',
                                'CSS',
                                'Frames',
                                'HTML DOM',
                                'HTML Editing',
                                'HTML Forms',
                                'JavaScript',
                                'Layout and Rendering',
                                'MathML',
                                'New Bugs',
                                'Plug-ins and Java',
                                'Printing',
                                'SVG',
                                'Tables',
                                'Tools',
                                'Web Inspector',
                                'WebKit API',
                                'WebKit Misc.',
                                'Website',
                                'XML DOM',
                                'XSLT'
                              ],
                  'XPostFacto' => [
                                    'Application',
                                    'BootX',
                                    'doc',
                                    'Failure Booting',
                                    'Kernel Extensions',
                                    'Machine Support',
                                    'NVRAM Patches',
                                    'Other',
                                    'PCI cards',
                                    'User Interface',
                                    'XPFStartupItem'
                                  ],
                  'Infrastructure' => [
                                        'Bugzilla',
                                        'General',
                                        'Web Content'
                                      ],
                  'HeaderDoc' => [
                                   'HeaderDoc'
                                 ],
                  'xar' => [
                             'xar'
                           ],
                  'darwinbuild' => [
                                     'darwinbuild',
                                     'darwinxref'
                                   ],
                  'Doc' => [
                             'Articles'
                           ],
                  'openssh-lpk' => [
                                     'openssh-lpk'
                                   ],
                  'libFoundation' => [
                                       'General'
                                     ],
                  'DarwinPorts' => [
                                     'base',
                                     'doc',
                                     'dp-cocoa',
                                     'dports',
                                     'uninstaller',
                                     'www'
                                   ],
                  'OpenAudio' => [
                                   'OpenAudio'
                                 ],
                  'OpenDarwin' => [
                                    'CoreFoundation',
                                    'General',
                                    'Releases'
                                  ]
                );
@::legal_components = (
                        'Accessibility',
                        'adduser',
                        'Application',
                        'Articles',
                        'base',
                        'BootX',
                        'Bugzilla',
                        'CoreFoundation',
                        'CSS',
                        'darwinbuild',
                        'darwinxref',
                        'doc',
                        'dp-cocoa',
                        'dports',
                        'Failure Booting',
                        'Frames',
                        'General',
                        'HeaderDoc',
                        'HTML DOM',
                        'HTML Editing',
                        'HTML Forms',
                        'JavaScript',
                        'Kernel Extensions',
                        'Layout and Rendering',
                        'Machine Support',
                        'MathML',
                        'New Bugs',
                        'NVRAM Patches',
                        'OpenAudio',
                        'openssh-lpk',
                        'Other',
                        'PCI cards',
                        'Plug-ins and Java',
                        'Printing',
                        'pw',
                        'Releases',
                        'SVG',
                        'Tables',
                        'Tools',
                        'uninstaller',
                        'User Interface',
                        'Web Content',
                        'Web Inspector',
                        'WebKit API',
                        'WebKit Misc.',
                        'Website',
                        'www',
                        'xar',
                        'XML DOM',
                        'XPFStartupItem',
                        'XSLT'
                      );
@::legal_product = (
                     'darwinbuild',
                     'DarwinPorts',
                     'Doc',
                     'HeaderDoc',
                     'Infrastructure',
                     'libFoundation',
                     'OpenAudio',
                     'OpenDarwin',
                     'openssh-lpk',
                     'usermgmt_cmds',
                     'WebKit',
                     'xar',
                     'XPostFacto'
                   );
@::legal_priority = (
                      'P1',
                      'P2',
                      'P3',
                      'P4',
                      'P5'
                    );
@::legal_severity = (
                      'blocker',
                      'critical',
                      'major',
                      'normal',
                      'minor',
                      'trivial',
                      'enhancement'
                    );
@::legal_platform = (
                      'All',
                      'DEC',
                      'HP',
                      'Macintosh',
                      'PC',
                      'SGI',
                      'Sun',
                      'Other'
                    );
@::legal_opsys = (
                   'All',
                   'Windows 3.1',
                   'Windows 95',
                   'Windows 98',
                   'Windows ME',
                   'Windows 2000',
                   'Windows NT',
                   'Windows XP',
                   'Windows Server 2003',
                   'Mac System 7',
                   'Mac System 7.5',
                   'Mac System 7.6.1',
                   'Mac System 8.0',
                   'Mac System 8.5',
                   'Mac System 8.6',
                   'Mac System 9.x',
                   'Mac OS X 10.0',
                   'Mac OS X 10.1',
                   'Mac OS X 10.2',
                   'Mac OS X 10.3',
                   'Mac OS X 10.4',
                   'Linux',
                   'BSD/OS',
                   'FreeBSD',
                   'NetBSD',
                   'OpenBSD',
                   'AIX',
                   'BeOS',
                   'HP-UX',
                   'IRIX',
                   'Neutrino',
                   'OpenVMS',
                   'OS/2',
                   'OSF/1',
                   'Solaris',
                   'SunOS',
                   'Darwin',
                   'OpenDarwin',
                   'other'
                 );
@::legal_bug_status = (
                        'UNCONFIRMED',
                        'NEW',
                        'ASSIGNED',
                        'REOPENED',
                        'RESOLVED',
                        'VERIFIED',
                        'CLOSED'
                      );
@::legal_resolution = (
                        '',
                        'FIXED',
                        'INVALID',
                        'WONTFIX',
                        'LATER',
                        'REMIND',
                        'DUPLICATE',
                        'WORKSFORME',
                        'MOVED'
                      );
@::settable_resolution = (
                           '',
                           'FIXED',
                           'INVALID',
                           'WONTFIX',
                           'LATER',
                           'REMIND',
                           'WORKSFORME'
                         );
%::proddesc = (
                'WebKit' => 'An open source XML and HTML framework used by the Safari Web browser.',
                'usermgmt_cmds' => 'Command-line tools for managing users and groups.',
                'XPostFacto' => 'Mac OS X extensions for "unsupported" machines.',
                'Infrastructure' => 'The OpenDarwin.org services and servers and stuff.',
                'HeaderDoc' => 'The documentation generator.',
                'xar' => 'eXtensible ARchiver',
                'darwinbuild' => 'Bugs related to the darwinbuild scripts',
                'Doc' => 'Darwin Documentation',
                'openssh-lpk' => 'OpenSSH LDAP Public Key patch.',
                'DarwinPorts' => 'DarwinPorts infrastructure and ports collection',
                'libFoundation' => 'A light-weight standalone library which implements a large portion of the OPENSTEP specification designed to work with both the GNU and NeXT/Apple Objective-C runtimes.',
                'OpenAudio' => 'Audio driver for Darwin (/dev/dsp)',
                'OpenDarwin' => 'The OpenDarwin operating system. NOTE: General Darwin bugs do NOT belong here UNLESS you intend to work on them. All bugs not specific to OpenDarwin should be filed upstream with Apple FIRST.'
              );
%::classifications = (
                       'Unclassified' => [
                                           'libFoundation',
                                           'Infrastructure',
                                           'HeaderDoc',
                                           'OpenDarwin',
                                           'DarwinPorts',
                                           'Doc',
                                           'XPostFacto',
                                           'xar',
                                           'OpenAudio',
                                           'usermgmt_cmds',
                                           'openssh-lpk',
                                           'WebKit',
                                           'darwinbuild'
                                         ]
                     );
%::classdesc = (
                 'Unclassified' => 'Unassigned to any classifications'
               );
@::enterable_products = (
                          'darwinbuild',
                          'DarwinPorts',
                          'Doc',
                          'HeaderDoc',
                          'Infrastructure',
                          'libFoundation',
                          'OpenAudio',
                          'OpenDarwin',
                          'openssh-lpk',
                          'usermgmt_cmds',
                          'WebKit',
                          'xar',
                          'XPostFacto'
                        );
%::prodmaxvotes = (
                    'WebKit' => '0',
                    'usermgmt_cmds' => '0',
                    'XPostFacto' => '10',
                    'Infrastructure' => '0',
                    'HeaderDoc' => '0',
                    'xar' => '0',
                    'darwinbuild' => '0',
                    'Doc' => '0',
                    'openssh-lpk' => '0',
                    'DarwinPorts' => '0',
                    'libFoundation' => '0',
                    'OpenAudio' => '0',
                    'OpenDarwin' => '0'
                  );
%::target_milestone = (
                        'WebKit' => [
                                      '---'
                                    ],
                        'usermgmt_cmds' => [
                                             '---'
                                           ],
                        'XPostFacto' => [
                                          '---'
                                        ],
                        'Infrastructure' => [
                                              '---'
                                            ],
                        'HeaderDoc' => [
                                         '---'
                                       ],
                        'darwinbuild' => [
                                           '---'
                                         ],
                        'xar' => [
                                   '---'
                                 ],
                        'Doc' => [
                                   '---'
                                 ],
                        'openssh-lpk' => [
                                           '---'
                                         ],
                        'libFoundation' => [
                                             '---'
                                           ],
                        'DarwinPorts' => [
                                           '---'
                                         ],
                        'OpenAudio' => [
                                         '---'
                                       ],
                        'OpenDarwin' => [
                                          '---'
                                        ]
                      );
@::legal_target_milestone = (
                              '---'
                            );
%::milestoneurl = (
                    'WebKit' => '',
                    'usermgmt_cmds' => '',
                    'XPostFacto' => '',
                    'Infrastructure' => '',
                    'HeaderDoc' => '',
                    'xar' => '',
                    'darwinbuild' => '',
                    'Doc' => '',
                    'openssh-lpk' => '',
                    'DarwinPorts' => '',
                    'libFoundation' => '',
                    'OpenAudio' => '',
                    'OpenDarwin' => ''
                  );
@::legal_keywords = (
                      'EasyFix',
                      'HasReduction',
                      'HitList',
                      'HitListCandidate',
                      'InRadar',
                      'NativeTextField',
                      'NeedsReduction',
                      'Regression',
                      'SVGHitList'
                    );
%::keywordsbyname = (
                      'hitlistcandidate' => '6',
                      'needsreduction' => '1',
                      'inradar' => '4',
                      'hasreduction' => '2',
                      'regression' => '3',
                      'easyfix' => '8',
                      'svghitlist' => '9',
                      'nativetextfield' => '7',
                      'hitlist' => '5'
                    );
1;
