<?php /*

 Composr
 Copyright (c) ocProducts, 2004-2018

 See text/EN/licence.txt for full licencing information.

*/

/*EXTRA FUNCTIONS: pspell\_.+|enchant\_.+*/

/**
 * @license    http://opensource.org/licenses/cpal_1.0 Common Public Attribution License
 * @copyright  ocProducts Ltd
 * @package    testing_platform
 */

/**
 * Composr test case class (unit testing).
 */
class _lang_spelling_test_set extends cms_test_case
{
    public function testSpelling()
    {
        if (!function_exists('pspell_check')) {
            $this->assertTrue(false, 'pspell required for this test');
            return;
        }

        require_code('files2');

        // Many of these aren't real words, but they appear for good reasons so we whitelist them
        $okay_words = array(
            'besluit',
            'colormind',
            'xfn',
            'punycode',
            'hreview',
            'upwork',
            'imagecopyresampled',
            'gitlab',
            'eol',
            'exifrotated',
            'runexiftest',
            'runquadranttest',
            'toystory',
            'turkish',
            'yourbaseurl',
            'phpbeans',
            'javabeans',
            'systemd',
            'rsyslogd',
            'orm',
            'journald',
            'laravel',
            'conposr',
            'autofill',
            'autosuggest',
            'benchmarking',
            'bitstream',
            'canonicalisation',
            'collegehumor',
            'dejavu',
            'dvds',
            'freefont',
            'hdd',
            'imagettftext',
            'ish',
            'journaling',
            'newrelic',
            'swapspace',
            'xhprof',
            'fpm',
            'linters',
            'autogenerated',
            'idna',
            'bbedit',
            'codelobster',
            'minisiteinfo',
            'pspad',
            'clipart',
            'debugfs',
            'readdir',
            'mnchen',
            'xn',
            'balancer',
            'californian',
            'epel',
            'funpack',
            'gdpr',
            'idn',
            'insertelement',
            'openbsd',
            'solaris',
            'spectrums',
            'usleep',
            'staffpicks',
            'fffe',
            'appi',
            'currencyconverterapi',
            'domaintools',
            'ebashkoff',
            'getimagesize',
            'thumbnailing',
            'xf',
            'xffei',
            'xll',
            'xmm',
            'zebadger',
            'addon',
            'atag',
            'atag',
            'checkboxes',
            'comcode',
            'composr',
            'compliancy',
            'configurability',
            'css',
            'dialogs',
            'ocproducts',
            'operability',
            'png',
            'pre',
            'selectable',
            'tempcode',
            'themeing',
            'usergroups',
            'viewable',
            'wcag',
            'webstandards',
            'xhtml',
            'aaa',
            'aaaaaa',
            'aac',
            'abc',
            'abcdef',
            'acccounts',
            'acquia',
            'acteur',
            'actioned',
            'actioning',
            'actionlog',
            'actualiser',
            'addons',
            'adduser',
            'adhoc',
            'admincp',
            'adminisative',
            'administator',
            'adminzone',
            'adsense',
            'adword',
            'adwords',
            'aef',
            'afm',
            'afnetworking',
            'ahellobhellocdehellof',
            'ahref',
            'ajax',
            'allen',
            'america',
            'american',
            'ampps',
            'analytics',
            'anchorname',
            'andd',
            'antifeatures',
            'antispam',
            'aol',
            'apache',
            'apc',
            'apcu',
            'api',
            'apis',
            'apng',
            'apns',
            'apos',
            'appendchild',
            'appengine',
            'appfog',
            'apr',
            'april',
            'architected',
            'architecting',
            'argouml',
            'arthur',
            'arvixe',
            'asc',
            'ascii',
            'aserver',
            'asf',
            'aspell',
            'assistive',
            'astrogrep',
            'attainably',
            'auditable',
            'aug',
            'aup',
            'australia',
            'auth',
            'autocomplete',
            'autocompletion',
            'autocorrected',
            'autodetected',
            'autosized',
            'avantlink',
            'avi',
            'backdoors',
            'backend',
            'backends',
            'backrefs',
            'backslashing',
            'balsamiq',
            'basedir',
            'bbc',
            'bbcode',
            'bcc',
            'ben',
            'beng',
            'benjamin',
            'bg',
            'bieber',
            'bigboy',
            'bing',
            'bitbucket',
            'bitkinex',
            'bitnami',
            'blackbox',
            'blackhole',
            'blackholes',
            'bmp',
            'bodmas',
            'bookables',
            'boolean',
            'booleans',
            'boxify',
            'br',
            'breakpoint',
            'british',
            'browsable',
            'browserstack',
            'bruce',
            'buddypress',
            'bugfix',
            'bugfixes',
            'buildable',
            'buildkit',
            'buildout',
            'buildr',
            'bulleted',
            'buysellads',
            'buyspoons',
            'cachers',
            'camtasia',
            'canada',
            'captcha',
            'captchas',
            'carte',
            'caucho',
            'ccbill',
            'cct',
            'cd',
            'cdata',
            'cdn',
            'cdns',
            'cds',
            'ceil',
            'centos',
            'centric',
            'ceo',
            'cgi',
            'chakra',
            'channnel',
            'charset',
            'chatcode',
            'chatrooms',
            'cheaping',
            'checkmark',
            'chinese',
            'chmod',
            'chmodding',
            'choosen',
            'chris',
            'chromagraphic',
            'ckeditor',
            'clarke',
            'classnames',
            'cle',
            'clich',
            'clickability',
            'clickatell',
            'clickbank',
            'cloudflare',
            'cloudinary',
            'cloudlinux',
            'cms',
            'cmscore',
            'cmsnetworkmanager',
            'cmss',
            'cname',
            'cns',
            'codebase',
            'codebases',
            'codebook',
            'codec',
            'codecs',
            'codename',
            'codenames',
            'colspan',
            'columnisation',
            'combobox',
            'cometchat',
            'commandr',
            'commandrchat',
            'commentmeta',
            'comparators',
            'composrfoo',
            'compsor',
            'computable',
            'conditionless',
            'config',
            'configurational',
            'configurer',
            'conformability',
            'conformant',
            'connery',
            'consuperrabiotriaxilator',
            'conversants',
            'conversr',
            'copa',
            'coppa',
            'copytext',
            'copywriting',
            'corel',
            'corporates',
            'costable',
            'coventry',
            'cpanel',
            'cpc',
            'cpf',
            'cpfs',
            'cpm',
            'cpu',
            'cpuinfo',
            'cqc',
            'createelement',
            'crit',
            'critera',
            'crm',
            'cron',
            'cronjob',
            'crowdsource',
            'cryptographic',
            'cryptographically',
            'csp',
            'csr',
            'csrf',
            'csv',
            'ctrl',
            'customisability',
            'customisable',
            'customisations',
            'cvs',
            'cyber',
            'cyberduck',
            'cyclename',
            'cygwin',
            'cyrillic',
            'dalton',
            'datamappr',
            'datastore',
            'datepicker',
            'davfs',
            'davidson',
            'dba',
            'dbms',
            'dbs',
            'ddffdd',
            'ddl',
            'ddos',
            'de',
            'debian',
            'debrand',
            'debranding',
            'dec',
            'decache',
            'decaching',
            'declaratively',
            'decrement',
            'decrypt',
            'decrypted',
            'defaultvalue',
            'deinitiate',
            'demonstratr',
            'denys',
            'deployement',
            'dereferenced',
            'descendents',
            'dev',
            'devguide',
            'devops',
            'devs',
            'dhcp',
            'dhtml',
            'dicts',
            'differentiators',
            'diffmerge',
            'dir',
            'directadmin',
            'disableable',
            'discernability',
            'dismissible',
            'divx',
            'diy',
            'diyer',
            'diyers',
            'dkim',
            'dll',
            'dload',
            'dlvr',
            'dmarc',
            'dn',
            'dns',
            'dnsstuff',
            'docx',
            'dom',
            'domainkeys',
            'dont',
            'dotnetnuke',
            'dotw',
            'downloader',
            'dreamweaver',
            'dropbox',
            'dropdown',
            'dsl',
            'dsn',
            'dublin',
            'dvd',
            'eaccelerator',
            'easter',
            'easyadd',
            'easycron',
            'easyphp',
            'ebay',
            'echosign',
            'ecma',
            'ecommerce',
            'edgehtml',
            'editability',
            'editarea',
            'eg',
            'ellis',
            'embeddable',
            'embedplayer',
            'embedvideo',
            'empathic',
            'encodings',
            'encryptable',
            'encyclopaedia',
            'encyclopaedic',
            'english',
            'ensim',
            'enum',
            'enums',
            'eq',
            'equalities',
            'erd',
            'errorlog',
            'escapings',
            'esque',
            'ethernet',
            'eu',
            'europe',
            'european',
            'eval',
            'exe',
            'execcommand',
            'exif',
            'expandability',
            'expander',
            'expanders',
            'expirations',
            'extendibility',
            'extendible',
            'extranets',
            'extrasql',
            'extrovertism',
            'facebook',
            'facto',
            'fader',
            'failover',
            'faq',
            'faqs',
            'farmville',
            'fastcgi',
            'favicon',
            'faviconist',
            'favicons',
            'favorited',
            'fb',
            'feb',
            'february',
            'feedly',
            'feedreader',
            'femelle',
            'ffdddd',
            'ffffff',
            'ffmpeg',
            'fieldmap',
            'fieldset',
            'filedump',
            'filesize',
            'filesystem',
            'filesystems',
            'filetype',
            'filezilla',
            'filtercode',
            'findability',
            'findable',
            'finishprofile',
            'firefox',
            'firephp',
            'firewalled',
            'fla',
            'flickr',
            'flooders',
            'fopen',
            'foreach',
            'foremoreurl',
            'formorelead',
            'formoretext',
            'formoreurl',
            'forumfoo',
            'forumview',
            'forumviews',
            'foss',
            'frameset',
            'fred',
            'freetds',
            'freetype',
            'frontend',
            'frontpage',
            'fs',
            'fulltext',
            'gae',
            'gantt',
            'gb',
            'gbp',
            'gd',
            'geany',
            'genfavicon',
            'geo',
            'geocoding',
            'geoffrey',
            'geolocate',
            'geolocation',
            'geordi',
            'george',
            'german',
            'germany',
            'geshi',
            'geterror',
            'getfieldnamesfortable',
            'getformvalues',
            'getresponsedata',
            'getter',
            'gfx',
            'ghz',
            'gif',
            'gifs',
            'giftr',
            'gilson',
            'gimpshop',
            'github',
            'globals',
            'glockapps',
            'gmail',
            'gmt',
            'googleapis',
            'gosselin',
            'greece',
            'greek',
            'gregorian',
            'gretel',
            'gsutil',
            'gui',
            'guid',
            'guids',
            'gz',
            'gzip',
            'gzipped',
            'hackable',
            'hackattack',
            'hackerish',
            'halloween',
            'hansel',
            'hardcoding',
            'hcalendar',
            'hcard',
            'heidisql',
            'helpdesk',
            'heroku',
            'heros',
            'hh',
            'hhvm',
            'hiddens',
            'hinglish',
            'hipchat',
            'hiphop',
            'hippyvm',
            'hoc',
            'holleywoodstudio',
            'holmes',
            'homebrew',
            'homesite',
            'horsley',
            'hostname',
            'hotfix',
            'hotfixes',
            'hotspots',
            'hotword',
            'hphp',
            'href',
            'hsv',
            'htaccess',
            'htauth',
            'htm',
            'html',
            'http',
            'httpauth',
            'httpdocs',
            'https',
            'hunspell',
            'i\'d',
            'i\'ll',
            'i\'m',
            'i\'ve',
            'iaas',
            'iab',
            'ibm',
            'ical',
            'icalendar',
            'icann',
            'iceweasel',
            'icmp',
            'iconv',
            'ics',
            'ide',
            'ident',
            'idevices',
            'ie',
            'ietester',
            'ietf',
            'iframe',
            'iframed',
            'iframes',
            'iirf',
            'iis',
            'im',
            'imac',
            'imaginery',
            'imap',
            'img',
            'ims',
            'incentivisation',
            'incentivise',
            'incentivised',
            'incrementing',
            'india',
            'indian',
            'indiscriminatingly',
            'ing',
            'ini',
            'init',
            'initialisations',
            'initializedatabase',
            'innerhtml',
            'innertext',
            'innodb',
            'inputters',
            'installatron',
            'instantiation',
            'integrations',
            'integrators',
            'interoperability',
            'interoperate',
            'interprocess',
            'interstitially',
            'intl',
            'intval',
            'invision',
            'iodbc',
            'ioncube',
            'iops',
            'ios',
            'iotd',
            'iotds',
            'ip',
            'ipad',
            'ipall',
            'ipb',
            'iphone',
            'iphones',
            'ipn',
            'ipod',
            'ips',
            'ipsum',
            'iq',
            'irc',
            'ireland',
            'isaacson',
            'isapi',
            'isbn',
            'isnotspam',
            'iso',
            'isp',
            'isps',
            'isrequired',
            'isresponsevalid',
            'isset',
            'iterable',
            'iteratively',
            'itunes',
            'iusr',
            'iusrs',
            'jan',
            'jarvis',
            'jason',
            'javadoc',
            'javascript',
            'javascriptcore',
            'jedit',
            'jim',
            'jing',
            'jira',
            'jit',
            'jitsi',
            'jpeg',
            'jpegs',
            'jpg',
            'jpgthe',
            'jpgwhen',
            'jquery',
            'js',
            'json',
            'jsonview',
            'jul',
            'julie',
            'justin',
            'kama',
            'kate',
            'kb',
            'kbd',
            'kde',
            'kenno',
            'kerberos',
            'keymap',
            'keypress',
            'keypresses',
            'kickstart',
            'knowledgebase',
            'kompare',
            'konqueror',
            'kpi',
            'kumar',
            'kwaliteit',
            'kwrite',
            'lang',
            'langs',
            'latfield',
            'latin',
            'layed',
            'lazenby',
            'lcase',
            'ldap',
            'le',
            'leaderboard',
            'li',
            'libreoffice',
            'lifecycle',
            'lightbox',
            'lightboxes',
            'linearised',
            'linearized',
            'linebreaks',
            'linkable',
            'linkedin',
            'linkers',
            'linkhtml',
            'linkshare',
            'linux',
            'litespeed',
            'llvm',
            'localhost',
            'lockdown',
            'logics',
            'logowizard',
            'logpass',
            'lon',
            'london',
            'longdesc',
            'longfield',
            'lookups',
            'loopback',
            'lorem',
            'lossy',
            'lt',
            'ltr',
            'lve',
            'macintel',
            'macintosh',
            'macos',
            'macromedia',
            'magento',
            'mailchimp',
            'mailtester',
            'mailto',
            'mamp',
            'mantisbt',
            'margining',
            'mariadb',
            'markable',
            'masse',
            'matchkey',
            'mb',
            'mbstring',
            'mediawiki',
            'memcache',
            'memcached',
            'mensa',
            'messageicons',
            'metapad',
            'microdata',
            'microformats',
            'microsite',
            'microsoft',
            'midrange',
            'mimetype',
            'minification',
            'minified',
            'minify',
            'minimalise',
            'minimalistic',
            'minimodule',
            'minimodules',
            'minishell',
            'mis',
            'misassociated',
            'miscommunicated',
            'misconfigured',
            'misrouted',
            'misset',
            'mistyped',
            'mitigations',
            'mls',
            'mmcache',
            'mobileuseragentsubstring',
            'mockup',
            'modability',
            'modally',
            'modcp',
            'moderations',
            'modsecurity',
            'modularisation',
            'modularisations',
            'modularise',
            'modularity',
            'modularly',
            'moduli',
            'mon',
            'monikerified',
            'monoculture',
            'moono',
            'moonocolor',
            'moore',
            'mov',
            'moz',
            'mozilla',
            'mpeg',
            'msn',
            'mta',
            'mtime',
            'mult',
            'multiline',
            'multilist',
            'multipler',
            'mvc',
            'mvp',
            'mx',
            'mybb',
            'mycomputer',
            'mycustomstyle',
            'mycustomtemplate',
            'mydomain',
            'myisam',
            'myname',
            'mysite',
            'mysitetheme',
            'mysql',
            'myvideostyle',
            'myvideosyle',
            'mywebsite',
            'na',
            'nameserver',
            'nameservers',
            'namespace',
            'namespaces',
            'nand',
            'nat',
            'natively',
            'navigations',
            'nb',
            'nd',
            'neq',
            'nestings',
            'netbeans',
            'netdrive',
            'netlink',
            'netscape',
            'newtown',
            'nf',
            'nginx',
            'nich',
            'nicify',
            'nike',
            'nis',
            'nodename',
            'nofollow',
            'nohttp',
            'nominet',
            'nother',
            'nothumbplayer',
            'notifydevicetokentoserver',
            'nots',
            'nov',
            'november',
            'nt',
            'ntfs',
            'num',
            'numberinput',
            'oap',
            'oauth',
            'ocp',
            'ocportal',
            'ocproduct',
            'ocptutor',
            'oct',
            'octocat',
            'odbc',
            'ods',
            'odt',
            'oembed',
            'offical',
            'ogg',
            'ohloh',
            'ok',
            'ol',
            'omni',
            'onchange',
            'onclick',
            'onkeypress',
            'onload',
            'onsubmit',
            'onwards',
            'oop',
            'opcache',
            'opendkim',
            'opendmoz',
            'openid',
            'openldap',
            'openoffice',
            'opensearch',
            'openshift',
            'openssl',
            'openstack',
            'openstreetmap',
            'opml',
            'optgroup',
            'optimi',
            'optimisers',
            'optimizely',
            'optionname',
            'optipng',
            'orderby',
            'orderer',
            'os',
            'osi',
            'osm',
            'oss',
            'osx',
            'outmode',
            'outmoding',
            'overcomplicate',
            'overridable',
            'ownerships',
            'paas',
            'pagename',
            'pagerank',
            'pagespeed',
            'paginations',
            'pakistan',
            'parallelisation',
            'param',
            'parameterised',
            'paramname',
            'params',
            'parentnode',
            'parsedevicetoken',
            'participative',
            'passworded',
            'passwordless',
            'pasteable',
            'pathname',
            'patreon',
            'paypal',
            'pc',
            'pch',
            'pci',
            'pcs',
            'pda',
            'pdf',
            'pdfs',
            'peachpie',
            'performant',
            'philip',
            'photobucket',
            'photoshop',
            'photoupload',
            'php',
            'phpbb',
            'phpdoc',
            'phpdocumentor',
            'phphelp',
            'phpinfo',
            'phpmyadmin',
            'phpnuke',
            'phps',
            'phpsettings',
            'phpstorm',
            'pictographic',
            'pinterest',
            'playeralign',
            'playerheight',
            'playerwidth',
            'plesk',
            'plugable',
            'pnggauntlet',
            'pngs',
            'pngthis',
            'pointstore',
            'policier',
            'posix',
            'postgres',
            'postgresql',
            'postmeta',
            'ppc',
            'pqq',
            'preagreed',
            'preallocated',
            'prebuilt',
            'precalculated',
            'precompiled',
            'precomposited',
            'precreated',
            'preg',
            'preinstalled',
            'preloaded',
            'preloading',
            'premade',
            'prepend',
            'prepending',
            'prepopulates',
            'preprocess',
            'preprocessable',
            'preprocessing',
            'preprocessor',
            'prettyname',
            'prewritten',
            'pricings',
            'probations',
            'procedurally',
            'profiler',
            'programmatically',
            'promotable',
            'proxied',
            'proxying',
            'proxys',
            'ps',
            'psd',
            'pspell',
            'pte',
            'pts',
            'punctuationless',
            'px',
            'quercus',
            'quicktime',
            'quora',
            'qvga',
            'ra',
            'rackspace',
            'rajesh',
            'raji',
            'rakuten',
            'rar',
            'rawurlencode',
            'rbl',
            'rbls',
            'rc',
            'rdf',
            'realplayer',
            'realtime',
            'rearchitect',
            'rearchitected',
            'reasonings',
            'reassociates',
            'rebranded',
            'rebranding',
            'reconfigurations',
            'reconfiguring',
            'recontextualise',
            'reddit',
            'redhat',
            'redirections',
            'reebok',
            'reely',
            'reenable',
            'referer',
            'reflow',
            'regionalisation',
            'reimport',
            'reimporting',
            'remappings',
            'renderable',
            'renderers',
            'repimages',
            'repos',
            'reqs',
            'requestor',
            'reseller',
            'resellers',
            'resending',
            'resizer',
            'restorable',
            'reusability',
            'rfc',
            'rfp',
            'rgb',
            'rhel',
            'rigourous',
            'rijksoverheidswebsites',
            'roadmap',
            'roadsend',
            'robo',
            'robocop',
            'roi',
            'rom',
            'rome',
            'routable',
            'rrggbb',
            'rss',
            'rtf',
            'rtl',
            'rtr',
            'russia',
            'russian',
            'rwx',
            'saas',
            'sabredav',
            'salesy',
            'samp',
            'sandboxed',
            'sandboxing',
            'sanitisation',
            'santa',
            'santisations',
            'saturday',
            'scalability',
            'scalable',
            'schemas',
            'scotty',
            'scp',
            'screencast',
            'screencasts',
            'screenflow',
            'screenreaders',
            'scrollable',
            'scrollbar',
            'scrollbars',
            'scroller',
            'sdch',
            'sdk',
            'sdks',
            'se',
            'seamonkey',
            'sean',
            'searchable',
            'secpay',
            'securetransport',
            'securitylogging',
            'selectcode',
            'selectlist',
            'selinux',
            'selinuxfs',
            'semrush',
            'sendid',
            'sendmail',
            'seo',
            'sep',
            'serialiser',
            'servername',
            'sestatus',
            'setcookie',
            'seting',
            'setness',
            'setupwizard',
            'sftp',
            'sgml',
            'sharding',
            'shareasale',
            'sheffield',
            'sherlock',
            'shoutbox',
            'shoutboxes',
            'showloader',
            'shownotification',
            'showplayer',
            'signup',
            'signups',
            'siloed',
            'sitelock',
            'situ',
            'skillsets',
            'skype',
            'smallprint',
            'smartftp',
            'smf',
            'smilies',
            'sms',
            'smtp',
            'softaculous',
            'somethingwebsystem',
            'someurl',
            'someuser',
            'sortablefield',
            'spacings',
            'spamassassin',
            'spambots',
            'spamlist',
            'spammy',
            'spdy',
            'spec\'d',
            'spf',
            'spidering',
            'spidermonkey',
            'sponsorships',
            'sql',
            'sqlite',
            'sqlserver',
            'sr',
            'src',
            'ssd',
            'ssds',
            'ssl',
            'ssw',
            'standardbox',
            'startpt',
            'stateful',
            'steve',
            'steven',
            'stickied',
            'stopword',
            'str',
            'strategise',
            'strftime',
            'stringwithformat',
            'strlen',
            'strpos',
            'strval',
            'stylesheet',
            'stylesheets',
            'su',
            'subcat',
            'subcom',
            'subcommunities',
            'subcommunity',
            'subdirectories',
            'subdirectory',
            'subdomain',
            'subdomains',
            'subfolder',
            'subforum',
            'subforums',
            'subgallery',
            'submitban',
            'submittable',
            'submitters',
            'subpage',
            'subpath',
            'subpaths',
            'subquery',
            'subrecords',
            'subsite',
            'subsites',
            'substr',
            'substring',
            'substrings',
            'subtree',
            'subtrees',
            'subview',
            'sucuri',
            'suexec',
            'suhosin',
            'sunday',
            'supermember',
            'supermembers',
            'superset',
            'suphp',
            'surveymonkey',
            'svg',
            'sweden',
            'swf',
            'sybase',
            'symlinking',
            'synching',
            'syndications',
            'syntaxes',
            'sys',
            'tada',
            'taglessly',
            'taintable',
            'tamil',
            'tapatalk',
            'taskbar',
            'tbody',
            'tcp',
            'td',
            'tds',
            'techcrunch',
            'tempcoded',
            'templated',
            'templater',
            'templating',
            'tesco',
            'testability',
            'textarea',
            'textbased',
            'textedit',
            'textfield',
            'textmate',
            'tga',
            'th',
            'thead',
            'themegen',
            'themer',
            'themers',
            'themewizard',
            'theming',
            'there\'ll',
            'thumbalt',
            'thumbheight',
            'thumbwidth',
            'thunderbird',
            'thusly',
            'tiering',
            'tif',
            'timezoned',
            'timezones',
            'tls',
            'tm',
            'todo',
            'tokbox',
            'tokenisation',
            'tokenise',
            'tolowercase',
            'tooltip',
            'tooltips',
            'topicview',
            'tornados',
            'tornevall',
            'tpl',
            'tracert',
            'trackback',
            'trackbacks',
            'tradeoff',
            'transactional',
            'transcode',
            'transcoded',
            'transcoder',
            'transcoding',
            'transifex',
            'tricksy',
            'trs',
            'truetype',
            'tsv',
            'ttl',
            'tucows',
            'tuesday',
            'tv',
            'txt',
            'txtspk',
            'typekit',
            'typeless',
            'typoe',
            'tz',
            'ua',
            'ubuntu',
            'ucase',
            'ui',
            'uk',
            'ul',
            'uml',
            'un',
            'unachievable',
            'unassign',
            'unban',
            'unbanning',
            'unbundled',
            'uncategorised',
            'uncheck',
            'uncomment',
            'uncommenting',
            'unconfigured',
            'une',
            'unengaged',
            'unfeasibly',
            'unicode',
            'unindexable',
            'uninstallation',
            'unix',
            'unixodbc',
            'unmanaged',
            'unmoderated',
            'unmonitor',
            'unordered',
            'unparsed',
            'unrealisable',
            'unreferenced',
            'unreliabilities',
            'unrendered',
            'unsatisfiable',
            'unselect',
            'unsets',
            'unsetting',
            'unshift',
            'unslider',
            'unsub',
            'untick',
            'unticked',
            'untrustable',
            'untrusted',
            'unvalidate',
            'unvalidated',
            'unvetted',
            'unviable',
            'unvisited',
            'upgradedatabaseifrequired',
            'upgrader',
            'uploader',
            'uptime',
            'uris',
            'url',
            'urldecode',
            'urlpath',
            'urls',
            'usa',
            'usb',
            'usd',
            'usergroup',
            'userguide',
            'usermappr',
            'usermeta',
            'usp',
            'usps',
            'utf',
            'validator',
            'valuators',
            'valuemap',
            'vbulletin',
            've',
            'vely',
            'vera',
            'verdana',
            'verhagen',
            'verisign',
            'vg',
            'vid',
            'vienna',
            'viewport',
            'viewports',
            'vips',
            'virtualised',
            'vm',
            'vms',
            'voip',
            'vpn',
            'vpns',
            'vps',
            'vpss',
            'vtiger',
            'wai',
            'walkthrough',
            'walter',
            'wamp',
            'wampserver',
            'warburton',
            'waterfox',
            'wav',
            'wcase',
            'wcms',
            'webadmin',
            'webapp',
            'webclient',
            'webclip',
            'webclipicon',
            'webdav',
            'webhost',
            'webhosting',
            'webhosts',
            'webkit',
            'webm',
            'webmail',
            'webmatrix',
            'webp',
            'webpage',
            'webpages',
            'webring',
            'webroot',
            'webrtc',
            'webserver',
            'wget',
            'whatsnew',
            'wheremap',
            'whitelist',
            'whitelisting',
            'whitelists',
            'whitespace',
            'whois',
            'wifi',
            'wikipedia',
            'wildcarded',
            'wincache',
            'wincachegrind',
            'winmerge',
            'winscp',
            'wireframes',
            'withheading',
            'withnall',
            'withname',
            'withparamname',
            'withprettyname',
            'wmv',
            'wordfilter',
            'wordpress',
            'wordwrap',
            'wordwrapping',
            'worke',
            'workspace',
            'worldpay',
            'wowbb',
            'wpg',
            'writeup',
            'www',
            'wysiwyg',
            'xampp',
            'xbox',
            'xcache',
            'xcode',
            'xdebug',
            'xhrml',
            'xls',
            'xml',
            'xmpp',
            'xp',
            'xsl',
            'xslt',
            'xss',
            'xvid',
            'ydni',
            'york',
            'yourwebsite',
            'youtube',
            'yyyy',
            'zend',
            'abusable',
            'accessib',
            'accesskey',
            'acl',
            'actionlogs',
            'adblocker',
            'addfavorite',
            'addressbook',
            'adminguide',
            'adminstart',
            'afa',
            'alberta',
            'allocable',
            'allocatehelp',
            'ampm',
            'anonymisation',
            'answerer',
            'anyones',
            'appid',
            'approvers',
            'arabic',
            'armenian',
            'atch',
            'atoz',
            'atten',
            'austria',
            'autoban',
            'autodetect',
            'autodetection',
            'autogrow',
            'automatable',
            'autosize',
            'backburner',
            'balkanisation',
            'bannable',
            'bantr',
            'bcc\'d',
            'belgium',
            'bgcolor',
            'bitrate',
            'blindheight',
            'blindwidth',
            'blockquote',
            'blowfish',
            'booker',
            'bookmarkable',
            'botmsg',
            'bribable',
            'bruteforce',
            'bsod',
            'bth',
            'btn',
            'calc',
            'captchafail',
            'catd',
            'cc\'d',
            'ccp',
            'celsius',
            'cempty',
            'charsets',
            'chatmessage',
            'chatposts',
            'ching',
            'chmodded',
            'chmoded',
            'chmoding',
            'circlesinside',
            'circlesrotate',
            'cli',
            'clickthrough',
            'cmd',
            'cn',
            'cnn',
            'codebox',
            'commandrfs',
            'compat',
            'conf',
            'contenttype',
            'contrib',
            'conv',
            'convo',
            'coolweens',
            'coord',
            'coords',
            'copywait',
            'corporatise',
            'cp',
            'cpdir',
            'cse',
            'cubehide',
            'cubejelly',
            'cuberandom',
            'cubeshow',
            'cubesize',
            'cubespread',
            'cubestop',
            'cubestoprandom',
            'customprofilefields',
            'cx',
            'cyclable',
            'datetime',
            'ddthh',
            'december',
            'decrypting',
            'defaultness',
            'defocusing',
            'del',
            'delurk',
            'desc',
            'descrip',
            'descripton',
            'dfn',
            'digg',
            'directionbottom',
            'directionleft',
            'directionright',
            'directiontop',
            'disastr',
            'discretionally',
            'dispatchment',
            'dlink',
            'dnsbl',
            'doctype',
            'donext',
            'dow',
            'downbars',
            'dplu',
            'dt',
            'ecard',
            'ecards',
            'echeck',
            'ecom',
            'editfrom',
            'elses',
            'enableable',
            'enablement',
            'enchancedmsg',
            'ephems',
            'eqe',
            'examp',
            'fadefour',
            'fahrenheit',
            'failsafe',
            'fc',
            'fcomcode',
            'februare',
            'fieldid',
            'fieldmaps',
            'firstname',
            'firsttime',
            'firstusername',
            'flashword',
            'flv',
            'fn',
            'forfeight',
            'forw',
            'forwardings',
            'france',
            'fri',
            'friday',
            'fu',
            'func',
            'fxml',
            'geocode',
            'geolocating',
            'georgian',
            'getattribute',
            'getelementbyid',
            'glassblock',
            'glasscube',
            'goto',
            'gte',
            'guestactions',
            'hc',
            'hd',
            'healthed',
            'healthpersonalcare',
            'hidebars',
            'highrange',
            'homeaddress',
            'homegarden',
            'homephone',
            'hooktype',
            'horiz',
            'hostnames',
            'htdocs',
            'httpbl',
            'incentivising',
            'incompleted',
            'infosite',
            'infozip',
            'inputsystem',
            'installdir',
            'installprofile',
            'intra',
            'io',
            'italy',
            'januare',
            'january',
            'jestr',
            'joindate',
            'july',
            'jumpyness',
            'june',
            'ka',
            'kbps',
            'keyset',
            'keywordcheck',
            'kindlestore',
            'langage',
            'lastname',
            'lastondate',
            'lasttime',
            'lastusername',
            'lc',
            'leet',
            'linklist',
            'logitude',
            'longtext',
            'lowlevel',
            'lowrange',
            'lte',
            'luhn',
            'manhattan',
            'matcher',
            'matsushita',
            'md',
            'mec',
            'mingw',
            'miniblock',
            'misconfiguration',
            'mjg',
            'mkdir',
            'monday',
            'monospaced',
            'moveto',
            'msg',
            'muhahahahahaha',
            'multilang',
            'multimultiple',
            'multipart',
            'multiplechoice',
            'musicalinstruments',
            'mv',
            'mvdir',
            'mypage',
            'mzip',
            'narrowin',
            'nbsp',
            'nc',
            'ne',
            'netherlands',
            'newcommunity',
            'newforwarding',
            'nnr',
            'nonmobile',
            'nonpresent',
            'nonqualified',
            'nonqualifiedreferral',
            'nonqualifiedreferrer',
            'nonreferral',
            'noone',
            'norate',
            'noscript',
            'nosubscription',
            'notificatons',
            'novote',
            'obb',
            'ocr',
            'october',
            'officeproducts',
            'on\'t',
            'oneoff',
            'onewsletter',
            'onforums',
            'onhold',
            'onmouseover',
            'ots',
            'ou',
            'outofdate',
            'overmatched',
            'pam',
            'pandoras',
            'paralell',
            'passwd',
            'pchardware',
            'pcre',
            'pe',
            'pem',
            'permissioncheckslog',
            'personalisation',
            'petsupplies',
            'pge',
            'piglatin',
            'pinterace',
            'pinterface',
            'plu',
            'plupload',
            'pomme',
            'pos',
            'postscount',
            'postsize',
            'poststoday',
            'presentational',
            'pri',
            'prolog',
            'pwd',
            'qualifiedreferral',
            'qualifiedreferrer',
            'queueing',
            'randomsmart',
            'rateable',
            'rdn',
            'readme',
            'realaudio',
            'realloc',
            'reallocations',
            'realmedia',
            'realname',
            'reattemption',
            'rebrand',
            'recency',
            'recurrance',
            'regionality',
            'reinitiated',
            'reinstallation',
            'renderer',
            'reparse',
            'replicable',
            'replicateable',
            'req',
            'reselect',
            'resizable',
            'rewritebase',
            'rmdir',
            'rsquo',
            'rsync',
            'rtev',
            'saidless',
            'sam',
            'samaccountname',
            'scid',
            'sd',
            'seach',
            'seg',
            'semihtml',
            'september',
            'shouldnt',
            'showbars',
            'showbarsrandom',
            'sig',
            'sigs',
            'silktide',
            'sitename',
            'sitewide',
            'sku',
            'sn',
            'snapback',
            'soletary',
            'sortable',
            'sourceless',
            'spain',
            'sportinggoods',
            'spz',
            'srcset',
            'sso',
            'sstzd',
            'stealr',
            'stopforumspam',
            'strippable',
            'subcats',
            'subfolders',
            'subgalleries',
            'subscrip',
            'subst',
            'superdebrand',
            'swapbars',
            'swapbarsback',
            'swapblocks',
            'switzerland',
            'synched',
            'synd',
            'tabindex',
            'tahoma',
            'teletyped',
            'terre',
            'tf',
            'tforum',
            'thankyou',
            'throughs',
            'ths',
            'thu',
            'thursday',
            'tim',
            'timein',
            'timelimit',
            'titlelist',
            'tmp',
            'togabd',
            'topicscount',
            'toreferrer',
            'tostaff',
            'traceability',
            'trackbacked',
            'trojan',
            'tt',
            'ttf',
            'tthe',
            'tue',
            'twiter',
            'twitterfeed',
            'txmt',
            'typeof',
            'ubb',
            'ucwords',
            'ugroup',
            'uhoh',
            'uid',
            'unadvisable',
            'unallowed',
            'unbannable',
            'unbanned',
            'unbans',
            'unblind',
            'unblockable',
            'unboxvideo',
            'uncascade',
            'unchecking',
            'unchmod',
            'unclosed',
            'uncommented',
            'unconfigurable',
            'undeclare',
            'undispatched',
            'unexperienced',
            'unfloated',
            'unfound',
            'unlink',
            'unmatch',
            'unmatchable',
            'unresolvable',
            'unsilence',
            'unsink',
            'unsmoothly',
            'untar',
            'unticking',
            'untyped',
            'unvalidation',
            'unvote',
            'unwatch',
            'upbars',
            'uploaders',
            'uploadsandurls',
            'uri',
            'userbases',
            'usercount',
            'usersonline',
            'usr',
            'utomatically',
            'vampirism',
            'vcal',
            'vforums',
            'vhs',
            'videogames',
            'vimeo',
            'voteable',
            'votings',
            'vr',
            'watchlist',
            'wbb',
            'webcrawlers',
            'websafe',
            'webster',
            'wednesday',
            'wedway',
            'whitelisted',
            'whoami',
            'wildcarding',
            'wishlist',
            'withinweek',
            'woltlab',
            'workphone',
            'xmb',
            'xvf',
            'xxxxxx',
            'yeehaw',
            'yourdomain',
            'youre',
            'yy',
            'yyy',
            'ze',
            'zencoder',
            'zipcode',
            'zipcodes',
            'zombiism',
            'abrupted',
            'adipiscing',
            'aenean',
            'albert',
            'aliquam',
            'allison',
            'amet',
            'andrew',
            'aristotle',
            'asserttrue',
            'augue',
            'banasio',
            'bbs',
            'bibendum',
            'bn',
            'bns',
            'bonaparte',
            'boxless',
            'bsd',
            'bst',
            'buckley',
            'buddha',
            'california',
            'camden',
            'caribbean',
            'carl',
            'cfo',
            'churchhill',
            'clara',
            'classpath',
            'colgroup',
            'commodo',
            'congue',
            'consectetur',
            'consequat',
            'cpal',
            'creighton',
            'cssmin',
            'cto',
            'cursus',
            'dapibus',
            'dave',
            'david',
            'declatory',
            'delimitate',
            'descartes',
            'dignissim',
            'dipsy',
            'dm',
            'donald',
            'donatecc',
            'donationsbf',
            'donec',
            'dr',
            'duis',
            'ecmascript',
            'egestas',
            'eget',
            'einstein',
            'eleifend',
            'elementum',
            'elit',
            'endif',
            'erdos',
            'eros',
            'errormsg',
            'falt',
            'felis',
            'feugiat',
            'fooing',
            'fp',
            'francesco',
            'fringilla',
            'gandhi',
            'gotama',
            'gpl',
            'grantor',
            'gustav',
            'helvetica',
            'hendrerit',
            'henry',
            'heredoc',
            'hereunder',
            'iaculis',
            'imperdiet',
            'ipso',
            'jane',
            'johnson',
            'jsmin',
            'jung',
            'jw',
            'laa',
            'lacus',
            'lectus',
            'leo',
            'lgpl',
            'licensable',
            'lobortis',
            'luther',
            'maecenas',
            'magna',
            'massa',
            'mattis',
            'mcmasters',
            'memberaccount',
            'mergesort',
            'metus',
            'mf',
            'mit',
            'mizner',
            'modalwindow',
            'modernizr',
            'mohandas',
            'molestie',
            'mollis',
            'mopup',
            'mpl',
            'multimoderation',
            'munafo',
            'nec',
            'neque',
            'netherhope',
            'nibh',
            'nisi',
            'nonhostedguest',
            'nullam',
            'nunc',
            'olson',
            'onx',
            'oppenheimer',
            'orci',
            'ornare',
            'paul',
            'pellentesque',
            'permalink',
            'phasellus',
            'phpstub',
            'po',
            'polyfill',
            'porttitor',
            'programmes',
            'pulvinar',
            'quis',
            'quisque',
            'rene',
            'rhoncus',
            'risus',
            'robert',
            'runnable',
            'runtime',
            'russell',
            'sagittis',
            'samuel',
            'sapien',
            'scelerisque',
            'sed',
            'sef',
            'semper',
            'sept',
            'shatterer',
            'shish',
            'shortcode',
            'silverbeat',
            'simpletest',
            'socialtext',
            'soundmanager',
            'sreid',
            'stackoverflow',
            'stemmer',
            'sublicense',
            'sublicenses',
            'sudo',
            'teardown',
            'tellus',
            'thomas',
            'thoreau',
            'tincidunt',
            'tinky',
            'tortor',
            'tristique',
            'turpis',
            'ullamcorper',
            'ultrices',
            'ultricies',
            'undelete',
            'urna',
            'ut',
            'varius',
            'velit',
            'vestibulum',
            'vivamus',
            'viverra',
            'volutpat',
            'vulputate',
            'watson',
            'wikicode',
            'wilson',
            'winky',
            'winston',
            'al',
            'apikey',
            'automap',
            'autonomity',
            'autosave',
            'autosaving',
            'baseurl',
            'betterpopupblocker',
            'bugzilla',
            'callee',
            'childnodes',
            'contenteditable',
            'contentwidth',
            'createcdatasection',
            'overlayed',
            'ctrlkey',
            'datalist',
            'defocus',
            'deinvolvement',
            'divs',
            'documentelement',
            'elementk',
            'encodeuricomponent',
            'esc',
            'expando',
            'fakepath',
            'fauxmodal',
            'fixup',
            'fromindex',
            'getelementsbyclassname',
            'getelementsbytagname',
            'geturl',
            'hasproperty',
            'htmlselection',
            'idd',
            'inserthtml',
            'insta',
            'jslint',
            'keycode',
            'kiwiirc',
            'kpresent',
            'len',
            'lenvalue',
            'lhs',
            'maxwidth',
            'measureit',
            'mousemove',
            'nav',
            'ns',
            'ondragend',
            'onkeyup',
            'onmouseout',
            'onreadystatechange',
            'optimalworks',
            'orderers',
            'ourself',
            'outerhtml',
            'precache',
            'pushstate',
            'readonly',
            'recurse',
            'reflowing',
            'reinvite',
            'reposition',
            'requestpermission',
            'rescale',
            'rhs',
            'screenreader',
            'scrollby',
            'scrolly',
            'searchelement',
            'selectedindex',
            'serverid',
            'setinterval',
            'settimeout',
            'surrounder',
            'swfmovie',
            'textdecoration',
            'texteditor',
            'tointeger',
            'toobject',
            'tostring',
            'unsleeping',
            'write\'d',
            'xmlhttprequest',
            'absolute\'ing',
            'bugginess',
            'clearfix',
            'dh',
            'isch',
            'itemprop',
            'jwplayer',
            'middot',
            'nl',
            'raquo',
            'rebalances',
            'rsaquo',
            'segoe',
            'selectability',
            'stildv',
            'subtab',
            'tbm',
            'toggleable',
            'voiceover',
            'addfwd',
            'addr',
            'addslashes',
            'alexa',
            'allowlist',
            'allowtransparency',
            'allvolatile',
            'anonymise',
            'anonymizers',
            'antialiasing',
            'apostophes',
            'appropiate',
            'argumenterror',
            'aspx',
            'attributeerror',
            'authenticationfailed',
            'autoincrement',
            'autoloader',
            'backreference',
            'backslashed',
            'backtrace',
            'barnes',
            'basename',
            'basepath',
            'baz',
            'bcrypt',
            'becase',
            'benhollis',
            'birthdate',
            'bitmask',
            'bitwise',
            'bizarro',
            'blitting',
            'blogurl',
            'boh',
            'bom',
            'bootup',
            'bork',
            'btw',
            'bw',
            'bys',
            'cacheable',
            'cadorn',
            'canonicalise',
            'canonicalized',
            'canput',
            'cardinality',
            'cartid',
            'casted',
            'ce',
            'chdir',
            'checkable',
            'childed',
            'chlab',
            'chr',
            'christoph',
            'christophdorn',
            'chrs',
            'cleanout',
            'clk',
            'clob',
            'closers',
            'cma',
            'cmsgroups',
            'colourfy',
            'combinators',
            'commandline',
            'complexe',
            'complexed',
            'concat',
            'constanterror',
            'continuated',
            'cookpass',
            'corruptvalue',
            'cpan',
            'cr',
            'crc',
            'criterias',
            'crlf',
            'crosslinks',
            'cruding',
            'crypto',
            'ctype',
            'curation',
            'curlopt',
            'currencycode',
            'customrequest',
            'cutephp',
            'cv',
            'dai',
            'dailymotion',
            'dat',
            'date\'ll',
            'dbx',
            'decached',
            'decimalize',
            'dedupe',
            'deduping',
            'deduplicate',
            'definitionerror',
            'deldir',
            'delimite',
            'dementions',
            'deprioritise',
            'des',
            'descendance',
            'dest',
            'destrictify',
            'devicepixelratio',
            'devtest',
            'dif',
            'diffutils',
            'dirname',
            'dirs',
            'disableregs',
            'displayname',
            'dkimsignature',
            'doctypes',
            'doored',
            'dorn',
            'ds',
            'dst',
            'dsv',
            'dtango',
            'dtd',
            'dtds',
            'dw',
            'ecv',
            'edu',
            'efnet',
            'efnetrbl',
            'efv',
            'eithera',
            'elementarray',
            'elseif',
            'englishenglish',
            'enqueue',
            'ent',
            'enterable',
            'entryname',
            'env',
            'eof',
            'eot',
            'eppstein',
            'equivs',
            'errflg',
            'erroring',
            'errorservice',
            'errstr',
            'escapeshellarg',
            'esurfers',
            'ev',
            'eval\'d',
            'existency',
            'expandtab',
            'expiries',
            'extentity',
            'extractive',
            'fetchbody',
            'ffff',
            'fffff',
            'fffffff',
            'fifo',
            'filehandles',
            'filepath',
            'findicons',
            'fini',
            'firebird',
            'firebugconsole',
            'firephpcore',
            'fixme',
            'flexer',
            'flic',
            'flushable',
            'followlocation',
            'foobars',
            'formarray',
            'formperiod',
            'formprice',
            'formrebills',
            'formrecurringperiod',
            'formrecurringprice',
            'frameborder',
            'fread',
            'freeimages',
            'fsockopen',
            'fstat',
            'futurepay',
            'fwrite',
            'gcd',
            'getattention',
            'gethostbyname',
            'getlogin',
            'getpaint',
            'getpwuid',
            'getuid',
            'ghostbusters',
            'gi',
            'githubusercontent',
            'global\'d',
            'gnudist',
            'godaddy',
            'gps',
            'gravatar',
            'groupby',
            'grr',
            'gzipping',
            'hackhack',
            'hacky',
            'hander',
            'hardcoded',
            'haved',
            'hehe',
            'hidfileid',
            'hidfilename',
            'htmlentities',
            'htmlspecialchars',
            'ico',
            'ied',
            'iew',
            'ified',
            'iframely',
            'iless',
            'imagecopyresized',
            'imagemagick',
            'imageoptim',
            'imagettfbbox',
            'imdb',
            'imgur',
            'importances',
            'incase',
            'include\'d',
            'incompliant',
            'indexable',
            'inlining',
            'innokenty',
            'inputter',
            'instagram',
            'installable',
            'instanceof',
            'interbase',
            'intertwinded',
            'intervaling',
            'intval\'d',
            'inviter',
            'iptc',
            'isbndb',
            'ispconfig',
            'italian',
            'iwork',
            'jetbrains',
            'jiggery',
            'jpalme',
            'jpost',
            'jsonstream',
            'kompozer',
            'kr',
            'ksort',
            'lan',
            'langfilter',
            'lastlogin',
            'lastness',
            'lastupdated',
            'lcs',
            'learn\'t',
            'leste',
            'lev',
            'levenshtein',
            'lex',
            'lexed',
            'lexing',
            'limit\'ing',
            'linebreak',
            'loginkey',
            'logupgradeclientmessage',
            'lol',
            'lookahead',
            'lookie',
            'louisameline',
            'lv',
            'ly',
            'malloc',
            'mana',
            'marginheight',
            'marginwidth',
            'matermarks',
            'maxdbfieldsize',
            'maxheight',
            'maxima',
            'maxuploaddirsize',
            'maxuploadsubdirsize',
            'mc',
            'memberid',
            'memtrack',
            'mencoder',
            'microtime',
            'mighr',
            'minificiation',
            'mistakingly',
            'mktime',
            'mobiquo',
            'monikerised',
            'monitonic',
            'moov',
            'mroe',
            'mrss',
            'msvideo',
            'mul',
            'multisite',
            'mybbuser',
            'myfile',
            'mysqli',
            'mysqls',
            'namings',
            'nan',
            'nce',
            'ncopy',
            'ned',
            'nedkonz',
            'nodetype',
            'noembed',
            'nofws',
            'noindex',
            'nones',
            'nonsgml',
            'noreply',
            'nowrap',
            'npapi',
            'nparsing',
            'nss',
            'obe',
            'oci',
            'onmousewheel',
            'opensearchdescription',
            'opensource',
            'openwall',
            'optout',
            'or\'d',
            'ord',
            'overdefined',
            'overlongs',
            'parameterisation',
            'pdo',
            'pedia',
            'pepr',
            'perl',
            'phpass',
            'phpdev',
            'phpguru',
            'phpmailer',
            'phpversion',
            'pinf',
            'pingomatic',
            'pkey',
            'pokery',
            'poller',
            'pornel',
            'pps',
            'precedences',
            'precheck',
            'preexecute',
            'prelast',
            'preload',
            'prepended',
            'prepopulated',
            'prepopulating',
            'preprocessed',
            'preserveaspectratio',
            'primarygroupid',
            'proc',
            'pwds',
            'qa',
            'qbbr',
            'qmail',
            'queryable',
            'rawurldecode',
            'rb',
            'readlogs',
            'recached',
            'recalc',
            'recog',
            'recursed',
            'recursing',
            'reentrance',
            'referers',
            'reindex',
            'remapper',
            'removechild',
            'reputationenable',
            'require\'d',
            'resample',
            'resampling',
            'reshow',
            'responsedigest',
            'restrictify',
            'ret',
            'reversable',
            'rewritemap',
            'roomname',
            'rrggbbaa',
            'rssurl',
            'scancelled',
            'scribd',
            'scriptscript',
            'searc',
            'secvpn',
            'secxmlrpc',
            'semiparse',
            'seqs',
            'serbia',
            'setopt',
            'sha',
            'sharedcount',
            'shareddemo',
            'shiftwidth',
            'simplexml',
            'simplexmlelement',
            'sizeness',
            'sizings',
            'skippable',
            'sl',
            'slideshare',
            'smashingmagazine',
            'smfads',
            'soapclient',
            'soapsubmit',
            'softtabstop',
            'sokolov',
            'soundcloud',
            'sourceforge',
            'sourcegear',
            'sqlsrv',
            'srv',
            'sslversion',
            'staticflickr',
            'stdcommand',
            'stderr',
            'stdhtml',
            'stdin',
            'stdnotifications',
            'stdout',
            'stripslashes',
            'strtolower',
            'strtotime',
            'strtoupper',
            'struct',
            'stucked',
            'stylings',
            'subaccount',
            'subproblems',
            'subscr',
            'subselect',
            'subsubforum',
            'subsubforums',
            'subsyntax',
            'suffixingleeway',
            'supermoderators',
            'sx',
            'sy',
            'tabindexes',
            'tabstop',
            'tc',
            'techsmith',
            'tempnam',
            'textcode',
            'theads',
            'thefile',
            'there\'d',
            'tid',
            'timor',
            'tinypic',
            'tinyportal',
            'toc',
            'tornevallrbl',
            'tornuserinfoclass',
            'trak',
            'translit',
            'trigered',
            'truecolor',
            'twitpic',
            'txn',
            'ucache',
            'ucfirst',
            'uci',
            'ucpact',
            'uglify',
            'uinteger',
            'unary',
            'unevaluated',
            'unhandled',
            'unhashed',
            'uninitializederror',
            'uniqid',
            'uniqify',
            'unrate',
            'unregister',
            'unserialize',
            'unsuspend',
            'unterminated',
            'upgraders',
            'uptimerobot',
            'urlencode',
            'urlencoded',
            'urlencodes',
            'useip',
            'usercp',
            'usergroupid',
            'userid',
            'usertime',
            'usesig',
            'usort',
            'ustream',
            'utc',
            'utctime',
            'uuid',
            'valcard',
            'validatecardfull',
            'vfs',
            'vhorizontal',
            'viewbox',
            'virtualising',
            'wb',
            'wcc',
            'webgl',
            'webscr',
            'weburl',
            'whatsmore',
            'widthxheight',
            'wildfirehq',
            'willl',
            'wizable',
            'wp',
            'writeable',
            'wrt',
            'wsp',
            'wysiwyg\'d',
            'xchanged',
            'xdigit',
            'xhtmlise',
            'xhtmlxhmtml',
            'xhtmlxhtml',
            'xkcd',
            'xlink',
            'xminymin',
            'xmlentities',
            'xmlns',
            'xmp',
            'xxxx',
            'xxxxx',
            'ychanged',
            'yfrog',
            'yi',
            'youtu',
            'ypos',
            'yslow',
            'za',
            'zlib',
            'zsr',
            'zunzip',
            'zytrax',
            'asort',
            'autocompleting',
            'ay',
            'bloaty',
            'cmscritic',
            'cmsmatrix',
            'cmsreport',
            'copypasta\'d',
            'dum',
            'dynamicness',
            'fh',
            'gdata',
            'graphviz',
            'groups\'so',
            'keyframe',
            'langpair',
            'licencing',
            'lis',
            'malcolmhardie',
            'mtimes',
            'munges',
            'mybaseurl',
            'nondeterministic',
            'opensourcecms',
            'passon',
            'patreons',
            'phar',
            'pollid',
            'prepopulate',
            'prespecified',
            'pretranslated',
            'proj',
            'regen',
            'regionalities',
            'shasum',
            'sqleditor',
            'subdir',
            'subdirs',
            'subqueries',
            'symlink',
            'symlinked',
            'symlinks',
            'thay',
            'timezone\'so',
            'type\'key',
            'uas',
            'webgallery',
            'whoopsie',
            'xth',
            'xunsub',
            'ndash',
            'achecker',
            'aindex',
            'amsterdam',
            'articlesbase',
            'articletrader',
            'autocompleter',
            'axxxxx',
            'backdoored',
            'cblock',
            'chrisg',
            'classttconnection',
            'clickimage',
            'clicksubmit',
            'cnt',
            'dmain',
            'dnews',
            'dtc',
            'dview',
            'dwn',
            'ezine',
            'ezinearticles',
            'ezinepublisher',
            'fdsdsfdsjfdsfdgfdgdf',
            'fffsd',
            'fixperms',
            'forumid',
            'fpage',
            'gc',
            'geoposition',
            'geopositioning',
            'gggeek',
            'hdf',
            'herokuapp',
            'inputed',
            'ipullrank',
            'javacript',
            'latlng',
            'lcpvideo',
            'loadaverage',
            'loadtime',
            'longtitude',
            'lstring',
            'nonbundled',
            'photoshops',
            'phpxmlrpc',
            'pms',
            'rawdata',
            'recommender',
            'replacer',
            'rpc',
            'sapi',
            'seositecheckup',
            'serps',
            'setfield',
            'ssllabs',
            'ssltest',
            'stripos',
            'sujith',
            'tapatalkpush',
            'teststaticcacheworks',
            'thehoth',
            'threadid',
            'traceroute',
            'treturn',
            'unbundle',
            'unshipped',
            'untarred',
            'utheme',
            'vals',
            'waterpigs',
            'webmotionuk',
            'whatismyipaddress',
            'wil',
            'woorank',
            'xmlrpc',
            'yaml',
            'zxxxxx',
            'devirtuoso',
            'fbsr',
            'xfbml',
            'auth\'d',
            'creativeasin',
            'deinvolve',
            'entrancy',
            'fractionable',
            'gneqfpmuqmw',
            'gp',
            'ilcv',
            'linkcode',
            'linkid',
            'lkakzalmfmferim',
            'mzotdxfcu',
            'nlist',
            'preinvited',
            'punisher',
            'relatin',
            'revalidated',
            'suboptimal',
            'tickbox',
            'tl',
            'uwdyq',
            'uynvbedibterufir',
            'warner',
            'yceu',
            'yyyyynn',
            'allowfullscreen',
            'accesscontrol',
            'albumname',
            'apptools',
            'aps',
            'apstandard',
            'args',
            'au',
            'behat',
            'bhf',
            'bitmasked',
            'cancerresearchuk',
            'cbfunc',
            'cchannelid',
            'cchanneltitle',
            'cdescription',
            'cdislikecount',
            'cfavoritecount',
            'changelog',
            'channelid',
            'charles',
            'charlesproxy',
            'chrisschuld',
            'cid',
            'civicspace',
            'clikecount',
            'cloudname',
            'cnduk',
            'codepoints',
            'composrcms',
            'composrcmsvideo',
            'composrto',
            'conn',
            'consequtive',
            'contentdetails',
            'cpageinfo',
            'cpublishedat',
            'cresourceid',
            'cstatistics',
            'cstatus',
            'cthumbnails',
            'dateinterval',
            'decompositions',
            'developertags',
            'dsym',
            'dumpsession',
            'fhere',
            'fi',
            'filterability',
            'findpost',
            'fjs',
            'floatval',
            'fmjtd',
            'forusername',
            'galeon',
            'gcm',
            'gethostbyaddr',
            'getuser',
            'googlebot',
            'greenpeace',
            'handleable',
            'helptheaged',
            'hqdefault',
            'hsivonen',
            'huz',
            'icecat',
            'ifil',
            'iki',
            'insertbefore',
            'israel',
            'itouchmap',
            'jailbreakers',
            'latlong',
            'loc',
            'longurl',
            'lq',
            'mapquest',
            'mapquestapi',
            'mavrick',
            'maxresdefault',
            'maxresults',
            'maxs',
            'maxvideos',
            'mergeable',
            'mins',
            'mqdefault',
            'msappgallery',
            'mstate',
            'nokia',
            'nspcc',
            'oauth\'d',
            'omniweb',
            'omrtw',
            'openclipart',
            'outformat',
            'oxfam',
            'peta',
            'phptools',
            'pickpocketed',
            'placefinder',
            'playlistid',
            'playlistitems',
            'predefine',
            'privacystatus',
            'rcpthosts',
            'relatedplaylists',
            'renderbatch',
            'resumable',
            'reupload',
            'reuploading',
            'rooftopsolutions',
            'rspca',
            'safebrowsing',
            'sburke',
            'sddefault',
            'shiretoko',
            'smartbanner',
            'ss',
            'swiftmailer',
            'threatmatches',
            'thumbimg',
            'totalresults',
            'transliterator',
            'unchangable',
            'uneditable',
            'unicef',
            'unidecode',
            'unprocessable',
            'useragentstring',
            'userdescription',
            'videoid',
            'viewcount',
            'virtualdomains',
            'virtualearth',
            'wap',
            'webtoolkit',
            'webtv',
            'wi',
            'wjs',
            'woeid',
            'worldcities',
            'worldcitiespop',
            'worldgazetteer',
            'wwf',
            'yahooapis',
            'yql',
            'yt',
            'autoplay',
            'bookfinder',
            'deprecations',
            'disconsider',
            'disincentivise',
            'disincentivises',
            'ipnpb',
            'pagelet',
            'portlet',
            'targetable',
        );

        $pspell_link = pspell_new('en');

        foreach ($okay_words as $new_word) {
            pspell_add_to_session($pspell_link, $new_word);
        }

        $only = get_param_string('only', null);

        $words = array();

        $paths = array(
            '' => 'php',

            'sources' => 'php',
            'sources_custom' => 'php',

            '_tests/cmstest' => 'php',
            '_tests/tests' => 'php',
            'data' => 'php',
            'data_custom' => 'php',
            'mobiquo/api' => 'php',
            'mobiquo/tests' => 'php',
            'mobiquo/include' => 'php',
            'uploads' => 'php',

            'pages' => 'php',
            'site' => 'php',
            'docs' => 'php',
            'forum' => 'php',
            'adminzone' => 'php',
            'cms' => 'php',
            'collaboration' => 'php', // TODO: Remove in v11
            'buildr' => 'php',

            'themes/default' => 'js',

            'lang/EN' => 'ini',
            'lang_custom/EN' => 'ini',

            'site/pages/comcode/EN' => 'txt',
            'pages/comcode/EN' => 'txt',
            'forum/comcode/EN' => 'txt',
            'adminzone/comcode/EN' => 'txt',
            'cms/comcode/EN' => 'txt',
            'collaboration/comcode/EN' => 'txt', // TODO: Remove in v11

            'site/pages/comcode_custom/EN' => 'txt',
            'pages/comcode_custom/EN' => 'txt',
            'forum/comcode_custom/EN' => 'txt',
            'buildr/comcode_custom/EN' => 'txt',
            'docs/pages/comcode_custom/EN' => 'txt',

            'text/EN' => 'txt',
            'text_custom/EN' => 'txt',
            'data/modules/cms_comcode_pages/EN' => 'txt',
            '_tests' => 'txt',
        );
        foreach ($paths as $_path => $_ext) {
            $recurse = ($_path != '');
            $files = get_directory_contents(get_file_base() . '/' . $_path, $_path, false, $recurse); // TODO: Fix in v11

            foreach ($files as $path) {
                $ext = get_file_extension($path);
                if ($ext != $_ext) {
                    continue;
                }

                if (($only !== null) && ($only != $path)) {
                    continue;
                }

                if ($path == 'data_custom/errorlog.php') {
                    continue;
                }

                $c = file_get_contents(get_file_base() . '/' . $path);

                if ($ext == 'ini' || $ext == 'htm' || $ext == 'html' || $ext == 'txt') {
                    $c = html_entity_decode($c, ENT_QUOTES);
                }

                if ($ext == 'ini') {
                    $c = str_replace('\n', ' ', $c);
                }

                if ($ext == 'js' || $ext == 'css' || $ext == 'php') {
                    if (preg_match('#^sources_custom/(getid3|geshi|photobucket|spout|sabredav|composr_mobile_sdk/ios|swift_mailer|ILess|locations|facebook|programe|php-crossword)/#', $path) != 0) {
                        continue;
                    }

                    if (in_array($path, array(
                        'themes/default/javascript/jquery.js',
                        'themes/default/javascript/jquery_ui.js',
                        'themes/default/javascript/jquery_autocomplete.js',
                        'themes/default/javascript/plupload.js',
                        'themes/default/javascript/widget_color.js',
                        'themes/default/javascript/widget_date.js',
                        'themes/default/javascript/xsl_mopup.js',
                        'themes/default/javascript/select2.js',
                        'themes/default/javascript/sound.js',
                        'themes/default/javascript/jwplayer.js',
                        'themes/default/javascript/modernizr.js',
                        'themes/default/css/jquery_ui.css',
                        'themes/default/css/widget_date.css',
                        'themes/default/css/widget_color.css',
                        'themes/default/css/widget_select2.css',
                        'themes/default/css/widget_plupload.css',
                        'themes/default/css/skitter.css',
                        'themes/default/css_custom/mediaelementplayer.css',
                        'data/editarea/edit_area_compressor.php', // TODO: Remove in v11
                        'themes/default/javascript_custom/unslider.js',
                        'themes/default/javascript_custom/columns.js',
                        'themes/default/javascript_custom/mediaelement-and-player.js',
                        'themes/default/javascript_custom/openid.js', // TODO: Remove in v11
                        'themes/default/javascript_custom/skitter.js',
                        'themes/default/javascript_custom/jquery_flip.js',
                        'themes/default/javascript_custom/sortable_tables.js',
                        'sources_custom/geshi.php',
                        'sources_custom/openid.php',
                        'sources_custom/twitter.php',
                        'sources_custom/hooks/modules/chat_bots/trickstr.php',
                    ))) {
                        continue;
                    }

                    $_c = '';
                    $matches = array();

                    $num_matches = preg_match_all('#[^:]//(.*)#', $c, $matches);
                    for ($i = 0; $i < $num_matches; $i++) {
                        $_c .= ' ' . $matches[1][$i];
                    }

                    $num_matches = preg_match_all('#/\*(.*)\*/#Um', $c, $matches);
                    for ($i = 0; $i < $num_matches; $i++) {
                        $_c .= ' ' . $matches[1][$i];
                    }

                    $c = $_c;
                }

                foreach (array('tt', 'code', 'codebox') as $tag) { // Strip whole tags
                    $c = preg_replace('#\[' . $tag . '[^\[\]]*\].*\[/' . $tag . '\]#Us', '', $c);
                }

                $c = str_replace('_', '-', $c); // Underscores as dashes

                $c = preg_replace('#\w+://[^\s\'",;>\[\])]*#', '', $c); // Strip URLs

                $c = preg_replace('#\[[a-z]+#', '', $c); // Strip opening tag
                $c = preg_replace('#\[/[a-z]+\]#', '', $c); // Strip closing tag

                $matches = array();
                $num_matches = preg_match_all('#([a-z][a-z0-9\']+)#i', $c, $matches);

                for ($i = 0; $i < $num_matches; $i++) {
                    $word = strtolower($matches[1][$i]);

                    if (strlen($word) > 25) { // No really long 'words'
                        continue;
                    }

                    if (preg_match('#\d#', $word) != 0) { // No 'words' can actually have numbers in
                        continue;
                    }

                    $word = rtrim($word, "'"); // Strip back group possession apostrophe
                    $word = preg_replace('#\'s$#', '', $word); // Strip back possession structure

                    $words[$word] = $path;
                }
            }
        }

        ksort($words, SORT_NATURAL | SORT_FLAG_CASE);

        foreach ($words as $word => $path) {
            $result = pspell_check($pspell_link, $word);
            $this->assertTrue($result, 'Misspelling: ' . $word . ' (' . $path . ')');
        }
    }
}
