$X = {
       'maxSessions' => {
                          'value' => '500',
                          'priority' => 1,
                          'sortOrder' => 112,
                          'func' => '($input ne "") ? $input : 500',
                          'prompt' => 'What is that maximum number of Sessions that can be displayed on the Run Tests and Select Report pages?',
                          'default' => '500',
                          'type' => 'text'
                        },
       'mailFrom' => {
                       'value' => 'ATMadmin@localhost',
                       'sortOrder' => 30,
                       'priority' => 20,
                       'prompt' => 'What is the e-mail address from which notifications should be sent? ',
                       'type' => 'text',
                       'default' => 'ATMadmin@localhost'
                     },
       'createAccount' => {
                            'func' => '(lc($input) =~ /y/) ? 1 : 0',
                            'prompt' => 'Create their own accounts?',
                            'default' => 'n',
                            'type' => 'boolean',
                            'value' => 0,
                            'priority' => 2,
                            'sortOrder' => 1
                          },
       'allowManageSuite' => {
                               'priority' => 2,
                               'sortOrder' => 80,
                               'value' => 1,
                               'default' => 'y',
                               'type' => 'boolean',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'prompt' => 'Change test suite configurations?'
                             },
       'allowImportReqs' => {
                              'prompt' => 'Import requirements from CSV files?',
                              'func' => '(lc($input) =~ /y/) ? 1 : 0',
                              'type' => 'boolean',
                              'default' => 'y',
                              'value' => 1,
                              'sortOrder' => 90,
                              'priority' => 4
                            },
       'rpcToken' => {
                       'sortOrder' => 113,
                       'priority' => 1,
                       'value' => '',
                       'default' => '',
                       'type' => 'text',
                       'prompt' => 'What is the authentication token for users of the RPC interface?',
                       'func' => '($input ne "") ? $input : \'\''
                     },
       'tableEditing' => {
                           'value' => 0,
                           'priority' => 1,
                           'sortOrder' => 120,
                           'func' => '(lc($input) =~ /y/) ? 1 : 0',
                           'prompt' => 'Should tables be permitted in wysiwyg fields?',
                           'type' => 'boolean',
                           'default' => 'n'
                         },
       'header5' => {
                      'value' => undef,
                      'priority' => 5,
                      'prompt' => 'Normal User Execution Capabilities',
                      'type' => 'header'
                    },
       'MOTD' => {
                   'style' => 'wysiwyg',
                   'value' => '',
                   'size' => 10,
                   'prompt' => 'What message should be displayed on the login page?',
                   'default' => '',
                   'type' => 'textarea',
                   'sortOrder' => 20,
                   'priority' => 1
                 },
       'userCanChangeEmail' => {
                                 'value' => 0,
                                 'priority' => 2,
                                 'sortOrder' => 40,
                                 'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                 'prompt' => 'Change their email notification settings?',
                                 'default' => 'n',
                                 'type' => 'boolean'
                               },
       'sessionVarAlign' => {
                              'value' => '7',
                              'sortOrder' => 111,
                              'priority' => 1,
                              'prompt' => 'What is that maximum number of Session Variables that will be displayed horizontally?',
                              'func' => '($input ne "") ? $input : 7',
                              'type' => 'text',
                              'default' => '7'
                            },
       'allowEmptyTrash' => {
                              'type' => 'boolean',
                              'default' => 'y',
                              'func' => '(lc($input) =~ /y/) ? 1 : 0',
                              'prompt' => 'Empty the trash?',
                              'priority' => 3,
                              'sortOrder' => 140,
                              'value' => 1
                            },
       'allowLockTests' => {
                             'value' => 1,
                             'priority' => 3,
                             'sortOrder' => 120,
                             'func' => '(lc($input) =~ /y/) ? 1 : 0',
                             'prompt' => 'Lock/Unlock test cases and folders?',
                             'type' => 'boolean',
                             'default' => 'y'
                           },
       'emailNotifications' => {
                                 'prompt' => 'Should ATM send email notifications?',
                                 'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                 'default' => 'y',
                                 'type' => 'boolean',
                                 'value' => 1,
                                 'sortOrder' => 10,
                                 'priority' => 20
                               },
       'allowImportTests' => {
                               'type' => 'boolean',
                               'default' => 'y',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'prompt' => 'Import test cases from CSV files?',
                               'priority' => 3,
                               'sortOrder' => 90,
                               'value' => 1
                             },
       'allowVariables' => {
                             'default' => 1,
                             'type' => 'hidden',
                             'sortOrder' => 50,
                             'priority' => 1,
                             'value' => 1
                           },
       'header9' => {
                      'prompt' => 'User Report Settings',
                      'type' => 'header',
                      'value' => undef,
                      'priority' => 9
                    },
       'defaultLocale' => {
                            'size' => 5,
                            'value' => 'en_US',
                            'values' => undef,
                            'descs' => undef,
                            'priority' => 1,
                            'sortOrder' => 116,
                            'default' => 'en_US',
                            'type' => 'enum',
                            'prompt' => 'What is the default way dates and times should be displayed? '
                          },
       'allowReplace' => {
                           'prompt' => 'Perform global replace operations?',
                           'func' => '(lc($input) =~ /y/) ? 1 : 0',
                           'default' => 'y',
                           'type' => 'boolean',
                           'value' => 1,
                           'sortOrder' => 130,
                           'priority' => 3
                         },
       'suiteAccess' => {
                          'prompt' => 'What is the default test suite access mode? ',
                          'type' => 'enum',
                          'default' => 'edit',
                          'priority' => 1,
                          'sortOrder' => 30,
                          'descs' => [
                                       'None',
                                       'View Reports',
                                       'Browse and View Reports',
                                       'Run Assigned',
                                       'Run Any Test',
                                       'Manage Sessions',
                                       'Manage Execution',
                                       'Manage Execution and Edit',
                                       'Suite Manager'
                                     ],
                          'value' => 'edit',
                          'values' => [
                                        'no',
                                        'rpt',
                                        'view',
                                        'assigned',
                                        'run',
                                        'sess',
                                        'ro',
                                        'edit',
                                        'rw'
                                      ],
                          'size' => 9
                        },
       'permitAutoRefresh' => {
                                'value' => 0,
                                'priority' => 1,
                                'sortOrder' => 160,
                                'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                'prompt' => 'Should users be able to activate auto-refreshing?',
                                'default' => 'n',
                                'type' => 'boolean'
                              },
       'allowReportSettingChange' => {
                                       'prompt' => 'Change others\' private report settings?',
                                       'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                       'type' => 'boolean',
                                       'default' => 'y',
                                       'value' => 1,
                                       'sortOrder' => 180,
                                       'priority' => 2
                                     },
       'verifyNameChanges' => {
                                'value' => 0,
                                'sortOrder' => 118,
                                'priority' => 1,
                                'prompt' => 'Should a user be prompted if a folder, test case, or requirement name they enter would be automatically changed to avoid the use of non-portable characters?',
                                'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                'type' => 'boolean',
                                'default' => 'n'
                              },
       'editAccount' => {
                          'priority' => 2,
                          'sortOrder' => 20,
                          'value' => 1,
                          'default' => 'y',
                          'type' => 'boolean',
                          'func' => '(lc($input) =~ /y/) ? 1 : 0',
                          'prompt' => 'Edit their account information?'
                        },
       'header20' => {
                       'value' => undef,
                       'priority' => 20,
                       'prompt' => 'Email Settings',
                       'type' => 'header'
                     },
       'runtimeErrorNotification' => {
                                       'value' => 1,
                                       'priority' => 1,
                                       'sortOrder' => 60,
                                       'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                       'prompt' => 'Do you want to send runtime error notification to ApTest?',
                                       'default' => 'y',
                                       'type' => 'boolean'
                                     },
       'localeDates' => {
                          'descs' => [
                                       'Legacy US English',
                                       'Administrator defined default setting only',
                                       'User defined setting'
                                     ],
                          'size' => 1,
                          'value' => 'aptest',
                          'values' => [
                                        'aptest',
                                        'locale',
                                        'user'
                                      ],
                          'type' => 'enum',
                          'default' => 'aptest',
                          'prompt' => 'How should dates and times be displayed? ',
                          'priority' => 1,
                          'sortOrder' => 115
                        },
       'allowUnlockSet' => {
                             'value' => 1,
                             'sortOrder' => 170,
                             'priority' => 5,
                             'prompt' => 'Lock/Unlock test set folders/sets/sessions?',
                             'func' => '(lc($input) =~ /y/) ? 1 : 0',
                             'type' => 'boolean',
                             'default' => 'y'
                           },
       'allowSSO' => {
                       'priority' => 1,
                       'sortOrder' => 126,
                       'value' => 0,
                       'default' => 'n',
                       'type' => 'boolean',
                       'func' => '(lc($input) =~ /y/) ? 1 : 0',
                       'prompt' => 'Should the system accept Apache Basic Auth for user authentication?'
                     },
       'httpProxy' => {
                        'value' => '',
                        'prompt' => 'What is the URI of your HTTP proxy server (e.g., http://squid.example.com:3128/)?<br>Leave blank if no proxy server is required.',
                        'type' => 'text',
                        'default' => '',
                        'priority' => 1,
                        'sortOrder' => 70
                      },
       'autoCreateUsers' => {
                              'prompt' => 'Should the system automatically create users who gain access via SSO?',
                              'func' => '(lc($input) =~ /y/) ? 1 : 0',
                              'default' => 'n',
                              'type' => 'boolean',
                              'value' => 0,
                              'sortOrder' => 127,
                              'priority' => 1
                            },
       'allowEmptyTrashReqs' => {
                                  'sortOrder' => 140,
                                  'priority' => 4,
                                  'value' => 1,
                                  'type' => 'boolean',
                                  'default' => 'y',
                                  'prompt' => 'Empty the trash?',
                                  'func' => '(lc($input) =~ /y/) ? 1 : 0'
                                },
       'reportRows' => {
                         'default' => '1000',
                         'type' => 'text',
                         'prompt' => 'How many rows should be displayed per page in large reports?',
                         'func' => '($input ne "") ? $input : 1000',
                         'sortOrder' => 10,
                         'priority' => 9,
                         'value' => '1000'
                       },
       'allowRunTests' => {
                            'value' => 1,
                            'sortOrder' => 150,
                            'priority' => 3,
                            'prompt' => 'Use the "Run These Tests" feature?',
                            'func' => '(lc($input) =~ /y/) ? 1 : 0',
                            'default' => 'y',
                            'type' => 'boolean'
                          },
       'requireUniqueEmail' => {
                                 'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                 'prompt' => 'Should users be required to supply a unique e-mail address?',
                                 'default' => 'n',
                                 'type' => 'boolean',
                                 'value' => 0,
                                 'priority' => 1,
                                 'sortOrder' => 170
                               },
       'allowRenameReqs' => {
                              'value' => 1,
                              'sortOrder' => 110,
                              'priority' => 4,
                              'prompt' => 'Rename requirements and folders?',
                              'func' => '(lc($input) =~ /y/) ? 1 : 0',
                              'type' => 'boolean',
                              'default' => 'y'
                            },
       'CLOSED' => {
                     'value' => 1,
                     'sortOrder' => 10,
                     'priority' => 0,
                     'prompt' => 'Should ApTest Manager be closed to non-administrative users?',
                     'func' => '(lc($input) =~ /y/) ? 1 : 0',
                     'default' => 'y',
                     'type' => 'boolean'
                   },
       'requireSessionComment' => {
                                    'value' => 0,
                                    'priority' => 5,
                                    'sortOrder' => 191,
                                    'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                    'prompt' => 'Require a Test Session comment?',
                                    'type' => 'boolean',
                                    'default' => 'n'
                                  },
       'showYear' => {
                       'func' => '(lc($input) =~ /y/) ? 1 : 0',
                       'prompt' => 'Should the year be included when displaying dates that are in the current year?',
                       'default' => 'n',
                       'type' => 'boolean',
                       'value' => 0,
                       'priority' => 1,
                       'sortOrder' => 114
                     },
       'allowManageSuiteHighLevel' => {
                                        'sortOrder' => 85,
                                        'priority' => 2,
                                        'value' => 1,
                                        'type' => 'boolean',
                                        'default' => 'y',
                                        'prompt' => 'Perform high level test suite operations?',
                                        'func' => '(lc($input) =~ /y/) ? 1 : 0'
                                      },
       'allowRunMany' => {
                           'sortOrder' => 180,
                           'priority' => 5,
                           'value' => 1,
                           'default' => 'y',
                           'type' => 'boolean',
                           'prompt' => 'Allow testers run run multiple tests?',
                           'func' => '(lc($input) =~ /y/) ? 1 : 0'
                         },
       'allowRenameSet' => {
                             'func' => '(lc($input) =~ /y/) ? 1 : 0',
                             'prompt' => 'Rename/Move test set folders/sets/sessions?',
                             'type' => 'boolean',
                             'default' => 'y',
                             'value' => 1,
                             'priority' => 5,
                             'sortOrder' => 160
                           },
       'allowDeleteTests' => {
                               'value' => 1,
                               'sortOrder' => 100,
                               'priority' => 3,
                               'prompt' => 'Delete test cases and folders?',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'type' => 'boolean',
                               'default' => 'y'
                             },
       'allowReplaceReqs' => {
                               'priority' => 4,
                               'sortOrder' => 130,
                               'value' => 1,
                               'type' => 'boolean',
                               'default' => 'y',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'prompt' => 'Perform global replace operations?'
                             },
       'allowRenameTests' => {
                               'default' => 'y',
                               'type' => 'boolean',
                               'prompt' => 'Rename test cases and folders?',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'sortOrder' => 110,
                               'priority' => 3,
                               'value' => 1
                             },
       'timezone' => {
                       'priority' => 1,
                       'size' => 1,
                       'sortOrder' => 90,
                       'value' => 'UTC',
                       'default' => 'UTC',
                       'type' => 'zoneSelect',
                       'prompt' => 'What is the default timezone for your users?'
                     },
       'caseInsensitiveLogin' => {
                                   'priority' => 1,
                                   'sortOrder' => 125,
                                   'value' => 0,
                                   'type' => 'boolean',
                                   'default' => 'n',
                                   'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                   'prompt' => 'Should the system allow case insensitive usernames?'
                                 },
       'allowLockReqs' => {
                            'func' => '(lc($input) =~ /y/) ? 1 : 0',
                            'prompt' => 'Lock/Unlock requirements and folders?',
                            'default' => 'y',
                            'type' => 'boolean',
                            'value' => 1,
                            'priority' => 4,
                            'sortOrder' => 120
                          },
       'header4' => {
                      'type' => 'header',
                      'prompt' => 'Normal Requirement Capabilities',
                      'priority' => 4,
                      'value' => undef
                    },
       'mailServer' => {
                         'sortOrder' => 20,
                         'priority' => 20,
                         'value' => 'localhost',
                         'default' => 'localhost',
                         'type' => 'text',
                         'prompt' => 'What is the hostname of an SMTP server through which ApTest Manager can send e-mail? '
                       },
       'allowRunTestsReqs' => {
                                'prompt' => 'Use the "Run Associated Tests" feature?',
                                'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                'type' => 'boolean',
                                'default' => 'y',
                                'value' => 1,
                                'sortOrder' => 150,
                                'priority' => 4
                              },
       'allowDeleteSet' => {
                             'priority' => 5,
                             'sortOrder' => 150,
                             'type' => 'enum',
                             'default' => '1',
                             'func' => '(lc($input) =~ /y/) ? 1 : 0',
                             'prompt' => 'What users may delete test set folders/sets/sessions?',
                             'value' => 0,
                             'values' => [
                                           '1',
                                           '2',
                                           '0'
                                         ],
                             'descs' => [
                                          'Any User',
                                          'Suite Managers and Administrators',
                                          'Administrators only'
                                        ]
                           },
       'ephemeralCookies' => {
                               'prompt' => 'Should users have to relogin after they close their browser?',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'default' => 'y',
                               'type' => 'boolean',
                               'value' => 1,
                               'sortOrder' => 100,
                               'priority' => 1
                             },
       'header2' => {
                      'type' => 'header',
                      'prompt' => 'Normal User Administrative Capabilities',
                      'priority' => 2,
                      'value' => undef
                    },
       'deleteAccount' => {
                            'type' => 'boolean',
                            'default' => 'n',
                            'func' => '(lc($input) =~ /y/) ? 1 : 0',
                            'prompt' => 'Delete their own accounts?',
                            'priority' => 2,
                            'sortOrder' => 30,
                            'value' => 0
                          },
       'allowManageAccess' => {
                                'value' => 0,
                                'sortOrder' => 71,
                                'priority' => 2,
                                'prompt' => 'Change test suite access permissions?',
                                'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                'type' => 'boolean',
                                'default' => 'n'
                              },
       'allowDeleteReqs' => {
                              'sortOrder' => 100,
                              'priority' => 4,
                              'value' => 1,
                              'type' => 'boolean',
                              'default' => 'y',
                              'prompt' => 'Delete requirements and folders?',
                              'func' => '(lc($input) =~ /y/) ? 1 : 0'
                            },
       'header0' => {
                      'priority' => 0,
                      'value' => undef,
                      'type' => 'header',
                      'prompt' => 'System Configuration'
                    },
       'useSQLqueries' => {
                            'sortOrder' => 150,
                            'priority' => 1,
                            'value' => 0,
                            'type' => 'boolean',
                            'default' => 'n',
                            'prompt' => 'Should searches use the SQL datastore to speed queries (if one is enabled)?',
                            'func' => '(lc($input) =~ /y/) ? 1 : 0'
                          },
       'lockTimeout' => {
                          'func' => '($input ne "") ? 0+$input : 120',
                          'prompt' => 'How long in seconds should transactions wait for a lock before aborting (>60!) ?',
                          'type' => 'text',
                          'default' => '120',
                          'value' => 120,
                          'priority' => 1,
                          'sortOrder' => 117
                        },
       'allowCreateSuite' => {
                               'priority' => 2,
                               'sortOrder' => 60,
                               'default' => 'y',
                               'type' => 'boolean',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0',
                               'prompt' => 'Create test suites?',
                               'value' => 1
                             },
       'sessionExpireDays' => {
                                'value' => 1,
                                'size' => 3,
                                'sortOrder' => 80,
                                'priority' => 1,
                                'uifunc' => 'v = this.value; r = Math.round(v); if ( v == \'\' || v < 1 || isNaN(v) ) { v = 1; } else if (v != r) { v = r }; if ( v != this.value ) { this.value = v; window.alert( \'Value must be an integer greater than 0\' ); }',
                                'prompt' => 'How many days before inactive logins are removed?',
                                'func' => '($input ne "" && $input > 0) ? $input : 1',
                                'default' => '1',
                                'type' => 'text'
                              },
       'timestyle' => {
                        'default' => '12',
                        'type' => 'boolean24',
                        'func' => '(lc($input) =~ /24/) ? 24 : 12',
                        'prompt' => 'What is the default time style for your users?',
                        'priority' => 1,
                        'sortOrder' => 90,
                        'value' => 12
                      },
       'defaultStartPage' => {
                               'prompt' => 'What page should users land on by default when they log in?',
                               'default' => 'default',
                               'type' => 'enum',
                               'value' => 'default',
                               'values' => [
                                             {
                                               'val' => 'default',
                                               'desc' => 'Default'
                                             },
                                             {
                                               'desc' => 'Edit Requirements',
                                               'val' => 'reqs'
                                             },
                                             {
                                               'desc' => 'Edit Tests',
                                               'val' => 'tests'
                                             },
                                             {
                                               'desc' => 'Execute Tests',
                                               'val' => 'run'
                                             },
                                             {
                                               'desc' => 'Reports',
                                               'val' => 'report'
                                             }
                                           ],
                               'priority' => 1,
                               'sortOrder' => 140
                             },
       'userBanner' => {
                         'prompt' => 'What message should be displayed on every page?',
                         'type' => 'textarea',
                         'default' => '',
                         'sortOrder' => 21,
                         'priority' => 1,
                         'style' => 'wysiwyg',
                         'value' => '',
                         'size' => 5
                       },
       'userCanSuspendEmail' => {
                                  'value' => 0,
                                  'sortOrder' => 50,
                                  'priority' => 2,
                                  'prompt' => 'Suspend their email notifications?',
                                  'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                  'default' => 'n',
                                  'type' => 'boolean'
                                },
       'allowDeleteSuite' => {
                               'sortOrder' => 70,
                               'priority' => 2,
                               'value' => 0,
                               'default' => 'n',
                               'type' => 'boolean',
                               'prompt' => 'Delete test suites?',
                               'func' => '(lc($input) =~ /y/) ? 1 : 0'
                             },
       'useOldNote' => {
                         'func' => '(lc($input) =~ /y/) ? 1 : 0',
                         'prompt' => 'Should the test execution result, notes, and time fields be pre-populated with the last information entered?',
                         'type' => 'boolean',
                         'default' => 'n',
                         'value' => 0,
                         'priority' => 1,
                         'sortOrder' => 110
                       },
       'allowRestoreSuite' => {
                                'value' => 1,
                                'priority' => 2,
                                'sortOrder' => 90,
                                'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                'prompt' => 'Restore test suite backups?',
                                'type' => 'boolean',
                                'default' => 'y'
                              },
       'requireSessionName' => {
                                 'value' => 0,
                                 'sortOrder' => 190,
                                 'priority' => 5,
                                 'prompt' => 'Require a Test Session name?',
                                 'func' => '(lc($input) =~ /y/) ? 1 : 0',
                                 'default' => 'n',
                                 'type' => 'boolean'
                               },
       'btsURL' => {
                     'default' => '/atm/bugTrackExample.mpl?suite=%SUITE&session=%SESSION&set=%SET&test=%ID&atm_id=%UUID&user=%USER&result=%RESULT&notes=%NOTES&urirun=%URIRUN&urisum=%URISUM&uriview=%URI',
                     'type' => 'textarea',
                     'prompt' => 'What is the URI of a bug tracking system you would like to use in conjunction with this copy of ApTest Manager? ',
                     'sortOrder' => 22,
                     'priority' => 1,
                     'value' => '/atm/bugTrackExample.mpl?suite=%SUITE&session=%SESSION&set=%SET&test=%ID&atm_id=%UUID&user=%USER&result=%RESULT&notes=%NOTES&urirun=%URIRUN&urisum=%URISUM&uriview=%URI'
                   },
       'header3' => {
                      'type' => 'header',
                      'prompt' => 'Normal User Test Case Capabilities',
                      'priority' => 3,
                      'value' => undef
                    },
       'notifyMe' => {
                       'default' => 'y',
                       'type' => 'boolean',
                       'func' => '(lc($input) =~ /y/) ? 1 : 0',
                       'prompt' => 'Should notifications be sent to the user who caused the notice to be sent?',
                       'priority' => 1,
                       'sortOrder' => 130,
                       'value' => 1
                     }
     };
