BrowserCapabilitiesFactory.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / BrowserCapabilitiesFactory.cs / 5 / BrowserCapabilitiesFactory.cs

                            //------------------------------------------------------------------------------ 
// 
//     This code was generated by a tool.
//     Runtime Version:2.0.50804.0
// 
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated. 
//  
//-----------------------------------------------------------------------------
 
namespace System.Web.Configuration {
    using System;
    using System.Web;
    using System.Web.Configuration; 
    using System.Reflection;
    using System.Security.Permissions; 
 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] 
    public class BrowserCapabilitiesFactory : System.Web.Configuration.BrowserCapabilitiesFactoryBase {

        public override void ConfigureBrowserCapabilities(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            this.DefaultProcess(headers, browserCaps); 
            if ((this.IsBrowserUnknown(browserCaps) == false)) {
                return; 
            } 
            this.DefaultDefaultProcess(headers, browserCaps);
        } 


        protected virtual void IeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void IeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool IeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla[^(]*\\([C|c]ompatible;\\s*MSIE (?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'l" + 
                    "etters\'\\w*))(?\'extra\'[^)]*)");
            if ((result == false)) {
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "Opera|Go\\.Web|Windows CE|EudoraWeb"); 
            if ((result == true)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "IE";
            dictionary["extra"] = regexWorker["${extra}"];
            dictionary["isColor"] = "true"; 
            dictionary["letters"] = regexWorker["${letters}"];
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"]; 
            dictionary["screenBitDepth"] = "8";
            dictionary["type"] = regexWorker["IE${major}"]; 
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.AddBrowser("IE");
            this.IeProcessGateways(headers, browserCaps);
            // gateway, parent=IE 
            this.IeaolProcess(headers, browserCaps);
            // gateway, parent=IE 
            this.IebetaProcess(headers, browserCaps); 
            // gateway, parent=IE
            this.IeupdateProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE
            if (this.Ie5to9Process(headers, browserCaps)) {
            } 
            else {
                if (this.Ie4Process(headers, browserCaps)) { 
                } 
                else {
                    if (this.Ie3Process(headers, browserCaps)) { 
                    }
                    else {
                        if (this.Ie2Process(headers, browserCaps)) {
                        } 
                        else {
                            if (this.Ie1minor5Process(headers, browserCaps)) { 
                            } 
                            else {
                                ignoreApplicationBrowsers = false; 
                            }
                        }
                    }
                } 
            }
            this.IeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ie5to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ie5to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie5to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^[5-9]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "true";
            dictionary["backgroundsounds"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true"; 
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true";
            dictionary["jscriptversion"] = "5.0";
            dictionary["msdomversion"] = regexWorker["${majorversion}${minorversion}"]; 
            dictionary["supportsCallback"] = "true";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            dictionary["supportsVCard"] = "true"; 
            dictionary["supportsXmlHttp"] = "true";
            dictionary["tables"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["vbscript"] = "true"; 
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true"; 
            browserCaps.AddBrowser("IE5to9"); 
            this.Ie5to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=IE5to9
            if (this.Ie6to9Process(headers, browserCaps)) {
            }
            else { 
                if (this.Ie5Process(headers, browserCaps)) {
                } 
                else { 
                    if (this.Ie5to9macProcess(headers, browserCaps)) {
                    } 
                    else {
                        ignoreApplicationBrowsers = false;
                    }
                } 
            }
            this.Ie5to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ie6to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ie6to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie6to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "[6-9]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["jscriptversion"] = "5.6";
            dictionary["ExchangeOmaSupported"] = "true"; 
            browserCaps.AddBrowser("IE6to9");
            this.Ie6to9ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=IE6to9
            if (this.Treo600Process(headers, browserCaps)) { 
            }
            else {
                ignoreApplicationBrowsers = false;
            } 
            this.Ie6to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Treo600ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Treo600ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Treo600Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "PalmSource; Blazer"); 
            if ((result == false)) { 
                return false;
            } 
            // Capture: header values
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "PalmSource; Blazer 3\\.0\\)\\s\\d+;(?\'screenPixelsHeight\'\\d+)x(?\'screenPixelsWidth\'\\d" +
                    "+)$");
            // Capabilities: set capabilities 
            dictionary["browser"] = "Blazer 3.0";
            dictionary["cachesAllResponsesWithExpires"] = "false"; 
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["canRenderEmptySelects"] = "true";
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false";
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["jscriptversion"] = "0.0"; 
            dictionary["maximumHrefLength"] = "10000";
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["mobileDeviceManufacturer"] = "";
            dictionary["mobileDeviceModel"] = "";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "text/html"; 
            dictionary["preferredRenderingType"] = "html32";
            dictionary["preferredRequestEncoding"] = "utf-8"; 
            dictionary["preferredResponseEncoding"] = "utf-8"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "true";
            dictionary["requiredMetaTagNameValue"] = "PalmComputingPlatform"; 
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresControlStateInSession"] = "false";
            dictionary["requiresDBCSCharacter"] = "false"; 
            dictionary["requiresFullyQualifiedRedirectUrl"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["requiresNoBreakInFormatting"] = "false";
            dictionary["requiresOutputOptimization"] = "false"; 
            dictionary["requiresPostRedirectionHandling"] = "false";
            dictionary["requiresPragmaNoCacheHeader"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "32"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenPixelsHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenPixelsWidth}"]; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCharacterEntityEncoding"] = "true"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["supportsFileUpload"] = "false"; 
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsIModeSymbols"] = "false";
            dictionary["supportsInputIStyle"] = "false"; 
            dictionary["supportsInputMode"] = "false"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsJPhoneMultiMediaAttributes"] = "false"; 
            dictionary["supportsJPhoneSymbols"] = "false";
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["supportsQueryStringInFormAction"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectMultiple"] = "true";
            dictionary["supportsUncheck"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Handspring Treo 600";
            browserCaps.AddBrowser("Treo600"); 
            this.Treo600ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Treo600ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ie5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ie5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ie5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^5$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            browserCaps.AddBrowser("IE5"); 
            this.Ie5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE5
            if (this.Ie50Process(headers, browserCaps)) { 
            }
            else { 
                if (this.Ie55Process(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false;
                }
            }
            this.Ie5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ie50ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ie50ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ie50Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["minorversion"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.0");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("IE50");
            this.Ie50ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ie50ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ie55ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ie55ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie55Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["minorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.5"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["jscriptversion"] = "5.5";
            dictionary["ExchangeOmaSupported"] = "true"; 
            browserCaps.AddBrowser("IE55");
            this.Ie55ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ie55ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ie5to9macProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ie5to9macProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ie5to9macProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["platform"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(MacPPC|Mac68K)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("IE5to9Mac"); 
            this.Ie5to9macProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie5to9macProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Ie4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Ie4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ie4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MSIE 4");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "true"; 
            dictionary["backgroundsounds"] = "true";
            dictionary["cdf"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true";
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["jscriptversion"] = "3.0"; 
            dictionary["msdomversion"] = "4.0";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "false";
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            dictionary["tables"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["vbscript"] = "true";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("IE4");
            this.Ie4ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ie4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ie3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ie3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ie3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^3");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "true";
            dictionary["backgroundsounds"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true";
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["jscriptversion"] = "1.0"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["vbscript"] = "true";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("IE3"); 
            this.Ie3ProcessGateways(headers, browserCaps);
            // gateway, parent=IE3 
            this.Ie3akProcess(headers, browserCaps); 
            // gateway, parent=IE3
            this.Ie3skProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE3
            if (this.Ie3win16Process(headers, browserCaps)) {
            } 
            else {
                if (this.Ie3macProcess(headers, browserCaps)) { 
                } 
                else {
                    ignoreApplicationBrowsers = false; 
                }
            }
            this.Ie3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ie3win16ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ie3win16ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ie3win16Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "16bit|Win(dows 3\\.1|16)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "false"; 
            dictionary["javaapplets"] = "false";
            browserCaps.AddBrowser("IE3win16");
            this.Ie3win16ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=IE3win16
            if (this.Ie3win16aProcess(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Ie3win16ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ie3win16aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ie3win16aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ie3win16aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["extra"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^a");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["beta"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["vbscript"] = "false";
            browserCaps.AddBrowser("IE3win16a");
            this.Ie3win16aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3win16aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ie3macProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ie3macProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ie3macProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "PPC Mac|Macintosh.*(68K|PPC)|Mac_(PowerPC|PPC|68(K|000))"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "false";
            dictionary["vbscript"] = "false";
            browserCaps.AddBrowser("IE3Mac"); 
            this.Ie3macProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3macProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ie3akProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ie3akProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ie3akProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["extra"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "; AK;");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ak"] = "true"; 
            this.Ie3akProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3akProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ie3skProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ie3skProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ie3skProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["extra"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "; SK;");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["sk"] = "true"; 
            this.Ie3skProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3skProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ie2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ie2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ie2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^2");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("IE2"); 
            this.Ie2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE2
            if (this.WebtvProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Ie2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ie1minor5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ie1minor5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie1minor5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^1\\.5");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cookies"] = "true"; 
            dictionary["tables"] = "true"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("IE1minor5");
            this.Ie1minor5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ie1minor5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void IeaolProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void IeaolProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool IeaolProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["extra"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "; AOL");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["aol"] = "true";
            dictionary["frames"] = "true";
            this.IeaolProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.IeaolProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void IebetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void IebetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool IebetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["letters"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^([bB]|ab)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            this.IebetaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.IebetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void IeupdateProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void IeupdateProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool IeupdateProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["extra"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "; Update a;"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["authenticodeupdate"] = "true";
            this.IeupdateProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.IeupdateProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void MozillaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void MozillaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MozillaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mozilla"); 
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "MME|Opera");
            if ((result == true)) {
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "Mozilla/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)\\w*)"); 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), " (?\'screenWidth\'\\d*)x(?\'screenHeight\'\\d*)");
            // Capabilities: set capabilities 
            dictionary["browser"] = "Mozilla";
            dictionary["cookies"] = "false";
            dictionary["defaultScreenCharactersHeight"] = "40";
            dictionary["defaultScreenCharactersWidth"] = "80"; 
            dictionary["defaultScreenPixelsHeight"] = "480";
            dictionary["defaultScreenPixelsWidth"] = "640"; 
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "false"; 
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsDivNoWrap"] = "true"; 
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["type"] = "Mozilla";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Mozilla"); 
            this.MozillaProcessGateways(headers, browserCaps);
            // gateway, parent=Mozilla 
            this.MozillabetaProcess(headers, browserCaps);
            // gateway, parent=Mozilla
            this.MozillagoldProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Mozilla
            if (this.IeProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.PowerbrowserProcess(headers, browserCaps)) { 
                }
                else {
                    if (this.GeckoProcess(headers, browserCaps)) {
                    } 
                    else {
                        if (this.AvantgoProcess(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.GoamericaProcess(headers, browserCaps)) { 
                            }
                            else {
                                if (this.Netscape3Process(headers, browserCaps)) {
                                } 
                                else {
                                    if (this.Netscape4Process(headers, browserCaps)) { 
                                    } 
                                    else {
                                        if (this.MypalmProcess(headers, browserCaps)) { 
                                        }
                                        else {
                                            if (this.EudorawebProcess(headers, browserCaps)) {
                                            } 
                                            else {
                                                if (this.WinceProcess(headers, browserCaps)) { 
                                                } 
                                                else {
                                                    if (this.MspieProcess(headers, browserCaps)) { 
                                                    }
                                                    else {
                                                        ignoreApplicationBrowsers = false;
                                                    } 
                                                }
                                            } 
                                        } 
                                    }
                                } 
                            }
                        }
                    }
                } 
            }
            this.MozillaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MozillabetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MozillabetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MozillabetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/\\d+\\.\\d+b"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            this.MozillabetaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MozillabetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MozillagoldProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MozillagoldProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MozillagoldProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/\\d+\\.\\d+\\w*Gold"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["gold"] = "true";
            this.MozillagoldProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MozillagoldProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void PowerbrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void PowerbrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool PowerbrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/2\\.01 \\(Compatible\\) Oracle\\(tm\\) PowerBrowser\\(tm\\)/1\\.0a"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "PowerBrowser";
            dictionary["cookies"] = "true"; 
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["majorversion"] = "1"; 
            dictionary["minorversion"] = ".5";
            dictionary["platform"] = "Win95";
            dictionary["tables"] = "true";
            dictionary["vbscript"] = "true"; 
            dictionary["version"] = "1.5";
            dictionary["type"] = "PowerBrowser1"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("PowerBrowser"); 
            this.PowerbrowserProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PowerbrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GeckoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GeckoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GeckoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Gecko"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Mozilla"; 
            dictionary["css1"] = "true";
            dictionary["css2"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ecmascriptversion"] = "1.5"; 
            dictionary["frames"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["javaapplets"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["maximumRenderedPageSize"] = "20000"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["screenBitDepth"] = "32";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "desktop"; 
            dictionary["version"] = regexWorker["${version}"]; 
            dictionary["w3cdomversion"] = "1.0";
            browserCaps.AddBrowser("Gecko"); 
            this.GeckoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Gecko
            if (this.MozillarvProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.SafariProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.Netscape5Process(headers, browserCaps)) {
                    }
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            } 
            this.GeckoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void MozillarvProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MozillarvProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool MozillarvProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "rv\\:(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.[.\\d]*))"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "Netscape");
            if ((result == true)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.4";
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorversion"] = regexWorker["${minor}"]; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["supportsCallback"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["type"] = regexWorker["Mozilla${major}"];
            dictionary["version"] = regexWorker["${version}"];
            dictionary["w3cdomversion"] = "1.0";
            browserCaps.AddBrowser("MozillaRV"); 
            this.MozillarvProcessGateways(headers, browserCaps);
            // gateway, parent=MozillaRV 
            this.Mozillav14plusProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=MozillaRV 
            if (this.MozillafirebirdProcess(headers, browserCaps)) {
            }
            else {
                if (this.MozillafirefoxProcess(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.MozillarvProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Mozillav14plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Mozillav14plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mozillav14plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^1$");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(dictionary["minorversion"])); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.[4-9]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["javaapplets"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2000000"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["screenBitDepth"] = "32"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["type"] = regexWorker["Mozilla${version}"];
            dictionary["xml"] = "true";
            this.Mozillav14plusProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mozillav14plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MozillafirebirdProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MozillafirebirdProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MozillafirebirdProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Gecko\\/\\d+ Firebird\\/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.[.\\d]*))"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Firebird";
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["version"] = regexWorker["${version}"]; 
            dictionary["type"] = regexWorker["Firebird${version}"]; 
            browserCaps.AddBrowser("MozillaFirebird");
            this.MozillafirebirdProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MozillafirebirdProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MozillafirefoxProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MozillafirefoxProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MozillafirefoxProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Gecko\\/\\d+ Firefox\\/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.[.\\d]*))");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Firefox";
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["version"] = regexWorker["${version}"];
            dictionary["type"] = regexWorker["Firefox${version}"];
            browserCaps.AddBrowser("MozillaFirefox"); 
            this.MozillafirefoxProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.MozillafirefoxProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void SafariProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void SafariProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool SafariProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "AppleWebKit/(?\'webversion\'\\d+)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["appleWebTechnologyVersion"] = regexWorker["${webversion}"]; 
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "AppleMAC-Safari"; 
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["ecmascriptversion"] = "0.0"; 
            dictionary["futureBrowser"] = "Apple Safari";
            dictionary["screenBitDepth"] = "24";
            dictionary["tables"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["type"] = "Desktop";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("Safari");
            this.SafariProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Safari
            if (this.Safari60Process(headers, browserCaps)) {
            } 
            else {
                if (this.Safari85Process(headers, browserCaps)) { 
                } 
                else {
                    if (this.Safari1plusProcess(headers, browserCaps)) { 
                    }
                    else {
                        ignoreApplicationBrowsers = false;
                    } 
                }
            } 
            this.SafariProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Safari60ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Safari60ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Safari60Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["appleWebTechnologyVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "60");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "1.0"; 
            browserCaps.AddBrowser("Safari60");
            this.Safari60ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Safari60ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Safari85ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Safari85ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Safari85Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["appleWebTechnologyVersion"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "85"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.4";
            browserCaps.AddBrowser("Safari85"); 
            this.Safari85ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Safari85ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Safari1plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Safari1plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Safari1plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["appleWebTechnologyVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "\\d\\d\\d");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "1.4"; 
            dictionary["w3cdomversion"] = "1.0"; 
            dictionary["supportsCallback"] = "true";
            browserCaps.AddBrowser("Safari1Plus"); 
            this.Safari1plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Safari1plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void AvantgoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AvantgoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool AvantgoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\(compatible; AvantGo .*\\)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capture: header values
            regexWorker.ProcessRegex(((string)(headers["X-AVANTGO-VERSION"])), "(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)"); 
            // Capabilities: set capabilities
            dictionary["browser"] = "AvantGo";
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["defaultScreenCharactersHeight"] = "6"; 
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2560"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiredMetaTagNameValue"] = "HandheldFriendly"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "13";
            dictionary["screenCharactersWidth"] = "30"; 
            dictionary["screenPixelsHeight"] = "150"; 
            dictionary["screenPixelsWidth"] = "150";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["AvantGo${browserMajorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("AvantGo"); 
            this.AvantgoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=AvantGo 
            if (this.TmobilesidekickProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.AvantgoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void TmobilesidekickProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void TmobilesidekickProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool TmobilesidekickProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Danger hiptop");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "true";
            dictionary["css1"] = "true";
            dictionary["ecmaScriptVersion"] = "1.3";
            dictionary["frames"] = "true"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["javaapplets"] = "true"; 
            dictionary["majorVersion"] = "5"; 
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["minorVersion"] = ".0"; 
            dictionary["mobileDeviceManufacturer"] = "T-Mobile";
            dictionary["mobileDeviceModel"] = "SideKick";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "57";
            dictionary["screenPixelsHeight"] = "136"; 
            dictionary["screenPixelsWidth"] = "236";
            dictionary["supportsCss"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["type"] = "AvantGo 3"; 
            dictionary["version"] = "5.0";
            browserCaps.AddBrowser("TMobileSidekick"); 
            this.TmobilesidekickProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.TmobilesidekickProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void CasiopeiaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void CasiopeiaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool CasiopeiaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "CASSIOPEIA BE");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "CASSIOPEIA"; 
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12";
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["ecmascriptversion"] = "1.3";
            dictionary["frames"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true";
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["mobileDeviceManufacturer"] = "Casio"; 
            dictionary["mobileDeviceModel"] = "Casio BE-500";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresContentTypeMetaTag"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresNoBreakInFormatting"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "50"; 
            dictionary["screenCharactersWidth"] = "38";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "240"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCharacterEntityEncoding"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "true";
            dictionary["supportsFileUpload"] = "false";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "false"; 
            dictionary["supportsItalic"] = "false"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "CASSIOPEIA"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Casiopeia");
            this.CasiopeiaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.CasiopeiaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void DefaultProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void DefaultProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool DefaultProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "false";
            dictionary["ak"] = "false";
            dictionary["aol"] = "false";
            dictionary["authenticodeupdate"] = "false"; 
            dictionary["backgroundsounds"] = "false";
            dictionary["beta"] = "false"; 
            dictionary["browser"] = "Unknown"; 
            dictionary["cachesAllResponsesWithExpires"] = "false";
            dictionary["canCombineFormsInDeck"] = "true"; 
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canRenderAfterInputOrSelectElement"] = "true";
            dictionary["canRenderEmptySelects"] = "true";
            dictionary["canRenderInputAndSelectElementsTogether"] = "true"; 
            dictionary["canRenderMixedSelects"] = "true";
            dictionary["canRenderOneventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "true";
            dictionary["canSendMail"] = "true"; 
            dictionary["cdf"] = "false";
            dictionary["cookies"] = "true";
            dictionary["crawler"] = "false";
            dictionary["css1"] = "false"; 
            dictionary["css2"] = "false";
            dictionary["defaultCharacterHeight"] = "12"; 
            dictionary["defaultCharacterWidth"] = "8"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["defaultSubmitButtonLimit"] = "1";
            dictionary["ecmascriptversion"] = "0.0"; 
            dictionary["frames"] = "false";
            dictionary["gatewayMajorVersion"] = "0"; 
            dictionary["gatewayMinorVersion"] = "0"; 
            dictionary["gatewayVersion"] = "None";
            dictionary["gold"] = "false"; 
            dictionary["hasBackButton"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false";
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "false";
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false"; 
            dictionary["jscriptversion"] = "0.0";
            dictionary["majorversion"] = "0"; 
            dictionary["maximumHrefLength"] = "10000";
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "5";
            dictionary["minorversion"] = "0"; 
            dictionary["mobileDeviceManufacturer"] = "Unknown";
            dictionary["mobileDeviceModel"] = "Unknown"; 
            dictionary["msdomversion"] = "0.0"; 
            dictionary["numberOfSoftkeys"] = "0";
            dictionary["platform"] = "Unknown"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "true";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["rendersWmlSelectsAsMenuCards"] = "false"; 
            dictionary["requiredMetaTagNameValue"] = "";
            dictionary["requiresAdaptiveErrorReporting"] = "false";
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["requiresDBCSCharacter"] = "false";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["requiresNoBreakInFormatting"] = "false"; 
            dictionary["requiresNoescapedPostUrl"] = "true";
            dictionary["requiresNoSoftkeyLabels"] = "false";
            dictionary["requiresOutputOptimization"] = "false";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["requiresPostRedirectionHandling"] = "false";
            dictionary["requiresSpecialViewStateEncoding"] = "false"; 
            dictionary["requiresUniqueFilePathSuffix"] = "false"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false";
            dictionary["requiresUniqueHtmlInputNames"] = "false"; 
            dictionary["requiresUrlEncodedPostfieldValues"] = "false";
            dictionary["screenBitDepth"] = "1";
            dictionary["sk"] = "false";
            dictionary["supportsAccesskeyAttribute"] = "false"; 
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "false"; 
            dictionary["supportsCacheControlMetaTag"] = "true"; 
            dictionary["supportsCharacterEntityEncoding"] = "true";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["supportsFileUpload"] = "false"; 
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false"; 
            dictionary["supportsImageSubmit"] = "false";
            dictionary["supportsIModeSymbols"] = "false"; 
            dictionary["supportsInputIStyle"] = "false";
            dictionary["supportsInputMode"] = "false";
            dictionary["supportsItalic"] = "false";
            dictionary["supportsJPhoneMultiMediaAttributes"] = "false"; 
            dictionary["supportsJPhoneSymbols"] = "false";
            dictionary["supportsMaintainScrollPositionOnPostback"] = "false"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "false"; 
            dictionary["supportsQueryStringInFormAction"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectMultiple"] = "true";
            dictionary["supportsUncheck"] = "true";
            dictionary["supportsVCard"] = "false";
            dictionary["tables"] = "false"; 
            dictionary["tagwriter"] = "System.Web.UI.Html32TextWriter";
            dictionary["type"] = "Unknown"; 
            dictionary["vbscript"] = "false"; 
            dictionary["version"] = "0.0";
            dictionary["w3cdomversion"] = "0.0"; 
            dictionary["win16"] = "false";
            dictionary["win32"] = "false";
            dictionary["xml"] = "false";
            browserCaps.AddBrowser("Default"); 
            this.DefaultProcessGateways(headers, browserCaps);
            // gateway, parent=Default 
            this.NokiagatewayProcess(headers, browserCaps); 
            // gateway, parent=Default
            this.UpgatewayProcess(headers, browserCaps); 
            // gateway, parent=Default
            this.CrawlerProcess(headers, browserCaps);
            // gateway, parent=Default
            this.ColorProcess(headers, browserCaps); 
            // gateway, parent=Default
            this.MonoProcess(headers, browserCaps); 
            // gateway, parent=Default 
            this.PixelsProcess(headers, browserCaps);
            // gateway, parent=Default 
            this.VoiceProcess(headers, browserCaps);
            // gateway, parent=Default
            this.CharsetProcess(headers, browserCaps);
            // gateway, parent=Default 
            this.PlatformProcess(headers, browserCaps);
            // gateway, parent=Default 
            this.WinProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Default 
            if (this.MozillaProcess(headers, browserCaps)) {
            }
            else {
                if (this.DocomoProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.Ericssonr380Process(headers, browserCaps)) { 
                    }
                    else { 
                        if (this.EricssonProcess(headers, browserCaps)) {
                        }
                        else {
                            if (this.EzwapProcess(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.GenericdownlevelProcess(headers, browserCaps)) { 
                                }
                                else { 
                                    if (this.JataayuProcess(headers, browserCaps)) {
                                    }
                                    else {
                                        if (this.JphoneProcess(headers, browserCaps)) { 
                                        }
                                        else { 
                                            if (this.LegendProcess(headers, browserCaps)) { 
                                            }
                                            else { 
                                                if (this.MmeProcess(headers, browserCaps)) {
                                                }
                                                else {
                                                    if (this.NokiaProcess(headers, browserCaps)) { 
                                                    }
                                                    else { 
                                                        if (this.NokiamobilebrowserrainbowProcess(headers, browserCaps)) { 
                                                        }
                                                        else { 
                                                            if (this.Nokiaepoc32wtlProcess(headers, browserCaps)) {
                                                            }
                                                            else {
                                                                if (this.UpProcess(headers, browserCaps)) { 
                                                                }
                                                                else { 
                                                                    if (this.OperaProcess(headers, browserCaps)) { 
                                                                    }
                                                                    else { 
                                                                        if (this.PalmscapeProcess(headers, browserCaps)) {
                                                                        }
                                                                        else {
                                                                            if (this.AuspalmProcess(headers, browserCaps)) { 
                                                                            }
                                                                            else { 
                                                                                if (this.SharppdaProcess(headers, browserCaps)) { 
                                                                                }
                                                                                else { 
                                                                                    if (this.PanasonicProcess(headers, browserCaps)) {
                                                                                    }
                                                                                    else {
                                                                                        if (this.Mspie06Process(headers, browserCaps)) { 
                                                                                        }
                                                                                        else { 
                                                                                            if (this.SktdevicesProcess(headers, browserCaps)) { 
                                                                                            }
                                                                                            else { 
                                                                                                if (this.WinwapProcess(headers, browserCaps)) {
                                                                                                }
                                                                                                else {
                                                                                                    if (this.XiinoProcess(headers, browserCaps)) { 
                                                                                                    }
                                                                                                    else { 
                                                                                                        ignoreApplicationBrowsers = false; 
                                                                                                    }
                                                                                                } 
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                } 
                                                                            }
                                                                        } 
                                                                    } 
                                                                }
                                                            } 
                                                        }
                                                    }
                                                }
                                            } 
                                        }
                                    } 
                                } 
                            }
                        } 
                    }
                }
            }
            this.DefaultProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void DocomoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void DocomoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool DocomoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^DoCoMo/");
            if ((result == false)) { 
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "^DoCoMo/(?\'httpVersion\'[^/ ]*)[/ ](?\'deviceID\'[^/\\x28]*)");
            // Capabilities: set capabilities
            dictionary["browser"] = "i-mode";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["cookies"] = "false";
            dictionary["defaultScreenCharactersHeight"] = "6"; 
            dictionary["defaultScreenCharactersWidth"] = "16"; 
            dictionary["defaultScreenPixelsHeight"] = "70";
            dictionary["defaultScreenPixelsWidth"] = "90"; 
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javaapplets"] = "false";
            dictionary["javascript"] = "false"; 
            dictionary["maximumHrefLength"] = "524"; 
            dictionary["maximumRenderedPageSize"] = "5120";
            dictionary["mobileDeviceModel"] = regexWorker["${deviceID}"]; 
            dictionary["optimumPageWeight"] = "700";
            dictionary["preferredRenderingType"] = "chtml10";
            dictionary["preferredRequestEncoding"] = "shift_jis";
            dictionary["preferredResponseEncoding"] = "shift_jis"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["supportsAccesskeyAttribute"] = "true";
            dictionary["supportsCharacterEntityEncoding"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsIModeSymbols"] = "true"; 
            dictionary["supportsInputIStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "i-mode";
            dictionary["vbscript"] = "false"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.ChtmlTextWriter";
            browserCaps.AddBrowser("Docomo");
            this.DocomoProcessGateways(headers, browserCaps);
            // gateway, parent=Docomo 
            this.DocomorenderingsizeProcess(headers, browserCaps);
            // gateway, parent=Docomo 
            this.DocomodefaultrenderingsizeProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Docomo 
            if (this.Docomosh251iProcess(headers, browserCaps)) {
            }
            else {
                if (this.Docomon251iProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.Docomop211iProcess(headers, browserCaps)) { 
                    }
                    else { 
                        if (this.Docomof212iProcess(headers, browserCaps)) {
                        }
                        else {
                            if (this.Docomod501iProcess(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.Docomof501iProcess(headers, browserCaps)) { 
                                }
                                else { 
                                    if (this.Docomon501iProcess(headers, browserCaps)) {
                                    }
                                    else {
                                        if (this.Docomop501iProcess(headers, browserCaps)) { 
                                        }
                                        else { 
                                            if (this.Docomod502iProcess(headers, browserCaps)) { 
                                            }
                                            else { 
                                                if (this.Docomof502iProcess(headers, browserCaps)) {
                                                }
                                                else {
                                                    if (this.Docomon502iProcess(headers, browserCaps)) { 
                                                    }
                                                    else { 
                                                        if (this.Docomop502iProcess(headers, browserCaps)) { 
                                                        }
                                                        else { 
                                                            if (this.Docomonm502iProcess(headers, browserCaps)) {
                                                            }
                                                            else {
                                                                if (this.Docomoso502iProcess(headers, browserCaps)) { 
                                                                }
                                                                else { 
                                                                    if (this.Docomof502itProcess(headers, browserCaps)) { 
                                                                    }
                                                                    else { 
                                                                        if (this.Docomon502itProcess(headers, browserCaps)) {
                                                                        }
                                                                        else {
                                                                            if (this.Docomoso502iwmProcess(headers, browserCaps)) { 
                                                                            }
                                                                            else { 
                                                                                if (this.Docomof504iProcess(headers, browserCaps)) { 
                                                                                }
                                                                                else { 
                                                                                    if (this.Docomon504iProcess(headers, browserCaps)) {
                                                                                    }
                                                                                    else {
                                                                                        if (this.Docomop504iProcess(headers, browserCaps)) { 
                                                                                        }
                                                                                        else { 
                                                                                            if (this.Docomon821iProcess(headers, browserCaps)) { 
                                                                                            }
                                                                                            else { 
                                                                                                if (this.Docomop821iProcess(headers, browserCaps)) {
                                                                                                }
                                                                                                else {
                                                                                                    if (this.Docomod209iProcess(headers, browserCaps)) { 
                                                                                                    }
                                                                                                    else { 
                                                                                                        if (this.Docomoer209iProcess(headers, browserCaps)) { 
                                                                                                        }
                                                                                                        else { 
                                                                                                            if (this.Docomof209iProcess(headers, browserCaps)) {
                                                                                                            }
                                                                                                            else {
                                                                                                                if (this.Docomoko209iProcess(headers, browserCaps)) { 
                                                                                                                }
                                                                                                                else { 
                                                                                                                    if (this.Docomon209iProcess(headers, browserCaps)) { 
                                                                                                                    }
                                                                                                                    else { 
                                                                                                                        if (this.Docomop209iProcess(headers, browserCaps)) {
                                                                                                                        }
                                                                                                                        else {
                                                                                                                            if (this.Docomop209isProcess(headers, browserCaps)) { 
                                                                                                                            }
                                                                                                                            else { 
                                                                                                                                if (this.Docomor209iProcess(headers, browserCaps)) { 
                                                                                                                                }
                                                                                                                                else { 
                                                                                                                                    if (this.Docomor691iProcess(headers, browserCaps)) {
                                                                                                                                    }
                                                                                                                                    else {
                                                                                                                                        if (this.Docomof503iProcess(headers, browserCaps)) { 
                                                                                                                                        }
                                                                                                                                        else { 
                                                                                                                                            if (this.Docomof503isProcess(headers, browserCaps)) { 
                                                                                                                                            }
                                                                                                                                            else { 
                                                                                                                                                if (this.Docomod503iProcess(headers, browserCaps)) {
                                                                                                                                                }
                                                                                                                                                else {
                                                                                                                                                    if (this.Docomod503isProcess(headers, browserCaps)) { 
                                                                                                                                                    }
                                                                                                                                                    else { 
                                                                                                                                                        if (this.Docomod210iProcess(headers, browserCaps)) { 
                                                                                                                                                        }
                                                                                                                                                        else { 
                                                                                                                                                            if (this.Docomof210iProcess(headers, browserCaps)) {
                                                                                                                                                            }
                                                                                                                                                            else {
                                                                                                                                                                if (this.Docomon210iProcess(headers, browserCaps)) { 
                                                                                                                                                                }
                                                                                                                                                                else { 
                                                                                                                                                                    if (this.Docomon2001Process(headers, browserCaps)) { 
                                                                                                                                                                    }
                                                                                                                                                                    else { 
                                                                                                                                                                        if (this.Docomod211iProcess(headers, browserCaps)) {
                                                                                                                                                                        }
                                                                                                                                                                        else {
                                                                                                                                                                            if (this.Docomon211iProcess(headers, browserCaps)) { 
                                                                                                                                                                            }
                                                                                                                                                                            else { 
                                                                                                                                                                                if (this.Docomop210iProcess(headers, browserCaps)) { 
                                                                                                                                                                                }
                                                                                                                                                                                else { 
                                                                                                                                                                                    if (this.Docomoko210iProcess(headers, browserCaps)) {
                                                                                                                                                                                    }
                                                                                                                                                                                    else {
                                                                                                                                                                                        if (this.Docomop2101vProcess(headers, browserCaps)) { 
                                                                                                                                                                                        }
                                                                                                                                                                                        else { 
                                                                                                                                                                                            if (this.Docomop2102vProcess(headers, browserCaps)) { 
                                                                                                                                                                                            }
                                                                                                                                                                                            else { 
                                                                                                                                                                                                if (this.Docomof211iProcess(headers, browserCaps)) {
                                                                                                                                                                                                }
                                                                                                                                                                                                else {
                                                                                                                                                                                                    if (this.Docomof671iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                    }
                                                                                                                                                                                                    else { 
                                                                                                                                                                                                        if (this.Docomon503isProcess(headers, browserCaps)) { 
                                                                                                                                                                                                        }
                                                                                                                                                                                                        else { 
                                                                                                                                                                                                            if (this.Docomon503iProcess(headers, browserCaps)) {
                                                                                                                                                                                                            }
                                                                                                                                                                                                            else {
                                                                                                                                                                                                                if (this.Docomoso503iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                }
                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                    if (this.Docomop503isProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                    }
                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                        if (this.Docomop503iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                        }
                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                            if (this.Docomoso210iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                if (this.Docomoso503isProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                    if (this.Docomosh821iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                        if (this.Docomon2002Process(headers, browserCaps)) { 
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                            if (this.Docomoso505iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                if (this.Docomop505iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                    if (this.Docomon505iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                        if (this.Docomod505iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                            if (this.Docomoisim60Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                ignoreApplicationBrowsers = false; 
                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                        }
                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                } 
                                                                                                                                                                                                            }
                                                                                                                                                                                                        } 
                                                                                                                                                                                                    }
                                                                                                                                                                                                }
                                                                                                                                                                                            }
                                                                                                                                                                                        } 
                                                                                                                                                                                    }
                                                                                                                                                                                } 
                                                                                                                                                                            } 
                                                                                                                                                                        }
                                                                                                                                                                    } 
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                        }
                                                                                                                                                    } 
                                                                                                                                                }
                                                                                                                                            } 
                                                                                                                                        } 
                                                                                                                                    }
                                                                                                                                } 
                                                                                                                            }
                                                                                                                        }
                                                                                                                    }
                                                                                                                } 
                                                                                                            }
                                                                                                        } 
                                                                                                    } 
                                                                                                }
                                                                                            } 
                                                                                        }
                                                                                    }
                                                                                }
                                                                            } 
                                                                        }
                                                                    } 
                                                                } 
                                                            }
                                                        } 
                                                    }
                                                }
                                            }
                                        } 
                                    }
                                } 
                            } 
                        }
                    } 
                }
            }
            this.DocomoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void DocomorenderingsizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void DocomorenderingsizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool DocomorenderingsizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^DoCoMo/([^/ ]*)[/ ]([^/\\x28]*)([/\\x28]c(?\'cacheSize\'\\d+))"); 
            if ((result == false)) {
                return false; 
            } 
            // Identification: check capability matches
            headerValue = ((string)(dictionary["maximumRenderedPageSize"])); 
            result = regexWorker.ProcessRegex(headerValue, "^5120$");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = regexWorker["${cacheSize}000"]; 
            this.DocomorenderingsizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.DocomorenderingsizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void DocomodefaultrenderingsizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void DocomodefaultrenderingsizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool DocomodefaultrenderingsizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["maximumRenderedPageSize"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(0|00|000)$");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "800"; 
            this.DocomodefaultrenderingsizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.DocomodefaultrenderingsizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomosh251iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomosh251iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomosh251iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SH251i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoSH251i"); 
            this.Docomosh251iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=DocomoSH251i
            if (this.Docomosh251isProcess(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Docomosh251iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomosh251isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomosh251isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomosh251isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SH251iS");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["screenCharactersHeight"] = "11";
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "220"; 
            dictionary["screenPixelsWidth"] = "176";
            browserCaps.AddBrowser("DocomoSH251iS"); 
            this.Docomosh251isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomosh251isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomon251iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon251iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomon251iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N251i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "140"; 
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoN251i");
            this.Docomon251iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=DocomoN251i 
            if (this.Docomon251isProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Docomon251iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomon251isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomon251isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon251isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N251iS");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            browserCaps.AddBrowser("DocomoN251iS"); 
            this.Docomon251isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon251isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomop211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomop211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomop211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P211i");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            dictionary["MobileDeviceManufacturer"] = "Panasonic";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoP211i");
            this.Docomop211iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomof212iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomof212iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomof212iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F212i");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenPixelsHeight"] = "136";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoF212i");
            this.Docomof212iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomof212iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomod501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomod501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomod501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D501i");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoD501i"); 
            this.Docomod501iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomod501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomof501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomof501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomof501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F501i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "84";
            dictionary["screenPixelsWidth"] = "112";
            browserCaps.AddBrowser("DocomoF501i"); 
            this.Docomof501iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomon501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomon501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomon501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N501i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "118";
            browserCaps.AddBrowser("DocomoN501i");
            this.Docomon501iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomop501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomop501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomop501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P501i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "120"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoP501i"); 
            this.Docomop501iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomop501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomod502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomod502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomod502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D502i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "90";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoD502i"); 
            this.Docomod502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomof502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomof502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F502i$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoF502i");
            this.Docomof502iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomof502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomon502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomon502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N502i$"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118";
            browserCaps.AddBrowser("DocomoN502i");
            this.Docomon502iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomop502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomop502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P502i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false";
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "117"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoP502i");
            this.Docomop502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomop502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomonm502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomonm502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomonm502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "NM502i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "106"; 
            dictionary["screenPixelsWidth"] = "111";
            browserCaps.AddBrowser("DocomoNm502i"); 
            this.Docomonm502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomonm502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomoso502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomoso502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomoso502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO502i$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "120";
            dictionary["screenPixelsWidth"] = "120"; 
            browserCaps.AddBrowser("DocomoSo502i"); 
            this.Docomoso502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoso502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomof502itProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomof502itProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof502itProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F502it");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoF502it");
            this.Docomof502itProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomof502itProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomon502itProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon502itProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomon502itProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N502it"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118";
            browserCaps.AddBrowser("DocomoN502it");
            this.Docomon502itProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon502itProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomoso502iwmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomoso502iwmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomoso502iwmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SO502iWM"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "113";
            dictionary["screenPixelsWidth"] = "120"; 
            browserCaps.AddBrowser("DocomoSo502iwm");
            this.Docomoso502iwmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoso502iwmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomof504iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomof504iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomof504iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F504i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "136";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoF504i");
            this.Docomof504iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof504iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomon504iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomon504iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon504iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N504i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "180"; 
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN504i");
            this.Docomon504iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon504iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomop504iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomop504iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop504iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P504i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["screenPixelsHeight"] = "144";
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoP504i"); 
            this.Docomop504iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop504iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomon821iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon821iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomon821iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N821i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "119";
            browserCaps.AddBrowser("DocomoN821i"); 
            this.Docomon821iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon821iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomop821iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomop821iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomop821iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P821i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "5000";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoP821i");
            this.Docomop821iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop821iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomod209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomod209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomod209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D209i");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "90"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoD209i"); 
            this.Docomod209iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomod209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomoer209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomoer209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomoer209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "ER209i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoEr209i"); 
            this.Docomoer209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoer209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomof209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomof209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomof209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F209i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoF209i");
            this.Docomof209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomoko209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomoko209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoko209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KO209i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Kokusai";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoKo209i"); 
            this.Docomoko209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoko209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomon209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomon209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N209i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "82";
            dictionary["screenPixelsWidth"] = "108"; 
            browserCaps.AddBrowser("DocomoN209i"); 
            this.Docomon209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomop209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomop209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomop209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P209i$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "87";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoP209i");
            this.Docomop209iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomop209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomop209isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomop209isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomop209isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P209iS"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "87";
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoP209is");
            this.Docomop209isProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop209isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomor209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomor209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomor209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R209i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "JRC"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoR209i");
            this.Docomor209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomor209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomor691iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomor691iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomor691iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R691i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "JRC";
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoR691i");
            this.Docomor691iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomor691iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomof503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomof503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomof503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F503i$");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoF503i"); 
            this.Docomof503iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomof503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomof503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomof503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomof503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F503iS");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "130";
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoF503is"); 
            this.Docomof503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomod503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomod503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomod503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D503i$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "126"; 
            dictionary["screenPixelsWidth"] = "132";
            browserCaps.AddBrowser("DocomoD503i");
            this.Docomod503iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomod503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomod503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomod503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D503iS$"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "126";
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoD503is"); 
            this.Docomod503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomod210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomod210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomod210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D210i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoD210i");
            this.Docomod210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomof210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomof210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F210i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoF210i"); 
            this.Docomof210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomof210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomon210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomon210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N210i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "113";
            dictionary["screenPixelsWidth"] = "118"; 
            browserCaps.AddBrowser("DocomoN210i"); 
            this.Docomon210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomon2001ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomon2001ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon2001Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N2001");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN2001"); 
            this.Docomon2001ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomon2001ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomod211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomod211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomod211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D211i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "100"; 
            browserCaps.AddBrowser("DocomoD211i");
            this.Docomod211iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomod211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomon211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomon211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N211i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "118";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN211i");
            this.Docomon211iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomop210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomop210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P210i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoP210i");
            this.Docomop210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomop210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomoko210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomoko210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomoko210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KO210i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Kokusai";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoKo210i");
            this.Docomoko210iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomoko210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomop2101vProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomop2101vProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomop2101vProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P2101V");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["screenBitDepth"] = "18";
            dictionary["screenCharactersHeight"] = "9";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "182"; 
            dictionary["screenPixelsWidth"] = "163";
            browserCaps.AddBrowser("DocomoP2101v"); 
            this.Docomop2101vProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop2101vProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomop2102vProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomop2102vProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop2102vProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P2102V");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            browserCaps.AddBrowser("DocomoP2102v"); 
            this.Docomop2102vProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomop2102vProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomof211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomof211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F211i$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoF211i"); 
            this.Docomof211iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomof211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomof671iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomof671iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomof671iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F671i$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "126";
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoF671i");
            this.Docomof671iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof671iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomon503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomon503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N503iS"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN503is"); 
            this.Docomon503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomon503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomon503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomon503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N503i$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN503i"); 
            this.Docomon503iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomoso503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomoso503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomoso503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SO503i$");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "113";
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoSo503i"); 
            this.Docomoso503iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoso503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomop503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomop503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomop503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P503iS");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoP503is"); 
            this.Docomop503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomop503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomop503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomop503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomop503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P503i$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["rendersBreaksAfterHtmlLists"] = "false"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "130";
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoP503i");
            this.Docomop503iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomop503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomoso210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomoso210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomoso210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO210i$"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "17";
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoSo210i"); 
            this.Docomoso210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoso210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomoso503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomoso503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoso503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO503iS");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "17";
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoSo503is"); 
            this.Docomoso503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoso503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomosh821iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomosh821iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomosh821iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SH821i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sharp";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "78"; 
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoSh821i");
            this.Docomosh821iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomosh821iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomon2002ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon2002ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomon2002Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N2002");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN2002");
            this.Docomon2002ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon2002ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomoso505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomoso505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoso505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO505i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "SonyEricsson"; 
            dictionary["screenBitDepth"] = "18";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "256"; 
            browserCaps.AddBrowser("DocomoSo505i");
            this.Docomoso505iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoso505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomop505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomop505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomop505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P505i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            browserCaps.AddBrowser("DocomoP505i");
            this.Docomop505iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomop505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomon505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomon505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N505i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NEC";
            browserCaps.AddBrowser("DocomoN505i");
            this.Docomon505iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomod505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomod505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomod505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D505i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "18"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "270"; 
            dictionary["screenPixelsWidth"] = "240";
            browserCaps.AddBrowser("DocomoD505i");
            this.Docomod505iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomoisim60ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomoisim60ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoisim60Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ISIM60"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "NTT DoCoMo"; 
            dictionary["mobileDeviceModel"] = "i-mode HTML Simulator";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "180";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectMultiple"] = "false"; 
            browserCaps.AddBrowser("DocomoISIM60");
            this.Docomoisim60ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomoisim60ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ericssonr380ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ericssonr380ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ericssonr380Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R380 (?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*) WAP1\\.1");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Ericsson";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["cookies"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3000"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson";
            dictionary["mobileDeviceModel"] = "R380"; 
            dictionary["requiresNoescapedPostUrl"] = "false";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenPixelsHeight"] = "100";
            dictionary["screenPixelsWidth"] = "310"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["type"] = "Ericsson R380";
            dictionary["version"] = regexWorker["${browserMajorVersion}.${browserMinorVersion}"]; 
            browserCaps.AddBrowser("EricssonR380");
            this.Ericssonr380ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ericssonr380ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void EricssonProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void EricssonProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool EricssonProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Ericsson(?\'deviceID\'[^/]+)/(?\'deviceVer\'.*)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Ericsson";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["cookies"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "4";
            dictionary["defaultScreenCharactersWidth"] = "20"; 
            dictionary["defaultScreenPixelsHeight"] = "52";
            dictionary["defaultScreenPixelsWidth"] = "101";
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "1600"; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson"; 
            dictionary["mobileDeviceModel"] = regexWorker["${deviceID}"];
            dictionary["mobileDeviceVersion"] = regexWorker["${deviceVer}"]; 
            dictionary["numberOfSoftkeys"] = "2";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["type"] = regexWorker["Ericsson ${deviceID}"]; 
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("Ericsson"); 
            this.EricssonProcessGateways(headers, browserCaps);
            // gateway, parent=Ericsson
            this.SonyericssonProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Ericsson
            if (this.Ericssonr320Process(headers, browserCaps)) { 
            } 
            else {
                if (this.Ericssont20Process(headers, browserCaps)) { 
                }
                else {
                    if (this.Ericssont65Process(headers, browserCaps)) {
                    } 
                    else {
                        if (this.Ericssont68Process(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.Ericssont300Process(headers, browserCaps)) { 
                            }
                            else {
                                if (this.Ericssonp800Process(headers, browserCaps)) {
                                } 
                                else {
                                    if (this.Ericssont61Process(headers, browserCaps)) { 
                                    } 
                                    else {
                                        if (this.Ericssont31Process(headers, browserCaps)) { 
                                        }
                                        else {
                                            if (this.Ericssonr520Process(headers, browserCaps)) {
                                            } 
                                            else {
                                                if (this.Ericssona2628Process(headers, browserCaps)) { 
                                                } 
                                                else {
                                                    if (this.Ericssont39Process(headers, browserCaps)) { 
                                                    }
                                                    else {
                                                        ignoreApplicationBrowsers = false;
                                                    } 
                                                }
                                            } 
                                        } 
                                    }
                                } 
                            }
                        }
                    }
                } 
            }
            this.EricssonProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void SonyericssonProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void SonyericssonProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool SonyericssonProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^SonyEricsson"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Sony Ericsson";
            dictionary["mobileDeviceManufacturer"] = "Sony Ericsson"; 
            dictionary["type"] = regexWorker["Sony Ericsson ${mobileDeviceModel}"];
            this.SonyericssonProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.SonyericssonProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ericssonr320ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssonr320ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ericssonr320Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R320"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "52";
            dictionary["screenPixelsWidth"] = "101"; 
            browserCaps.AddBrowser("EricssonR320");
            this.Ericssonr320ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ericssonr320ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ericssont20ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont20ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ericssont20Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "T20");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "false";
            dictionary["maximumRenderedPageSize"] = "1400";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["mobileDeviceModel"] = "T20, T20e, T29s"; 
            dictionary["numberOfSoftkeys"] = "1";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "33"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("EricssonT20");
            this.Ericssont20ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont20ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ericssont65ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont65ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ericssont65Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T65"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["mobileDeviceModel"] = "Ericsson T65"; 
            dictionary["numberOfSoftkeys"] = "1";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "67"; 
            dictionary["screenPixelsWidth"] = "101"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("EricssonT65");
            this.Ericssont65ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont65ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ericssont68ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ericssont68ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont68Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T68"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "false";
            dictionary["isColor"] = "true";
            dictionary["numberOfSoftkeys"] = "1"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "false"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            browserCaps.AddBrowser("EricssonT68"); 
            this.Ericssont68ProcessGateways(headers, browserCaps); 
            // gateway, parent=EricssonT68
            this.Ericssont68upgatewayProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=EricssonT68
            if (this.Ericsson301aProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Ericssont68r1aProcess(headers, browserCaps)) { 
                } 
                else {
                    if (this.Ericssont68r101Process(headers, browserCaps)) { 
                    }
                    else {
                        if (this.Ericssont68r201aProcess(headers, browserCaps)) {
                        } 
                        else {
                            ignoreApplicationBrowsers = false; 
                        } 
                    }
                } 
            }
            this.Ericssont68ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ericssont68upgatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ericssont68upgatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ericssont68upgatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Link");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["cookies"] = "true";
            this.Ericssont68upgatewayProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont68upgatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ericsson301aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ericsson301aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ericsson301aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceVersion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R301A");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["canSendMail"] = "true";
            dictionary["displaysAccessKeysAutomatically"] = "true";
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresNewLineSuppression"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "false";
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "false"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["usePOverDiv"] = "true"; 
            browserCaps.AddBrowser("Ericsson301A");
            this.Ericsson301aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ericsson301aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ericssont300ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont300ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ericssont300Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "T300");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnBlockElements"] = "false";
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["displaysAccessKeysAutomatically"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["supportsWtai"] = "true"; 
            dictionary["tables"] = "false";
            browserCaps.AddBrowser("EricssonT300"); 
            this.Ericssont300ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont300ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssonp800ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssonp800ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssonp800Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P800");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "Sony Ericsson"; 
            dictionary["cookies"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sony Ericsson";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "16"; 
            dictionary["screenCharactersWidth"] = "28";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "208"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("EricssonP800"); 
            this.Ericssonp800ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=EricssonP800
            if (this.Ericssonp800r101Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Ericssonp800ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssonp800r101ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssonp800r101ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssonp800r101Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R101");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "10000"; 
            browserCaps.AddBrowser("EricssonP800R101"); 
            this.Ericssonp800r101ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssonp800r101ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Ericssont61ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Ericssont61ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont61Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T610|T616|T618");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "9800";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true"; 
            dictionary["requiredOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "false"; 
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("EricssonT61");
            this.Ericssont61ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont61ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ericssont31ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ericssont31ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont31Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T310|T312|T316"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnBlockElements"] = "false";
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["displaysAccessKeysAutomatically"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "2800"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "false";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("EricssonT31"); 
            this.Ericssont31ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont31ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssont68r1aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssont68r1aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssont68r1aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R1A");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "5000"; 
            dictionary["maximumSoftkeyLabelLength"] = "14";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            browserCaps.AddBrowser("EricssonT68R1A");
            this.Ericssont68r1aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont68r1aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ericssont68r101ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ericssont68r101ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont68r101Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R101"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            browserCaps.AddBrowser("EricssonT68R101"); 
            this.Ericssont68r101ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont68r101ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssont68r201aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssont68r201aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssont68r201aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R201A");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2900"; 
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["screenBitDepth"] = "24";
            browserCaps.AddBrowser("EricssonT68R201A");
            this.Ericssont68r201aProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont68r201aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ericssonr520ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ericssonr520ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssonr520Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R520"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1600";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "67"; 
            dictionary["screenPixelsWidth"] = "101";
            browserCaps.AddBrowser("EricssonR520"); 
            this.Ericssonr520ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ericssonr520ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ericssona2628ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssona2628ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ericssona2628Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "A2628"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1600"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "54";
            dictionary["screenPixelsWidth"] = "101"; 
            browserCaps.AddBrowser("EricssonA2628");
            this.Ericssona2628ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ericssona2628ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ericssont39ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont39ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ericssont39Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T39"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["inputType"] = "telephoneKeypad"; 
            dictionary["maximumRenderedPageSize"] = "3000"; 
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["mobileDeviceManufacturer"] = "Ericsson"; 
            dictionary["mobileDeviceModel"] = "Ericsson T39";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "54";
            dictionary["screenPixelsWidth"] = "101"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("EricssonT39"); 
            this.Ericssont39ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont39ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void EzwapProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void EzwapProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool EzwapProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EzWAP (?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "EzWAP"; 
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresXhtmlCssSuppression"] = "true";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "33";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "240";
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsStyleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "false"; 
            dictionary["tables"] = "true"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("EzWAP"); 
            this.EzwapProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.EzwapProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void NokiagatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void NokiagatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool NokiagatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["VIA"])); 
            if (string.IsNullOrEmpty(headerValue)) {
                return false;
            }
            headerValue = ((string)(headers["VIA"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'nokiaVersion\'Nokia\\D*(?\'gatewayMajorVersion\'\\d+)(?\'gatewayMinorVersion\'\\.\\d+)[" +
                    "^,]*)"); 
            if ((result == false)) {
                return false;
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["gatewayMajorVersion"] = regexWorker["${gatewayMajorVersion}"]; 
            dictionary["gatewayMinorVersion"] = regexWorker["${gatewayMinorVersion}"]; 
            dictionary["gatewayVersion"] = regexWorker["${nokiaVersion}"];
            this.NokiagatewayProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NokiagatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void UpgatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void UpgatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool UpgatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Link/");
            if ((result == false)) { 
                return false;
            } 
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "(?\'goWebUPGateway\'Go\\.Web)");
            // Capabilities: set capabilities 
            dictionary["isGoWebUpGateway"] = regexWorker["${goWebUPGateway}"];
            this.UpgatewayProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=UPGateway 
            if (this.UpnongogatewayProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.UpgatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void UpnongogatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void UpnongogatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool UpnongogatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Link/(?\'gatewayMajorVersion\'\\d*)(?\'gatewayMinorVersion\'\\.\\d*)(?\'other\'\\S*)");
            if ((result == false)) {
                return false; 
            }
            // Identification: check capability matches 
            headerValue = ((string)(dictionary["isGoWebUpGateway"])); 
            result = regexWorker.ProcessRegex(headerValue, "^$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["gatewayMajorVersion"] = regexWorker["${gatewayMajorVersion}"]; 
            dictionary["gatewayMinorVersion"] = regexWorker["${gatewayMinorVersion}"];
            dictionary["gatewayVersion"] = regexWorker["UP.Link/${gatewayMajorVersion}${gatewayMinorVersion}${other}"]; 
            this.UpnongogatewayProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpnongogatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void CrawlerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void CrawlerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool CrawlerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "crawler|Crawler|Googlebot|msnbot");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["crawler"] = "true"; 
            this.CrawlerProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.CrawlerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void ColorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void ColorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool ColorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["UA-COLOR"])); 
            if (string.IsNullOrEmpty(headerValue)) { 
                return false;
            } 
            headerValue = ((string)(headers["UA-COLOR"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "color(?\'colorDepth\'\\d+)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["screenBitDepth"] = regexWorker["${colorDepth}"];
            this.ColorProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.ColorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MonoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MonoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MonoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["UA-COLOR"]));
            if (string.IsNullOrEmpty(headerValue)) { 
                return false;
            } 
            headerValue = ((string)(headers["UA-COLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "mono(?\'colorDepth\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["screenBitDepth"] = regexWorker["${colorDepth}"]; 
            this.MonoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MonoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PixelsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PixelsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PixelsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["UA-PIXELS"])); 
            if (string.IsNullOrEmpty(headerValue)) {
                return false;
            }
            headerValue = ((string)(headers["UA-PIXELS"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+)");
            if ((result == false)) { 
                return false;
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            this.PixelsProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.PixelsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void VoiceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void VoiceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool VoiceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["UA-VOICE"])); 
            if (string.IsNullOrEmpty(headerValue)) { 
                return false;
            } 
            headerValue = ((string)(headers["UA-VOICE"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?i:TRUE)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "true";
            this.VoiceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.VoiceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void CharsetProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void CharsetProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool CharsetProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-CHARSET"]));
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            }
            headerValue = ((string)(headers["X-UP-DEVCAP-CHARSET"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?i)^Shift_JIS$");
            if ((result == false)) {
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "(UP/\\S* UP\\.Browser/3\\.\\[3-9]d*)|(UP\\.Browser/3\\.\\[3-9]d*)|(UP\\.Browser/3\\.\\[3-9]" + 
                    "d*)"); 
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            this.CharsetProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.CharsetProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void PlatformProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void PlatformProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool PlatformProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            } 
            // Capabilities: set capabilities
            this.PlatformProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Platform
            if (this.PlatformwinntProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Platformwin2000bProcess(headers, browserCaps)) { 
                } 
                else {
                    if (this.Platformwin95Process(headers, browserCaps)) { 
                    }
                    else {
                        if (this.Platformwin98Process(headers, browserCaps)) {
                        } 
                        else {
                            if (this.Platformwin16Process(headers, browserCaps)) { 
                            } 
                            else {
                                if (this.PlatformwinceProcess(headers, browserCaps)) { 
                                }
                                else {
                                    if (this.Platformmac68kProcess(headers, browserCaps)) {
                                    } 
                                    else {
                                        if (this.PlatformmacppcProcess(headers, browserCaps)) { 
                                        } 
                                        else {
                                            if (this.PlatformunixProcess(headers, browserCaps)) { 
                                            }
                                            else {
                                                if (this.PlatformwebtvProcess(headers, browserCaps)) {
                                                } 
                                                else {
                                                    ignoreApplicationBrowsers = false; 
                                                } 
                                            }
                                        } 
                                    }
                                }
                            }
                        } 
                    }
                } 
            } 
            this.PlatformProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PlatformwinntProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PlatformwinntProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PlatformwinntProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows NT|WinNT|Windows XP"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "WinCE|Windows CE");
            if ((result == true)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["platform"] = "WinNT";
            this.PlatformwinntProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PlatformWinnt 
            if (this.PlatformwinxpProcess(headers, browserCaps)) {
            } 
            else { 
                if (this.Platformwin2000aProcess(headers, browserCaps)) {
                } 
                else {
                    ignoreApplicationBrowsers = false;
                }
            } 
            this.PlatformwinntProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformwinxpProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformwinxpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformwinxpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows (NT 5\\.1|XP)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "WinXP";
            this.PlatformwinxpProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformwinxpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin2000aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin2000aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin2000aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows NT 5\\.0"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win2000";
            this.Platformwin2000aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin2000aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin2000bProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin2000bProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin2000bProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows 2000"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win2000";
            this.Platformwin2000bProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin2000bProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin95ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin95ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin95Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?95"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win95";
            this.Platformwin95ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin95ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin98ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin98ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin98Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?98"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win98";
            this.Platformwin98ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin98ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin16ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin16ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin16Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows 3\\.1|16)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win16";
            this.Platformwin16ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin16ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformwinceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformwinceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformwinceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?CE"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "WinCE";
            this.PlatformwinceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformwinceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformmac68kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformmac68kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformmac68kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mac(_68(000|K)|intosh.*68K)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Mac68K";
            this.Platformmac68kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformmac68kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformmacppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformmacppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformmacppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mac(_PowerPC|intosh.*PPC|_PPC)|PPC Mac"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "MacPPC";
            this.PlatformmacppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformmacppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformunixProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformunixProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformunixProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "X11"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "UNIX";
            this.PlatformunixProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformunixProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformwebtvProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformwebtvProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformwebtvProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "WebTV"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "WebTV";
            this.PlatformwebtvProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformwebtvProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void WinProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void WinProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool WinProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            }
            // Capabilities: set capabilities 
            this.WinProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Win 
            if (this.Win32Process(headers, browserCaps)) {
            }
            else {
                if (this.Win16Process(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.WinProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Win32ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Win32ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Win32Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?(9[58]|NT|32)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["win32"] = "true"; 
            this.Win32ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Win32ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Win16ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Win16ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Win16Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "16bit|Win(dows 3\\.1|16)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["win16"] = "true"; 
            this.Win16ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Win16ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void GenericdownlevelProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void GenericdownlevelProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool GenericdownlevelProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Generic Downlevel$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false"; 
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Downlevel";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("GenericDownlevel"); 
            this.GenericdownlevelProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.GenericdownlevelProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void GoamericaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void GoamericaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool GoamericaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Go\\.Web/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["BackgroundSounds"] = "true"; 
            dictionary["browser"] = "Go.Web";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "6000"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["rendersBreaksAfterHtmlLists"] = "false"; 
            dictionary["requiredMetaTagNameValue"] = "HandheldFriendly";
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresNoBreakInFormatting"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["SupportsDivNoWrap"] = "false";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "false"; 
            dictionary["supportsSelectMultiple"] = "false";
            dictionary["type"] = "Go.Web"; 
            dictionary["vbscript"] = "false";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("GoAmerica"); 
            this.GoamericaProcessGateways(headers, browserCaps); 
            // gateway, parent=GoAmerica
            this.GoamericaupProcess(headers, browserCaps); 
            // gateway, parent=GoAmerica
            this.GatableProcess(headers, browserCaps);
            // gateway, parent=GoAmerica
            this.MaxpagesizeProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=GoAmerica 
            if (this.GoamericawinceProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.GoamericapalmProcess(headers, browserCaps)) {
                }
                else {
                    if (this.GoamericarimProcess(headers, browserCaps)) { 
                    }
                    else { 
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            }
            this.GoamericaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void GoamericaupProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void GoamericaupProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool GoamericaupProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Browser");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "0.0";
            dictionary["frames"] = "false"; 
            this.GoamericaupProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GoamericaupProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GoamericawinceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GoamericawinceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GoamericawinceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "WinCE"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "14";
            dictionary["defaultScreenCharactersWidth"] = "30";
            dictionary["defaultScreenPixelsHeight"] = "320";
            dictionary["defaultScreenPixelsWidth"] = "240"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["mobileDeviceModel"] = "Pocket PC";
            dictionary["platform"] = "WinCE"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsSelectMultiple"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("GoAmericaWinCE"); 
            this.GoamericawinceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GoamericawinceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GoamericapalmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GoamericapalmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GoamericapalmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Palm"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36";
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsUncheck"] = "false";
            browserCaps.AddBrowser("GoAmericaPalm"); 
            this.GoamericapalmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GoamericapalmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GoamericarimProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GoamericarimProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GoamericarimProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "RIM"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "RIM";
            dictionary["screenBitDepth"] = "1";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "false"; 
            dictionary["supportsDivWrap"] = "false"; 
            dictionary["supportsFontColor"] = "false";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsFontItalic"] = "false";
            browserCaps.AddBrowser("GoAmericaRIM");
            this.GoamericarimProcessGateways(headers, browserCaps); 
            // gateway, parent=GoAmericaRIM
            this.GoamericanonuprimProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM
            if (this.Goamericarim950Process(headers, browserCaps)) { 
            }
            else {
                if (this.Goamericarim850Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Goamericarim957Process(headers, browserCaps)) { 
                    } 
                    else {
                        if (this.Goamericarim857Process(headers, browserCaps)) { 
                        }
                        else {
                            ignoreApplicationBrowsers = false;
                        } 
                    }
                } 
            } 
            this.GoamericarimProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void GoamericanonuprimProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void GoamericanonuprimProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool GoamericanonuprimProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Browser"); 
            if ((result == true)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["frames"] = "true"; 
            this.GoamericanonuprimProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.GoamericanonuprimProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Goamericarim950ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Goamericarim950ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Goamericarim950Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "RIM950");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["BackgroundSounds"] = "false"; 
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["mobileDeviceModel"] = "950"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "25";
            dictionary["screenPixelsHeight"] = "64";
            dictionary["screenPixelsWidth"] = "132"; 
            browserCaps.AddBrowser("GoAmericaRIM950");
            this.Goamericarim950ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Goamericarim950ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Goamericarim850ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Goamericarim850ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Goamericarim850Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "RIM850"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceModel"] = "850";
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "25"; 
            dictionary["screenPixelsHeight"] = "64";
            dictionary["screenPixelsWidth"] = "132"; 
            browserCaps.AddBrowser("GoAmericaRIM850");
            this.Goamericarim850ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Goamericarim850ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Goamericarim957ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Goamericarim957ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Goamericarim957Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "RIM957");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["BackgroundSounds"] = "false";
            dictionary["mobileDeviceModel"] = "957";
            dictionary["screenCharactersHeight"] = "15";
            dictionary["screenCharactersWidth"] = "32"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            browserCaps.AddBrowser("GoAmericaRIM957"); 
            this.Goamericarim957ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM957
            if (this.Goamericarim957major6minor2Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Goamericarim957ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Goamericarim957major6minor2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Goamericarim957major6minor2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Goamericarim957major6minor2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "6\\.2");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "7168";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "30";
            dictionary["supportsSelectMultiple"] = "true";
            dictionary["supportsUncheck"] = "true";
            browserCaps.AddBrowser("GoAmericaRIM957major6minor2"); 
            this.Goamericarim957major6minor2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Goamericarim957major6minor2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Goamericarim857ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Goamericarim857ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Goamericarim857Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "RIM857");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["BackgroundSounds"] = "false"; 
            dictionary["ecmascriptversion"] = "0.0";
            dictionary["frames"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["mobileDeviceModel"] = "857";
            dictionary["screenCharactersHeight"] = "15"; 
            dictionary["screenCharactersWidth"] = "32";
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160";
            browserCaps.AddBrowser("GoAmericaRIM857"); 
            this.Goamericarim857ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM857 
            if (this.Goamericarim857major6Process(headers, browserCaps)) {
            } 
            else {
                if (this.Goamerica7to9Process(headers, browserCaps)) {
                }
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            } 
            this.Goamericarim857ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Goamericarim857major6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Goamericarim857major6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Goamericarim857major6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "6\\."); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["frames"] = "true"; 
            browserCaps.AddBrowser("GoAmericaRIM857major6"); 
            this.Goamericarim857major6ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM857major6
            if (this.Goamericarim857major6minor2to9Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Goamericarim857major6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Goamericarim857major6minor2to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Goamericarim857major6minor2to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Goamericarim857major6minor2to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "6\\.[2-9]");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "16"; 
            dictionary["screenCharactersWidth"] = "31";
            dictionary["supportsUncheck"] = "false";
            browserCaps.AddBrowser("GoAmericaRIM857major6minor2to9");
            this.Goamericarim857major6minor2to9ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Goamericarim857major6minor2to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Goamerica7to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Goamerica7to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Goamerica7to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^[7-9]$"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenCharactersHeight"] = "16";
            dictionary["screenCharactersWidth"] = "31"; 
            dictionary["supportsUncheck"] = "false";
            browserCaps.AddBrowser("GoAmerica7to9");
            this.Goamerica7to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Goamerica7to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void GatableProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void GatableProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool GatableProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-GA-TABLES"]));
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            this.GatableProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GaTable
            if (this.GatablefalseProcess(headers, browserCaps)) {
            }
            else { 
                if (this.GatabletrueProcess(headers, browserCaps)) {
                } 
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            }
            this.GatableProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void GatablefalseProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void GatablefalseProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool GatablefalseProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(headers["X-GA-TABLES"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?i:FALSE)");
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["tables"] = "false"; 
            this.GatablefalseProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GatablefalseProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GatabletrueProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GatabletrueProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GatabletrueProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-GA-TABLES"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?i:TRUE)"); 
            if ((result == false)) {
                return false; 
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["tables"] = "true";
            this.GatabletrueProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GatabletrueProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MaxpagesizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MaxpagesizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MaxpagesizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-GA-MAX-TRANSFER"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'maxPageSize\'\\d+)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = regexWorker["${maxPageSize}"];
            this.MaxpagesizeProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.MaxpagesizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void JataayuProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void JataayuProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JataayuProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^jBrowser"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Jataayu jBrowser";
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceManufacturer"] = "Jataayu";
            dictionary["mobileDeviceModel"] = "jBrowser"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "wml20";
            dictionary["requiresCommentInStyleElement"] = "true"; 
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "true"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "17";
            dictionary["screenCharactersWidth"] = "42";
            dictionary["screenPixelsHeight"] = "265";
            dictionary["screenPixelsWidth"] = "248"; 
            dictionary["supportsBodyClassAttribute"] = "false";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["tables"] = "true";
            dictionary["type"] = "Jataayu jBrowser";
            browserCaps.AddBrowser("Jataayu"); 
            this.JataayuProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Jataayu 
            if (this.JataayuppcProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.JataayuProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void JataayuppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void JataayuppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool JataayuppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(PPC)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "true";
            dictionary["screenCharactersHeight"] = "14";
            dictionary["screenCharactersWidth"] = "31";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "240";
            dictionary["supportsStyleElement"] = "true"; 
            browserCaps.AddBrowser("JataayuPPC"); 
            this.JataayuppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JataayuppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphoneProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphoneProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphoneProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-PHONE/");
            if ((result == false)) {
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "J-PHONE/(?\'majorVersion\'\\d+)(?\'minorVersion\'\\.\\d+)/(?\'deviceModel\'.*)"); 
            // Capabilities: set capabilities
            dictionary["browser"] = "J-Phone"; 
            dictionary["cookies"] = "false";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["defaultCharacterHeight"] = "12";
            dictionary["defaultCharacterWidth"] = "12"; 
            dictionary["defaultScreenCharactersHeight"] = "7";
            dictionary["defaultScreenCharactersWidth"] = "16"; 
            dictionary["defaultScreenPixelsHeight"] = "84"; 
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "false";
            dictionary["javascript"] = "false";
            dictionary["majorVersion"] = regexWorker["${majorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "6000";
            dictionary["minorVersion"] = regexWorker["${minorVersion}"]; 
            dictionary["mobileDeviceModel"] = regexWorker["${deviceModel}"]; 
            dictionary["optimumPageWeight"] = "700";
            dictionary["preferredImageMime"] = "image/png"; 
            dictionary["preferredRenderingType"] = "html32";
            dictionary["preferredRequestEncoding"] = "shift_jis";
            dictionary["preferredResponseEncoding"] = "shift_jis";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresContentTypeMetaTag"] = "true";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["supportsAccesskeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "false";
            dictionary["supportsCharacterEntityEncoding"] = "false"; 
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsDivNoWrap"] = "true"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsInputMode"] = "true";
            dictionary["supportsItalic"] = "false";
            dictionary["supportsJPhoneMultiMediaAttributes"] = "true"; 
            dictionary["supportsJPhoneSymbols"] = "true";
            dictionary["supportsQueryStringInFormAction"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "J-Phone"; 
            dictionary["vbscript"] = "false";
            dictionary["version"] = regexWorker["${majorVersion}${minorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.ChtmlTextWriter";
            browserCaps.AddBrowser("Jphone"); 
            this.JphoneProcessGateways(headers, browserCaps); 
            // gateway, parent=Jphone
            this.Jphone4Process(headers, browserCaps); 
            // gateway, parent=Jphone
            this.JphonecolorProcess(headers, browserCaps);
            // gateway, parent=Jphone
            this.JphonedisplayProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Jphone 
            if (this.JphonemitsubishiProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.JphonedensoProcess(headers, browserCaps)) {
                }
                else {
                    if (this.JphonekenwoodProcess(headers, browserCaps)) { 
                    }
                    else { 
                        if (this.JphonenecProcess(headers, browserCaps)) { 
                        }
                        else { 
                            if (this.JphonepanasonicProcess(headers, browserCaps)) {
                            }
                            else {
                                if (this.JphonepioneerProcess(headers, browserCaps)) { 
                                }
                                else { 
                                    if (this.JphonesanyoProcess(headers, browserCaps)) { 
                                    }
                                    else { 
                                        if (this.JphonesharpProcess(headers, browserCaps)) {
                                        }
                                        else {
                                            if (this.JphonetoshibaProcess(headers, browserCaps)) { 
                                            }
                                            else { 
                                                ignoreApplicationBrowsers = false; 
                                            }
                                        } 
                                    }
                                }
                            }
                        } 
                    }
                } 
            } 
            this.JphoneProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void JphonemitsubishiProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void JphonemitsubishiProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool JphonemitsubishiProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-D\\d"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            browserCaps.AddBrowser("JphoneMitsubishi"); 
            this.JphonemitsubishiProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.JphonemitsubishiProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void JphonedensoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JphonedensoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool JphonedensoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-DN\\d");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            browserCaps.AddBrowser("JphoneDenso"); 
            this.JphonedensoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JphonedensoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonekenwoodProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonekenwoodProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonekenwoodProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-K\\d");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kenwood"; 
            browserCaps.AddBrowser("JphoneKenwood");
            this.JphonekenwoodProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.JphonekenwoodProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void JphonenecProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void JphonenecProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool JphonenecProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-N\\d");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            browserCaps.AddBrowser("JphoneNec"); 
            this.JphonenecProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JphoneNec
            if (this.Jphonenecn51Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.JphonenecProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Jphonenecn51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Jphonenecn51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Jphonenecn51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-N51");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "12000"; 
            dictionary["mobileDeviceModel"] = "J-N51"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["supportsCharacterEntityEncoding"] = "true";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneNecN51"); 
            this.Jphonenecn51ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonenecn51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void JphonepanasonicProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JphonepanasonicProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool JphonepanasonicProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-P\\d"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            browserCaps.AddBrowser("JphonePanasonic");
            this.JphonepanasonicProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.JphonepanasonicProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void JphonepioneerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void JphonepioneerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool JphonepioneerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-PE\\d");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Pioneer";
            browserCaps.AddBrowser("JphonePioneer");
            this.JphonepioneerProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JphonepioneerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void JphonesanyoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void JphonesanyoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonesanyoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-SA\\d"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            browserCaps.AddBrowser("JphoneSanyo");
            this.JphonesanyoProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JphoneSanyo 
            if (this.Jphonesa51Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.JphonesanyoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Jphonesa51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Jphonesa51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Jphonesa51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SA51\\D*"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["mobileDeviceModel"] = "J-SA51";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneSA51"); 
            this.Jphonesa51ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonesa51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void JphonesharpProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JphonesharpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool JphonesharpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-SH\\d"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            browserCaps.AddBrowser("JphoneSharp");
            this.JphonesharpProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JphoneSharp 
            if (this.Jphonesharpsh53Process(headers, browserCaps)) {
            } 
            else { 
                if (this.Jphonesharpsh07Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Jphonesharpsh08Process(headers, browserCaps)) {
                    }
                    else { 
                        if (this.Jphonesharpsh51Process(headers, browserCaps)) {
                        } 
                        else { 
                            if (this.Jphonesharpsh52Process(headers, browserCaps)) {
                            } 
                            else {
                                ignoreApplicationBrowsers = false;
                            }
                        } 
                    }
                } 
            } 
            this.JphonesharpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Jphonesharpsh53ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonesharpsh53ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Jphonesharpsh53Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-SH53"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["mobileDeviceModel"] = "J-SH53"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["screenBitDepth"] = "18"; 
            dictionary["screenCharactersHeight"] = "13";
            dictionary["screenCharactersWidth"] = "24";
            dictionary["supportsCharacterEntityEncoding"] = "true";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneSharpSh53"); 
            this.Jphonesharpsh53ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonesharpsh53ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Jphonesharpsh07ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Jphonesharpsh07ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Jphonesharpsh07Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SH07"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneSharpSh07");
            this.Jphonesharpsh07ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Jphonesharpsh07ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Jphonesharpsh08ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Jphonesharpsh08ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Jphonesharpsh08Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SH08");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["supportsInputIStyle"] = "false";
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "117"; 
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneSharpSh08");
            this.Jphonesharpsh08ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonesharpsh08ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Jphonesharpsh51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonesharpsh51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Jphonesharpsh51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^J-SH51");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false"; 
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "130";
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneSharpSh51");
            this.Jphonesharpsh51ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Jphonesharpsh51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Jphonesharpsh52ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonesharpsh52ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Jphonesharpsh52Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SH52\\D*"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "12000"; 
            dictionary["mobileDeviceModel"] = "J-SH52"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsInputIStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneSharpSh52"); 
            this.Jphonesharpsh52ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphonesharpsh52ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void JphonetoshibaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void JphonetoshibaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool JphonetoshibaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-T\\d");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            browserCaps.AddBrowser("JphoneToshiba");
            this.JphonetoshibaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=JphoneToshiba
            if (this.Jphonetoshibat06aProcess(headers, browserCaps)) { 
            }
            else {
                if (this.Jphonetoshibat08Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Jphonetoshibat51Process(headers, browserCaps)) { 
                    } 
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                }
            }
            this.JphonetoshibaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Jphonetoshibat06aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonetoshibat06aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Jphonetoshibat06aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^J-T06_a");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["mobileDeviceModel"] = "J-T06";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneToshibaT06a");
            this.Jphonetoshibat06aProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Jphonetoshibat06aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Jphonetoshibat08ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Jphonetoshibat08ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Jphonetoshibat08Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-T08\\D*");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneToshibaT08"); 
            this.Jphonetoshibat08ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphonetoshibat08ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Jphonetoshibat51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Jphonetoshibat51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Jphonetoshibat51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^J-T51");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "144";
            dictionary["screenPixelsWidth"] = "144";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsInputIStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneToshibaT51"); 
            this.Jphonetoshibat51ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphonetoshibat51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "4");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["supportsQueryStringInFormAction"] = "true"; 
            this.Jphone4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonecolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonecolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonecolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-JPHONE-COLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'colorIndicator\'[CG])(?\'bitDepth\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["bitDepth"] = regexWorker["${bitDepth}"];
            dictionary["colorIndicator"] = regexWorker["${colorIndicator}"]; 
            this.JphonecolorProcessGateways(headers, browserCaps);
            // gateway, parent=JphoneColor
            this.JphonecoloriscolorProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=JphoneColor
            if (this.Jphone16bitcolorProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.Jphone8bitcolorProcess(headers, browserCaps)) { 
                }
                else {
                    if (this.Jphone2bitcolorProcess(headers, browserCaps)) {
                    } 
                    else {
                        ignoreApplicationBrowsers = false; 
                    } 
                }
            } 
            this.JphonecolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonecoloriscolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonecoloriscolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonecoloriscolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["colorIndicator"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "C");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            this.JphonecoloriscolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JphonecoloriscolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone16bitcolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone16bitcolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone16bitcolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["bitDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^65536$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "16"; 
            this.Jphone16bitcolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone16bitcolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone8bitcolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone8bitcolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone8bitcolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["bitDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^256$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "8"; 
            this.Jphone8bitcolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone8bitcolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone2bitcolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone2bitcolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone2bitcolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["bitDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^4$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "2"; 
            this.Jphone2bitcolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone2bitcolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonedisplayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonedisplayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonedisplayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-JPHONE-DISPLAY"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenWidth\'\\d+)\\*(?\'screenHeight\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            this.JphonedisplayProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.JphonedisplayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void LegendProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void LegendProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool LegendProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^(?\'deviceID\'LG\\S*) AU\\/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)." + 
                    "*");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "AU-System";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false"; 
            dictionary["hasBackButton"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["supportsFontSize"] = "true"; 
            dictionary["type"] = regexWorker["AU ${browserMajorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("Legend");
            this.LegendProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Legend 
            if (this.Lgg5200Process(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.LegendProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Lgg5200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Lgg5200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Lgg5200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^LG-G5200");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "6";
            dictionary["mobileDeviceManufacturer"] = "LEGEND"; 
            dictionary["mobileDeviceModel"] = "G808";
            dictionary["screenBitDepth"] = "4";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "17"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128"; 
            browserCaps.AddBrowser("LGG5200"); 
            this.Lgg5200ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Lgg5200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void MmeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void MmeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MmeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MMEF");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)\\w*).*"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Microsoft Mobile Explorer";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["mobileDeviceManufacturer"] = "Microsoft"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["type"] = "Microsoft Mobile Explorer";
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("MME"); 
            this.MmeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=MME 
            if (this.Mmef20Process(headers, browserCaps)) {
            }
            else {
                if (this.MmemobileexplorerProcess(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.MmeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Mmef20ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Mmef20ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mmef20Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MMEF20");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "false"; 
            dictionary["defaultCharacterHeight"] = "15";
            dictionary["defaultCharacterWidth"] = "5"; 
            dictionary["defaultScreenPixelsHeight"] = "160";
            dictionary["defaultScreenPixelsWidth"] = "120";
            dictionary["isColor"] = "false";
            dictionary["maximumRenderedPageSize"] = "4000"; 
            dictionary["mobileDeviceModel"] = "Simulator";
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["screenBitDepth"] = "1";
            browserCaps.AddBrowser("MMEF20");
            this.Mmef20ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MMEF20
            if (this.MmecellphoneProcess(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Mmef20ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MmemobileexplorerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MmemobileexplorerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MmemobileexplorerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^MobileExplorer/(?\'majorVersion\'\\d*)(?\'minorVersion\'\\.\\d*) \\(Mozilla/1\\.22; compa" +
                    "tible; MMEF\\d+; (?\'manufacturer\'[^;]*); (?\'model\'[^;)]*)(; (?\'deviceID\'[^)]*))?"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "false"; 
            dictionary["defaultCharacterHeight"] = "15";
            dictionary["defaultCharacterWidth"] = "5";
            dictionary["defaultScreenPixelsHeight"] = "160";
            dictionary["defaultScreenPixelsWidth"] = "120"; 
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["isColor"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${majorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorVersion"] = regexWorker["${minorVersion}"]; 
            dictionary["mobileDeviceManufacturer"] = regexWorker["${manufacturer}"];
            dictionary["mobileDeviceModel"] = regexWorker["${model}"];
            dictionary["numberOfSoftkeys"] = "2";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "true"; 
            dictionary["version"] = regexWorker["${majorVersion}${minorVersion}"];
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("MMEMobileExplorer");
            this.MmemobileexplorerProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MmemobileexplorerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MmecellphoneProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MmecellphoneProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MmecellphoneProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/.*\\(compatible; MMEF(?\'majorVersion\'\\d)(?\'minorVersion\'\\d); Cell[pP]hone(" +
                    "([;,] (?\'deviceID\'[^;]*))(;(?\'buildInfo\'.*))*)*\\)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canCombineFormsInDeck"] = "false";
            dictionary["canRenderPostBackCards"] = "false";
            dictionary["deviceID"] = regexWorker["${deviceID}"]; 
            dictionary["majorVersion"] = regexWorker["${majorVersion}"];
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["minorVersion"] = regexWorker[".${minorVersion}"]; 
            dictionary["version"] = regexWorker["${majorVersion}.${minorVersion}"];
            browserCaps.AddBrowser("MMECellphone"); 
            this.MmecellphoneProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=MMECellphone
            if (this.MmebenefonqProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.Mmesonycmdz5Process(headers, browserCaps)) { 
                }
                else { 
                    if (this.Mmesonycmdj5Process(headers, browserCaps)) {
                    }
                    else {
                        if (this.Mmesonycmdj7Process(headers, browserCaps)) { 
                        }
                        else { 
                            if (this.MmegenericsmallProcess(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.MmegenericlargeProcess(headers, browserCaps)) {
                                }
                                else {
                                    if (this.MmegenericflipProcess(headers, browserCaps)) { 
                                    }
                                    else { 
                                        if (this.Mmegeneric3dProcess(headers, browserCaps)) { 
                                        }
                                        else { 
                                            ignoreApplicationBrowsers = false;
                                        }
                                    }
                                } 
                            }
                        } 
                    } 
                }
            } 
            this.MmecellphoneProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void MmebenefonqProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void MmebenefonqProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MmebenefonqProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Benefon Q");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Benefon"; 
            dictionary["mobileDeviceModel"] = "Q";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "48";
            dictionary["screenPixelsWidth"] = "100"; 
            browserCaps.AddBrowser("MMEBenefonQ");
            this.MmebenefonqProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.MmebenefonqProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Mmesonycmdz5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mmesonycmdz5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Mmesonycmdz5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Sony CMD-Z5"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "CMD-Z5"; 
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "60";
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("MMESonyCMDZ5"); 
            this.Mmesonycmdz5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MMESonyCMDZ5 
            if (this.Mmesonycmdz5pj020eProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.Mmesonycmdz5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mmesonycmdz5pj020eProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mmesonycmdz5pj020eProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mmesonycmdz5pj020eProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Pj020e");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = "65";
            browserCaps.AddBrowser("MMESonyCMDZ5Pj020e");
            this.Mmesonycmdz5pj020eProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mmesonycmdz5pj020eProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mmesonycmdj5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mmesonycmdj5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mmesonycmdj5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Sony CMD-J5"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "CMD-J5";
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "65";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("MMESonyCMDJ5");
            this.Mmesonycmdj5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mmesonycmdj5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mmesonycmdj7ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mmesonycmdj7ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mmesonycmdj7Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sony CMD-J7/J70");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canCombineFormsInDeck"] = "true";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "2900"; 
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson";
            dictionary["mobileDeviceModel"] = "T68"; 
            dictionary["numberOfSoftkeys"] = "1";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            browserCaps.AddBrowser("MMESonyCMDJ7");
            this.Mmesonycmdj7ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mmesonycmdj7ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void MmegenericsmallProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MmegenericsmallProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool MmegenericsmallProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GenericSmall"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Microsoft";
            dictionary["mobileDeviceModel"] = "Generic Small Skin"; 
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenPixelsHeight"] = "60";
            dictionary["screenPixelsWidth"] = "100"; 
            browserCaps.AddBrowser("MMEGenericSmall");
            this.MmegenericsmallProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MmegenericsmallProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MmegenericlargeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MmegenericlargeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MmegenericlargeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "GenericLarge");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Microsoft";
            dictionary["mobileDeviceModel"] = "Generic Large Skin";
            dictionary["screenBitDepth"] = "1";
            dictionary["screenPixelsHeight"] = "240"; 
            dictionary["screenPixelsWidth"] = "160";
            browserCaps.AddBrowser("MMEGenericLarge"); 
            this.MmegenericlargeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MmegenericlargeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void MmegenericflipProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void MmegenericflipProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MmegenericflipProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "GenericFlip");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Microsoft"; 
            dictionary["mobileDeviceModel"] = "Generic Flip Skin"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenPixelsHeight"] = "200"; 
            dictionary["screenPixelsWidth"] = "160";
            browserCaps.AddBrowser("MMEGenericFlip");
            this.MmegenericflipProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.MmegenericflipProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mmegeneric3dProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mmegeneric3dProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mmegeneric3dProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Generic3D"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Microsoft";
            dictionary["mobileDeviceModel"] = "Generic 3D Skin";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "128"; 
            browserCaps.AddBrowser("MMEGeneric3D"); 
            this.Mmegeneric3dProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mmegeneric3dProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Netscape3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Netscape3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Netscape3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/3");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "Opera"); 
            if ((result == true)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "AvantGo");
            if ((result == true)) { 
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "MSIE");
            if ((result == true)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Netscape"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["ecmascriptversion"] = "1.1"; 
            dictionary["frames"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true";
            dictionary["screenBitDepth"] = "8";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsFileUpload"] = "true";
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Netscape3";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("Netscape3");
            this.Netscape3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Netscape3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Netscape4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Netscape4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Netscape4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/4"); 
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "Opera");
            if ((result == true)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "MSIE"); 
            if ((result == true)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Netscape";
            dictionary["cookies"] = "true"; 
            dictionary["css1"] = "true";
            dictionary["ecmascriptversion"] = "1.3"; 
            dictionary["frames"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["javaapplets"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["screenBitDepth"] = "8";
            dictionary["supportsCss"] = "false";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Netscape4"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("Netscape4");
            this.Netscape4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Netscape4 
            if (this.CasiopeiaProcess(headers, browserCaps)) {
            } 
            else { 
                if (this.PalmwebproProcess(headers, browserCaps)) {
                } 
                else {
                    if (this.NetfrontProcess(headers, browserCaps)) {
                    }
                    else { 
                        ignoreApplicationBrowsers = false;
                    } 
                } 
            }
            this.Netscape4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Netscape5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Netscape5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Netscape5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/5\\.0 \\([^)]*\\) (Gecko/[-\\d]+ )?Netscape\\d?/(?\'version\'(?\'major\'\\d+)(?\'mi" +
                    "nor\'\\.\\d+)(?\'letters\'\\w*))");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Netscape"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["ecmascriptversion"] = "1.5";
            dictionary["frames"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["letters"] = regexWorker["${letters}"]; 
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["screenBitDepth"] = "8";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["supportsVCard"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["Netscape${major}"];
            dictionary["version"] = regexWorker["${version}"]; 
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true";
            browserCaps.AddBrowser("Netscape5");
            this.Netscape5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Netscape5 
            if (this.Netscape6to9Process(headers, browserCaps)) { 
            }
            else { 
                if (this.NetscapebetaProcess(headers, browserCaps)) {
                }
                else {
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.Netscape5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Netscape6to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Netscape6to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Netscape6to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "[6-9]\\.");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsXmlHttp"] = "true"; 
            dictionary["supportsCallback"] = "true"; 
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            browserCaps.AddBrowser("Netscape6to9"); 
            this.Netscape6to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Netscape6to9
            if (this.Netscape6to9betaProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Netscape6to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Netscape6to9betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Netscape6to9betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Netscape6to9betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["letters"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["beta"] = "true"; 
            browserCaps.AddBrowser("Netscape6to9Beta"); 
            this.Netscape6to9betaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Netscape6to9betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void NetscapebetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void NetscapebetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool NetscapebetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["beta"] = "true"; 
            browserCaps.AddBrowser("NetscapeBeta");
            this.NetscapebetaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NetscapebetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void NokiaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void NokiaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool NokiaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Nokia";
            dictionary["cookies"] = "false"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canRenderOneventAndPrevElementsTogether"] = "false";
            dictionary["canRenderPostBackCards"] = "false";
            dictionary["canSendMail"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "4";
            dictionary["defaultScreenCharactersWidth"] = "20"; 
            dictionary["defaultScreenPixelsHeight"] = "40"; 
            dictionary["defaultScreenPixelsWidth"] = "90";
            dictionary["hasBackButton"] = "false"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "1397"; 
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["rendersBreaksAfterWmlAnchor"] = "true";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "1"; 
            dictionary["type"] = "Nokia";
            browserCaps.AddBrowser("Nokia"); 
            this.NokiaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Nokia
            if (this.NokiablueprintProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.NokiawapsimulatorProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.NokiamobilebrowserProcess(headers, browserCaps)) {
                    }
                    else {
                        if (this.Nokia7110Process(headers, browserCaps)) { 
                        }
                        else { 
                            if (this.Nokia6220Process(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.Nokia6250Process(headers, browserCaps)) {
                                }
                                else {
                                    if (this.Nokia6310Process(headers, browserCaps)) { 
                                    }
                                    else { 
                                        if (this.Nokia6510Process(headers, browserCaps)) { 
                                        }
                                        else { 
                                            if (this.Nokia8310Process(headers, browserCaps)) {
                                            }
                                            else {
                                                if (this.Nokia9110iProcess(headers, browserCaps)) { 
                                                }
                                                else { 
                                                    if (this.Nokia9110Process(headers, browserCaps)) { 
                                                    }
                                                    else { 
                                                        if (this.Nokia3330Process(headers, browserCaps)) {
                                                        }
                                                        else {
                                                            if (this.Nokia9210Process(headers, browserCaps)) { 
                                                            }
                                                            else { 
                                                                if (this.Nokia9210htmlProcess(headers, browserCaps)) { 
                                                                }
                                                                else { 
                                                                    if (this.Nokia3590Process(headers, browserCaps)) {
                                                                    }
                                                                    else {
                                                                        if (this.Nokia3595Process(headers, browserCaps)) { 
                                                                        }
                                                                        else { 
                                                                            if (this.Nokia3560Process(headers, browserCaps)) { 
                                                                            }
                                                                            else { 
                                                                                if (this.Nokia3650Process(headers, browserCaps)) {
                                                                                }
                                                                                else {
                                                                                    if (this.Nokia5100Process(headers, browserCaps)) { 
                                                                                    }
                                                                                    else { 
                                                                                        if (this.Nokia6200Process(headers, browserCaps)) { 
                                                                                        }
                                                                                        else { 
                                                                                            if (this.Nokia6590Process(headers, browserCaps)) {
                                                                                            }
                                                                                            else {
                                                                                                if (this.Nokia6800Process(headers, browserCaps)) { 
                                                                                                }
                                                                                                else { 
                                                                                                    if (this.Nokia7650Process(headers, browserCaps)) { 
                                                                                                    }
                                                                                                    else { 
                                                                                                        ignoreApplicationBrowsers = false;
                                                                                                    }
                                                                                                }
                                                                                            } 
                                                                                        }
                                                                                    } 
                                                                                } 
                                                                            }
                                                                        } 
                                                                    }
                                                                }
                                                            }
                                                        } 
                                                    }
                                                } 
                                            } 
                                        }
                                    } 
                                }
                            }
                        }
                    } 
                }
            } 
            this.NokiaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void NokiablueprintProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void NokiablueprintProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool NokiablueprintProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia\\-WAP\\-Toolkit\\/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "65536"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "Blueprint Simulator"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false";
            dictionary["type"] = "Nokia WAP Toolkit";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("NokiaBlueprint");
            this.NokiablueprintProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.NokiablueprintProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void NokiawapsimulatorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void NokiawapsimulatorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool NokiawapsimulatorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia\\-MIT\\-Browser\\/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["cookies"] = "true"; 
            dictionary["hasBackButton"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3584";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "WAP Simulator";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "25"; 
            dictionary["screenCharactersWidth"] = "32";
            dictionary["screenPixelsHeight"] = "512";
            dictionary["screenPixelsWidth"] = "384";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = "Nokia Mobile Internet Toolkit";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("NokiaWapSimulator");
            this.NokiawapsimulatorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.NokiawapsimulatorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void NokiamobilebrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void NokiamobilebrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool NokiamobilebrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia Mobile Browser (?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "25000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = regexWorker["Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/vnd.wap.xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresPostRedirectionHandling"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "14";
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "255";
            dictionary["screenPixelsWidth"] = "180"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["supportsStyleElement"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["Nokia Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter"; 
            browserCaps.AddBrowser("NokiaMobileBrowser");
            this.NokiamobilebrowserProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NokiamobilebrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Nokia7110ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Nokia7110ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Nokia7110Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia7110/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" +
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "7110";
            dictionary["optimumPageWeight"] = "800";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["screenPixelsHeight"] = "44"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["type"] = "Nokia 7110";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia7110");
            this.Nokia7110ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia7110ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nokia6220ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia6220ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nokia6220Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia6210/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" +
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "6210"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "41"; 
            dictionary["screenPixelsWidth"] = "96";
            dictionary["type"] = "Nokia 6210"; 
            dictionary["version"] = regexWorker["${versionString}"];
            browserCaps.AddBrowser("Nokia6220");
            this.Nokia6220ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6220ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Nokia6250ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Nokia6250ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia6250Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6250/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6250";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "41";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["type"] = "Nokia 6250";
            dictionary["version"] = regexWorker["${versionString}"];
            browserCaps.AddBrowser("Nokia6250");
            this.Nokia6250ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia6250ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia6310ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia6310ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia6310Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia6310/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canRenderOneventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "6310";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "45";
            dictionary["screenPixelsWidth"] = "92";
            dictionary["type"] = "Nokia 6310";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia6310");
            this.Nokia6310ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6310ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Nokia6510ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia6510ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Nokia6510Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6510/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["hasBackButton"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6510";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "45";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["type"] = "Nokia 6510"; 
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia6510");
            this.Nokia6510ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia6510ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Nokia8310ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Nokia8310ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Nokia8310Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia8310/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" +
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderOneventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2700";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "8310"; 
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "39"; 
            dictionary["screenPixelsWidth"] = "78"; 
            dictionary["type"] = "Nokia 8310";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia8310");
            this.Nokia8310ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia8310ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nokia9110iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia9110iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nokia9110iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia9110/1\\.0");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "true";
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "8192";
            dictionary["mobileDeviceModel"] = "9110i Communicator"; 
            dictionary["rendersBreaksAfterWmlAnchor"] = "false";
            dictionary["screenBitDepth"] = "4"; 
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "60";
            dictionary["screenPixelsHeight"] = "180"; 
            dictionary["screenPixelsWidth"] = "400";
            dictionary["type"] = "Nokia 9110";
            browserCaps.AddBrowser("Nokia9110i");
            this.Nokia9110iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia9110iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia9110ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia9110ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia9110Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia-9110"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "150000"; 
            dictionary["mobileDeviceModel"] = "Nokia 9110"; 
            dictionary["numberOfSoftkeys"] = "0";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["rendersBreaksAfterHtmlLists"] = "false";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "57"; 
            dictionary["screenPixelsHeight"] = "200";
            dictionary["screenPixelsWidth"] = "540"; 
            dictionary["supportsAccesskeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsSelectMultiple"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 9110";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Nokia9110");
            this.Nokia9110ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia9110ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia3330ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia3330ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia3330Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia3330/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["hasBackButton"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2800"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "3330";
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "39";
            dictionary["screenPixelsWidth"] = "78";
            dictionary["type"] = "Nokia 3330"; 
            dictionary["version"] = regexWorker["${versionString}"];
            browserCaps.AddBrowser("Nokia3330"); 
            this.Nokia3330ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia3330ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Nokia9210ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokia9210ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia9210Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia9210/1\\.0");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "8192"; 
            dictionary["mobileDeviceModel"] = "9210 Communicator";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false";
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["requiresNoSoftkeyLabels"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "75";
            dictionary["screenPixelsHeight"] = "165"; 
            dictionary["screenPixelsWidth"] = "490";
            dictionary["supportsCacheControlMetaTag"] = "false";
            dictionary["type"] = "Nokia 9210";
            browserCaps.AddBrowser("Nokia9210"); 
            this.Nokia9210ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia9210ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Nokia9210htmlProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Nokia9210htmlProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Nokia9210htmlProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EPOC32-WTL/2\\.2 Crystal/6\\.0 STNC-WTL/");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            browserCaps.AddBrowser("Nokia9210HTML");
            this.Nokia9210htmlProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Nokia9210htmlProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Nokia3590ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia3590ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Nokia3590Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Nokia3590/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*" + 
                    ")");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "3200";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "3590";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "true"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontColor"] = "false";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 3590";
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.AddBrowser("Nokia3590");
            this.Nokia3590ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Nokia3590 
            if (this.Nokia3590v1Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.Nokia3590ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Nokia3590v1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokia3590v1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Nokia3590v1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia3590/1\\.0\\(7\\."); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "8020";
            dictionary["preferredRequestEncoding"] = "iso-8859-1";
            dictionary["preferredResponseEncoding"] = "utf-8";
            dictionary["screenPixelsHeight"] = "65"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["tables"] = "false";
            browserCaps.AddBrowser("Nokia3590V1"); 
            this.Nokia3590v1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia3590v1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Nokia3595ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokia3595ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Nokia3595Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia3595/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" + 
                    "");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "15700"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "3595"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["preferredRequestEncoding"] = "iso-8859-1"; 
            dictionary["preferredResponseEncoding"] = "utf-8";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersWidth"] = "17"; 
            dictionary["screenPixelsHeight"] = "132";
            dictionary["screenPixelsWidth"] = "176"; 
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 3595";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Nokia3595");
            this.Nokia3595ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia3595ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nokia3560ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia3560ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nokia3560Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia3560");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "28"; 
            dictionary["screenPixelsHeight"] = "176";
            dictionary["screenPixelsWidth"] = "208"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("Nokia3560");
            this.Nokia3560ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia3560ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia3650ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia3650ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia3650Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia3650/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*).* Series60/(?\'" + 
                    "platformVersion\'\\S*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "3650"; 
            dictionary["mobilePlatformVersion"] = regexWorker["${platformVersion}"]; 
            dictionary["type"] = "Nokia 3650";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("Nokia3650");
            this.Nokia3650ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Nokia3650 
            if (this.Nokia3650p12plusProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Nokia3650ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokia3650p12plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokia3650p12plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia3650p12plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobilePlatformVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[^01]\\.|1\\.[^01]");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "28";
            dictionary["screenPixelsHeight"] = "176"; 
            dictionary["screenPixelsWidth"] = "208"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["tagwriter"] = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("Nokia3650P12Plus");
            this.Nokia3650p12plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia3650p12plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Nokia5100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Nokia5100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia5100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia5100/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" + 
                    ""); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "14";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "5100";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["rendersWmlSelectsAsMenuCards"] = "true";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = "Nokia 5100";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Nokia5100"); 
            this.Nokia5100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia5100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokia6200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokia6200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia6200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6200/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" +
                    "");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6200"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["preferredRequestEncoding"] = "iso-8859-1";
            dictionary["preferredResponseEncoding"] = "utf-8";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "19";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "Nokia 6200"; 
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Nokia6200");
            this.Nokia6200ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia6200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Nokia6590ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Nokia6590ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Nokia6590Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Nokia6590/(?\'versionString\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\" +
                    "d*)\\S*) "); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "9800";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6590"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 6590";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia6590"); 
            this.Nokia6590ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6590ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokia6800ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokia6800ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia6800Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6800/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" +
                    "");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["hasBackButton"] = "true";
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "14";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6800"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "false";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["type"] = "Nokia 6800"; 
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.AddBrowser("Nokia6800");
            this.Nokia6800ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6800ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Nokia7650ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Nokia7650ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia7650Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Nokia7650/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*).*"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["hasBackButton"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "3500";
            dictionary["maximumSoftkeyLabelLength"] = "18"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "7650";
            dictionary["numberOfSoftkeys"] = "3";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "28";
            dictionary["screenPixelsHeight"] = "208";
            dictionary["screenPixelsWidth"] = "176";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["type"] = "Nokia 7650"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("Nokia7650"); 
            this.Nokia7650ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia7650ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void NokiamobilebrowserrainbowProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void NokiamobilebrowserrainbowProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool NokiamobilebrowserrainbowProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Rainbow/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Nokia"; 
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "25000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["mobileDeviceModel"] = regexWorker["Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/vnd.wap.xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["requiresAbsolutePostbackUrl"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresInputTypeAttribute"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "14";
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "255";
            dictionary["screenPixelsWidth"] = "180"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsDivAlign"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsQueryStringInFormAction"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["supportsStyleElement"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["Nokia Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("NokiaMobileBrowserRainbow"); 
            this.NokiamobilebrowserrainbowProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NokiamobilebrowserrainbowProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Nokiaepoc32wtlProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokiaepoc32wtlProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokiaepoc32wtlProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EPOC32-WTL/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "EPOC"; 
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["canSendMail"] = "false";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "150000"; 
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["mobileDeviceModel"] = "Nokia 9210"; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "false";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "54"; 
            dictionary["screenPixelsHeight"] = "170";
            dictionary["screenPixelsWidth"] = "478"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsSelectMultiple"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia Epoc";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("NokiaEpoc32wtl");
            this.Nokiaepoc32wtlProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=NokiaEpoc32wtl 
            if (this.Nokiaepoc32wtl20Process(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Nokiaepoc32wtlProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokiaepoc32wtl20ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokiaepoc32wtl20ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokiaepoc32wtl20Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "2\\.0");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "7168";
            dictionary["mobileDeviceManufacturer"] = "Psion";
            dictionary["mobileDeviceModel"] = "Series 7";
            dictionary["rendersBreaksAfterHtmlLists"] = "true"; 
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true"; 
            dictionary["screenCharactersHeight"] = "31";
            dictionary["screenCharactersWidth"] = "69"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["SupportsEmptyStringInCookieValue"] = "true";
            browserCaps.AddBrowser("NokiaEpoc32wtl20"); 
            this.Nokiaepoc32wtl20ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokiaepoc32wtl20ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void UpProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void UpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool UpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(UP\\.Browser)|(UP/)");
            if ((result == false)) { 
                return false;
            }
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "Go\\.Web"); 
            if ((result == true)) {
                return false; 
            } 
            // Capture: header values
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), @"((?'deviceID'\S*) UP/\S* UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*) UP\.Link/)|((?'deviceID'\S*)/\S* UP(\.Browser)*/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|(UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*)-(?'deviceID'\S*) UP\.Link/)|((?'deviceID'\S*) UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*) UP\.Link/)|((?'deviceID'\S*)/(?'DeviceVersion'\S*) UP/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|((?'deviceID'\S*)/(?'DeviceVersion'\S*) UP.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|((?'deviceID'\S*) UP.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))"); 
            // Capabilities: set capabilities
            dictionary["browser"] = "Phone.com";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["deviceVersion"] = regexWorker["${deviceVersion}"]; 
            dictionary["inputType"] = "telephoneKeypad"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "1492";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["numberOfSoftkeys"] = "2";
            dictionary["optimumPageWeight"] = "700"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["rendersWmlSelectsAsMenuCards"] = "true";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true";
            dictionary["requiresNoescapedPostUrl"] = "true"; 
            dictionary["requiresPostRedirectionHandling"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = regexWorker["Phone.com${browserMajorVersion}"]; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("Up"); 
            this.UpProcessGateways(headers, browserCaps);
            // gateway, parent=Up
            this.UpdefaultscreencharactersProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpdefaultscreenpixelsProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpscreendepthProcess(headers, browserCaps); 
            // gateway, parent=Up
            this.UpscreencharsProcess(headers, browserCaps); 
            // gateway, parent=Up
            this.UpscreenpixelsProcess(headers, browserCaps);
            // gateway, parent=Up
            this.UpmsizeProcess(headers, browserCaps); 
            // gateway, parent=Up
            this.IscolorProcess(headers, browserCaps); 
            // gateway, parent=Up 
            this.UpnumsoftkeysProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpsoftkeysizeProcess(headers, browserCaps);
            // gateway, parent=Up
            this.UpmaxpduProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpversionProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Up 
            if (this.AumicProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Alcatelbe4Process(headers, browserCaps)) {
                }
                else { 
                    if (this.Alcatelbe5Process(headers, browserCaps)) {
                    } 
                    else { 
                        if (this.Alcatelbe3Process(headers, browserCaps)) {
                        } 
                        else {
                            if (this.Alcatelbf3Process(headers, browserCaps)) {
                            }
                            else { 
                                if (this.Alcatelbf4Process(headers, browserCaps)) {
                                } 
                                else { 
                                    if (this.MotcbProcess(headers, browserCaps)) {
                                    } 
                                    else {
                                        if (this.Motf5Process(headers, browserCaps)) {
                                        }
                                        else { 
                                            if (this.Motd8Process(headers, browserCaps)) {
                                            } 
                                            else { 
                                                if (this.MotcfProcess(headers, browserCaps)) {
                                                } 
                                                else {
                                                    if (this.Motf6Process(headers, browserCaps)) {
                                                    }
                                                    else { 
                                                        if (this.MotbcProcess(headers, browserCaps)) {
                                                        } 
                                                        else { 
                                                            if (this.MotdcProcess(headers, browserCaps)) {
                                                            } 
                                                            else {
                                                                if (this.MotpancProcess(headers, browserCaps)) {
                                                                }
                                                                else { 
                                                                    if (this.Motc4Process(headers, browserCaps)) {
                                                                    } 
                                                                    else { 
                                                                        if (this.MccaProcess(headers, browserCaps)) {
                                                                        } 
                                                                        else {
                                                                            if (this.Mot2000Process(headers, browserCaps)) {
                                                                            }
                                                                            else { 
                                                                                if (this.Motp2kcProcess(headers, browserCaps)) {
                                                                                } 
                                                                                else { 
                                                                                    if (this.MotafProcess(headers, browserCaps)) {
                                                                                    } 
                                                                                    else {
                                                                                        if (this.Motc2Process(headers, browserCaps)) {
                                                                                        }
                                                                                        else { 
                                                                                            if (this.XeniumProcess(headers, browserCaps)) {
                                                                                            } 
                                                                                            else { 
                                                                                                if (this.Sagem959Process(headers, browserCaps)) {
                                                                                                } 
                                                                                                else {
                                                                                                    if (this.Sgha300Process(headers, browserCaps)) {
                                                                                                    }
                                                                                                    else { 
                                                                                                        if (this.Sghn100Process(headers, browserCaps)) {
                                                                                                        } 
                                                                                                        else { 
                                                                                                            if (this.C304saProcess(headers, browserCaps)) {
                                                                                                            } 
                                                                                                            else {
                                                                                                                if (this.Sy11Process(headers, browserCaps)) {
                                                                                                                }
                                                                                                                else { 
                                                                                                                    if (this.St12Process(headers, browserCaps)) {
                                                                                                                    } 
                                                                                                                    else { 
                                                                                                                        if (this.Sy14Process(headers, browserCaps)) {
                                                                                                                        } 
                                                                                                                        else {
                                                                                                                            if (this.Sies40Process(headers, browserCaps)) {
                                                                                                                            }
                                                                                                                            else { 
                                                                                                                                if (this.Siesl45Process(headers, browserCaps)) {
                                                                                                                                } 
                                                                                                                                else { 
                                                                                                                                    if (this.Sies35Process(headers, browserCaps)) {
                                                                                                                                    } 
                                                                                                                                    else {
                                                                                                                                        if (this.Sieme45Process(headers, browserCaps)) {
                                                                                                                                        }
                                                                                                                                        else { 
                                                                                                                                            if (this.Sies45Process(headers, browserCaps)) {
                                                                                                                                            } 
                                                                                                                                            else { 
                                                                                                                                                if (this.Gm832Process(headers, browserCaps)) {
                                                                                                                                                } 
                                                                                                                                                else {
                                                                                                                                                    if (this.Gm910iProcess(headers, browserCaps)) {
                                                                                                                                                    }
                                                                                                                                                    else { 
                                                                                                                                                        if (this.Mot32Process(headers, browserCaps)) {
                                                                                                                                                        } 
                                                                                                                                                        else { 
                                                                                                                                                            if (this.Mot28Process(headers, browserCaps)) {
                                                                                                                                                            } 
                                                                                                                                                            else {
                                                                                                                                                                if (this.D2Process(headers, browserCaps)) {
                                                                                                                                                                }
                                                                                                                                                                else { 
                                                                                                                                                                    if (this.PpatProcess(headers, browserCaps)) {
                                                                                                                                                                    } 
                                                                                                                                                                    else { 
                                                                                                                                                                        if (this.AlazProcess(headers, browserCaps)) {
                                                                                                                                                                        } 
                                                                                                                                                                        else {
                                                                                                                                                                            if (this.Cdm9100Process(headers, browserCaps)) {
                                                                                                                                                                            }
                                                                                                                                                                            else { 
                                                                                                                                                                                if (this.Cdm135Process(headers, browserCaps)) {
                                                                                                                                                                                } 
                                                                                                                                                                                else { 
                                                                                                                                                                                    if (this.Cdm9000Process(headers, browserCaps)) {
                                                                                                                                                                                    } 
                                                                                                                                                                                    else {
                                                                                                                                                                                        if (this.C303caProcess(headers, browserCaps)) {
                                                                                                                                                                                        }
                                                                                                                                                                                        else { 
                                                                                                                                                                                            if (this.C311caProcess(headers, browserCaps)) {
                                                                                                                                                                                            } 
                                                                                                                                                                                            else { 
                                                                                                                                                                                                if (this.C202deProcess(headers, browserCaps)) {
                                                                                                                                                                                                } 
                                                                                                                                                                                                else {
                                                                                                                                                                                                    if (this.C409caProcess(headers, browserCaps)) {
                                                                                                                                                                                                    }
                                                                                                                                                                                                    else { 
                                                                                                                                                                                                        if (this.C402deProcess(headers, browserCaps)) {
                                                                                                                                                                                                        } 
                                                                                                                                                                                                        else { 
                                                                                                                                                                                                            if (this.Ds15Process(headers, browserCaps)) {
                                                                                                                                                                                                            } 
                                                                                                                                                                                                            else {
                                                                                                                                                                                                                if (this.Tp2200Process(headers, browserCaps)) {
                                                                                                                                                                                                                }
                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                    if (this.Tp120Process(headers, browserCaps)) {
                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                        if (this.Ds10Process(headers, browserCaps)) {
                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                            if (this.R280Process(headers, browserCaps)) {
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                if (this.C201hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                    if (this.S71Process(headers, browserCaps)) {
                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                        if (this.C302hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                            if (this.C309hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                if (this.C407hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                    if (this.C451hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                        if (this.R201Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                            if (this.P21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                if (this.Kyocera702gProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                    if (this.Kyocera703gProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                        if (this.Kyocerac307kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                            if (this.Tk01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                if (this.Tk02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                    if (this.Tk03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                        if (this.Tk04Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                            if (this.Tk05Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                if (this.D303kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                    if (this.D304kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                        if (this.Qcp2035Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                            if (this.Qcp3035Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                if (this.D512Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                    if (this.Dm110Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                        if (this.Tm510Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                            if (this.Lg13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                if (this.P100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                    if (this.Lgc875fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                        if (this.Lgp680fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                            if (this.Lgp7800fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                if (this.Lgc840fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                    if (this.Lgi2100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                        if (this.Lgp7300fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                            if (this.Sd500Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                if (this.Tp1100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                    if (this.Tp3000Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                        if (this.T250Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                            if (this.Mo01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                if (this.Mo02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                    if (this.Mc01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                        if (this.McccProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                            if (this.Mcc9Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                if (this.Nk00Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Mai12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Ma112Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Ma13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Mac1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Mat1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sc01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sc03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sc02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sc04Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sg08Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sc13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sc11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sec01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sc10Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sy12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.St11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sy13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Syc1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sy01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Syt1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sty2Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sy02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sy03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Si01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sni1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sn11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sn12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sn134Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sn156Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Snc1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Tsc1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Tsi1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Ts11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Ts12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Ts13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Tst1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Tst2Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Tst3Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Ig01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Ig02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Ig03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Qc31Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Qc12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Qc32Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sp01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.ShProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Upg1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Opwv1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.AlavProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Im1kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Nt95Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Mot2001Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Motv200Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Mot72Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Mot76Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Scp6000Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Motd5Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Motf0Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sgha400Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sec03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Siec3iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sn17Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Scp4700Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sec02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sy15Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Db520Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.L430v03j02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.OpwvsdkProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Kddica21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Kddits21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Kddisa21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Km100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Lgelx5350Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Hitachip300Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sies46Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Motorolav60gProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Motorolav708Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Motorolav708aProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Motorolae360Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sonyericssona1101sProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Philipsfisio820Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Casioa5302Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Tcll668Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Kddits24Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sies55Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sharpgx10Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.BenqathenaProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ignoreApplicationBrowsers = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                }
                                                                                                                                                                                                            } 
                                                                                                                                                                                                        }
                                                                                                                                                                                                    }
                                                                                                                                                                                                }
                                                                                                                                                                                            } 
                                                                                                                                                                                        }
                                                                                                                                                                                    } 
                                                                                                                                                                                } 
                                                                                                                                                                            }
                                                                                                                                                                        } 
                                                                                                                                                                    }
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                        } 
                                                                                                                                                    }
                                                                                                                                                } 
                                                                                                                                            } 
                                                                                                                                        }
                                                                                                                                    } 
                                                                                                                                }
                                                                                                                            }
                                                                                                                        }
                                                                                                                    } 
                                                                                                                }
                                                                                                            } 
                                                                                                        } 
                                                                                                    }
                                                                                                } 
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                } 
                                                                            }
                                                                        } 
                                                                    } 
                                                                }
                                                            } 
                                                        }
                                                    }
                                                }
                                            } 
                                        }
                                    } 
                                } 
                            }
                        } 
                    }
                }
            }
            this.UpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void UpdefaultscreencharactersProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void UpdefaultscreencharactersProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool UpdefaultscreencharactersProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENCHARS"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^$");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["defaultScreenCharactersWidth"] = "15";
            dictionary["defaultScreenCharactersHeight"] = "4";
            this.UpdefaultscreencharactersProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpdefaultscreencharactersProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void UpdefaultscreenpixelsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void UpdefaultscreenpixelsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool UpdefaultscreenpixelsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENPIXELS"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^$"); 
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            dictionary["defaultScreenPixelsWidth"] = "120"; 
            dictionary["defaultScreenPixelsHeight"] = "40";
            this.UpdefaultscreenpixelsProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.UpdefaultscreenpixelsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void UpscreendepthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void UpscreendepthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool UpscreendepthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENDEPTH"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenDepth\'\\d+)"); 
            if ((result == false)) {
                return false;
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["screenBitDepth"] = regexWorker["${screenDepth}"]; 
            this.UpscreendepthProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpscreendepthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void UpscreencharsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void UpscreencharsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool UpscreencharsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENCHARS"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenCharsWidth\'[1-9]\\d*),(?\'screenCharsHeight\'[1-9]\\d*)");
            if ((result == false)) {
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["screenCharactersHeight"] = regexWorker["${screenCharsHeight}"]; 
            dictionary["screenCharactersWidth"] = regexWorker["${screenCharsWidth}"];
            this.UpscreencharsProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpscreencharsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void UpscreenpixelsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void UpscreenpixelsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool UpscreenpixelsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENPIXELS"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenPixWidth\'[1-9]\\d*),(?\'screenPixHeight\'[1-9]\\d*)");
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["screenPixelsHeight"] = regexWorker["${screenPixHeight}"]; 
            dictionary["screenPixelsWidth"] = regexWorker["${screenPixWidth}"];
            this.UpscreenpixelsProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.UpscreenpixelsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void UpmsizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void UpmsizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool UpmsizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-MSIZE"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'width\'\\d+),(?\'height\'\\d+)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["characterHeight"] = regexWorker["${height}"];
            dictionary["characterWidth"] = regexWorker["${width}"];
            this.UpmsizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpmsizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void IscolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void IscolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool IscolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-ISCOLOR"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, ".+"); 
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            this.IscolorProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IsColor 
            if (this.IscolortrueProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.IscolorfalseProcess(headers, browserCaps)) {
                }
                else {
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.IscolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void IscolortrueProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void IscolortrueProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool IscolortrueProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-ISCOLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "1");
            if ((result == false)) { 
                return false;
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            this.IscolortrueProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.IscolortrueProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void IscolorfalseProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void IscolorfalseProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool IscolorfalseProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-ISCOLOR"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "0"); 
            if ((result == false)) {
                return false;
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            this.IscolorfalseProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.IscolorfalseProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void UpnumsoftkeysProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void UpnumsoftkeysProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool UpnumsoftkeysProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-NUMSOFTKEYS"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'softkeys\'\\d+)");
            if ((result == false)) {
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["numberOfSoftkeys"] = regexWorker["${softkeys}"]; 
            this.UpnumsoftkeysProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.UpnumsoftkeysProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void UpsoftkeysizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void UpsoftkeysizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool UpsoftkeysizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SOFTKEYSIZE"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'softkeySize\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["maximumSoftkeyLabelLength"] = regexWorker["${softkeySize}"];
            this.UpsoftkeysizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpsoftkeysizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void UpmaxpduProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void UpmaxpduProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool UpmaxpduProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-MAX-PDU"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'maxDeckSize\'\\d+)");
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = regexWorker["${maxDeckSize}"]; 
            this.UpmaxpduProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.UpmaxpduProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void UpversionProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void UpversionProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool UpversionProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            // Capabilities: set capabilities
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            dictionary["type"] = regexWorker["Phone.com ${majorVersion}.x Browser"];
            this.UpversionProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=UpVersion
            if (this.BlazerProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.Up4Process(headers, browserCaps)) { 
                }
                else {
                    if (this.Up5Process(headers, browserCaps)) {
                    } 
                    else {
                        if (this.Up6Process(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.Up3Process(headers, browserCaps)) { 
                            }
                            else {
                                ignoreApplicationBrowsers = false;
                            } 
                        }
                    } 
                } 
            }
            this.UpversionProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void AumicProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AumicProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool AumicProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "AU-MIC/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*).*");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "AU MIC"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "17";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsSelectFollowingTable"] = "false"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["AU MIC ${browserMajorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("AuMic");
            this.AumicProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=AuMic 
            if (this.Aumicv2Process(headers, browserCaps)) { 
            }
            else { 
                if (this.A500Process(headers, browserCaps)) {
                }
                else {
                    if (this.N400Process(headers, browserCaps)) { 
                    }
                    else { 
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            }
            this.AumicProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Aumicv2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Aumicv2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Aumicv2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["majorVersion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "2");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "8600";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["supportsBold"] = "false";
            browserCaps.AddBrowser("AuMicV2");
            this.Aumicv2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Aumicv2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void A500ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void A500ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool A500Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["HTTP_X_WAP_PROFILE"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\/SPH-A500\\/"); 
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SPH-A500"; 
            dictionary["maximumRenderedPageSize"] = "8850";
            dictionary["preferredREnderingType"] = "xhtml-basic"; 
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsTitleElement"] = "true";
            browserCaps.AddBrowser("a500"); 
            this.A500ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.A500ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void N400ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void N400ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool N400Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["HTTP_X_WAP_PROFILE"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\/SPH-N400\\/"); 
            if ((result == false)) {
                return false; 
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "N400";
            dictionary["maximumRenderedPageSize"] = "46750";
            dictionary["preferredREnderingType"] = "xhtml-basic"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsTitleElement"] = "false"; 
            browserCaps.AddBrowser("n400");
            this.N400ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.N400ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void BlazerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void BlazerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool BlazerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Blazer");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Handspring Blazer";
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["numberOfSoftkeys"] = "0"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/html"; 
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["rendersWmlSelectsAsMenuCards"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "36"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["type"] = "Handspring Blazer";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            this.BlazerProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Blazer 
            if (this.Blazerupg1Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.BlazerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Blazerupg1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Blazerupg1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Blazerupg1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UPG1 UP/\\S* \\(compatible; Blazer (?\'browserMajorVersion\'\\d+)(?\'browserMinorVersio" + 
                    "n\'\\.\\d+)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            this.Blazerupg1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Blazerupg1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Up4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Up4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Up4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "4"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            this.Up4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Up4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Up5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Up5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Up5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "5");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            this.Up5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Up5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Up6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Up6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Up6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "6");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["cookies"] = "true"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["type"] = regexWorker["Openwave ${majorVersion}.x Browser"];
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter"; 
            this.Up6ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Up6
            if (this.Up61plusProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Up6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Up61plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Up61plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Up61plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["minorVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.[^0]");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            this.Up61plusProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Up61plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Up3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Up3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Up3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "3");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderInputAndSelectElementsTogether"] = "false"; 
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["type"] = "Phone.com 3.x Browser";
            this.Up3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Up3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Alcatelbe4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Alcatelbe4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Alcatelbe4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BE4"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Alcatel";
            dictionary["mobileDeviceModel"] = "301";
            browserCaps.AddBrowser("AlcatelBe4"); 
            this.Alcatelbe4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Alcatelbe4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Alcatelbe5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Alcatelbe5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Alcatelbe5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BE5");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "501, 701";
            browserCaps.AddBrowser("AlcatelBe5"); 
            this.Alcatelbe5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=AlcatelBe5 
            if (this.Alcatelbe5v2Process(headers, browserCaps)) {
            }
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Alcatelbe5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Alcatelbe5v2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Alcatelbe5v2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Alcatelbe5v2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "2\\.0"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1900";
            dictionary["maximumSoftkeyLabelLength"] = "0"; 
            dictionary["mobileDeviceModel"] = "Alcatel One Touch 501";
            dictionary["numberOfSoftkeys"] = "10"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["screenBitDepth"] = "0"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "14";
            dictionary["screenPixelsHeight"] = "60";
            dictionary["screenPixelsWidth"] = "91"; 
            dictionary["supportsBold"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("AlcatelBe5v2"); 
            this.Alcatelbe5v2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Alcatelbe5v2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Alcatelbe3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Alcatelbe3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Alcatelbe3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BE3");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "OneTouchDB";
            browserCaps.AddBrowser("AlcatelBe3"); 
            this.Alcatelbe3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Alcatelbe3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Alcatelbf3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Alcatelbf3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Alcatelbf3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BF3"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["maximumSoftkeyLabelLength"] = "13";
            dictionary["mobileDeviceManufacturer"] = "Alcatel";
            dictionary["mobileDeviceModel"] = "Alcatel One Touch 311";
            dictionary["numberOfSoftkeys"] = "10"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "11"; 
            dictionary["screenPixelsHeight"] = "65";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("AlcatelBf3");
            this.Alcatelbf3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Alcatelbf3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Alcatelbf4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Alcatelbf4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Alcatelbf4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BF4");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "1900";
            dictionary["maximumSoftkeyLabelLength"] = "13";
            dictionary["mobileDeviceManufacturer"] = "Alcatel";
            dictionary["mobileDeviceModel"] = "Alcatel One Touch 511"; 
            dictionary["numberOfSoftkeys"] = "10";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "11";
            dictionary["screenPixelsHeight"] = "60"; 
            dictionary["screenPixelsWidth"] = "89";
            browserCaps.AddBrowser("AlcatelBf4");
            this.Alcatelbf4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Alcatelbf4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void MotcbProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void MotcbProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MotcbProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-CB"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Timeport P7389";
            dictionary["numberOfSoftkeys"] = "1"; 
            browserCaps.AddBrowser("MotCb");
            this.MotcbProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.MotcbProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Motf5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motf5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Motf5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-F5"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false";
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Talkabout 192";
            dictionary["numberOfSoftkeys"] = "3"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "40"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("MotF5"); 
            this.Motf5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motf5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motd8ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motd8ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motd8Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-D8");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 250/P7689"; 
            browserCaps.AddBrowser("MotD8");
            this.Motd8ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motd8ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MotcfProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MotcfProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MotcfProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-CF");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Accompli 6188"; 
            browserCaps.AddBrowser("MotCf");
            this.MotcfProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MotcfProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Motf6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motf6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Motf6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-F6");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["maximumRenderedPageSize"] = "5000";
            dictionary["maximumSoftkeyLabelLength"] = "6"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Accompli 008/6288"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlSelectsAsMenuCards"] = "false";
            dictionary["screenBitDepth"] = "4"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "240"; 
            browserCaps.AddBrowser("MotF6");
            this.Motf6ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Motf6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void MotbcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MotbcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool MotbcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-BC"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["inputType"] = "keyboard";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Accompli 009"; 
            browserCaps.AddBrowser("MotBc");
            this.MotbcProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MotbcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MotdcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MotdcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MotdcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-DC");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "V3682, V50"; 
            browserCaps.AddBrowser("MotDc");
            this.MotdcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MotdcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MotpancProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MotpancProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MotpancProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-PAN-C");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Timeport 270c";
            browserCaps.AddBrowser("MotPanC");
            this.MotpancProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MotpancProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Motc4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Motc4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motc4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-C4"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderMixedSelects"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V2288, V2282";
            dictionary["supportsCacheControlMetaTag"] = "false"; 
            browserCaps.AddBrowser("MotC4"); 
            this.Motc4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Motc4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void MccaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void MccaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MccaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MCCA");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 8767/ST7868";
            browserCaps.AddBrowser("Mcca"); 
            this.MccaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MccaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Mot2000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Mot2000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Mot2000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-2000"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V60c";
            browserCaps.AddBrowser("Mot2000");
            this.Mot2000ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mot2000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Motp2kcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Motp2kcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Motp2kcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-P2K-C"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "V120c";
            browserCaps.AddBrowser("MotP2kC"); 
            this.Motp2kcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Motp2kcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void MotafProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void MotafProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool MotafProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-AF");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 260/P7382i/P7389i";
            dictionary["screenCharactersHeight"] = "4"; 
            browserCaps.AddBrowser("MotAf"); 
            this.MotafProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MotAf
            if (this.Motaf418Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.MotafProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Motaf418ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Motaf418ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Motaf418Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["DeviceVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "4\\.1\\.8");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "1900";
            dictionary["maximumSoftkeyLabelLength"] = "5"; 
            dictionary["mobileDeviceModel"] = "Timeport 260"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "64";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsCacheControlMetaTag"] = "false";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("MotAf418");
            this.Motaf418ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Motaf418ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Motc2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motc2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Motc2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-C2"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["inputType"] = "keyboard";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V100, V.Box"; 
            browserCaps.AddBrowser("MotC2");
            this.Motc2ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motc2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void XeniumProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void XeniumProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool XeniumProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Philips-Xenium9@9");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Philips";
            dictionary["mobileDeviceModel"] = "Xenium 9"; 
            browserCaps.AddBrowser("Xenium");
            this.XeniumProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.XeniumProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sagem959ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sagem959ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sagem959Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sagem-959");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sagem";
            dictionary["mobileDeviceModel"] = "MW-959";
            browserCaps.AddBrowser("Sagem959");
            this.Sagem959ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sagem959ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sgha300ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sgha300ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sgha300Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SAMSUNG-SGH-A300"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "19"; 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SGH-A300"; 
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "13";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "128";
            browserCaps.AddBrowser("SghA300");
            this.Sgha300ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sgha300ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sghn100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sghn100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sghn100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Samsung-SGH-N100/"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SGH-N100";
            browserCaps.AddBrowser("SghN100"); 
            this.Sghn100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sghn100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void C304saProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void C304saProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool C304saProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sanyo-C304SA/");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "C304SA";
            browserCaps.AddBrowser("C304sa"); 
            this.C304saProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C304saProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Sy11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sy11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sy11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "C304SA"; 
            browserCaps.AddBrowser("Sy11");
            this.Sy11ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void St12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void St12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool St12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ST12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C411ST"; 
            browserCaps.AddBrowser("St12");
            this.St12ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.St12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sy14ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy14ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sy14Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY14");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C412SA";
            browserCaps.AddBrowser("Sy14");
            this.Sy14ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy14ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sies40ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sies40ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sies40Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-S40"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["maximumRenderedPageSize"] = "2048"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S40, S42"; 
            browserCaps.AddBrowser("SieS40"); 
            this.Sies40ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sies40ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Siesl45ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Siesl45ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Siesl45Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-SL45");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "SL-45";
            browserCaps.AddBrowser("SieSl45"); 
            this.Siesl45ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Siesl45ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sies35ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sies35ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sies35Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-S35"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderMixedSelects"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S35";
            browserCaps.AddBrowser("SieS35");
            this.Sies35ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sies35ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sieme45ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sieme45ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sieme45Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-ME45"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "ME45"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "65"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true"; 
            browserCaps.AddBrowser("SieMe45");
            this.Sieme45ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sieme45ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sies45ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sies45ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sies45Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-S45");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2765";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S45";
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "64"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true";
            browserCaps.AddBrowser("SieS45"); 
            this.Sies45ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sies45ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Gm832ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Gm832ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Gm832Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "GM832");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Telit"; 
            dictionary["mobileDeviceModel"] = "GM832";
            browserCaps.AddBrowser("Gm832"); 
            this.Gm832ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Gm832ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Gm910iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Gm910iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Gm910iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Telit-GM910i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Telit"; 
            dictionary["mobileDeviceModel"] = "GM910i"; 
            browserCaps.AddBrowser("Gm910i");
            this.Gm910iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Gm910iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Mot32ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Mot32ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Mot32Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-32");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i85s, i50sx"; 
            browserCaps.AddBrowser("Mot32");
            this.Mot32ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mot32ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mot28ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mot28ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mot28Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-28");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i700+, i1000+";
            browserCaps.AddBrowser("Mot28");
            this.Mot28ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mot28ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void D2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void D2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool D2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D2"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "D2"; 
            browserCaps.AddBrowser("D2");
            this.D2ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.D2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PpatProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PpatProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PpatProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P-PAT"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "P-PAT"; 
            browserCaps.AddBrowser("PPat"); 
            this.PpatProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PpatProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void AlazProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void AlazProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool AlazProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ALAZ");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "OneTouch";
            browserCaps.AddBrowser("Alaz"); 
            this.AlazProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.AlazProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Cdm9100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Cdm9100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Cdm9100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "AUDIOVOX-CDM9100"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Audiovox"; 
            dictionary["mobileDeviceModel"] = "CDM-9100";
            browserCaps.AddBrowser("Cdm9100");
            this.Cdm9100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Cdm9100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Cdm135ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Cdm135ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Cdm135Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HD-MMD1010"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Audiovox";
            dictionary["mobileDeviceModel"] = "CDM-135";
            browserCaps.AddBrowser("Cdm135"); 
            this.Cdm135ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Cdm135ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Cdm9000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Cdm9000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Cdm9000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TSCA");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Audiovox"; 
            dictionary["mobileDeviceModel"] = "CDM-9000";
            browserCaps.AddBrowser("Cdm9000"); 
            this.Cdm9000ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Cdm9000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void C303caProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void C303caProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool C303caProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "CA11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Casio"; 
            dictionary["mobileDeviceModel"] = "C303CA"; 
            browserCaps.AddBrowser("C303ca");
            this.C303caProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C303caProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void C311caProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void C311caProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool C311caProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "CA12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "C311CA"; 
            browserCaps.AddBrowser("C311ca");
            this.C311caProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.C311caProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void C202deProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C202deProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool C202deProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "DN01");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "C202DE";
            browserCaps.AddBrowser("C202de");
            this.C202deProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C202deProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void C409caProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void C409caProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool C409caProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "CA13"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "C409CA"; 
            browserCaps.AddBrowser("C409ca");
            this.C409caProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.C409caProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void C402deProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C402deProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool C402deProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "DN11"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Denso";
            dictionary["mobileDeviceModel"] = "C402DE"; 
            browserCaps.AddBrowser("C402de"); 
            this.C402deProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.C402deProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Ds15ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Ds15ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ds15Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "DS15");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "Touchpoint DS15";
            browserCaps.AddBrowser("Ds15"); 
            this.Ds15ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ds15ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Tp2200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Tp2200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Tp2200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "DS1[34]"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "TouchPoint TP2200";
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15";
            browserCaps.AddBrowser("Tp2200"); 
            this.Tp2200ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tp2200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Tp120ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Tp120ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Tp120Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "DS12");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "TouchPoint TP120";
            browserCaps.AddBrowser("Tp120"); 
            this.Tp120ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tp120ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ds10ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ds10ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ds10Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "DS10");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "Eagle 10"; 
            browserCaps.AddBrowser("Ds10");
            this.Ds10ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ds10ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void R280ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void R280ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool R280Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ERK0");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Ericsson";
            dictionary["mobileDeviceModel"] = "R280"; 
            browserCaps.AddBrowser("R280");
            this.R280ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.R280ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void C201hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C201hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool C201hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HI01");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C201H";
            browserCaps.AddBrowser("C201h");
            this.C201hProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C201hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void S71ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void S71ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool S71Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HW01"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Hanwha";
            dictionary["mobileDeviceModel"] = "S71"; 
            browserCaps.AddBrowser("S71");
            this.S71ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.S71ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void C302hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C302hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool C302hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HI11"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C302H"; 
            browserCaps.AddBrowser("C302h"); 
            this.C302hProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.C302hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void C309hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void C309hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool C309hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HI12");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hitachi"; 
            dictionary["mobileDeviceModel"] = "C309H";
            browserCaps.AddBrowser("C309h"); 
            this.C309hProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.C309hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void C407hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void C407hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool C407hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HI13"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C407H";
            browserCaps.AddBrowser("C407h");
            this.C407hProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C407hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void C451hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void C451hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool C451hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HI14"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C451H"; 
            browserCaps.AddBrowser("C451h");
            this.C451hProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.C451hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void R201ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void R201ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool R201Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HD03"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hyundai";
            dictionary["mobileDeviceModel"] = "HGC-R201"; 
            browserCaps.AddBrowser("R201"); 
            this.R201ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.R201ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void P21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void P21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool P21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HD02");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hyundai"; 
            dictionary["mobileDeviceModel"] = "P-21";
            browserCaps.AddBrowser("P21"); 
            this.P21ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.P21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Kyocera702gProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Kyocera702gProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Kyocera702gProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCI1"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "702G";
            browserCaps.AddBrowser("Kyocera702g");
            this.Kyocera702gProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Kyocera702gProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Kyocera703gProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Kyocera703gProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Kyocera703gProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCI2"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "703G";
            browserCaps.AddBrowser("Kyocera703g"); 
            this.Kyocera703gProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Kyocera703gProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Kyocerac307kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Kyocerac307kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Kyocerac307kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KC11");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "C307K";
            browserCaps.AddBrowser("KyoceraC307k"); 
            this.Kyocerac307kProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Kyocerac307kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Tk01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Tk01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tk01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KCT1");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "TK01"; 
            browserCaps.AddBrowser("Tk01");
            this.Tk01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tk01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Tk02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Tk02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Tk02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCT2");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK02"; 
            browserCaps.AddBrowser("Tk02");
            this.Tk02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Tk02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Tk03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tk03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Tk03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KCT4");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK03";
            browserCaps.AddBrowser("Tk03");
            this.Tk03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tk03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Tk04ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Tk04ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tk04Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KCT5"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK04"; 
            browserCaps.AddBrowser("Tk04");
            this.Tk04ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Tk04ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Tk05ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tk05ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Tk05Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCT6"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK05"; 
            browserCaps.AddBrowser("Tk05"); 
            this.Tk05ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tk05ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void D303kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void D303kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool D303kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCC1");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "D303K";
            browserCaps.AddBrowser("D303k"); 
            this.D303kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.D303kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void D304kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void D304kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool D304kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCC2"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "D304K";
            browserCaps.AddBrowser("D304k");
            this.D304kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.D304kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Qcp2035ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Qcp2035ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Qcp2035Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "QC06"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "QCP2035/2037";
            browserCaps.AddBrowser("Qcp2035"); 
            this.Qcp2035ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Qcp2035ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Qcp3035ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Qcp3035ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Qcp3035Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "QC07");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "QCP3035";
            browserCaps.AddBrowser("Qcp3035"); 
            this.Qcp3035ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Qcp3035ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void D512ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void D512ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool D512Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG22");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "D-512"; 
            browserCaps.AddBrowser("D512");
            this.D512ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.D512ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Dm110ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Dm110ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Dm110Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG05");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "DM-110"; 
            browserCaps.AddBrowser("Dm110");
            this.Dm110ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Dm110ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Tm510ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tm510ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Tm510Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG21");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canRenderPostBackCards"] = "false";
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "TM-510";
            browserCaps.AddBrowser("Tm510"); 
            this.Tm510ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tm510ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Lg13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Lg13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Lg13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG13");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "DM-510";
            browserCaps.AddBrowser("Lg13"); 
            this.Lg13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Lg13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void P100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void P100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool P100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "P-100"; 
            browserCaps.AddBrowser("P100");
            this.P100ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.P100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Lgc875fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Lgc875fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Lgc875fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG07");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGC-875F"; 
            browserCaps.AddBrowser("Lgc875f");
            this.Lgc875fProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Lgc875fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Lgp680fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Lgp680fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Lgp680fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG03");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGP-6800F";
            browserCaps.AddBrowser("Lgp680f");
            this.Lgp680fProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Lgp680fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Lgp7800fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Lgp7800fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Lgp7800fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG04"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGP-7800F"; 
            browserCaps.AddBrowser("Lgp7800f");
            this.Lgp7800fProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Lgp7800fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Lgc840fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Lgc840fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Lgc840fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG09"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGC-840F"; 
            browserCaps.AddBrowser("Lgc840f"); 
            this.Lgc840fProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Lgc840fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Lgi2100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Lgi2100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Lgi2100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG02");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LGI-2100";
            browserCaps.AddBrowser("Lgi2100"); 
            this.Lgi2100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Lgi2100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Lgp7300fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Lgp7300fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Lgp7300fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG01"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LGP-7300F";
            browserCaps.AddBrowser("Lgp7300f");
            this.Lgp7300fProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Lgp7300fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sd500ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sd500ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sd500Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG10"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "SD-500";
            browserCaps.AddBrowser("Sd500"); 
            this.Sd500ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sd500ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Tp1100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Tp1100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Tp1100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG06");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "Touchpoint TP1100";
            browserCaps.AddBrowser("Tp1100"); 
            this.Tp1100ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tp1100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Tp3000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Tp3000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tp3000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG08");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderAfterInputOrSelectElement"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "Touchpoint TP3000"; 
            browserCaps.AddBrowser("Tp3000");
            this.Tp3000ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Tp3000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void T250ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void T250ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool T250Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "T250");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["mobileDeviceModel"] = "T250";
            browserCaps.AddBrowser("T250");
            this.T250ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.T250ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Mo01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Mo01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mo01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MO01"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i500+, i700+, i1000+"; 
            browserCaps.AddBrowser("Mo01");
            this.Mo01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mo01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Mo02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mo02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Mo02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MO02"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i2000+"; 
            browserCaps.AddBrowser("Mo02"); 
            this.Mo02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mo02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Mc01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Mc01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mc01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MC01");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "StarTac ST786x, Talkabout T816x, Timeport P816x";
            browserCaps.AddBrowser("Mc01"); 
            this.Mc01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mc01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void McccProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void McccProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool McccProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MCCC"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Talkabout V2267";
            browserCaps.AddBrowser("Mccc");
            this.McccProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.McccProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mcc9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mcc9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mcc9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MCC9"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Talkabout V8162";
            browserCaps.AddBrowser("Mcc9"); 
            this.Mcc9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mcc9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Nk00ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Nk00ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Nk00Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "NK00");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2252"; 
            dictionary["maximumSoftkeyLabelLength"] = "6";
            dictionary["mobileDeviceManufacturer"] = "Nokia"; 
            dictionary["mobileDeviceModel"] = "nokia 3285"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenCharactersWidth"] = "15";
            dictionary["supportsBold"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Nk00"); 
            this.Nk00ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nk00ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Mai12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Mai12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Mai12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MAI[12]");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["mobileDeviceModel"] = "704G";
            browserCaps.AddBrowser("Mai12"); 
            this.Mai12ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mai12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ma112ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ma112ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ma112Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MA1[12]");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["mobileDeviceModel"] = "C308P"; 
            browserCaps.AddBrowser("Ma112");
            this.Ma112ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ma112ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ma13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ma13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ma13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MA13");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "C408P"; 
            browserCaps.AddBrowser("Ma13");
            this.Ma13ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ma13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mac1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mac1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mac1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MAC1");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "D305P";
            browserCaps.AddBrowser("Mac1");
            this.Mac1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mac1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Mat1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Mat1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mat1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MAT1"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "TP01"; 
            browserCaps.AddBrowser("Mat1");
            this.Mat1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mat1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sc01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sc01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sc01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC01"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-3500"; 
            browserCaps.AddBrowser("Sc01"); 
            this.Sc01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sc01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Sc03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Sc03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sc03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC03");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "SCH-6100";
            browserCaps.AddBrowser("Sc03"); 
            this.Sc03ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sc03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sc02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sc02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sc02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC02"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "SCH-8500";
            browserCaps.AddBrowser("Sc02");
            this.Sc02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sc02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sc04ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sc04ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sc04Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC04"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-850";
            browserCaps.AddBrowser("Sc04"); 
            this.Sc04ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sc04ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Sg08ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Sg08ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Sg08Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SG08");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "SGH-800";
            browserCaps.AddBrowser("Sg08"); 
            this.Sg08ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sg08ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Sc13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sc13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sc13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SC13");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "Uproar M100"; 
            browserCaps.AddBrowser("Sc13");
            this.Sc13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sc13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sc11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sc11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sc11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC11");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-N105"; 
            browserCaps.AddBrowser("Sc11");
            this.Sc11ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sc11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sec01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sec01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sec01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SEC01");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-U03";
            browserCaps.AddBrowser("Sec01");
            this.Sec01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sec01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sc10ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sc10ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sc10Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SC10"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-U02"; 
            browserCaps.AddBrowser("Sc10");
            this.Sc10ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sc10ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sy12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sy12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY12"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "C401SA"; 
            browserCaps.AddBrowser("Sy12");
            this.Sy12ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void St11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void St11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool St11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ST11");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C403ST"; 
            browserCaps.AddBrowser("St11");
            this.St11ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.St11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sy13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sy13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY13");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C405SA";
            browserCaps.AddBrowser("Sy13");
            this.Sy13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Syc1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Syc1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Syc1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SYC1"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "D301SA"; 
            browserCaps.AddBrowser("Syc1");
            this.Syc1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Syc1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sy01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sy01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY01"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "SCP-4000"; 
            browserCaps.AddBrowser("Sy01"); 
            this.Sy01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sy01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Syt1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Syt1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Syt1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SYT1");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "TS01";
            browserCaps.AddBrowser("Syt1"); 
            this.Syt1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Syt1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sty2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sty2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sty2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SYT2"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "TS02";
            browserCaps.AddBrowser("Sty2");
            this.Sty2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sty2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sy02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sy02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sy02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY02"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "SCP-4500";
            browserCaps.AddBrowser("Sy02"); 
            this.Sy02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sy02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Sy03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Sy03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Sy03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY03");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "SCP-5000";
            browserCaps.AddBrowser("Sy03"); 
            this.Sy03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Si01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Si01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Si01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SI01");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "S25"; 
            browserCaps.AddBrowser("Si01");
            this.Si01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Si01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sni1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sni1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sni1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SNI1");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "705G"; 
            browserCaps.AddBrowser("Sni1");
            this.Sni1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sni1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sn11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sn11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sn11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SN11");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C305SN";
            browserCaps.AddBrowser("Sn11");
            this.Sn11ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sn11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sn12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sn12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sn12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SN12"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C404S"; 
            browserCaps.AddBrowser("Sn12");
            this.Sn12ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sn12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sn134ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sn134ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sn134Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SN1[34]"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C406S"; 
            browserCaps.AddBrowser("Sn134"); 
            this.Sn134ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sn134ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Sn156ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Sn156ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sn156Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SN1[56]");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["mobileDeviceModel"] = "C413S";
            browserCaps.AddBrowser("Sn156"); 
            this.Sn156ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sn156ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Snc1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Snc1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Snc1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SNC1"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["mobileDeviceModel"] = "D306S";
            browserCaps.AddBrowser("Snc1");
            this.Snc1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Snc1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Tsc1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Tsc1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Tsc1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TSC1"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "D302T";
            browserCaps.AddBrowser("Tsc1"); 
            this.Tsc1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tsc1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Tsi1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Tsi1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Tsi1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TSI1");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "701G";
            browserCaps.AddBrowser("Tsi1"); 
            this.Tsi1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tsi1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ts11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ts11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ts11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TS11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "C301T"; 
            browserCaps.AddBrowser("Ts11");
            this.Ts11ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ts11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ts12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ts12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ts12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TS12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "C310T"; 
            browserCaps.AddBrowser("Ts12");
            this.Ts12ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ts12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ts13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ts13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ts13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TS13");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "C410T";
            browserCaps.AddBrowser("Ts13");
            this.Ts13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ts13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Tst1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Tst1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tst1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TST1"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "TT01"; 
            browserCaps.AddBrowser("Tst1");
            this.Tst1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Tst1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Tst2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tst2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Tst2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TST2"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "TT02"; 
            browserCaps.AddBrowser("Tst2"); 
            this.Tst2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tst2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Tst3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Tst3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Tst3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TST3");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "TT03";
            browserCaps.AddBrowser("Tst3"); 
            this.Tst3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Tst3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ig01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ig01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ig01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "IG01"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NeoPoint"; 
            dictionary["mobileDeviceModel"] = "NP1000";
            browserCaps.AddBrowser("Ig01");
            this.Ig01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ig01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ig02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ig02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ig02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "IG02"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NeoPoint";
            dictionary["mobileDeviceModel"] = "NP1660";
            browserCaps.AddBrowser("Ig02"); 
            this.Ig02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ig02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ig03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ig03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ig03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "IG03");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NeoPoint"; 
            dictionary["mobileDeviceModel"] = "NP2000";
            browserCaps.AddBrowser("Ig03"); 
            this.Ig03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ig03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Qc31ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Qc31ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Qc31Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "QC31");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Qualcomm"; 
            dictionary["mobileDeviceModel"] = "QCP-860, QCP-1960"; 
            browserCaps.AddBrowser("Qc31");
            this.Qc31ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Qc31ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Qc12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Qc12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Qc12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "QC12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Qualcomm";
            dictionary["mobileDeviceModel"] = "QCP-1900, QCP-2700"; 
            browserCaps.AddBrowser("Qc12");
            this.Qc12ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Qc12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Qc32ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Qc32ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Qc32Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "QC32");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Qualcomm";
            dictionary["mobileDeviceModel"] = "QCP-2760";
            browserCaps.AddBrowser("Qc32");
            this.Qc32ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Qc32ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sp01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sp01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sp01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SP01"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["mobileDeviceModel"] = "MA120"; 
            browserCaps.AddBrowser("Sp01");
            this.Sp01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sp01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void ShProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void ShProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool ShProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SH"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "Duette"; 
            browserCaps.AddBrowser("Sh"); 
            this.ShProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.ShProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Upg1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Upg1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Upg1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UPG1");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "OpenWave";
            dictionary["mobileDeviceModel"] = "Generic Simulator"; 
            browserCaps.AddBrowser("Upg1");
            this.Upg1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Upg1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Opwv1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Opwv1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Opwv1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "OPWV1");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "3584";
            dictionary["maximumSoftkeyLabelLength"] = "9"; 
            dictionary["mobileDeviceManufacturer"] = "Openwave";
            dictionary["mobileDeviceModel"] = "Openwave 5.0 emulator"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "19"; 
            dictionary["screenPixelsHeight"] = "188";
            dictionary["screenPixelsWidth"] = "144";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            browserCaps.AddBrowser("Opwv1"); 
            this.Opwv1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Opwv1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void AlavProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AlavProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool AlavProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "ALAV");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "OneTouch"; 
            browserCaps.AddBrowser("Alav");
            this.AlavProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.AlavProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Im1kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Im1kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Im1kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "IM1K");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "iDEN"; 
            browserCaps.AddBrowser("Im1k");
            this.Im1kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Im1kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nt95ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nt95ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nt95Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "NT95");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "cdmaOne";
            browserCaps.AddBrowser("Nt95");
            this.Nt95ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nt95ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Mot2001ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Mot2001ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mot2001Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-2001"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1946";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 270c";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersWidth"] = "19"; 
            browserCaps.AddBrowser("Mot2001");
            this.Mot2001ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mot2001ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Motv200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motv200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Motv200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-v200");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hasBackButton"] = "false";
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Motorola v200";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Motv200");
            this.Motv200ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Motv200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mot72ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mot72ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mot72Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-72"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["hasBackButton"] = "false";
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Motorola i80s"; 
            dictionary["numberOfSoftkeys"] = "4"; 
            dictionary["rendersBreaksAfterWmlAnchor"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "13"; 
            browserCaps.AddBrowser("Mot72");
            this.Mot72ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mot72ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Mot76ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mot76ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Mot76Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-76"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2969";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Motorola i90c";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["screenCharactersWidth"] = "14";
            browserCaps.AddBrowser("Mot76"); 
            this.Mot76ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mot76ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Scp6000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Scp6000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Scp6000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sanyo-SCP6000");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canRenderInputAndSelectElementsTogether"] = "false"; 
            dictionary["hasBackButton"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "Sanyo SCP-6000"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenPixelsHeight"] = "120";
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Scp6000"); 
            this.Scp6000ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Scp6000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motd5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motd5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motd5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-D5");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2000"; 
            dictionary["maximumSoftkeyLabelLength"] = "6"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Motorola Talkabout 191/192/193"; 
            dictionary["numberOfSoftkeys"] = "3";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "13";
            dictionary["screenPixelsHeight"] = "51"; 
            dictionary["screenPixelsWidth"] = "91";
            browserCaps.AddBrowser("MotD5"); 
            this.Motd5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motd5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motf0ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motf0ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motf0Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-F0");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2000"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Motorola v50";
            dictionary["numberOfSoftkeys"] = "3"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "40"; 
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("MotF0");
            this.Motf0ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motf0ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sgha400ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sgha400ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sgha400Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SAMSUNG-SGH-A400");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "6"; 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "Samsung SGH-A400";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["requiresNoSoftkeyLabels"] = "true"; 
            dictionary["screenCharactersHeight"] = "3";
            dictionary["screenCharactersWidth"] = "13"; 
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "128";
            browserCaps.AddBrowser("SghA400"); 
            this.Sgha400ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sgha400ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sec03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sec03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sec03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SEC03"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "false";
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "Samsung SPH-i300";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "38";
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Sec03"); 
            this.Sec03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sec03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Siec3iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Siec3iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Siec3iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-C3I");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderMixedSelects"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "C35/M35";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "false"; 
            dictionary["requiresSpecialViewStateEncoding"] = "false";
            dictionary["requiresUrlEncodedPostfieldValues"] = "false"; 
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "54"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            browserCaps.AddBrowser("SieC3i");
            this.Siec3iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Siec3iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sn17ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sn17ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sn17Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SN17"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["maximumRenderedPageSize"] = "12000"; 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C1002S"; 
            dictionary["numberOfSoftkeys"] = "3"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "120"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("Sn17"); 
            this.Sn17ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sn17ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Scp4700ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Scp4700ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Scp4700Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Sanyo-SCP4700");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3072"; 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "Sanyo SCP 4700"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "32"; 
            dictionary["screenPixelsWidth"] = "91";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("Scp4700"); 
            this.Scp4700ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Scp4700ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Sec02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Sec02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sec02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SEC02");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2867"; 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "Samsung SPH-N200"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersBreaksAfterWmlAnchor"] = "true";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "15"; 
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Sec02");
            this.Sec02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sec02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sy15ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sy15ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sy15Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY15"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["maximumRenderedPageSize"] = "7500";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "Sanyo C1001SA";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Sy15");
            this.Sy15ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy15ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Db520ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Db520ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Db520Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LGE-DB520"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "3072";
            dictionary["mobileDeviceManufacturer"] = "Sprint"; 
            dictionary["mobileDeviceModel"] = "TP5200";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/wnd.wap.wml"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Db520");
            this.Db520ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Db520ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void L430v03j02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void L430v03j02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool L430v03j02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LGE-L430V03J02"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "10";
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LG-LP9000";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["requiresNoSoftkeyLabels"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "19";
            dictionary["screenPixelsHeight"] = "133"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsBold"] = "true"; 
            browserCaps.AddBrowser("L430V03J02"); 
            this.L430v03j02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.L430v03j02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void OpwvsdkProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void OpwvsdkProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool OpwvsdkProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^OPWV-SDK");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceManufacturer"] = "Openwave";
            dictionary["mobileDeviceModel"] = "Mobile Browser";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "19"; 
            dictionary["screenPixelsHeight"] = "188";
            dictionary["screenPixelsWidth"] = "144"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("OPWVSDK"); 
            this.OpwvsdkProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=OPWVSDK
            if (this.Opwvsdk6Process(headers, browserCaps)) { 
            }
            else { 
                if (this.Opwvsdk6plusProcess(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false;
                }
            }
            this.OpwvsdkProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Opwvsdk6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Opwvsdk6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Opwvsdk6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^OPWV-SDK/61");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "UP.Browser";
            dictionary["canSendMail"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["mobileDeviceModel"] = "WAP Simulator 6.1";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "108"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("OPWVSDK6");
            this.Opwvsdk6ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Opwvsdk6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Opwvsdk6plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Opwvsdk6plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Opwvsdk6plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^OPWV-SDK/(?\'modelVersion\'[7-9]|6[^01])"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave"; 
            dictionary["canSendMail"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["maximumRenderedPageSize"] = "66000"; 
            dictionary["mobileDeviceModel"] = regexWorker["Mobile Browser ${version}"];
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresPragmaNoCacheHeader"] = "true";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("OPWVSDK6Plus"); 
            this.Opwvsdk6plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Opwvsdk6plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Kddica21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Kddica21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Kddica21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^KDDI-CA21$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "A3012CA"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "147";
            dictionary["screenPixelsWidth"] = "125";
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("KDDICA21"); 
            this.Kddica21ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Kddica21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Kddits21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Kddits21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Kddits21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KDDI-TS21");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "C5001T";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "135"; 
            dictionary["screenPixelsWidth"] = "144";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("KDDITS21");
            this.Kddits21ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Kddits21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Kddisa21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Kddisa21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Kddisa21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KDDI-SA21"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "A3011SA"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "176"; 
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsItalic"] = "false";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("KDDISA21");
            this.Kddisa21ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Kddisa21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Km100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Km100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Km100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KM100");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "12"; 
            dictionary["mobileDeviceManufacturer"] = "OKWap";
            dictionary["mobileDeviceModel"] = "i108"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["rendersWmlSelectsAsMenuCards"] = "false"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["requiresPhoneNumbersAsPlainText"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("KM100");
            this.Km100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Km100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Lgelx5350ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Lgelx5350ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Lgelx5350Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LGE-LX5350");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LX5350";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "108"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("LGELX5350"); 
            this.Lgelx5350ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Lgelx5350ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Hitachip300ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Hitachip300ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Hitachip300Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Hitachi-P300"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Hitachi"; 
            dictionary["mobileDeviceModel"] = "SH-P300";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "17"; 
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("HitachiP300");
            this.Hitachip300ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Hitachip300ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sies46ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sies46ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sies46Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-S46");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hasBackButton"] = "false";
            dictionary["maximumRenderedPageSize"] = "2700";
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S46"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "19"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBold"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("SIES46");
            this.Sies46ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sies46ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Motorolav60gProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motorolav60gProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Motorolav60gProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-PHX4_"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V60G";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersHeight"] = "3";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "36";
            dictionary["screenPixelsWidth"] = "90"; 
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("MotorolaV60G");
            this.Motorolav60gProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motorolav60gProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Motorolav708ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Motorolav708ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Motorolav708Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-V708_");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "V70";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "2"; 
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "34"; 
            dictionary["screenPixelsWidth"] = "90";
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("MotorolaV708");
            this.Motorolav708ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motorolav708ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Motorolav708aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Motorolav708aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motorolav708aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-V708A"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderInputAndSelectElementsTogether"] = "false";
            dictionary["hasBackButton"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V70";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["screenCharactersHeight"] = "3";
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "94";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("MotorolaV708A"); 
            this.Motorolav708aProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motorolav708aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motorolae360ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motorolae360ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motorolae360Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Motorola-T33");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["hasBackButton"] = "false"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "8";
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "E360";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "27";
            dictionary["screenPixelsHeight"] = "96";
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("MotorolaE360");
            this.Motorolae360ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Motorolae360ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sonyericssona1101sProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sonyericssona1101sProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sonyericssona1101sProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KDDI-SN22"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "SonyEricsson"; 
            dictionary["mobileDeviceModel"] = "A1101S";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "9";
            dictionary["screenPixelsHeight"] = "123";
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("SonyericssonA1101S");
            this.Sonyericssona1101sProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sonyericssona1101sProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Philipsfisio820ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Philipsfisio820ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Philipsfisio820Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "PHILIPS-FISIO 820");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["maximumSoftkeyLabelLength"] = "6";
            dictionary["mobileDeviceManufacturer"] = "Philips";
            dictionary["mobileDeviceModel"] = "Fisio 820"; 
            dictionary["numberOfSoftkeys"] = "3";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "112";
            dictionary["screenPixelsWidth"] = "112"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("PhilipsFisio820"); 
            this.Philipsfisio820ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Philipsfisio820ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Casioa5302ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Casioa5302ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Casioa5302Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KDDI-CA22");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "A5302CA";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenPixelsHeight"] = "147";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("CasioA5302");
            this.Casioa5302ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Casioa5302ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Tcll668ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Tcll668ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Tcll668Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Compal-Seville"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Openwave";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "3800"; 
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "TCL"; 
            dictionary["mobileDeviceModel"] = "L668"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "14"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["type"] = regexWorker["Openwave ${majorVersion}.x Browser"];
            browserCaps.AddBrowser("TCLL668");
            this.Tcll668ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tcll668ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Kddits24ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Kddits24ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Kddits24Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KDDI-TS24"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000"; 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "A5304T"; 
            dictionary["PreferredImageMime"] = "image/jpeg";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenPixelsHeight"] = "176"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("KDDITS24");
            this.Kddits24ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Kddits24ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sies55ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sies55ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sies55Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-S55"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave";
            dictionary["canSendMail"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["maximumHrefLength"] = "980"; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "S55";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "19";
            dictionary["screenPixelsHeight"] = "80"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("SIES55");
            this.Sies55ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sies55ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sharpgx10ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sharpgx10ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sharpgx10Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^SHARP\\-TQ\\-GX10");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["mobileDeviceModel"] = "GX10";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("SHARPGx10");
            this.Sharpgx10ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sharpgx10ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void BenqathenaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void BenqathenaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool BenqathenaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^BENQ\\-Athena"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceManufacturer"] = "BenQ";
            dictionary["mobileDeviceModel"] = "S830c"; 
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "0";
            dictionary["screenPixelsWidth"] = "0"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsNoWrapStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("BenQAthena");
            this.BenqathenaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.BenqathenaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void OperaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void OperaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool OperaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Opera[ /](?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'letters\'\\w*))");
            if ((result == false)) { 
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), " (?\'screenWidth\'\\d*)x(?\'screenHeight\'\\d*)");
            // Capabilities: set capabilities
            dictionary["browser"] = "Opera";
            dictionary["cookies"] = "true"; 
            dictionary["css1"] = "true";
            dictionary["css2"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "40"; 
            dictionary["defaultScreenCharactersWidth"] = "80";
            dictionary["defaultScreenPixelsHeight"] = "480"; 
            dictionary["defaultScreenPixelsWidth"] = "640";
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["frames"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["letters"] = regexWorker["${letters}"];
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "false";
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["screenBitDepth"] = "8";
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"]; 
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsDivNoWrap"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["type"] = regexWorker["Opera${major}"]; 
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.CheckBox, System.Web, Version=2.0.0.0, Culture=neutral," +
                " PublicKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter"; 
            browserCaps.Adapters["System.Web.UI.WebControls.RadioButton, System.Web, Version=2.0.0.0, Culture=neutr" +
                "al, PublicKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("Opera");
            this.OperaProcessGateways(headers, browserCaps); 
            // gateway, parent=Opera 
            this.OperamobileProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Opera
            if (this.Opera1to3betaProcess(headers, browserCaps)) {
            }
            else { 
                if (this.Opera4Process(headers, browserCaps)) {
                } 
                else { 
                    if (this.Opera5to9Process(headers, browserCaps)) {
                    } 
                    else {
                        if (this.OperapsionProcess(headers, browserCaps)) {
                        }
                        else { 
                            ignoreApplicationBrowsers = false;
                        } 
                    } 
                }
            } 
            this.OperaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void OperamobileProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void OperamobileProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool OperamobileProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Linux \\S+embedix");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isMobileDevice"] = "true"; 
            this.OperamobileProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.OperamobileProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Opera1to3betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Opera1to3betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Opera1to3betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(dictionary["majorversion"])); 
            result = regexWorker.ProcessRegex(headerValue, "[1-3]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            browserCaps.AddBrowser("Opera1to3beta"); 
            this.Opera1to3betaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Opera1to3betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Opera4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Opera4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Opera4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "4");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "1.3"; 
            dictionary["supportsFileUpload"] = "true";
            dictionary["xml"] = "true"; 
            browserCaps.AddBrowser("Opera4"); 
            this.Opera4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Opera4
            if (this.Opera4betaProcess(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Opera4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Opera4betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Opera4betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Opera4betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true"; 
            browserCaps.AddBrowser("Opera4beta");
            this.Opera4betaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Opera4betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Opera5to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Opera5to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Opera5to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[5-9]"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.3";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["supportsFileUpload"] = "true";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsItalic"] = "false"; 
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true"; 
            browserCaps.AddBrowser("Opera5to9"); 
            this.Opera5to9ProcessGateways(headers, browserCaps);
            // gateway, parent=Opera5to9 
            this.Opera5to9betaProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Opera5to9
            if (this.Opera6to9Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Opera5to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Opera6to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Opera6to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Opera6to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "[6-9]");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true"; 
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["javaapplets"] = "true";
            dictionary["maximumRenderedPageSize"] = "2000000";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["screenBitDepth"] = "32"; 
            dictionary["supportsFontName"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["xml"] = "false";
            browserCaps.Adapters["System.Web.UI.WebControls.CheckBox, System.Web, Version=2.0.0.0, Culture=neutral," + 
                " PublicKeyToken=b03f5f7f11d50a3a"] = "";
            browserCaps.Adapters["System.Web.UI.WebControls.RadioButton, System.Web, Version=2.0.0.0, Culture=neutr" +
                "al, PublicKeyToken=b03f5f7f11d50a3a"] = "";
            browserCaps.Adapters["System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, " + 
                "PublicKeyToken=b03f5f7f11d50a3a"] = "";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = ""; 
            browserCaps.HtmlTextWriter = "";
            browserCaps.AddBrowser("Opera6to9"); 
            this.Opera6to9ProcessGateways(headers, browserCaps);
            // gateway, parent=Opera6to9
            this.OperamobilebrowserProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Opera6to9
            if (this.Opera7to9Process(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Opera6to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Opera7to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Opera7to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Opera7to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[7-9]");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.4";
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true"; 
            browserCaps.AddBrowser("Opera7to9");
            this.Opera7to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Opera7to9 
            if (this.Opera8to9Process(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Opera7to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Opera8to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Opera8to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Opera8to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[8-9]");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["supportsCallback"] = "true"; 
            browserCaps.AddBrowser("Opera8to9");
            this.Opera8to9ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Opera8to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void OperamobilebrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void OperamobilebrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool OperamobilebrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "; (?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+)\\)");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["backgroundSounds"] = "false";
            dictionary["canSendMail"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["JavaApplets"] = "false";
            dictionary["maximumRenderedPageSize"] = "200000";
            dictionary["msDomVersion"] = "0.0"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["requiredMetaTagNameValue"] = "HandheldFriendly"; 
            dictionary["requiresPragmaNoCacheHeader"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsItalic"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.Html32TextWriter"; 
            this.OperamobilebrowserProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.OperamobilebrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Opera5to9betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Opera5to9betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Opera5to9betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true"; 
            this.Opera5to9betaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Opera5to9betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void OperapsionProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void OperapsionProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool OperapsionProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/.* \\(compatible; Opera .*; EPOC; (?\'screenWidth\'\\d*)x(?\'screenHeight\'\\d*)" +
                    "\\)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["canSendMail"] = "false"; 
            dictionary["css1"] = "false";
            dictionary["css2"] = "false"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2560";
            dictionary["mobileDeviceManufacturer"] = "Psion"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "50";
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsSelectMultiple"] = "false"; 
            dictionary["tagwriter"] = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("OperaPsion");
            this.OperapsionProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.OperapsionProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void MypalmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void MypalmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MypalmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/2\\.0 \\(compatible; Elaine/(?\'gatewayMajorVersion\'\\w*)(?\'gatewayMinorVersi" + 
                    "on\'\\.\\w*)\\)"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "MyPalm";
            dictionary["cookies"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72"; 
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["ecmascriptversion"] = "1.1"; 
            dictionary["frames"] = "true";
            dictionary["gatewayMajorVersion"] = regexWorker["${gatewayMajorVersion}"];
            dictionary["gatewayMinorVersion"] = regexWorker["${gatewayMinorVersion}"];
            dictionary["gatewayVersion"] = regexWorker["${gatewayMajorVersion}${gatewayMinorVersion}"]; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false";
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiredMetaTagNameValue"] = "PalmComputingPlatform"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36";
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsImageSubmit"] = "false";
            dictionary["tables"] = "false";
            dictionary["type"] = "MyPalm"; 
            dictionary["vbscript"] = "false";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Mypalm"); 
            this.MypalmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Mypalm
            if (this.Mypalm1Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.MypalmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Mypalm1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Mypalm1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mypalm1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["gatewayMajorVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^1");
            if ((result == false)) {
                return false;
            } 
            headerValue = ((string)(dictionary["gatewayMinorVersion"]));
            result = regexWorker.ProcessRegex(headerValue, "\\.0$"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "EarthLink";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false";
            dictionary["maximumRenderedPageSize"] = "7000"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "false";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["requiresUniqueHtmlInputNames"] = "true";
            dictionary["screenBitDepth"] = "4";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "30";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "EarthLink";
            browserCaps.AddBrowser("MyPalm1"); 
            this.Mypalm1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mypalm1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PalmwebproProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PalmwebproProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PalmwebproProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "PalmOS.*WebPro"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Palm WebPro"; 
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javascript"] = "false";
            dictionary["maximumRenderedPageSize"] = "7000"; 
            dictionary["mobileDeviceManufacturer"] = "Palm"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiredMetaTagNameValue"] = "PalmComputingPlatform"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "30"; 
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFileUpload"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "Palm WebPro";
            browserCaps.AddBrowser("PalmWebPro"); 
            this.PalmwebproProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PalmWebPro
            if (this.Palmwebpro3Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.PalmwebproProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Palmwebpro3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Palmwebpro3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Palmwebpro3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "WebPro3\\.");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["CanSendMail"] = "true"; 
            dictionary["InputType"] = "keyboard"; 
            dictionary["JavaScript"] = "true";
            dictionary["MaximumRenderedPageSize"] = "520000"; 
            dictionary["maximumHrefLength"] = "2000";
            dictionary["preferredRequestEncoding"] = "ISO-8859-1";
            dictionary["preferredResponseEncoding"] = "ISO-8859-1";
            dictionary["RequiresControlStateInSession"] = "false"; 
            dictionary["RequiresOutputOptimization"] = "false";
            dictionary["RequiresPragmaNoCacheHeader"] = "false"; 
            dictionary["RequiresUniqueFilePathSuffix"] = "false"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["Tables"] = "true"; 
            browserCaps.AddBrowser("PalmWebPro3");
            this.Palmwebpro3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Palmwebpro3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void EudorawebProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void EudorawebProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool EudorawebProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EudoraWeb (?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "EudoraWeb";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["cookies"] = "true";
            dictionary["isColor"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false";
            dictionary["maximumRenderedPageSize"] = "30000"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsImageSubmit"] = "false";
            dictionary["supportsItalic"] = "true"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "EudoraWeb";
            dictionary["vbscript"] = "false"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("Eudoraweb");
            this.EudorawebProcessGateways(headers, browserCaps); 
            // gateway, parent=Eudoraweb 
            this.EudorawebmsieProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Eudoraweb
            if (this.PdqbrowserProcess(headers, browserCaps)) {
            }
            else { 
                if (this.Eudoraweb21plusProcess(headers, browserCaps)) {
                } 
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            }
            this.EudorawebProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void EudorawebmsieProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void EudorawebmsieProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool EudorawebmsieProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MSIE (?\'version\'(?\'msMajorVersion\'\\d+)(?\'msMinorVersion\'\\.\\d+)(?\'letters\'\\w*))(?\'" +
                    "extra\'[^)]*)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "true"; 
            dictionary["backgroundsounds"] = "true";
            dictionary["ecmaScriptVersion"] = "1.2";
            dictionary["frames"] = "true";
            dictionary["msdomversion"] = regexWorker["${msMajorVersion}${msMinorVersion}"]; 
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["w3cdomversion"] = "1.0"; 
            this.EudorawebmsieProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.EudorawebmsieProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void PdqbrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PdqbrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool PdqbrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "pdQbrowser");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "QCP 6035";
            dictionary["supportsFontSize"] = "false"; 
            browserCaps.AddBrowser("PdQbrowser");
            this.PdqbrowserProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PdqbrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Eudoraweb21plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Eudoraweb21plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Eudoraweb21plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "([3-9]\\.\\d+)|(2\\.[1-9]\\d*)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true"; 
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "30";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsFontColor"] = "false";
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("Eudoraweb21Plus");
            this.Eudoraweb21plusProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Eudoraweb21plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void PalmscapeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void PalmscapeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool PalmscapeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Palmscape/.*\\(v. (?\'version\'[^;]+);"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Palmscape";
            dictionary["cookies"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36";
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsCharacterEntityEncodign"] = "false"; 
            dictionary["type"] = "Palmscape";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("Palmscape");
            this.PalmscapeProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Palmscape 
            if (this.PalmscapeversionProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.PalmscapeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void PalmscapeversionProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void PalmscapeversionProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PalmscapeversionProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            browserCaps.AddBrowser("PalmscapeVersion"); 
            this.PalmscapeversionProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PalmscapeversionProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void AuspalmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AuspalmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool AuspalmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "AUS PALM WAPPER"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "AU-System Demo WAP Browser"; 
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["optimumPageWeight"] = "900"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "36"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsCharacterEntityEncoding"] = "true"; 
            dictionary["type"] = "AU-System";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("AusPalm");
            this.AuspalmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.AuspalmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void SharppdaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void SharppdaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SharppdaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "sharp pda browser/(?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Sharp PDA Browser";
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["supportsCharacterEntityEncoding"] = "false";
            dictionary["type"] = "Sharp PDA Browser"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("SharpPda");
            this.SharppdaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SharpPda
            if (this.Zaurusmie1Process(headers, browserCaps)) { 
            }
            else {
                if (this.Zaurusmie21Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Zaurusmie25Process(headers, browserCaps)) { 
                    } 
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                }
            }
            this.SharppdaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Zaurusmie1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Zaurusmie1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Zaurusmie1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MI-E1");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["defaultCharacterHeight"] = "18";
            dictionary["defaultCharacterWidth"] = "7";
            dictionary["frames"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["mobileDeviceModel"] = "Zaurus MI-E1"; 
            dictionary["requiresDBCSCharacter"] = "true";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("ZaurusMiE1"); 
            this.Zaurusmie1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Zaurusmie1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Zaurusmie21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Zaurusmie21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Zaurusmie21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MI-E21");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "60000";
            dictionary["mobileDeviceModel"] = "Zaurus MI-E21"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresDBCSCharacter"] = "true"; 
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "18";
            dictionary["screenCharactersWidth"] = "40"; 
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "240";
            dictionary["supportsFontSize"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("ZaurusMiE21");
            this.Zaurusmie21ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Zaurusmie21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Zaurusmie25ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Zaurusmie25ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Zaurusmie25Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MI-E25"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "60000"; 
            dictionary["mobileDeviceModel"] = "Zaurus MI-E25DC";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresDBCSCharacter"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "50";
            dictionary["screenPixelsHeight"] = "240"; 
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("ZaurusMiE25");
            this.Zaurusmie25ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Zaurusmie25ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PanasonicProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PanasonicProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PanasonicProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Panasonic-(?\'deviceModel\'.*)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Panasonic";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumSoftkeyLabelLength"] = "16";
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = regexWorker["${deviceModel}"];
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "100";
            dictionary["supportsCacheControlMetaTag"] = "false"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "Panasonic";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("Panasonic");
            this.PanasonicProcessGateways(headers, browserCaps);
            // gateway, parent=Panasonic 
            this.PanasonicexchangesupporteddeviceProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Panasonic 
            if (this.Panasonicgad95Process(headers, browserCaps)) {
            } 
            else {
                if (this.Panasonicgad87Process(headers, browserCaps)) {
                }
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            } 
            this.PanasonicProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Panasonicgad95ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Panasonicgad95ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Panasonicgad95Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD95"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            browserCaps.AddBrowser("PanasonicGAD95");
            this.Panasonicgad95ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Panasonicgad95ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Panasonicgad87ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Panasonicgad87ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Panasonicgad87Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD87"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Panasonic"; 
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenPixelsHeight"] = "176";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsNoWrapStyle"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "false"; 
            dictionary["type"] = "Panasonic"; 
            browserCaps.AddBrowser("PanasonicGAD87");
            this.Panasonicgad87ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PanasonicGAD87
            if (this.Panasonicgad87a39Process(headers, browserCaps)) {
            } 
            else {
                if (this.Panasonicgad87a38Process(headers, browserCaps)) { 
                } 
                else {
                    ignoreApplicationBrowsers = false; 
                }
            }
            this.Panasonicgad87ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PanasonicexchangesupporteddeviceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PanasonicexchangesupporteddeviceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PanasonicexchangesupporteddeviceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\/(A3[89]|A[4-9]\\d|A\\d{3,})"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            this.PanasonicexchangesupporteddeviceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PanasonicexchangesupporteddeviceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Panasonicgad87a39ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Panasonicgad87a39ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Panasonicgad87a39Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD87\\/A39"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceModel"] = "GD87"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "14";
            dictionary["tables"] = "false"; 
            browserCaps.AddBrowser("PanasonicGAD87A39");
            this.Panasonicgad87a39ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Panasonicgad87a39ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Panasonicgad87a38ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Panasonicgad87a38ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Panasonicgad87a38Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD87\\/A38"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "12155";
            dictionary["mobileDeviceModel"] = "GU87"; 
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            browserCaps.AddBrowser("PanasonicGAD87A38");
            this.Panasonicgad87a38ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Panasonicgad87a38ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void WinceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void WinceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool WinceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/\\S* \\(compatible; MSIE (?\'majorVersion\'\\d*)(?\'minorVersion\'\\.\\d*);\\D* Wi" +
                    "ndows CE(;(?\'deviceID\' \\D\\w*))?(; (?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+))?"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "true";
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "WinCE"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "6"; 
            dictionary["defaultScreenCharactersWidth"] = "12";
            dictionary["defaultScreenPixelsHeight"] = "72"; 
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["frames"] = "true"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["jscriptversion"] = "1.0"; 
            dictionary["majorVersion"] = regexWorker["${majorVersion}"];
            dictionary["minorVersion"] = regexWorker["${minorVersion}"];
            dictionary["platform"] = "WinCE";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["version"] = regexWorker["${majorVersion}${minorVersion}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("WinCE"); 
            this.WinceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=WinCE 
            if (this.PieProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Pie4Process(headers, browserCaps)) {
                }
                else { 
                    if (this.Pie5plusProcess(headers, browserCaps)) {
                    } 
                    else { 
                        ignoreApplicationBrowsers = false;
                    } 
                }
            }
            this.WinceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PieProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PieProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PieProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^3\\.02$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Pocket IE"; 
            dictionary["defaultCharacterHeight"] = "18";
            dictionary["defaultCharacterWidth"] = "7";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["majorVersion"] = "4"; 
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["minorVersion"] = ".0";
            dictionary["mobileDeviceModel"] = "Pocket PC"; 
            dictionary["optimumPageWeight"] = "4000";
            dictionary["requiresContentTypeMetaTag"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["supportsBodyColor"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["type"] = "Pocket IE"; 
            dictionary["version"] = "4.0";
            browserCaps.AddBrowser("PIE"); 
            this.PieProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PIE
            if (this.PieppcProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.PienodeviceidProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.PiesmartphoneProcess(headers, browserCaps)) {
                    }
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            } 
            this.PieProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PieppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PieppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PieppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, " PPC;"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["minorVersion"] = ".1";
            dictionary["version"] = "4.1"; 
            browserCaps.AddBrowser("PIEPPC"); 
            this.PieppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PieppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Pie4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Pie4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Pie4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MSIE 4(\\.\\d*)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "true"; 
            dictionary["browser"] = "Pocket IE";
            dictionary["cdf"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12";
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["msdomversion"] = "4.0";
            dictionary["platform"] = "WinCE";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "50"; 
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "640"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsDivNoWrap"] = "true";
            dictionary["supportsFileUpload"] = "false";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["type"] = "Pocket IE";
            dictionary["vbscript"] = "true"; 
            browserCaps.AddBrowser("PIE4"); 
            this.Pie4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=PIE4
            if (this.Pie4ppcProcess(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Pie4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Pie5plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Pie5plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Pie5plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MSIE 5(\\.\\d*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "IE"; 
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["javaapplets"] = "true"; 
            dictionary["msdomversion"] = "5.5"; 
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["type"] = "Pocket IE"; 
            dictionary["vbscript"] = "true";
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true";
            browserCaps.AddBrowser("PIE5Plus"); 
            this.Pie5plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=PIE5Plus 
            if (this.Sigmarion3Process(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.Pie5plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void PienodeviceidProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PienodeviceidProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool PienodeviceidProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["supportsQueryStringInFormAction"] = "false";
            browserCaps.AddBrowser("PIEnoDeviceID");
            this.PienodeviceidProcessGateways(headers, browserCaps);
            // gateway, parent=PIEnoDeviceID 
            this.PiescreenbitdepthProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PienodeviceidProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void PiescreenbitdepthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void PiescreenbitdepthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool PiescreenbitdepthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["UA-COLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "color32");
            if ((result == false)) { 
                return false;
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "32";
            this.PiescreenbitdepthProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.PiescreenbitdepthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void NetfrontProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void NetfrontProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool NetfrontProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\((?\'deviceID\'.*)\\) NetFront\\/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\" + 
                    ".\\d*).*");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "Compact NetFront"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isMobileDevice"] = "true";
            dictionary["javascript"] = "false";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true"; 
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFileUpload"] = "false";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsImageSubmit"] = "false"; 
            dictionary["supportsItalic"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["type"] = regexWorker["Compact NetFront ${browserMajorVersion}"]; 
            browserCaps.AddBrowser("NetFront");
            this.NetfrontProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=NetFront 
            if (this.Slb500Process(headers, browserCaps)) {
            } 
            else { 
                if (this.VrnaProcess(headers, browserCaps)) {
                } 
                else {
                    ignoreApplicationBrowsers = false;
                }
            } 
            this.NetfrontProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Slb500ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Slb500ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Slb500Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SL-B500"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "NetFront";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "60000";
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["mobileDeviceModel"] = "SL-B500";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresNoBreakInFormatting"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "21"; 
            dictionary["screenCharactersWidth"] = "47";
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsAccessKeyAttribute"] = "false"; 
            dictionary["supportsBold"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsMultilineTextboxDisplay"] = "true";
            browserCaps.AddBrowser("SLB500"); 
            this.Slb500ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Slb500ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void VrnaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void VrnaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool VrnaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "sony/model vrna"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["mobileDeviceModel"] = "CLIE PEG-TG50";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["javascript"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "65000"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["requiresPragmaNoCacheHeader"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "31"; 
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "320"; 
            dictionary["supportsAccessKeyAttribute"] = "false";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsMultilineTextboxDisplay"] = "true";
            browserCaps.AddBrowser("VRNA"); 
            this.VrnaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.VrnaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Pie4ppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Pie4ppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Pie4ppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "PPC(; (?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+))?");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "MSIE";
            dictionary["ecmascriptversion"] = "1.0"; 
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "800000";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "16";
            dictionary["screenCharactersWidth"] = "32";
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["type"] = regexWorker["MSIE ${majorVersion}"];
            browserCaps.AddBrowser("PIE4PPC"); 
            this.Pie4ppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Pie4ppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void PiesmartphoneProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void PiesmartphoneProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool PiesmartphoneProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Smartphone");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["frames"] = "false";
            dictionary["inputType"] = "telephoneKeypad"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorVersion"] = ".1"; 
            dictionary["mobileDeviceModel"] = "Smartphone";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "28"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsFontName"] = "false"; 
            dictionary["version"] = "4.1";
            browserCaps.AddBrowser("PIESmartphone");
            this.PiesmartphoneProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PiesmartphoneProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sigmarion3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sigmarion3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sigmarion3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "sigmarion3"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "64000";
            dictionary["mobileDeviceManufacturer"] = "NTT DoCoMo"; 
            dictionary["MobileDeviceModel"] = "Sigmarion III"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRequestEncoding"] = "shift_jis"; 
            dictionary["preferredResponseEncoding"] = "shift_jis";
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "19"; 
            dictionary["screenCharactersWidth"] = "94";
            dictionary["screenPixelsHeight"] = "480"; 
            dictionary["screenPixelsWidth"] = "800"; 
            browserCaps.AddBrowser("sigmarion3");
            this.Sigmarion3ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sigmarion3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Mspie06ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Mspie06ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Mspie06Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Microsoft Pocket Internet Explorer/0\\.6");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "PIE"; 
            dictionary["cookies"] = "false";
            dictionary["isMobileDevice"] = "true";
            dictionary["majorversion"] = "1";
            dictionary["minorversion"] = "0"; 
            dictionary["platform"] = "WinCE";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "PIE"; 
            dictionary["version"] = "1.0";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("MSPIE06");
            this.Mspie06ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mspie06ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MspieProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MspieProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MspieProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla[^(]*\\(compatible; MSPIE (?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'letter" + 
                    "s\'\\w*))(?\'extra\'.*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true"; 
            dictionary["browser"] = "PIE";
            dictionary["cookies"] = "true"; 
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["minorversion"] = regexWorker["${minor}"]; 
            dictionary["tables"] = "true";
            dictionary["type"] = regexWorker["PIE${major}"];
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("MSPIE"); 
            this.MspieProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MSPIE
            if (this.Mspie2Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.MspieProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Mspie2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Mspie2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Mspie2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "2\\.");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["frames"] = "true"; 
            browserCaps.AddBrowser("MSPIE2");
            this.Mspie2ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mspie2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void SktdevicesProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool SktdevicesProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, @"^(?'carrier'\S{3})(?'serviceType'\d)(?'deviceType'\d)(?'deviceManufacturer'\S{2})(?'deviceID'\S{2})(?'browserType'\d{2})(?'majorVersion'\d)(?'minorVersion'\d)(?'screenWidth'\d{3})(?'screenHeight'\d{3})(?'screenColumn'\d{2})(?'screenRow'\d{2})(?'colorDepth'\d{2})(?'MINNumber'\d{8})"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["browserType"] = regexWorker["${browserType}"];
            dictionary["colorDepth"] = regexWorker["${colorDepth}"]; 
            dictionary["cookies"] = "false"; 
            dictionary["deviceManufacturer"] = regexWorker["${deviceManufacturer}"];
            dictionary["deviceID"] = regexWorker["${deviceID}"]; 
            dictionary["deviceType"] = regexWorker["${deviceType}"];
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${majorVersion}"];
            dictionary["minorVersion"] = regexWorker["${minorVersion}"]; 
            dictionary["screenColumn"] = regexWorker["${screenColumn}"];
            dictionary["screenHeight"] = regexWorker["${screenHeight}"]; 
            dictionary["screenWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["screenRow"] = regexWorker["${screenRow}"];
            dictionary["version"] = regexWorker["${majorVersion}.${minorVersion}"]; 
            browserCaps.AddBrowser("SKTDevices");
            this.SktdevicesProcessGateways(headers, browserCaps);
            // gateway, parent=SKTDevices
            this.SktdevicescolordepthProcess(headers, browserCaps); 
            // gateway, parent=SKTDevices
            this.SktdevicesscreenrowProcess(headers, browserCaps); 
            // gateway, parent=SKTDevices 
            this.SktdevicesscreencolumnProcess(headers, browserCaps);
            // gateway, parent=SKTDevices 
            this.SktdevicesscreenheightProcess(headers, browserCaps);
            // gateway, parent=SKTDevices
            this.SktdevicesscreenwidthProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SKTDevices
            if (this.SktdeviceshyundaiProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.SktdeviceshanhwaProcess(headers, browserCaps)) { 
                }
                else {
                    if (this.SktdevicesjtelProcess(headers, browserCaps)) {
                    } 
                    else {
                        if (this.SktdeviceslgProcess(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.SktdevicesmotorolaProcess(headers, browserCaps)) { 
                            }
                            else {
                                if (this.SktdevicesnokiaProcess(headers, browserCaps)) {
                                } 
                                else {
                                    if (this.SktdevicesskttProcess(headers, browserCaps)) { 
                                    } 
                                    else {
                                        if (this.SktdevicessamsungProcess(headers, browserCaps)) { 
                                        }
                                        else {
                                            if (this.SktdevicesericssonProcess(headers, browserCaps)) {
                                            } 
                                            else {
                                                ignoreApplicationBrowsers = false; 
                                            } 
                                        }
                                    } 
                                }
                            }
                        }
                    } 
                }
            } 
            this.SktdevicesProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void SktdevicescolordepthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void SktdevicescolordepthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool SktdevicescolordepthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["colorDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d[1-9])|([1-9]0)$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["screenBitDepth"] = regexWorker["${colorDepth}"]; 
            this.SktdevicescolordepthProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SKTDevicesColorDepth 
            if (this.SktdevicesiscolorProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.SktdevicescolordepthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesiscolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesiscolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesiscolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["colorDepth"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(0[5-9])|([1-9]\\d)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            this.SktdevicesiscolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesiscolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreenrowProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreenrowProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreenrowProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenRow"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d[1-9])|([1-9]0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenCharactersHeight"] = regexWorker["${screenRow}"];
            this.SktdevicesscreenrowProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreenrowProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreencolumnProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreencolumnProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreencolumnProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenColumn"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d[1-9])|([1-9]0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenCharactersWidth"] = regexWorker["${screenColumn}"];
            this.SktdevicesscreencolumnProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreencolumnProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreenheightProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreenheightProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreenheightProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenHeight"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d\\d[1-9])|(((\\d[1-9])|([1-9]0))0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            this.SktdevicesscreenheightProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreenheightProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreenwidthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreenwidthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreenwidthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenWidth"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d\\d[1-9])|(((\\d[1-9])|([1-9]0))0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            this.SktdevicesscreenwidthProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreenwidthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdeviceshyundaiProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdeviceshyundaiProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdeviceshyundaiProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HD");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hyundai";
            browserCaps.AddBrowser("SKTDevicesHyundai");
            this.SktdeviceshyundaiProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SKTDevicesHyundai
            if (this.Pse200Process(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.SktdeviceshyundaiProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Pse200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Pse200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Pse200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "10");
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(dictionary["browserType"])); 
            result = regexWorker.ProcessRegex(headerValue, "15");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "Infraware";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Pantech&Curitel"; 
            dictionary["mobileDeviceModel"] = "PS-E200";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "true"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenPixelsHeight"] = "80"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["${browser} ${majorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("PSE200");
            this.Pse200ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Pse200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void SktdeviceshanhwaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void SktdeviceshanhwaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool SktdeviceshanhwaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HH"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Hanhwa";
            browserCaps.AddBrowser("SKTDevicesHanhwa"); 
            this.SktdeviceshanhwaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.SktdeviceshanhwaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void SktdevicesjtelProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void SktdevicesjtelProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool SktdevicesjtelProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "JT");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "JTEL"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.ChtmlTextWriter"; 
            browserCaps.AddBrowser("SKTDevicesJTEL");
            this.SktdevicesjtelProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=SKTDevicesJTEL
            if (this.Jtel01Process(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false; 
            } 
            this.SktdevicesjtelProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Jtel01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jtel01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Jtel01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "01"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["mobileDeviceModel"] = "Cellvic XG"; 
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "12";
            browserCaps.AddBrowser("JTEL01"); 
            this.Jtel01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JTEL01
            if (this.JtelnateProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Jtel01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void JtelnateProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JtelnateProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool JtelnateProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["browserType"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "03");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "NATE"; 
            dictionary["cookies"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontColor"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "NATE 1";
            browserCaps.AddBrowser("JTELNate"); 
            this.JtelnateProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.JtelnateProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void SktdeviceslgProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void SktdeviceslgProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool SktdeviceslgProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            browserCaps.AddBrowser("SKTDevicesLG"); 
            this.SktdeviceslgProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.SktdeviceslgProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void SktdevicesmotorolaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void SktdevicesmotorolaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SktdevicesmotorolaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MT");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            browserCaps.AddBrowser("SKTDevicesMotorola");
            this.SktdevicesmotorolaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=SKTDevicesMotorola
            if (this.Sktdevicesv730Process(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false; 
            } 
            this.SktdevicesmotorolaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sktdevicesv730ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sktdevicesv730ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sktdevicesv730Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "07"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(dictionary["browserType"])); 
            result = regexWorker.ProcessRegex(headerValue, "00");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "AU-System";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["mobileDeviceModel"] = "V730"; 
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["preferredRenderingType"] = "wml11";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "true";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlSelectsAsMenuCards"] = "true"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = regexWorker["${browser} ${majorVersion}"];
            browserCaps.AddBrowser("SKTDevicesV730"); 
            this.Sktdevicesv730ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sktdevicesv730ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void SktdevicesnokiaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void SktdevicesnokiaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool SktdevicesnokiaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "NO"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Nokia"; 
            browserCaps.AddBrowser("SKTDevicesNokia");
            this.SktdevicesnokiaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesnokiaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesskttProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesskttProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesskttProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SK");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "SKTT";
            browserCaps.AddBrowser("SKTDevicesSKTT");
            this.SktdevicesskttProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.SktdevicesskttProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void SktdevicessamsungProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void SktdevicessamsungProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SktdevicessamsungProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SS"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            browserCaps.AddBrowser("SKTDevicesSamSung");
            this.SktdevicessamsungProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=SKTDevicesSamSung 
            if (this.Sche150Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.SktdevicessamsungProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sche150ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sche150ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sche150Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["browserType"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "15"); 
            if ((result == false)) {
                return false; 
            } 
            headerValue = ((string)(dictionary["deviceID"]));
            result = regexWorker.ProcessRegex(headerValue, "50"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Infraware"; 
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceModel"] = "SCH-E150";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["type"] = regexWorker["${browser} ${majorVersion}"]; 
            browserCaps.AddBrowser("SCHE150"); 
            this.Sche150ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sche150ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void SktdevicesericssonProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void SktdevicesericssonProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SktdevicesericssonProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["browserType"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "01");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Ericsson"; 
            browserCaps.AddBrowser("SKTDevicesEricsson");
            this.SktdevicesericssonProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesericssonProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void WebtvProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void WebtvProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool WebtvProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "WebTV/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'letters\'\\w*))");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "WebTV"; 
            dictionary["cookies"] = "true";
            dictionary["isMobileDevice"] = "true";
            dictionary["letters"] = regexWorker["${letters}"];
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["WebTV${major}"]; 
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("WebTV");
            this.WebtvProcessGateways(headers, browserCaps);
            // gateway, parent=WebTV
            this.WebtvbetaProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=WebTV 
            if (this.Webtv2Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.WebtvProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Webtv2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Webtv2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Webtv2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["minorversion"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "2"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["css1"] = "true"; 
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["isMobileDevice"] = "false";
            dictionary["javascript"] = "true";
            dictionary["supportsBold"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsImageSubmit"] = "false"; 
            dictionary["supportsItalic"] = "false";
            browserCaps.AddBrowser("WebTV2");
            this.Webtv2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Webtv2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void WebtvbetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void WebtvbetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool WebtvbetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["letters"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^b"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            this.WebtvbetaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.WebtvbetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void WinwapProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void WinwapProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool WinwapProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^WinWAP-(?\'platform\'\\w*)/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)" + 
                    ""); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "WinWAP";
            dictionary["canRenderAfterInputOrSelectElement"] = "false"; 
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false"; 
            dictionary["hasBackButton"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3500";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["platform"] = regexWorker["${platform}"]; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["rendersWmlSelectsAsMenuCards"] = "false";
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUniqueFilepathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "16"; 
            dictionary["screenCharactersWidth"] = "43"; 
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "240"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = regexWorker["WinWAP ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("WinWap"); 
            this.WinwapProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.WinwapProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void XiinoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void XiinoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool XiinoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Xiino/(?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+).* (?\'screenWidth\'\\" + 
                    "d+)x(?\'screenHeight\'\\d+);");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Xiino";
            dictionary["canRenderEmptySelects"] = "true";
            dictionary["canSendMail"] = "false";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "65000"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "30"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"]; 
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCharacterEntityEncoding"] = "false";
            dictionary["supportsFontSize"] = "true";
            dictionary["type"] = "Xiino";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Xiino"); 
            this.XiinoProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Xiino 
            if (this.Xiinov2Process(headers, browserCaps)) {
            }
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.XiinoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Xiinov2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Xiinov2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Xiinov2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^2\\.0$"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["supportsItalic"] = "true"; 
            browserCaps.AddBrowser("XiinoV2"); 
            this.Xiinov2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Xiinov2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void DefaultDefaultProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool DefaultDefaultProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "0.0";
            dictionary["javascript"] = "false"; 
            dictionary["jscriptversion"] = "0.0";
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Default 
            if (this.DefaultWmlProcess(headers, browserCaps)) {
            } 
            else {
                if (this.DefaultXhtmlmpProcess(headers, browserCaps)) {
                }
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            } 
            this.DefaultDefaultProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void DefaultWmlProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool DefaultWmlProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["Accept"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "text/vnd\\.wap\\.wml|text/hdml"); 
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(headers["Accept"]));
            result = regexWorker.ProcessRegex(headerValue, "application/xhtml\\+xml; profile|application/vnd\\.wap\\.xhtml\\+xml");
            if ((result == true)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            bool ignoreApplicationBrowsers = false;
            this.DefaultWmlProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void DefaultXhtmlmpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool DefaultXhtmlmpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["Accept"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "application/xhtml\\+xml; profile|application/vnd\\.wap\\.xhtml\\+xml"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(headers["Accept"])); 
            result = regexWorker.ProcessRegex(headerValue, "text/hdml");
            if ((result == true)) { 
                return false; 
            }
            headerValue = ((string)(headers["Accept"])); 
            result = regexWorker.ProcessRegex(headerValue, "text/vnd\\.wap\\.wml");
            if ((result == true)) {
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["preferredRenderingMime"] = "text/html"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter"; 
            bool ignoreApplicationBrowsers = false;
            this.DefaultXhtmlmpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected override void PopulateMatchedHeaders(System.Collections.IDictionary dictionary) { 
            base.PopulateMatchedHeaders(dictionary); 
            dictionary["X-UP-DEVCAP-NUMSOFTKEYS"] = null;
            dictionary["UA-COLOR"] = null; 
            dictionary["UA-PIXELS"] = null;
            dictionary["HTTP_X_WAP_PROFILE"] = null;
            dictionary["X-UP-DEVCAP-SCREENDEPTH"] = null;
            dictionary["X-UP-DEVCAP-MSIZE"] = null; 
            dictionary["X-UP-DEVCAP-MAX-PDU"] = null;
            dictionary["X-UP-DEVCAP-CHARSET"] = null; 
            dictionary["X-GA-TABLES"] = null; 
            dictionary["X-AVANTGO-VERSION"] = null;
            dictionary["X-UP-DEVCAP-SOFTKEYSIZE"] = null; 
            dictionary["UA-VOICE"] = null;
            dictionary["X-UP-DEVCAP-ISCOLOR"] = null;
            dictionary["X-JPHONE-DISPLAY"] = null;
            dictionary["X-UP-DEVCAP-SCREENPIXELS"] = null; 
            dictionary["X-JPHONE-COLOR"] = null;
            dictionary["X-UP-DEVCAP-SCREENCHARS"] = null; 
            dictionary["Accept"] = null; 
            dictionary[""] = null;
            dictionary["VIA"] = null; 
            dictionary["X-GA-MAX-TRANSFER"] = null;
        }

        protected override void PopulateBrowserElements(System.Collections.IDictionary dictionary) { 
            base.PopulateBrowserElements(dictionary);
            dictionary["Default"] = new System.Web.UI.Triplet(null, string.Empty, 0); 
            dictionary["Mozilla"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["IE"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["IE5to9"] = new System.Web.UI.Triplet("Ie", string.Empty, 3); 
            dictionary["IE6to9"] = new System.Web.UI.Triplet("Ie5to9", string.Empty, 4);
            dictionary["Treo600"] = new System.Web.UI.Triplet("Ie6to9", string.Empty, 5);
            dictionary["IE5"] = new System.Web.UI.Triplet("Ie5to9", string.Empty, 4);
            dictionary["IE50"] = new System.Web.UI.Triplet("Ie5", string.Empty, 5); 
            dictionary["IE55"] = new System.Web.UI.Triplet("Ie5", string.Empty, 5);
            dictionary["IE5to9Mac"] = new System.Web.UI.Triplet("Ie5to9", string.Empty, 4); 
            dictionary["IE4"] = new System.Web.UI.Triplet("Ie", string.Empty, 3); 
            dictionary["IE3"] = new System.Web.UI.Triplet("Ie", string.Empty, 3);
            dictionary["IE3win16"] = new System.Web.UI.Triplet("Ie3", string.Empty, 4); 
            dictionary["IE3win16a"] = new System.Web.UI.Triplet("Ie3win16", string.Empty, 5);
            dictionary["IE3Mac"] = new System.Web.UI.Triplet("Ie3", string.Empty, 4);
            dictionary["IE2"] = new System.Web.UI.Triplet("Ie", string.Empty, 3);
            dictionary["WebTV"] = new System.Web.UI.Triplet("Ie2", string.Empty, 4); 
            dictionary["WebTV2"] = new System.Web.UI.Triplet("Webtv", string.Empty, 5);
            dictionary["IE1minor5"] = new System.Web.UI.Triplet("Ie", string.Empty, 3); 
            dictionary["PowerBrowser"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["Gecko"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["MozillaRV"] = new System.Web.UI.Triplet("Gecko", string.Empty, 3); 
            dictionary["MozillaFirebird"] = new System.Web.UI.Triplet("Mozillarv", string.Empty, 4);
            dictionary["MozillaFirefox"] = new System.Web.UI.Triplet("Mozillarv", string.Empty, 4);
            dictionary["Safari"] = new System.Web.UI.Triplet("Gecko", string.Empty, 3);
            dictionary["Safari60"] = new System.Web.UI.Triplet("Safari", string.Empty, 4); 
            dictionary["Safari85"] = new System.Web.UI.Triplet("Safari", string.Empty, 4);
            dictionary["Safari1Plus"] = new System.Web.UI.Triplet("Safari", string.Empty, 4); 
            dictionary["Netscape5"] = new System.Web.UI.Triplet("Gecko", string.Empty, 3); 
            dictionary["Netscape6to9"] = new System.Web.UI.Triplet("Netscape5", string.Empty, 4);
            dictionary["Netscape6to9Beta"] = new System.Web.UI.Triplet("Netscape6to9", string.Empty, 5); 
            dictionary["NetscapeBeta"] = new System.Web.UI.Triplet("Netscape5", string.Empty, 4);
            dictionary["AvantGo"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["TMobileSidekick"] = new System.Web.UI.Triplet("Avantgo", string.Empty, 3);
            dictionary["GoAmerica"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["GoAmericaWinCE"] = new System.Web.UI.Triplet("Goamerica", string.Empty, 3);
            dictionary["GoAmericaPalm"] = new System.Web.UI.Triplet("Goamerica", string.Empty, 3); 
            dictionary["GoAmericaRIM"] = new System.Web.UI.Triplet("Goamerica", string.Empty, 3); 
            dictionary["GoAmericaRIM950"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4);
            dictionary["GoAmericaRIM850"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4); 
            dictionary["GoAmericaRIM957"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4);
            dictionary["GoAmericaRIM957major6minor2"] = new System.Web.UI.Triplet("Goamericarim957", string.Empty, 5);
            dictionary["GoAmericaRIM857"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4);
            dictionary["GoAmericaRIM857major6"] = new System.Web.UI.Triplet("Goamericarim857", string.Empty, 5); 
            dictionary["GoAmericaRIM857major6minor2to9"] = new System.Web.UI.Triplet("Goamericarim857major6", string.Empty, 6);
            dictionary["GoAmerica7to9"] = new System.Web.UI.Triplet("Goamericarim857", string.Empty, 5); 
            dictionary["Netscape3"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["Netscape4"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["Casiopeia"] = new System.Web.UI.Triplet("Netscape4", string.Empty, 3); 
            dictionary["PalmWebPro"] = new System.Web.UI.Triplet("Netscape4", string.Empty, 3);
            dictionary["PalmWebPro3"] = new System.Web.UI.Triplet("Palmwebpro", string.Empty, 4);
            dictionary["NetFront"] = new System.Web.UI.Triplet("Netscape4", string.Empty, 3);
            dictionary["SLB500"] = new System.Web.UI.Triplet("Netfront", string.Empty, 4); 
            dictionary["VRNA"] = new System.Web.UI.Triplet("Netfront", string.Empty, 4);
            dictionary["Mypalm"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["MyPalm1"] = new System.Web.UI.Triplet("Mypalm", string.Empty, 3); 
            dictionary["Eudoraweb"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["PdQbrowser"] = new System.Web.UI.Triplet("Eudoraweb", string.Empty, 3); 
            dictionary["Eudoraweb21Plus"] = new System.Web.UI.Triplet("Eudoraweb", string.Empty, 3);
            dictionary["WinCE"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["PIE"] = new System.Web.UI.Triplet("Wince", string.Empty, 3);
            dictionary["PIEPPC"] = new System.Web.UI.Triplet("Pie", string.Empty, 4); 
            dictionary["PIEnoDeviceID"] = new System.Web.UI.Triplet("Pie", string.Empty, 4);
            dictionary["PIESmartphone"] = new System.Web.UI.Triplet("Pie", string.Empty, 4); 
            dictionary["PIE4"] = new System.Web.UI.Triplet("Wince", string.Empty, 3); 
            dictionary["PIE4PPC"] = new System.Web.UI.Triplet("Pie4", string.Empty, 4);
            dictionary["PIE5Plus"] = new System.Web.UI.Triplet("Wince", string.Empty, 3); 
            dictionary["sigmarion3"] = new System.Web.UI.Triplet("Pie5plus", string.Empty, 4);
            dictionary["MSPIE"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["MSPIE2"] = new System.Web.UI.Triplet("Mspie", string.Empty, 3);
            dictionary["Docomo"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["DocomoSH251i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSH251iS"] = new System.Web.UI.Triplet("Docomosh251i", string.Empty, 3); 
            dictionary["DocomoN251i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN251iS"] = new System.Web.UI.Triplet("Docomon251i", string.Empty, 3);
            dictionary["DocomoP211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF212i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoNm502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF502it"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN502it"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoSo502iwm"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF504i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN504i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP504i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN821i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP821i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoEr209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoKo209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP209is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoR209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoR691i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoD503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN2001"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoD211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoKo210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP2101v"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP2102v"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF671i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoSo210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoSh821i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN2002"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoISIM60"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["EricssonR380"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["Ericsson"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["EricssonR320"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonT20"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonT65"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonT68"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["Ericsson301A"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3);
            dictionary["EricssonT68R1A"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3);
            dictionary["EricssonT68R101"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3); 
            dictionary["EricssonT68R201A"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3);
            dictionary["EricssonT300"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonP800"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonP800R101"] = new System.Web.UI.Triplet("Ericssonp800", string.Empty, 3);
            dictionary["EricssonT61"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonT31"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonR520"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonA2628"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonT39"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EzWAP"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["GenericDownlevel"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["Jataayu"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["JataayuPPC"] = new System.Web.UI.Triplet("Jataayu", string.Empty, 2);
            dictionary["Jphone"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["JphoneMitsubishi"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneDenso"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneKenwood"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneNec"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphoneNecN51"] = new System.Web.UI.Triplet("Jphonenec", string.Empty, 3);
            dictionary["JphonePanasonic"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphonePioneer"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphoneSanyo"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneSA51"] = new System.Web.UI.Triplet("Jphonesanyo", string.Empty, 3); 
            dictionary["JphoneSharp"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneSharpSh53"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3);
            dictionary["JphoneSharpSh07"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3);
            dictionary["JphoneSharpSh08"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3); 
            dictionary["JphoneSharpSh51"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3);
            dictionary["JphoneSharpSh52"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3); 
            dictionary["JphoneToshiba"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphoneToshibaT06a"] = new System.Web.UI.Triplet("Jphonetoshiba", string.Empty, 3);
            dictionary["JphoneToshibaT08"] = new System.Web.UI.Triplet("Jphonetoshiba", string.Empty, 3); 
            dictionary["JphoneToshibaT51"] = new System.Web.UI.Triplet("Jphonetoshiba", string.Empty, 3);
            dictionary["Legend"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["LGG5200"] = new System.Web.UI.Triplet("Legend", string.Empty, 2);
            dictionary["MME"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["MMEF20"] = new System.Web.UI.Triplet("Mme", string.Empty, 2);
            dictionary["MMECellphone"] = new System.Web.UI.Triplet("Mmef20", string.Empty, 3); 
            dictionary["MMEBenefonQ"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4); 
            dictionary["MMESonyCMDZ5"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMESonyCMDZ5Pj020e"] = new System.Web.UI.Triplet("Mmesonycmdz5", string.Empty, 5); 
            dictionary["MMESonyCMDJ5"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMESonyCMDJ7"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMEGenericSmall"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMEGenericLarge"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4); 
            dictionary["MMEGenericFlip"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMEGeneric3D"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4); 
            dictionary["MMEMobileExplorer"] = new System.Web.UI.Triplet("Mme", string.Empty, 2); 
            dictionary["Nokia"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["NokiaBlueprint"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["NokiaWapSimulator"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["NokiaMobileBrowser"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia7110"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6220"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia6250"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6310"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia6510"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia8310"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia9110i"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia9110"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia3330"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia9210"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia9210HTML"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia3590"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia3590V1"] = new System.Web.UI.Triplet("Nokia3590", string.Empty, 3); 
            dictionary["Nokia3595"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia3560"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia3650"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia3650P12Plus"] = new System.Web.UI.Triplet("Nokia3650", string.Empty, 3);
            dictionary["Nokia5100"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6200"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6590"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia6800"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia7650"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["NokiaMobileBrowserRainbow"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["NokiaEpoc32wtl"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["NokiaEpoc32wtl20"] = new System.Web.UI.Triplet("Nokiaepoc32wtl", string.Empty, 2); 
            dictionary["Up"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["AuMic"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["AuMicV2"] = new System.Web.UI.Triplet("Aumic", string.Empty, 3);
            dictionary["a500"] = new System.Web.UI.Triplet("Aumic", string.Empty, 3); 
            dictionary["n400"] = new System.Web.UI.Triplet("Aumic", string.Empty, 3);
            dictionary["AlcatelBe4"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["AlcatelBe5"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["AlcatelBe5v2"] = new System.Web.UI.Triplet("Alcatelbe5", string.Empty, 3);
            dictionary["AlcatelBe3"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["AlcatelBf3"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["AlcatelBf4"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotCb"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotF5"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotD8"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotCf"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotF6"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotBc"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotDc"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotPanC"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotC4"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mcca"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mot2000"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotP2kC"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotAf"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotAf418"] = new System.Web.UI.Triplet("Motaf", string.Empty, 3); 
            dictionary["MotC2"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Xenium"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sagem959"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SghA300"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SghN100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C304sa"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy11"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["St12"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy14"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SieS40"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SieSl45"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SieS35"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SieMe45"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SieS45"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Gm832"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Gm910i"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mot32"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mot28"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["D2"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["PPat"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Alaz"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Cdm9100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Cdm135"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Cdm9000"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C303ca"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C311ca"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C202de"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C409ca"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C402de"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ds15"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp2200"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp120"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ds10"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["R280"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C201h"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["S71"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C302h"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C309h"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C407h"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C451h"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["R201"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["P21"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Kyocera702g"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Kyocera703g"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["KyoceraC307k"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tk01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tk02"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tk03"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tk04"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tk05"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["D303k"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["D304k"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Qcp2035"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Qcp3035"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["D512"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Dm110"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tm510"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lg13"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["P100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lgc875f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Lgp680f"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lgp7800f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Lgc840f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Lgi2100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lgp7300f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sd500"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp1100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp3000"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["T250"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mo01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mo02"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mc01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mccc"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mcc9"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Nk00"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mai12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ma112"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ma13"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mac1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mat1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sc01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sc03"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc02"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sc04"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sg08"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc13"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc11"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sec01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc10"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy12"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["St11"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy13"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Syc1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Syt1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sty2"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy03"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Si01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sni1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn11"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sn12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn134"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn156"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Snc1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tsc1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tsi1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ts11"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ts12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ts13"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tst1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tst2"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tst3"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ig01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ig02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ig03"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Qc31"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Qc12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Qc32"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sp01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sh"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Upg1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Opwv1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Alav"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Im1k"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Nt95"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mot2001"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Motv200"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mot72"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mot76"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Scp6000"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotD5"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotF0"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SghA400"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sec03"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SieC3i"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn17"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Scp4700"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sec02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy15"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Db520"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["L430V03J02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["OPWVSDK"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["OPWVSDK6"] = new System.Web.UI.Triplet("Opwvsdk", string.Empty, 3); 
            dictionary["OPWVSDK6Plus"] = new System.Web.UI.Triplet("Opwvsdk", string.Empty, 3);
            dictionary["KDDICA21"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["KDDITS21"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["KDDISA21"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["KM100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["LGELX5350"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["HitachiP300"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SIES46"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotorolaV60G"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotorolaV708"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotorolaV708A"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotorolaE360"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SonyericssonA1101S"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["PhilipsFisio820"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["CasioA5302"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["TCLL668"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["KDDITS24"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SIES55"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SHARPGx10"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["BenQAthena"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Opera"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["Opera1to3beta"] = new System.Web.UI.Triplet("Opera", string.Empty, 2);
            dictionary["Opera4"] = new System.Web.UI.Triplet("Opera", string.Empty, 2);
            dictionary["Opera4beta"] = new System.Web.UI.Triplet("Opera4", string.Empty, 3); 
            dictionary["Opera5to9"] = new System.Web.UI.Triplet("Opera", string.Empty, 2);
            dictionary["Opera6to9"] = new System.Web.UI.Triplet("Opera5to9", string.Empty, 3); 
            dictionary["Opera7to9"] = new System.Web.UI.Triplet("Opera6to9", string.Empty, 4); 
            dictionary["Opera8to9"] = new System.Web.UI.Triplet("Opera7to9", string.Empty, 5);
            dictionary["OperaPsion"] = new System.Web.UI.Triplet("Opera", string.Empty, 2); 
            dictionary["Palmscape"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["PalmscapeVersion"] = new System.Web.UI.Triplet("Palmscape", string.Empty, 2);
            dictionary["AusPalm"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["SharpPda"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["ZaurusMiE1"] = new System.Web.UI.Triplet("Sharppda", string.Empty, 2);
            dictionary["ZaurusMiE21"] = new System.Web.UI.Triplet("Sharppda", string.Empty, 2); 
            dictionary["ZaurusMiE25"] = new System.Web.UI.Triplet("Sharppda", string.Empty, 2); 
            dictionary["Panasonic"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["PanasonicGAD95"] = new System.Web.UI.Triplet("Panasonic", string.Empty, 2); 
            dictionary["PanasonicGAD87"] = new System.Web.UI.Triplet("Panasonic", string.Empty, 2);
            dictionary["PanasonicGAD87A39"] = new System.Web.UI.Triplet("Panasonicgad87", string.Empty, 3);
            dictionary["PanasonicGAD87A38"] = new System.Web.UI.Triplet("Panasonicgad87", string.Empty, 3);
            dictionary["MSPIE06"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["SKTDevices"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["SKTDevicesHyundai"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["PSE200"] = new System.Web.UI.Triplet("Sktdeviceshyundai", string.Empty, 3); 
            dictionary["SKTDevicesHanhwa"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["SKTDevicesJTEL"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["JTEL01"] = new System.Web.UI.Triplet("Sktdevicesjtel", string.Empty, 3);
            dictionary["JTELNate"] = new System.Web.UI.Triplet("Jtel01", string.Empty, 4);
            dictionary["SKTDevicesLG"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["SKTDevicesMotorola"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["SKTDevicesV730"] = new System.Web.UI.Triplet("Sktdevicesmotorola", string.Empty, 3);
            dictionary["SKTDevicesNokia"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["SKTDevicesSKTT"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["SKTDevicesSamSung"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["SCHE150"] = new System.Web.UI.Triplet("Sktdevicessamsung", string.Empty, 3); 
            dictionary["SKTDevicesEricsson"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["WinWap"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["Xiino"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["XiinoV2"] = new System.Web.UI.Triplet("Xiino", string.Empty, 2); 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------ 
// 
//     This code was generated by a tool.
//     Runtime Version:2.0.50804.0
// 
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated. 
//  
//-----------------------------------------------------------------------------
 
namespace System.Web.Configuration {
    using System;
    using System.Web;
    using System.Web.Configuration; 
    using System.Reflection;
    using System.Security.Permissions; 
 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] 
    public class BrowserCapabilitiesFactory : System.Web.Configuration.BrowserCapabilitiesFactoryBase {

        public override void ConfigureBrowserCapabilities(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            this.DefaultProcess(headers, browserCaps); 
            if ((this.IsBrowserUnknown(browserCaps) == false)) {
                return; 
            } 
            this.DefaultDefaultProcess(headers, browserCaps);
        } 


        protected virtual void IeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void IeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool IeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla[^(]*\\([C|c]ompatible;\\s*MSIE (?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'l" + 
                    "etters\'\\w*))(?\'extra\'[^)]*)");
            if ((result == false)) {
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "Opera|Go\\.Web|Windows CE|EudoraWeb"); 
            if ((result == true)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "IE";
            dictionary["extra"] = regexWorker["${extra}"];
            dictionary["isColor"] = "true"; 
            dictionary["letters"] = regexWorker["${letters}"];
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"]; 
            dictionary["screenBitDepth"] = "8";
            dictionary["type"] = regexWorker["IE${major}"]; 
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.AddBrowser("IE");
            this.IeProcessGateways(headers, browserCaps);
            // gateway, parent=IE 
            this.IeaolProcess(headers, browserCaps);
            // gateway, parent=IE 
            this.IebetaProcess(headers, browserCaps); 
            // gateway, parent=IE
            this.IeupdateProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE
            if (this.Ie5to9Process(headers, browserCaps)) {
            } 
            else {
                if (this.Ie4Process(headers, browserCaps)) { 
                } 
                else {
                    if (this.Ie3Process(headers, browserCaps)) { 
                    }
                    else {
                        if (this.Ie2Process(headers, browserCaps)) {
                        } 
                        else {
                            if (this.Ie1minor5Process(headers, browserCaps)) { 
                            } 
                            else {
                                ignoreApplicationBrowsers = false; 
                            }
                        }
                    }
                } 
            }
            this.IeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ie5to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ie5to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie5to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^[5-9]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "true";
            dictionary["backgroundsounds"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true"; 
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true";
            dictionary["jscriptversion"] = "5.0";
            dictionary["msdomversion"] = regexWorker["${majorversion}${minorversion}"]; 
            dictionary["supportsCallback"] = "true";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            dictionary["supportsVCard"] = "true"; 
            dictionary["supportsXmlHttp"] = "true";
            dictionary["tables"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["vbscript"] = "true"; 
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true"; 
            browserCaps.AddBrowser("IE5to9"); 
            this.Ie5to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=IE5to9
            if (this.Ie6to9Process(headers, browserCaps)) {
            }
            else { 
                if (this.Ie5Process(headers, browserCaps)) {
                } 
                else { 
                    if (this.Ie5to9macProcess(headers, browserCaps)) {
                    } 
                    else {
                        ignoreApplicationBrowsers = false;
                    }
                } 
            }
            this.Ie5to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ie6to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ie6to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie6to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "[6-9]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["jscriptversion"] = "5.6";
            dictionary["ExchangeOmaSupported"] = "true"; 
            browserCaps.AddBrowser("IE6to9");
            this.Ie6to9ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=IE6to9
            if (this.Treo600Process(headers, browserCaps)) { 
            }
            else {
                ignoreApplicationBrowsers = false;
            } 
            this.Ie6to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Treo600ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Treo600ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Treo600Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "PalmSource; Blazer"); 
            if ((result == false)) { 
                return false;
            } 
            // Capture: header values
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "PalmSource; Blazer 3\\.0\\)\\s\\d+;(?\'screenPixelsHeight\'\\d+)x(?\'screenPixelsWidth\'\\d" +
                    "+)$");
            // Capabilities: set capabilities 
            dictionary["browser"] = "Blazer 3.0";
            dictionary["cachesAllResponsesWithExpires"] = "false"; 
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["canRenderEmptySelects"] = "true";
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false";
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["jscriptversion"] = "0.0"; 
            dictionary["maximumHrefLength"] = "10000";
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["mobileDeviceManufacturer"] = "";
            dictionary["mobileDeviceModel"] = "";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "text/html"; 
            dictionary["preferredRenderingType"] = "html32";
            dictionary["preferredRequestEncoding"] = "utf-8"; 
            dictionary["preferredResponseEncoding"] = "utf-8"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "true";
            dictionary["requiredMetaTagNameValue"] = "PalmComputingPlatform"; 
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresControlStateInSession"] = "false";
            dictionary["requiresDBCSCharacter"] = "false"; 
            dictionary["requiresFullyQualifiedRedirectUrl"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["requiresNoBreakInFormatting"] = "false";
            dictionary["requiresOutputOptimization"] = "false"; 
            dictionary["requiresPostRedirectionHandling"] = "false";
            dictionary["requiresPragmaNoCacheHeader"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "32"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenPixelsHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenPixelsWidth}"]; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCharacterEntityEncoding"] = "true"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["supportsFileUpload"] = "false"; 
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsIModeSymbols"] = "false";
            dictionary["supportsInputIStyle"] = "false"; 
            dictionary["supportsInputMode"] = "false"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsJPhoneMultiMediaAttributes"] = "false"; 
            dictionary["supportsJPhoneSymbols"] = "false";
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["supportsQueryStringInFormAction"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectMultiple"] = "true";
            dictionary["supportsUncheck"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Handspring Treo 600";
            browserCaps.AddBrowser("Treo600"); 
            this.Treo600ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Treo600ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ie5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ie5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ie5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^5$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            browserCaps.AddBrowser("IE5"); 
            this.Ie5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE5
            if (this.Ie50Process(headers, browserCaps)) { 
            }
            else { 
                if (this.Ie55Process(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false;
                }
            }
            this.Ie5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ie50ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ie50ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ie50Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["minorversion"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.0");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("IE50");
            this.Ie50ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ie50ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ie55ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ie55ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie55Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["minorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.5"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["jscriptversion"] = "5.5";
            dictionary["ExchangeOmaSupported"] = "true"; 
            browserCaps.AddBrowser("IE55");
            this.Ie55ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ie55ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ie5to9macProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ie5to9macProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ie5to9macProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["platform"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(MacPPC|Mac68K)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("IE5to9Mac"); 
            this.Ie5to9macProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie5to9macProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Ie4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Ie4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ie4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MSIE 4");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "true"; 
            dictionary["backgroundsounds"] = "true";
            dictionary["cdf"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true";
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["jscriptversion"] = "3.0"; 
            dictionary["msdomversion"] = "4.0";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "false";
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            dictionary["tables"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["vbscript"] = "true";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("IE4");
            this.Ie4ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ie4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ie3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ie3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ie3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^3");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "true";
            dictionary["backgroundsounds"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true";
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["jscriptversion"] = "1.0"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["vbscript"] = "true";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("IE3"); 
            this.Ie3ProcessGateways(headers, browserCaps);
            // gateway, parent=IE3 
            this.Ie3akProcess(headers, browserCaps); 
            // gateway, parent=IE3
            this.Ie3skProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE3
            if (this.Ie3win16Process(headers, browserCaps)) {
            } 
            else {
                if (this.Ie3macProcess(headers, browserCaps)) { 
                } 
                else {
                    ignoreApplicationBrowsers = false; 
                }
            }
            this.Ie3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ie3win16ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ie3win16ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ie3win16Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "16bit|Win(dows 3\\.1|16)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "false"; 
            dictionary["javaapplets"] = "false";
            browserCaps.AddBrowser("IE3win16");
            this.Ie3win16ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=IE3win16
            if (this.Ie3win16aProcess(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Ie3win16ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ie3win16aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ie3win16aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ie3win16aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["extra"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^a");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["beta"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["vbscript"] = "false";
            browserCaps.AddBrowser("IE3win16a");
            this.Ie3win16aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3win16aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ie3macProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ie3macProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ie3macProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "PPC Mac|Macintosh.*(68K|PPC)|Mac_(PowerPC|PPC|68(K|000))"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "false";
            dictionary["vbscript"] = "false";
            browserCaps.AddBrowser("IE3Mac"); 
            this.Ie3macProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3macProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ie3akProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ie3akProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ie3akProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["extra"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "; AK;");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ak"] = "true"; 
            this.Ie3akProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3akProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ie3skProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ie3skProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ie3skProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["extra"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "; SK;");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["sk"] = "true"; 
            this.Ie3skProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ie3skProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ie2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ie2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ie2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^2");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("IE2"); 
            this.Ie2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IE2
            if (this.WebtvProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Ie2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ie1minor5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ie1minor5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ie1minor5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^1\\.5");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cookies"] = "true"; 
            dictionary["tables"] = "true"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("IE1minor5");
            this.Ie1minor5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ie1minor5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void IeaolProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void IeaolProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool IeaolProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["extra"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "; AOL");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["aol"] = "true";
            dictionary["frames"] = "true";
            this.IeaolProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.IeaolProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void IebetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void IebetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool IebetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["letters"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^([bB]|ab)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            this.IebetaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.IebetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void IeupdateProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void IeupdateProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool IeupdateProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["extra"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "; Update a;"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["authenticodeupdate"] = "true";
            this.IeupdateProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.IeupdateProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void MozillaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void MozillaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MozillaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mozilla"); 
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "MME|Opera");
            if ((result == true)) {
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "Mozilla/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)\\w*)"); 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), " (?\'screenWidth\'\\d*)x(?\'screenHeight\'\\d*)");
            // Capabilities: set capabilities 
            dictionary["browser"] = "Mozilla";
            dictionary["cookies"] = "false";
            dictionary["defaultScreenCharactersHeight"] = "40";
            dictionary["defaultScreenCharactersWidth"] = "80"; 
            dictionary["defaultScreenPixelsHeight"] = "480";
            dictionary["defaultScreenPixelsWidth"] = "640"; 
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "false"; 
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsDivNoWrap"] = "true"; 
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["type"] = "Mozilla";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Mozilla"); 
            this.MozillaProcessGateways(headers, browserCaps);
            // gateway, parent=Mozilla 
            this.MozillabetaProcess(headers, browserCaps);
            // gateway, parent=Mozilla
            this.MozillagoldProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Mozilla
            if (this.IeProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.PowerbrowserProcess(headers, browserCaps)) { 
                }
                else {
                    if (this.GeckoProcess(headers, browserCaps)) {
                    } 
                    else {
                        if (this.AvantgoProcess(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.GoamericaProcess(headers, browserCaps)) { 
                            }
                            else {
                                if (this.Netscape3Process(headers, browserCaps)) {
                                } 
                                else {
                                    if (this.Netscape4Process(headers, browserCaps)) { 
                                    } 
                                    else {
                                        if (this.MypalmProcess(headers, browserCaps)) { 
                                        }
                                        else {
                                            if (this.EudorawebProcess(headers, browserCaps)) {
                                            } 
                                            else {
                                                if (this.WinceProcess(headers, browserCaps)) { 
                                                } 
                                                else {
                                                    if (this.MspieProcess(headers, browserCaps)) { 
                                                    }
                                                    else {
                                                        ignoreApplicationBrowsers = false;
                                                    } 
                                                }
                                            } 
                                        } 
                                    }
                                } 
                            }
                        }
                    }
                } 
            }
            this.MozillaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MozillabetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MozillabetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MozillabetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/\\d+\\.\\d+b"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            this.MozillabetaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MozillabetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MozillagoldProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MozillagoldProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MozillagoldProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/\\d+\\.\\d+\\w*Gold"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["gold"] = "true";
            this.MozillagoldProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MozillagoldProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void PowerbrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void PowerbrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool PowerbrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/2\\.01 \\(Compatible\\) Oracle\\(tm\\) PowerBrowser\\(tm\\)/1\\.0a"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "PowerBrowser";
            dictionary["cookies"] = "true"; 
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["frames"] = "true"; 
            dictionary["javaapplets"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["majorversion"] = "1"; 
            dictionary["minorversion"] = ".5";
            dictionary["platform"] = "Win95";
            dictionary["tables"] = "true";
            dictionary["vbscript"] = "true"; 
            dictionary["version"] = "1.5";
            dictionary["type"] = "PowerBrowser1"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("PowerBrowser"); 
            this.PowerbrowserProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PowerbrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GeckoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GeckoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GeckoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Gecko"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Mozilla"; 
            dictionary["css1"] = "true";
            dictionary["css2"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ecmascriptversion"] = "1.5"; 
            dictionary["frames"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["javaapplets"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["maximumRenderedPageSize"] = "20000"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["screenBitDepth"] = "32";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "desktop"; 
            dictionary["version"] = regexWorker["${version}"]; 
            dictionary["w3cdomversion"] = "1.0";
            browserCaps.AddBrowser("Gecko"); 
            this.GeckoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Gecko
            if (this.MozillarvProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.SafariProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.Netscape5Process(headers, browserCaps)) {
                    }
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            } 
            this.GeckoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void MozillarvProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MozillarvProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool MozillarvProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "rv\\:(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.[.\\d]*))"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "Netscape");
            if ((result == true)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.4";
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorversion"] = regexWorker["${minor}"]; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["supportsCallback"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["type"] = regexWorker["Mozilla${major}"];
            dictionary["version"] = regexWorker["${version}"];
            dictionary["w3cdomversion"] = "1.0";
            browserCaps.AddBrowser("MozillaRV"); 
            this.MozillarvProcessGateways(headers, browserCaps);
            // gateway, parent=MozillaRV 
            this.Mozillav14plusProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=MozillaRV 
            if (this.MozillafirebirdProcess(headers, browserCaps)) {
            }
            else {
                if (this.MozillafirefoxProcess(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.MozillarvProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Mozillav14plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Mozillav14plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mozillav14plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^1$");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(dictionary["minorversion"])); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.[4-9]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["javaapplets"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2000000"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["screenBitDepth"] = "32"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["type"] = regexWorker["Mozilla${version}"];
            dictionary["xml"] = "true";
            this.Mozillav14plusProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mozillav14plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MozillafirebirdProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MozillafirebirdProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MozillafirebirdProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Gecko\\/\\d+ Firebird\\/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.[.\\d]*))"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Firebird";
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["version"] = regexWorker["${version}"]; 
            dictionary["type"] = regexWorker["Firebird${version}"]; 
            browserCaps.AddBrowser("MozillaFirebird");
            this.MozillafirebirdProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MozillafirebirdProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MozillafirefoxProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MozillafirefoxProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MozillafirefoxProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Gecko\\/\\d+ Firefox\\/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.[.\\d]*))");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Firefox";
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["version"] = regexWorker["${version}"];
            dictionary["type"] = regexWorker["Firefox${version}"];
            browserCaps.AddBrowser("MozillaFirefox"); 
            this.MozillafirefoxProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.MozillafirefoxProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void SafariProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void SafariProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool SafariProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "AppleWebKit/(?\'webversion\'\\d+)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["appleWebTechnologyVersion"] = regexWorker["${webversion}"]; 
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "AppleMAC-Safari"; 
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["ecmascriptversion"] = "0.0"; 
            dictionary["futureBrowser"] = "Apple Safari";
            dictionary["screenBitDepth"] = "24";
            dictionary["tables"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["type"] = "Desktop";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("Safari");
            this.SafariProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Safari
            if (this.Safari60Process(headers, browserCaps)) {
            } 
            else {
                if (this.Safari85Process(headers, browserCaps)) { 
                } 
                else {
                    if (this.Safari1plusProcess(headers, browserCaps)) { 
                    }
                    else {
                        ignoreApplicationBrowsers = false;
                    } 
                }
            } 
            this.SafariProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Safari60ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Safari60ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Safari60Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["appleWebTechnologyVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "60");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "1.0"; 
            browserCaps.AddBrowser("Safari60");
            this.Safari60ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Safari60ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Safari85ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Safari85ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Safari85Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["appleWebTechnologyVersion"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "85"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.4";
            browserCaps.AddBrowser("Safari85"); 
            this.Safari85ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Safari85ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Safari1plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Safari1plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Safari1plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["appleWebTechnologyVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "\\d\\d\\d");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "1.4"; 
            dictionary["w3cdomversion"] = "1.0"; 
            dictionary["supportsCallback"] = "true";
            browserCaps.AddBrowser("Safari1Plus"); 
            this.Safari1plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Safari1plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void AvantgoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AvantgoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool AvantgoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\(compatible; AvantGo .*\\)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capture: header values
            regexWorker.ProcessRegex(((string)(headers["X-AVANTGO-VERSION"])), "(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)"); 
            // Capabilities: set capabilities
            dictionary["browser"] = "AvantGo";
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["defaultScreenCharactersHeight"] = "6"; 
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2560"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiredMetaTagNameValue"] = "HandheldFriendly"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "13";
            dictionary["screenCharactersWidth"] = "30"; 
            dictionary["screenPixelsHeight"] = "150"; 
            dictionary["screenPixelsWidth"] = "150";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["AvantGo${browserMajorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("AvantGo"); 
            this.AvantgoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=AvantGo 
            if (this.TmobilesidekickProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.AvantgoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void TmobilesidekickProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void TmobilesidekickProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool TmobilesidekickProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Danger hiptop");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "true";
            dictionary["css1"] = "true";
            dictionary["ecmaScriptVersion"] = "1.3";
            dictionary["frames"] = "true"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["javaapplets"] = "true"; 
            dictionary["majorVersion"] = "5"; 
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["minorVersion"] = ".0"; 
            dictionary["mobileDeviceManufacturer"] = "T-Mobile";
            dictionary["mobileDeviceModel"] = "SideKick";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "57";
            dictionary["screenPixelsHeight"] = "136"; 
            dictionary["screenPixelsWidth"] = "236";
            dictionary["supportsCss"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["type"] = "AvantGo 3"; 
            dictionary["version"] = "5.0";
            browserCaps.AddBrowser("TMobileSidekick"); 
            this.TmobilesidekickProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.TmobilesidekickProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void CasiopeiaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void CasiopeiaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool CasiopeiaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "CASSIOPEIA BE");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "CASSIOPEIA"; 
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12";
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["ecmascriptversion"] = "1.3";
            dictionary["frames"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true";
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["mobileDeviceManufacturer"] = "Casio"; 
            dictionary["mobileDeviceModel"] = "Casio BE-500";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresContentTypeMetaTag"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresNoBreakInFormatting"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "50"; 
            dictionary["screenCharactersWidth"] = "38";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "240"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCharacterEntityEncoding"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "true";
            dictionary["supportsFileUpload"] = "false";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "false"; 
            dictionary["supportsItalic"] = "false"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "CASSIOPEIA"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Casiopeia");
            this.CasiopeiaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.CasiopeiaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void DefaultProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void DefaultProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool DefaultProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "false";
            dictionary["ak"] = "false";
            dictionary["aol"] = "false";
            dictionary["authenticodeupdate"] = "false"; 
            dictionary["backgroundsounds"] = "false";
            dictionary["beta"] = "false"; 
            dictionary["browser"] = "Unknown"; 
            dictionary["cachesAllResponsesWithExpires"] = "false";
            dictionary["canCombineFormsInDeck"] = "true"; 
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canRenderAfterInputOrSelectElement"] = "true";
            dictionary["canRenderEmptySelects"] = "true";
            dictionary["canRenderInputAndSelectElementsTogether"] = "true"; 
            dictionary["canRenderMixedSelects"] = "true";
            dictionary["canRenderOneventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "true";
            dictionary["canSendMail"] = "true"; 
            dictionary["cdf"] = "false";
            dictionary["cookies"] = "true";
            dictionary["crawler"] = "false";
            dictionary["css1"] = "false"; 
            dictionary["css2"] = "false";
            dictionary["defaultCharacterHeight"] = "12"; 
            dictionary["defaultCharacterWidth"] = "8"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["defaultSubmitButtonLimit"] = "1";
            dictionary["ecmascriptversion"] = "0.0"; 
            dictionary["frames"] = "false";
            dictionary["gatewayMajorVersion"] = "0"; 
            dictionary["gatewayMinorVersion"] = "0"; 
            dictionary["gatewayVersion"] = "None";
            dictionary["gold"] = "false"; 
            dictionary["hasBackButton"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false";
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "false";
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false"; 
            dictionary["jscriptversion"] = "0.0";
            dictionary["majorversion"] = "0"; 
            dictionary["maximumHrefLength"] = "10000";
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "5";
            dictionary["minorversion"] = "0"; 
            dictionary["mobileDeviceManufacturer"] = "Unknown";
            dictionary["mobileDeviceModel"] = "Unknown"; 
            dictionary["msdomversion"] = "0.0"; 
            dictionary["numberOfSoftkeys"] = "0";
            dictionary["platform"] = "Unknown"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "true";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["rendersWmlSelectsAsMenuCards"] = "false"; 
            dictionary["requiredMetaTagNameValue"] = "";
            dictionary["requiresAdaptiveErrorReporting"] = "false";
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["requiresDBCSCharacter"] = "false";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["requiresNoBreakInFormatting"] = "false"; 
            dictionary["requiresNoescapedPostUrl"] = "true";
            dictionary["requiresNoSoftkeyLabels"] = "false";
            dictionary["requiresOutputOptimization"] = "false";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["requiresPostRedirectionHandling"] = "false";
            dictionary["requiresSpecialViewStateEncoding"] = "false"; 
            dictionary["requiresUniqueFilePathSuffix"] = "false"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false";
            dictionary["requiresUniqueHtmlInputNames"] = "false"; 
            dictionary["requiresUrlEncodedPostfieldValues"] = "false";
            dictionary["screenBitDepth"] = "1";
            dictionary["sk"] = "false";
            dictionary["supportsAccesskeyAttribute"] = "false"; 
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "false"; 
            dictionary["supportsCacheControlMetaTag"] = "true"; 
            dictionary["supportsCharacterEntityEncoding"] = "true";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["supportsFileUpload"] = "false"; 
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false"; 
            dictionary["supportsImageSubmit"] = "false";
            dictionary["supportsIModeSymbols"] = "false"; 
            dictionary["supportsInputIStyle"] = "false";
            dictionary["supportsInputMode"] = "false";
            dictionary["supportsItalic"] = "false";
            dictionary["supportsJPhoneMultiMediaAttributes"] = "false"; 
            dictionary["supportsJPhoneSymbols"] = "false";
            dictionary["supportsMaintainScrollPositionOnPostback"] = "false"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "false"; 
            dictionary["supportsQueryStringInFormAction"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectMultiple"] = "true";
            dictionary["supportsUncheck"] = "true";
            dictionary["supportsVCard"] = "false";
            dictionary["tables"] = "false"; 
            dictionary["tagwriter"] = "System.Web.UI.Html32TextWriter";
            dictionary["type"] = "Unknown"; 
            dictionary["vbscript"] = "false"; 
            dictionary["version"] = "0.0";
            dictionary["w3cdomversion"] = "0.0"; 
            dictionary["win16"] = "false";
            dictionary["win32"] = "false";
            dictionary["xml"] = "false";
            browserCaps.AddBrowser("Default"); 
            this.DefaultProcessGateways(headers, browserCaps);
            // gateway, parent=Default 
            this.NokiagatewayProcess(headers, browserCaps); 
            // gateway, parent=Default
            this.UpgatewayProcess(headers, browserCaps); 
            // gateway, parent=Default
            this.CrawlerProcess(headers, browserCaps);
            // gateway, parent=Default
            this.ColorProcess(headers, browserCaps); 
            // gateway, parent=Default
            this.MonoProcess(headers, browserCaps); 
            // gateway, parent=Default 
            this.PixelsProcess(headers, browserCaps);
            // gateway, parent=Default 
            this.VoiceProcess(headers, browserCaps);
            // gateway, parent=Default
            this.CharsetProcess(headers, browserCaps);
            // gateway, parent=Default 
            this.PlatformProcess(headers, browserCaps);
            // gateway, parent=Default 
            this.WinProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Default 
            if (this.MozillaProcess(headers, browserCaps)) {
            }
            else {
                if (this.DocomoProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.Ericssonr380Process(headers, browserCaps)) { 
                    }
                    else { 
                        if (this.EricssonProcess(headers, browserCaps)) {
                        }
                        else {
                            if (this.EzwapProcess(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.GenericdownlevelProcess(headers, browserCaps)) { 
                                }
                                else { 
                                    if (this.JataayuProcess(headers, browserCaps)) {
                                    }
                                    else {
                                        if (this.JphoneProcess(headers, browserCaps)) { 
                                        }
                                        else { 
                                            if (this.LegendProcess(headers, browserCaps)) { 
                                            }
                                            else { 
                                                if (this.MmeProcess(headers, browserCaps)) {
                                                }
                                                else {
                                                    if (this.NokiaProcess(headers, browserCaps)) { 
                                                    }
                                                    else { 
                                                        if (this.NokiamobilebrowserrainbowProcess(headers, browserCaps)) { 
                                                        }
                                                        else { 
                                                            if (this.Nokiaepoc32wtlProcess(headers, browserCaps)) {
                                                            }
                                                            else {
                                                                if (this.UpProcess(headers, browserCaps)) { 
                                                                }
                                                                else { 
                                                                    if (this.OperaProcess(headers, browserCaps)) { 
                                                                    }
                                                                    else { 
                                                                        if (this.PalmscapeProcess(headers, browserCaps)) {
                                                                        }
                                                                        else {
                                                                            if (this.AuspalmProcess(headers, browserCaps)) { 
                                                                            }
                                                                            else { 
                                                                                if (this.SharppdaProcess(headers, browserCaps)) { 
                                                                                }
                                                                                else { 
                                                                                    if (this.PanasonicProcess(headers, browserCaps)) {
                                                                                    }
                                                                                    else {
                                                                                        if (this.Mspie06Process(headers, browserCaps)) { 
                                                                                        }
                                                                                        else { 
                                                                                            if (this.SktdevicesProcess(headers, browserCaps)) { 
                                                                                            }
                                                                                            else { 
                                                                                                if (this.WinwapProcess(headers, browserCaps)) {
                                                                                                }
                                                                                                else {
                                                                                                    if (this.XiinoProcess(headers, browserCaps)) { 
                                                                                                    }
                                                                                                    else { 
                                                                                                        ignoreApplicationBrowsers = false; 
                                                                                                    }
                                                                                                } 
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                } 
                                                                            }
                                                                        } 
                                                                    } 
                                                                }
                                                            } 
                                                        }
                                                    }
                                                }
                                            } 
                                        }
                                    } 
                                } 
                            }
                        } 
                    }
                }
            }
            this.DefaultProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void DocomoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void DocomoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool DocomoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^DoCoMo/");
            if ((result == false)) { 
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "^DoCoMo/(?\'httpVersion\'[^/ ]*)[/ ](?\'deviceID\'[^/\\x28]*)");
            // Capabilities: set capabilities
            dictionary["browser"] = "i-mode";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["cookies"] = "false";
            dictionary["defaultScreenCharactersHeight"] = "6"; 
            dictionary["defaultScreenCharactersWidth"] = "16"; 
            dictionary["defaultScreenPixelsHeight"] = "70";
            dictionary["defaultScreenPixelsWidth"] = "90"; 
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javaapplets"] = "false";
            dictionary["javascript"] = "false"; 
            dictionary["maximumHrefLength"] = "524"; 
            dictionary["maximumRenderedPageSize"] = "5120";
            dictionary["mobileDeviceModel"] = regexWorker["${deviceID}"]; 
            dictionary["optimumPageWeight"] = "700";
            dictionary["preferredRenderingType"] = "chtml10";
            dictionary["preferredRequestEncoding"] = "shift_jis";
            dictionary["preferredResponseEncoding"] = "shift_jis"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["supportsAccesskeyAttribute"] = "true";
            dictionary["supportsCharacterEntityEncoding"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsIModeSymbols"] = "true"; 
            dictionary["supportsInputIStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "i-mode";
            dictionary["vbscript"] = "false"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.ChtmlTextWriter";
            browserCaps.AddBrowser("Docomo");
            this.DocomoProcessGateways(headers, browserCaps);
            // gateway, parent=Docomo 
            this.DocomorenderingsizeProcess(headers, browserCaps);
            // gateway, parent=Docomo 
            this.DocomodefaultrenderingsizeProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Docomo 
            if (this.Docomosh251iProcess(headers, browserCaps)) {
            }
            else {
                if (this.Docomon251iProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.Docomop211iProcess(headers, browserCaps)) { 
                    }
                    else { 
                        if (this.Docomof212iProcess(headers, browserCaps)) {
                        }
                        else {
                            if (this.Docomod501iProcess(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.Docomof501iProcess(headers, browserCaps)) { 
                                }
                                else { 
                                    if (this.Docomon501iProcess(headers, browserCaps)) {
                                    }
                                    else {
                                        if (this.Docomop501iProcess(headers, browserCaps)) { 
                                        }
                                        else { 
                                            if (this.Docomod502iProcess(headers, browserCaps)) { 
                                            }
                                            else { 
                                                if (this.Docomof502iProcess(headers, browserCaps)) {
                                                }
                                                else {
                                                    if (this.Docomon502iProcess(headers, browserCaps)) { 
                                                    }
                                                    else { 
                                                        if (this.Docomop502iProcess(headers, browserCaps)) { 
                                                        }
                                                        else { 
                                                            if (this.Docomonm502iProcess(headers, browserCaps)) {
                                                            }
                                                            else {
                                                                if (this.Docomoso502iProcess(headers, browserCaps)) { 
                                                                }
                                                                else { 
                                                                    if (this.Docomof502itProcess(headers, browserCaps)) { 
                                                                    }
                                                                    else { 
                                                                        if (this.Docomon502itProcess(headers, browserCaps)) {
                                                                        }
                                                                        else {
                                                                            if (this.Docomoso502iwmProcess(headers, browserCaps)) { 
                                                                            }
                                                                            else { 
                                                                                if (this.Docomof504iProcess(headers, browserCaps)) { 
                                                                                }
                                                                                else { 
                                                                                    if (this.Docomon504iProcess(headers, browserCaps)) {
                                                                                    }
                                                                                    else {
                                                                                        if (this.Docomop504iProcess(headers, browserCaps)) { 
                                                                                        }
                                                                                        else { 
                                                                                            if (this.Docomon821iProcess(headers, browserCaps)) { 
                                                                                            }
                                                                                            else { 
                                                                                                if (this.Docomop821iProcess(headers, browserCaps)) {
                                                                                                }
                                                                                                else {
                                                                                                    if (this.Docomod209iProcess(headers, browserCaps)) { 
                                                                                                    }
                                                                                                    else { 
                                                                                                        if (this.Docomoer209iProcess(headers, browserCaps)) { 
                                                                                                        }
                                                                                                        else { 
                                                                                                            if (this.Docomof209iProcess(headers, browserCaps)) {
                                                                                                            }
                                                                                                            else {
                                                                                                                if (this.Docomoko209iProcess(headers, browserCaps)) { 
                                                                                                                }
                                                                                                                else { 
                                                                                                                    if (this.Docomon209iProcess(headers, browserCaps)) { 
                                                                                                                    }
                                                                                                                    else { 
                                                                                                                        if (this.Docomop209iProcess(headers, browserCaps)) {
                                                                                                                        }
                                                                                                                        else {
                                                                                                                            if (this.Docomop209isProcess(headers, browserCaps)) { 
                                                                                                                            }
                                                                                                                            else { 
                                                                                                                                if (this.Docomor209iProcess(headers, browserCaps)) { 
                                                                                                                                }
                                                                                                                                else { 
                                                                                                                                    if (this.Docomor691iProcess(headers, browserCaps)) {
                                                                                                                                    }
                                                                                                                                    else {
                                                                                                                                        if (this.Docomof503iProcess(headers, browserCaps)) { 
                                                                                                                                        }
                                                                                                                                        else { 
                                                                                                                                            if (this.Docomof503isProcess(headers, browserCaps)) { 
                                                                                                                                            }
                                                                                                                                            else { 
                                                                                                                                                if (this.Docomod503iProcess(headers, browserCaps)) {
                                                                                                                                                }
                                                                                                                                                else {
                                                                                                                                                    if (this.Docomod503isProcess(headers, browserCaps)) { 
                                                                                                                                                    }
                                                                                                                                                    else { 
                                                                                                                                                        if (this.Docomod210iProcess(headers, browserCaps)) { 
                                                                                                                                                        }
                                                                                                                                                        else { 
                                                                                                                                                            if (this.Docomof210iProcess(headers, browserCaps)) {
                                                                                                                                                            }
                                                                                                                                                            else {
                                                                                                                                                                if (this.Docomon210iProcess(headers, browserCaps)) { 
                                                                                                                                                                }
                                                                                                                                                                else { 
                                                                                                                                                                    if (this.Docomon2001Process(headers, browserCaps)) { 
                                                                                                                                                                    }
                                                                                                                                                                    else { 
                                                                                                                                                                        if (this.Docomod211iProcess(headers, browserCaps)) {
                                                                                                                                                                        }
                                                                                                                                                                        else {
                                                                                                                                                                            if (this.Docomon211iProcess(headers, browserCaps)) { 
                                                                                                                                                                            }
                                                                                                                                                                            else { 
                                                                                                                                                                                if (this.Docomop210iProcess(headers, browserCaps)) { 
                                                                                                                                                                                }
                                                                                                                                                                                else { 
                                                                                                                                                                                    if (this.Docomoko210iProcess(headers, browserCaps)) {
                                                                                                                                                                                    }
                                                                                                                                                                                    else {
                                                                                                                                                                                        if (this.Docomop2101vProcess(headers, browserCaps)) { 
                                                                                                                                                                                        }
                                                                                                                                                                                        else { 
                                                                                                                                                                                            if (this.Docomop2102vProcess(headers, browserCaps)) { 
                                                                                                                                                                                            }
                                                                                                                                                                                            else { 
                                                                                                                                                                                                if (this.Docomof211iProcess(headers, browserCaps)) {
                                                                                                                                                                                                }
                                                                                                                                                                                                else {
                                                                                                                                                                                                    if (this.Docomof671iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                    }
                                                                                                                                                                                                    else { 
                                                                                                                                                                                                        if (this.Docomon503isProcess(headers, browserCaps)) { 
                                                                                                                                                                                                        }
                                                                                                                                                                                                        else { 
                                                                                                                                                                                                            if (this.Docomon503iProcess(headers, browserCaps)) {
                                                                                                                                                                                                            }
                                                                                                                                                                                                            else {
                                                                                                                                                                                                                if (this.Docomoso503iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                }
                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                    if (this.Docomop503isProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                    }
                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                        if (this.Docomop503iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                        }
                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                            if (this.Docomoso210iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                if (this.Docomoso503isProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                    if (this.Docomosh821iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                        if (this.Docomon2002Process(headers, browserCaps)) { 
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                            if (this.Docomoso505iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                if (this.Docomop505iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                    if (this.Docomon505iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                        if (this.Docomod505iProcess(headers, browserCaps)) { 
                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                            if (this.Docomoisim60Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                ignoreApplicationBrowsers = false; 
                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                        }
                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                } 
                                                                                                                                                                                                            }
                                                                                                                                                                                                        } 
                                                                                                                                                                                                    }
                                                                                                                                                                                                }
                                                                                                                                                                                            }
                                                                                                                                                                                        } 
                                                                                                                                                                                    }
                                                                                                                                                                                } 
                                                                                                                                                                            } 
                                                                                                                                                                        }
                                                                                                                                                                    } 
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                        }
                                                                                                                                                    } 
                                                                                                                                                }
                                                                                                                                            } 
                                                                                                                                        } 
                                                                                                                                    }
                                                                                                                                } 
                                                                                                                            }
                                                                                                                        }
                                                                                                                    }
                                                                                                                } 
                                                                                                            }
                                                                                                        } 
                                                                                                    } 
                                                                                                }
                                                                                            } 
                                                                                        }
                                                                                    }
                                                                                }
                                                                            } 
                                                                        }
                                                                    } 
                                                                } 
                                                            }
                                                        } 
                                                    }
                                                }
                                            }
                                        } 
                                    }
                                } 
                            } 
                        }
                    } 
                }
            }
            this.DocomoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void DocomorenderingsizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void DocomorenderingsizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool DocomorenderingsizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^DoCoMo/([^/ ]*)[/ ]([^/\\x28]*)([/\\x28]c(?\'cacheSize\'\\d+))"); 
            if ((result == false)) {
                return false; 
            } 
            // Identification: check capability matches
            headerValue = ((string)(dictionary["maximumRenderedPageSize"])); 
            result = regexWorker.ProcessRegex(headerValue, "^5120$");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = regexWorker["${cacheSize}000"]; 
            this.DocomorenderingsizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.DocomorenderingsizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void DocomodefaultrenderingsizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void DocomodefaultrenderingsizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool DocomodefaultrenderingsizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["maximumRenderedPageSize"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(0|00|000)$");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "800"; 
            this.DocomodefaultrenderingsizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.DocomodefaultrenderingsizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomosh251iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomosh251iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomosh251iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SH251i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoSH251i"); 
            this.Docomosh251iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=DocomoSH251i
            if (this.Docomosh251isProcess(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Docomosh251iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomosh251isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomosh251isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomosh251isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SH251iS");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["screenCharactersHeight"] = "11";
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "220"; 
            dictionary["screenPixelsWidth"] = "176";
            browserCaps.AddBrowser("DocomoSH251iS"); 
            this.Docomosh251isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomosh251isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomon251iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon251iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomon251iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N251i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "140"; 
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoN251i");
            this.Docomon251iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=DocomoN251i 
            if (this.Docomon251isProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Docomon251iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomon251isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomon251isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon251isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N251iS");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            browserCaps.AddBrowser("DocomoN251iS"); 
            this.Docomon251isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon251isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomop211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomop211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomop211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P211i");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            dictionary["MobileDeviceManufacturer"] = "Panasonic";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoP211i");
            this.Docomop211iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomof212iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomof212iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomof212iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F212i");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenPixelsHeight"] = "136";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoF212i");
            this.Docomof212iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomof212iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomod501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomod501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomod501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D501i");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoD501i"); 
            this.Docomod501iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomod501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomof501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomof501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomof501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F501i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "84";
            dictionary["screenPixelsWidth"] = "112";
            browserCaps.AddBrowser("DocomoF501i"); 
            this.Docomof501iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomon501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomon501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomon501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N501i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "118";
            browserCaps.AddBrowser("DocomoN501i");
            this.Docomon501iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomop501iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomop501iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomop501iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P501i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "120"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoP501i"); 
            this.Docomop501iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomop501iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomod502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomod502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomod502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D502i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "90";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoD502i"); 
            this.Docomod502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomof502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomof502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F502i$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoF502i");
            this.Docomof502iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomof502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomon502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomon502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N502i$"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118";
            browserCaps.AddBrowser("DocomoN502i");
            this.Docomon502iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomop502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomop502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P502i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false";
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "117"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoP502i");
            this.Docomop502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomop502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomonm502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomonm502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomonm502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "NM502i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "106"; 
            dictionary["screenPixelsWidth"] = "111";
            browserCaps.AddBrowser("DocomoNm502i"); 
            this.Docomonm502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomonm502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomoso502iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomoso502iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomoso502iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO502i$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "120";
            dictionary["screenPixelsWidth"] = "120"; 
            browserCaps.AddBrowser("DocomoSo502i"); 
            this.Docomoso502iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoso502iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomof502itProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomof502itProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof502itProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F502it");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoF502it");
            this.Docomof502itProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomof502itProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomon502itProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon502itProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomon502itProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N502it"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118";
            browserCaps.AddBrowser("DocomoN502it");
            this.Docomon502itProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon502itProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomoso502iwmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomoso502iwmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomoso502iwmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SO502iWM"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "113";
            dictionary["screenPixelsWidth"] = "120"; 
            browserCaps.AddBrowser("DocomoSo502iwm");
            this.Docomoso502iwmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoso502iwmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomof504iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomof504iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomof504iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F504i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "136";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoF504i");
            this.Docomof504iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof504iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomon504iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomon504iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon504iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N504i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "180"; 
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN504i");
            this.Docomon504iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon504iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomop504iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomop504iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop504iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P504i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["screenPixelsHeight"] = "144";
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoP504i"); 
            this.Docomop504iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop504iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomon821iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon821iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomon821iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N821i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "119";
            browserCaps.AddBrowser("DocomoN821i"); 
            this.Docomon821iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon821iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomop821iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomop821iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomop821iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P821i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "5000";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoP821i");
            this.Docomop821iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop821iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomod209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomod209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomod209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D209i");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "90"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoD209i"); 
            this.Docomod209iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomod209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomoer209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomoer209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomoer209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "ER209i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoEr209i"); 
            this.Docomoer209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoer209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomof209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomof209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomof209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F209i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoF209i");
            this.Docomof209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomoko209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomoko209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoko209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KO209i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Kokusai";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoKo209i"); 
            this.Docomoko209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoko209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomon209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomon209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N209i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "82";
            dictionary["screenPixelsWidth"] = "108"; 
            browserCaps.AddBrowser("DocomoN209i"); 
            this.Docomon209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomop209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomop209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomop209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P209i$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "87";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoP209i");
            this.Docomop209iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomop209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomop209isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomop209isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomop209isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P209iS"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "87";
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoP209is");
            this.Docomop209isProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop209isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomor209iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomor209iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomor209iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R209i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "JRC"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoR209i");
            this.Docomor209iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomor209iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomor691iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomor691iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomor691iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R691i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "JRC";
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoR691i");
            this.Docomor691iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomor691iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomof503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomof503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomof503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F503i$");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoF503i"); 
            this.Docomof503iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomof503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomof503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomof503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomof503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "F503iS");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "130";
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoF503is"); 
            this.Docomof503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomod503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomod503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomod503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D503i$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "126"; 
            dictionary["screenPixelsWidth"] = "132";
            browserCaps.AddBrowser("DocomoD503i");
            this.Docomod503iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomod503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomod503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomod503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D503iS$"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "126";
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoD503is"); 
            this.Docomod503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomod210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomod210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomod210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D210i");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "91"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoD210i");
            this.Docomod210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomof210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomof210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F210i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("DocomoF210i"); 
            this.Docomof210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomof210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomon210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomon210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomon210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N210i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "113";
            dictionary["screenPixelsWidth"] = "118"; 
            browserCaps.AddBrowser("DocomoN210i"); 
            this.Docomon210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomon2001ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomon2001ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon2001Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N2001");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN2001"); 
            this.Docomon2001ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomon2001ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomod211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomod211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomod211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "D211i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "100"; 
            browserCaps.AddBrowser("DocomoD211i");
            this.Docomod211iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomod211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomon211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomon211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N211i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "118";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN211i");
            this.Docomon211iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomop210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomop210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P210i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "91";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoP210i");
            this.Docomop210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomop210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomoko210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomoko210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomoko210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KO210i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Kokusai";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("DocomoKo210i");
            this.Docomoko210iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomoko210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Docomop2101vProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Docomop2101vProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Docomop2101vProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P2101V");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["screenBitDepth"] = "18";
            dictionary["screenCharactersHeight"] = "9";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "182"; 
            dictionary["screenPixelsWidth"] = "163";
            browserCaps.AddBrowser("DocomoP2101v"); 
            this.Docomop2101vProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomop2101vProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomop2102vProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomop2102vProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomop2102vProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P2102V");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            browserCaps.AddBrowser("DocomoP2102v"); 
            this.Docomop2102vProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomop2102vProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomof211iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomof211iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomof211iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F211i$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoF211i"); 
            this.Docomof211iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomof211iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomof671iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomof671iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomof671iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "F671i$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Fujitsu";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "126";
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoF671i");
            this.Docomof671iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomof671iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomon503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomon503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N503iS"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN503is"); 
            this.Docomon503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomon503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomon503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomon503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N503i$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC"; 
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN503i"); 
            this.Docomon503iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Docomoso503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomoso503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomoso503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SO503i$");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "113";
            dictionary["screenPixelsWidth"] = "120";
            browserCaps.AddBrowser("DocomoSo503i"); 
            this.Docomoso503iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoso503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Docomop503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Docomop503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Docomop503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P503iS");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoP503is"); 
            this.Docomop503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomop503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomop503iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomop503iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomop503iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P503i$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["rendersBreaksAfterHtmlLists"] = "false"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "130";
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoP503i");
            this.Docomop503iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Docomop503iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Docomoso210iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomoso210iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Docomoso210iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO210i$"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "17";
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoSo210i"); 
            this.Docomoso210iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomoso210iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Docomoso503isProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Docomoso503isProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoso503isProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO503iS");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenCharactersWidth"] = "17";
            dictionary["screenPixelsHeight"] = "113"; 
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoSo503is"); 
            this.Docomoso503isProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoso503isProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Docomosh821iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Docomosh821iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Docomosh821iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SH821i"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sharp";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "78"; 
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("DocomoSh821i");
            this.Docomosh821iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomosh821iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomon2002ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomon2002ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomon2002Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "N2002");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "NEC";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "118"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("DocomoN2002");
            this.Docomon2002ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomon2002ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomoso505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomoso505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoso505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SO505i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "SonyEricsson"; 
            dictionary["screenBitDepth"] = "18";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "256"; 
            browserCaps.AddBrowser("DocomoSo505i");
            this.Docomoso505iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Docomoso505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Docomop505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Docomop505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Docomop505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P505i");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            browserCaps.AddBrowser("DocomoP505i");
            this.Docomop505iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomop505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomon505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomon505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomon505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "N505i"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NEC";
            browserCaps.AddBrowser("DocomoN505i");
            this.Docomon505iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomon505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Docomod505iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Docomod505iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Docomod505iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D505i"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["screenBitDepth"] = "18"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "270"; 
            dictionary["screenPixelsWidth"] = "240";
            browserCaps.AddBrowser("DocomoD505i");
            this.Docomod505iProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Docomod505iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Docomoisim60ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Docomoisim60ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Docomoisim60Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ISIM60"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "NTT DoCoMo"; 
            dictionary["mobileDeviceModel"] = "i-mode HTML Simulator";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "180";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectMultiple"] = "false"; 
            browserCaps.AddBrowser("DocomoISIM60");
            this.Docomoisim60ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Docomoisim60ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ericssonr380ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ericssonr380ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ericssonr380Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R380 (?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*) WAP1\\.1");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Ericsson";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["cookies"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3000"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson";
            dictionary["mobileDeviceModel"] = "R380"; 
            dictionary["requiresNoescapedPostUrl"] = "false";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "7"; 
            dictionary["screenPixelsHeight"] = "100";
            dictionary["screenPixelsWidth"] = "310"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["type"] = "Ericsson R380";
            dictionary["version"] = regexWorker["${browserMajorVersion}.${browserMinorVersion}"]; 
            browserCaps.AddBrowser("EricssonR380");
            this.Ericssonr380ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ericssonr380ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void EricssonProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void EricssonProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool EricssonProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Ericsson(?\'deviceID\'[^/]+)/(?\'deviceVer\'.*)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Ericsson";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["cookies"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "4";
            dictionary["defaultScreenCharactersWidth"] = "20"; 
            dictionary["defaultScreenPixelsHeight"] = "52";
            dictionary["defaultScreenPixelsWidth"] = "101";
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "1600"; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson"; 
            dictionary["mobileDeviceModel"] = regexWorker["${deviceID}"];
            dictionary["mobileDeviceVersion"] = regexWorker["${deviceVer}"]; 
            dictionary["numberOfSoftkeys"] = "2";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["type"] = regexWorker["Ericsson ${deviceID}"]; 
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("Ericsson"); 
            this.EricssonProcessGateways(headers, browserCaps);
            // gateway, parent=Ericsson
            this.SonyericssonProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Ericsson
            if (this.Ericssonr320Process(headers, browserCaps)) { 
            } 
            else {
                if (this.Ericssont20Process(headers, browserCaps)) { 
                }
                else {
                    if (this.Ericssont65Process(headers, browserCaps)) {
                    } 
                    else {
                        if (this.Ericssont68Process(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.Ericssont300Process(headers, browserCaps)) { 
                            }
                            else {
                                if (this.Ericssonp800Process(headers, browserCaps)) {
                                } 
                                else {
                                    if (this.Ericssont61Process(headers, browserCaps)) { 
                                    } 
                                    else {
                                        if (this.Ericssont31Process(headers, browserCaps)) { 
                                        }
                                        else {
                                            if (this.Ericssonr520Process(headers, browserCaps)) {
                                            } 
                                            else {
                                                if (this.Ericssona2628Process(headers, browserCaps)) { 
                                                } 
                                                else {
                                                    if (this.Ericssont39Process(headers, browserCaps)) { 
                                                    }
                                                    else {
                                                        ignoreApplicationBrowsers = false;
                                                    } 
                                                }
                                            } 
                                        } 
                                    }
                                } 
                            }
                        }
                    }
                } 
            }
            this.EricssonProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void SonyericssonProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void SonyericssonProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool SonyericssonProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^SonyEricsson"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Sony Ericsson";
            dictionary["mobileDeviceManufacturer"] = "Sony Ericsson"; 
            dictionary["type"] = regexWorker["Sony Ericsson ${mobileDeviceModel}"];
            this.SonyericssonProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.SonyericssonProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ericssonr320ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssonr320ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ericssonr320Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R320"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "52";
            dictionary["screenPixelsWidth"] = "101"; 
            browserCaps.AddBrowser("EricssonR320");
            this.Ericssonr320ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ericssonr320ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ericssont20ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont20ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ericssont20Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "T20");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "false";
            dictionary["maximumRenderedPageSize"] = "1400";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["mobileDeviceModel"] = "T20, T20e, T29s"; 
            dictionary["numberOfSoftkeys"] = "1";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "33"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("EricssonT20");
            this.Ericssont20ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont20ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ericssont65ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont65ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ericssont65Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T65"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["mobileDeviceModel"] = "Ericsson T65"; 
            dictionary["numberOfSoftkeys"] = "1";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "67"; 
            dictionary["screenPixelsWidth"] = "101"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("EricssonT65");
            this.Ericssont65ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont65ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ericssont68ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ericssont68ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont68Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T68"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "false";
            dictionary["isColor"] = "true";
            dictionary["numberOfSoftkeys"] = "1"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "false"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            browserCaps.AddBrowser("EricssonT68"); 
            this.Ericssont68ProcessGateways(headers, browserCaps); 
            // gateway, parent=EricssonT68
            this.Ericssont68upgatewayProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=EricssonT68
            if (this.Ericsson301aProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Ericssont68r1aProcess(headers, browserCaps)) { 
                } 
                else {
                    if (this.Ericssont68r101Process(headers, browserCaps)) { 
                    }
                    else {
                        if (this.Ericssont68r201aProcess(headers, browserCaps)) {
                        } 
                        else {
                            ignoreApplicationBrowsers = false; 
                        } 
                    }
                } 
            }
            this.Ericssont68ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ericssont68upgatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ericssont68upgatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ericssont68upgatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Link");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["cookies"] = "true";
            this.Ericssont68upgatewayProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont68upgatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ericsson301aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ericsson301aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ericsson301aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceVersion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R301A");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["canSendMail"] = "true";
            dictionary["displaysAccessKeysAutomatically"] = "true";
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresNewLineSuppression"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "false";
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "false"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["usePOverDiv"] = "true"; 
            browserCaps.AddBrowser("Ericsson301A");
            this.Ericsson301aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ericsson301aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ericssont300ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont300ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ericssont300Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "T300");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnBlockElements"] = "false";
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["displaysAccessKeysAutomatically"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["supportsWtai"] = "true"; 
            dictionary["tables"] = "false";
            browserCaps.AddBrowser("EricssonT300"); 
            this.Ericssont300ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont300ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssonp800ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssonp800ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssonp800Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "P800");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "Sony Ericsson"; 
            dictionary["cookies"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sony Ericsson";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "16"; 
            dictionary["screenCharactersWidth"] = "28";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "208"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("EricssonP800"); 
            this.Ericssonp800ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=EricssonP800
            if (this.Ericssonp800r101Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Ericssonp800ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssonp800r101ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssonp800r101ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssonp800r101Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R101");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "10000"; 
            browserCaps.AddBrowser("EricssonP800R101"); 
            this.Ericssonp800r101ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssonp800r101ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Ericssont61ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Ericssont61ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont61Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T610|T616|T618");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "9800";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true"; 
            dictionary["requiredOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "false"; 
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("EricssonT61");
            this.Ericssont61ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont61ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ericssont31ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ericssont31ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont31Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T310|T312|T316"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnBlockElements"] = "false";
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["displaysAccessKeysAutomatically"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "2800"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "false";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("EricssonT31"); 
            this.Ericssont31ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont31ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssont68r1aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssont68r1aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssont68r1aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R1A");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "5000"; 
            dictionary["maximumSoftkeyLabelLength"] = "14";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            browserCaps.AddBrowser("EricssonT68R1A");
            this.Ericssont68r1aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont68r1aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ericssont68r101ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ericssont68r101ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ericssont68r101Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "R101"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            browserCaps.AddBrowser("EricssonT68R101"); 
            this.Ericssont68r101ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont68r101ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ericssont68r201aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssont68r201aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssont68r201aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R201A");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2900"; 
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["screenBitDepth"] = "24";
            browserCaps.AddBrowser("EricssonT68R201A");
            this.Ericssont68r201aProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ericssont68r201aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Ericssonr520ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Ericssonr520ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ericssonr520Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "R520"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1600";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "67"; 
            dictionary["screenPixelsWidth"] = "101";
            browserCaps.AddBrowser("EricssonR520"); 
            this.Ericssonr520ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ericssonr520ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ericssona2628ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ericssona2628ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ericssona2628Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "A2628"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1600"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "54";
            dictionary["screenPixelsWidth"] = "101"; 
            browserCaps.AddBrowser("EricssonA2628");
            this.Ericssona2628ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Ericssona2628ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Ericssont39ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ericssont39ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Ericssont39Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "T39"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["inputType"] = "telephoneKeypad"; 
            dictionary["maximumRenderedPageSize"] = "3000"; 
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["mobileDeviceManufacturer"] = "Ericsson"; 
            dictionary["mobileDeviceModel"] = "Ericsson T39";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "54";
            dictionary["screenPixelsWidth"] = "101"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("EricssonT39"); 
            this.Ericssont39ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ericssont39ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void EzwapProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void EzwapProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool EzwapProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EzWAP (?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "EzWAP"; 
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresXhtmlCssSuppression"] = "true";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "33";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "240";
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsStyleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "false"; 
            dictionary["tables"] = "true"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("EzWAP"); 
            this.EzwapProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.EzwapProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void NokiagatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void NokiagatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool NokiagatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["VIA"])); 
            if (string.IsNullOrEmpty(headerValue)) {
                return false;
            }
            headerValue = ((string)(headers["VIA"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'nokiaVersion\'Nokia\\D*(?\'gatewayMajorVersion\'\\d+)(?\'gatewayMinorVersion\'\\.\\d+)[" +
                    "^,]*)"); 
            if ((result == false)) {
                return false;
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["gatewayMajorVersion"] = regexWorker["${gatewayMajorVersion}"]; 
            dictionary["gatewayMinorVersion"] = regexWorker["${gatewayMinorVersion}"]; 
            dictionary["gatewayVersion"] = regexWorker["${nokiaVersion}"];
            this.NokiagatewayProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NokiagatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void UpgatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void UpgatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool UpgatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Link/");
            if ((result == false)) { 
                return false;
            } 
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "(?\'goWebUPGateway\'Go\\.Web)");
            // Capabilities: set capabilities 
            dictionary["isGoWebUpGateway"] = regexWorker["${goWebUPGateway}"];
            this.UpgatewayProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=UPGateway 
            if (this.UpnongogatewayProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.UpgatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void UpnongogatewayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void UpnongogatewayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool UpnongogatewayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Link/(?\'gatewayMajorVersion\'\\d*)(?\'gatewayMinorVersion\'\\.\\d*)(?\'other\'\\S*)");
            if ((result == false)) {
                return false; 
            }
            // Identification: check capability matches 
            headerValue = ((string)(dictionary["isGoWebUpGateway"])); 
            result = regexWorker.ProcessRegex(headerValue, "^$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["gatewayMajorVersion"] = regexWorker["${gatewayMajorVersion}"]; 
            dictionary["gatewayMinorVersion"] = regexWorker["${gatewayMinorVersion}"];
            dictionary["gatewayVersion"] = regexWorker["UP.Link/${gatewayMajorVersion}${gatewayMinorVersion}${other}"]; 
            this.UpnongogatewayProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpnongogatewayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void CrawlerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void CrawlerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool CrawlerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "crawler|Crawler|Googlebot|msnbot");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["crawler"] = "true"; 
            this.CrawlerProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.CrawlerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void ColorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void ColorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool ColorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["UA-COLOR"])); 
            if (string.IsNullOrEmpty(headerValue)) { 
                return false;
            } 
            headerValue = ((string)(headers["UA-COLOR"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "color(?\'colorDepth\'\\d+)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["isColor"] = "true";
            dictionary["screenBitDepth"] = regexWorker["${colorDepth}"];
            this.ColorProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.ColorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MonoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MonoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MonoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["UA-COLOR"]));
            if (string.IsNullOrEmpty(headerValue)) { 
                return false;
            } 
            headerValue = ((string)(headers["UA-COLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "mono(?\'colorDepth\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["screenBitDepth"] = regexWorker["${colorDepth}"]; 
            this.MonoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MonoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PixelsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PixelsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PixelsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["UA-PIXELS"])); 
            if (string.IsNullOrEmpty(headerValue)) {
                return false;
            }
            headerValue = ((string)(headers["UA-PIXELS"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+)");
            if ((result == false)) { 
                return false;
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            this.PixelsProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.PixelsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void VoiceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void VoiceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool VoiceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["UA-VOICE"])); 
            if (string.IsNullOrEmpty(headerValue)) { 
                return false;
            } 
            headerValue = ((string)(headers["UA-VOICE"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?i:TRUE)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "true";
            this.VoiceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.VoiceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void CharsetProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void CharsetProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool CharsetProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-CHARSET"]));
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            }
            headerValue = ((string)(headers["X-UP-DEVCAP-CHARSET"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?i)^Shift_JIS$");
            if ((result == false)) {
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "(UP/\\S* UP\\.Browser/3\\.\\[3-9]d*)|(UP\\.Browser/3\\.\\[3-9]d*)|(UP\\.Browser/3\\.\\[3-9]" + 
                    "d*)"); 
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            this.CharsetProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.CharsetProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void PlatformProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void PlatformProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool PlatformProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            } 
            // Capabilities: set capabilities
            this.PlatformProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Platform
            if (this.PlatformwinntProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Platformwin2000bProcess(headers, browserCaps)) { 
                } 
                else {
                    if (this.Platformwin95Process(headers, browserCaps)) { 
                    }
                    else {
                        if (this.Platformwin98Process(headers, browserCaps)) {
                        } 
                        else {
                            if (this.Platformwin16Process(headers, browserCaps)) { 
                            } 
                            else {
                                if (this.PlatformwinceProcess(headers, browserCaps)) { 
                                }
                                else {
                                    if (this.Platformmac68kProcess(headers, browserCaps)) {
                                    } 
                                    else {
                                        if (this.PlatformmacppcProcess(headers, browserCaps)) { 
                                        } 
                                        else {
                                            if (this.PlatformunixProcess(headers, browserCaps)) { 
                                            }
                                            else {
                                                if (this.PlatformwebtvProcess(headers, browserCaps)) {
                                                } 
                                                else {
                                                    ignoreApplicationBrowsers = false; 
                                                } 
                                            }
                                        } 
                                    }
                                }
                            }
                        } 
                    }
                } 
            } 
            this.PlatformProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PlatformwinntProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PlatformwinntProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PlatformwinntProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows NT|WinNT|Windows XP"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "WinCE|Windows CE");
            if ((result == true)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["platform"] = "WinNT";
            this.PlatformwinntProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PlatformWinnt 
            if (this.PlatformwinxpProcess(headers, browserCaps)) {
            } 
            else { 
                if (this.Platformwin2000aProcess(headers, browserCaps)) {
                } 
                else {
                    ignoreApplicationBrowsers = false;
                }
            } 
            this.PlatformwinntProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformwinxpProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformwinxpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformwinxpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows (NT 5\\.1|XP)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "WinXP";
            this.PlatformwinxpProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformwinxpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin2000aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin2000aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin2000aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows NT 5\\.0"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win2000";
            this.Platformwin2000aProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin2000aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin2000bProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin2000bProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin2000bProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Windows 2000"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win2000";
            this.Platformwin2000bProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin2000bProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin95ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin95ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin95Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?95"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win95";
            this.Platformwin95ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin95ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin98ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin98ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin98Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?98"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win98";
            this.Platformwin98ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin98ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformwin16ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformwin16ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformwin16Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows 3\\.1|16)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Win16";
            this.Platformwin16ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformwin16ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformwinceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformwinceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformwinceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?CE"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "WinCE";
            this.PlatformwinceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformwinceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Platformmac68kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Platformmac68kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Platformmac68kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mac(_68(000|K)|intosh.*68K)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "Mac68K";
            this.Platformmac68kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Platformmac68kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformmacppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformmacppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformmacppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mac(_PowerPC|intosh.*PPC|_PPC)|PPC Mac"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "MacPPC";
            this.PlatformmacppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformmacppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformunixProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformunixProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformunixProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "X11"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "UNIX";
            this.PlatformunixProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformunixProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void PlatformwebtvProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void PlatformwebtvProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PlatformwebtvProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "WebTV"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["platform"] = "WebTV";
            this.PlatformwebtvProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PlatformwebtvProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void WinProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void WinProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool WinProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            }
            // Capabilities: set capabilities 
            this.WinProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Win 
            if (this.Win32Process(headers, browserCaps)) {
            }
            else {
                if (this.Win16Process(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.WinProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Win32ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Win32ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Win32Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Win(dows )?(9[58]|NT|32)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["win32"] = "true"; 
            this.Win32ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Win32ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Win16ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Win16ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Win16Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "16bit|Win(dows 3\\.1|16)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["win16"] = "true"; 
            this.Win16ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Win16ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void GenericdownlevelProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void GenericdownlevelProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool GenericdownlevelProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Generic Downlevel$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false"; 
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Downlevel";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("GenericDownlevel"); 
            this.GenericdownlevelProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.GenericdownlevelProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void GoamericaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void GoamericaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool GoamericaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Go\\.Web/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["BackgroundSounds"] = "true"; 
            dictionary["browser"] = "Go.Web";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "6000"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["rendersBreaksAfterHtmlLists"] = "false"; 
            dictionary["requiredMetaTagNameValue"] = "HandheldFriendly";
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresNoBreakInFormatting"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsFontColor"] = "false";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["SupportsDivNoWrap"] = "false";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "false"; 
            dictionary["supportsSelectMultiple"] = "false";
            dictionary["type"] = "Go.Web"; 
            dictionary["vbscript"] = "false";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("GoAmerica"); 
            this.GoamericaProcessGateways(headers, browserCaps); 
            // gateway, parent=GoAmerica
            this.GoamericaupProcess(headers, browserCaps); 
            // gateway, parent=GoAmerica
            this.GatableProcess(headers, browserCaps);
            // gateway, parent=GoAmerica
            this.MaxpagesizeProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=GoAmerica 
            if (this.GoamericawinceProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.GoamericapalmProcess(headers, browserCaps)) {
                }
                else {
                    if (this.GoamericarimProcess(headers, browserCaps)) { 
                    }
                    else { 
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            }
            this.GoamericaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void GoamericaupProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void GoamericaupProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool GoamericaupProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Browser");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "0.0";
            dictionary["frames"] = "false"; 
            this.GoamericaupProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GoamericaupProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GoamericawinceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GoamericawinceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GoamericawinceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "WinCE"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "14";
            dictionary["defaultScreenCharactersWidth"] = "30";
            dictionary["defaultScreenPixelsHeight"] = "320";
            dictionary["defaultScreenPixelsWidth"] = "240"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["mobileDeviceModel"] = "Pocket PC";
            dictionary["platform"] = "WinCE"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsSelectMultiple"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("GoAmericaWinCE"); 
            this.GoamericawinceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GoamericawinceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GoamericapalmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GoamericapalmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GoamericapalmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Palm"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36";
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsUncheck"] = "false";
            browserCaps.AddBrowser("GoAmericaPalm"); 
            this.GoamericapalmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GoamericapalmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GoamericarimProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GoamericarimProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GoamericarimProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "RIM"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "false";
            dictionary["mobileDeviceManufacturer"] = "RIM";
            dictionary["screenBitDepth"] = "1";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "false"; 
            dictionary["supportsDivWrap"] = "false"; 
            dictionary["supportsFontColor"] = "false";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsFontItalic"] = "false";
            browserCaps.AddBrowser("GoAmericaRIM");
            this.GoamericarimProcessGateways(headers, browserCaps); 
            // gateway, parent=GoAmericaRIM
            this.GoamericanonuprimProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM
            if (this.Goamericarim950Process(headers, browserCaps)) { 
            }
            else {
                if (this.Goamericarim850Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Goamericarim957Process(headers, browserCaps)) { 
                    } 
                    else {
                        if (this.Goamericarim857Process(headers, browserCaps)) { 
                        }
                        else {
                            ignoreApplicationBrowsers = false;
                        } 
                    }
                } 
            } 
            this.GoamericarimProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void GoamericanonuprimProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void GoamericanonuprimProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool GoamericanonuprimProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UP\\.Browser"); 
            if ((result == true)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["frames"] = "true"; 
            this.GoamericanonuprimProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.GoamericanonuprimProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Goamericarim950ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Goamericarim950ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Goamericarim950Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "RIM950");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["BackgroundSounds"] = "false"; 
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["mobileDeviceModel"] = "950"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "25";
            dictionary["screenPixelsHeight"] = "64";
            dictionary["screenPixelsWidth"] = "132"; 
            browserCaps.AddBrowser("GoAmericaRIM950");
            this.Goamericarim950ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Goamericarim950ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Goamericarim850ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Goamericarim850ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Goamericarim850Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "RIM850"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceModel"] = "850";
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "25"; 
            dictionary["screenPixelsHeight"] = "64";
            dictionary["screenPixelsWidth"] = "132"; 
            browserCaps.AddBrowser("GoAmericaRIM850");
            this.Goamericarim850ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Goamericarim850ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Goamericarim957ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Goamericarim957ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Goamericarim957Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "RIM957");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["BackgroundSounds"] = "false";
            dictionary["mobileDeviceModel"] = "957";
            dictionary["screenCharactersHeight"] = "15";
            dictionary["screenCharactersWidth"] = "32"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            browserCaps.AddBrowser("GoAmericaRIM957"); 
            this.Goamericarim957ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM957
            if (this.Goamericarim957major6minor2Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Goamericarim957ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Goamericarim957major6minor2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Goamericarim957major6minor2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Goamericarim957major6minor2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "6\\.2");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "7168";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "30";
            dictionary["supportsSelectMultiple"] = "true";
            dictionary["supportsUncheck"] = "true";
            browserCaps.AddBrowser("GoAmericaRIM957major6minor2"); 
            this.Goamericarim957major6minor2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Goamericarim957major6minor2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Goamericarim857ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Goamericarim857ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Goamericarim857Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "RIM857");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["BackgroundSounds"] = "false"; 
            dictionary["ecmascriptversion"] = "0.0";
            dictionary["frames"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["mobileDeviceModel"] = "857";
            dictionary["screenCharactersHeight"] = "15"; 
            dictionary["screenCharactersWidth"] = "32";
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160";
            browserCaps.AddBrowser("GoAmericaRIM857"); 
            this.Goamericarim857ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM857 
            if (this.Goamericarim857major6Process(headers, browserCaps)) {
            } 
            else {
                if (this.Goamerica7to9Process(headers, browserCaps)) {
                }
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            } 
            this.Goamericarim857ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Goamericarim857major6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Goamericarim857major6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Goamericarim857major6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "6\\."); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["frames"] = "true"; 
            browserCaps.AddBrowser("GoAmericaRIM857major6"); 
            this.Goamericarim857major6ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GoAmericaRIM857major6
            if (this.Goamericarim857major6minor2to9Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Goamericarim857major6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Goamericarim857major6minor2to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Goamericarim857major6minor2to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Goamericarim857major6minor2to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "6\\.[2-9]");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "16"; 
            dictionary["screenCharactersWidth"] = "31";
            dictionary["supportsUncheck"] = "false";
            browserCaps.AddBrowser("GoAmericaRIM857major6minor2to9");
            this.Goamericarim857major6minor2to9ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Goamericarim857major6minor2to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Goamerica7to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Goamerica7to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Goamerica7to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^[7-9]$"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenCharactersHeight"] = "16";
            dictionary["screenCharactersWidth"] = "31"; 
            dictionary["supportsUncheck"] = "false";
            browserCaps.AddBrowser("GoAmerica7to9");
            this.Goamerica7to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Goamerica7to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void GatableProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void GatableProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool GatableProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-GA-TABLES"]));
            if (string.IsNullOrEmpty(headerValue)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            this.GatableProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=GaTable
            if (this.GatablefalseProcess(headers, browserCaps)) {
            }
            else { 
                if (this.GatabletrueProcess(headers, browserCaps)) {
                } 
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            }
            this.GatableProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void GatablefalseProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void GatablefalseProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool GatablefalseProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(headers["X-GA-TABLES"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?i:FALSE)");
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["tables"] = "false"; 
            this.GatablefalseProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GatablefalseProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void GatabletrueProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void GatabletrueProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool GatabletrueProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-GA-TABLES"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?i:TRUE)"); 
            if ((result == false)) {
                return false; 
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["tables"] = "true";
            this.GatabletrueProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.GatabletrueProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MaxpagesizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MaxpagesizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MaxpagesizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-GA-MAX-TRANSFER"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'maxPageSize\'\\d+)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = regexWorker["${maxPageSize}"];
            this.MaxpagesizeProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.MaxpagesizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void JataayuProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void JataayuProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JataayuProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^jBrowser"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Jataayu jBrowser";
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceManufacturer"] = "Jataayu";
            dictionary["mobileDeviceModel"] = "jBrowser"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "wml20";
            dictionary["requiresCommentInStyleElement"] = "true"; 
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "true"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "17";
            dictionary["screenCharactersWidth"] = "42";
            dictionary["screenPixelsHeight"] = "265";
            dictionary["screenPixelsWidth"] = "248"; 
            dictionary["supportsBodyClassAttribute"] = "false";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["tables"] = "true";
            dictionary["type"] = "Jataayu jBrowser";
            browserCaps.AddBrowser("Jataayu"); 
            this.JataayuProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Jataayu 
            if (this.JataayuppcProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.JataayuProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void JataayuppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void JataayuppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool JataayuppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(PPC)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "true";
            dictionary["screenCharactersHeight"] = "14";
            dictionary["screenCharactersWidth"] = "31";
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "240";
            dictionary["supportsStyleElement"] = "true"; 
            browserCaps.AddBrowser("JataayuPPC"); 
            this.JataayuppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JataayuppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphoneProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphoneProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphoneProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-PHONE/");
            if ((result == false)) {
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), "J-PHONE/(?\'majorVersion\'\\d+)(?\'minorVersion\'\\.\\d+)/(?\'deviceModel\'.*)"); 
            // Capabilities: set capabilities
            dictionary["browser"] = "J-Phone"; 
            dictionary["cookies"] = "false";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["defaultCharacterHeight"] = "12";
            dictionary["defaultCharacterWidth"] = "12"; 
            dictionary["defaultScreenCharactersHeight"] = "7";
            dictionary["defaultScreenCharactersWidth"] = "16"; 
            dictionary["defaultScreenPixelsHeight"] = "84"; 
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "false";
            dictionary["javascript"] = "false";
            dictionary["majorVersion"] = regexWorker["${majorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "6000";
            dictionary["minorVersion"] = regexWorker["${minorVersion}"]; 
            dictionary["mobileDeviceModel"] = regexWorker["${deviceModel}"]; 
            dictionary["optimumPageWeight"] = "700";
            dictionary["preferredImageMime"] = "image/png"; 
            dictionary["preferredRenderingType"] = "html32";
            dictionary["preferredRequestEncoding"] = "shift_jis";
            dictionary["preferredResponseEncoding"] = "shift_jis";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresContentTypeMetaTag"] = "true";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["supportsAccesskeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "false";
            dictionary["supportsCharacterEntityEncoding"] = "false"; 
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsDivNoWrap"] = "true"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsInputMode"] = "true";
            dictionary["supportsItalic"] = "false";
            dictionary["supportsJPhoneMultiMediaAttributes"] = "true"; 
            dictionary["supportsJPhoneSymbols"] = "true";
            dictionary["supportsQueryStringInFormAction"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "J-Phone"; 
            dictionary["vbscript"] = "false";
            dictionary["version"] = regexWorker["${majorVersion}${minorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.ChtmlTextWriter";
            browserCaps.AddBrowser("Jphone"); 
            this.JphoneProcessGateways(headers, browserCaps); 
            // gateway, parent=Jphone
            this.Jphone4Process(headers, browserCaps); 
            // gateway, parent=Jphone
            this.JphonecolorProcess(headers, browserCaps);
            // gateway, parent=Jphone
            this.JphonedisplayProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Jphone 
            if (this.JphonemitsubishiProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.JphonedensoProcess(headers, browserCaps)) {
                }
                else {
                    if (this.JphonekenwoodProcess(headers, browserCaps)) { 
                    }
                    else { 
                        if (this.JphonenecProcess(headers, browserCaps)) { 
                        }
                        else { 
                            if (this.JphonepanasonicProcess(headers, browserCaps)) {
                            }
                            else {
                                if (this.JphonepioneerProcess(headers, browserCaps)) { 
                                }
                                else { 
                                    if (this.JphonesanyoProcess(headers, browserCaps)) { 
                                    }
                                    else { 
                                        if (this.JphonesharpProcess(headers, browserCaps)) {
                                        }
                                        else {
                                            if (this.JphonetoshibaProcess(headers, browserCaps)) { 
                                            }
                                            else { 
                                                ignoreApplicationBrowsers = false; 
                                            }
                                        } 
                                    }
                                }
                            }
                        } 
                    }
                } 
            } 
            this.JphoneProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void JphonemitsubishiProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void JphonemitsubishiProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool JphonemitsubishiProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-D\\d"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            browserCaps.AddBrowser("JphoneMitsubishi"); 
            this.JphonemitsubishiProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.JphonemitsubishiProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void JphonedensoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JphonedensoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool JphonedensoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-DN\\d");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            browserCaps.AddBrowser("JphoneDenso"); 
            this.JphonedensoProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JphonedensoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonekenwoodProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonekenwoodProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonekenwoodProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-K\\d");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kenwood"; 
            browserCaps.AddBrowser("JphoneKenwood");
            this.JphonekenwoodProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.JphonekenwoodProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void JphonenecProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void JphonenecProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool JphonenecProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-N\\d");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "NEC";
            browserCaps.AddBrowser("JphoneNec"); 
            this.JphonenecProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JphoneNec
            if (this.Jphonenecn51Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.JphonenecProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Jphonenecn51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Jphonenecn51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Jphonenecn51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-N51");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "12000"; 
            dictionary["mobileDeviceModel"] = "J-N51"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["supportsCharacterEntityEncoding"] = "true";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneNecN51"); 
            this.Jphonenecn51ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonenecn51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void JphonepanasonicProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JphonepanasonicProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool JphonepanasonicProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-P\\d"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            browserCaps.AddBrowser("JphonePanasonic");
            this.JphonepanasonicProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.JphonepanasonicProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void JphonepioneerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void JphonepioneerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool JphonepioneerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-PE\\d");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Pioneer";
            browserCaps.AddBrowser("JphonePioneer");
            this.JphonepioneerProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JphonepioneerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void JphonesanyoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void JphonesanyoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonesanyoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-SA\\d"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            browserCaps.AddBrowser("JphoneSanyo");
            this.JphonesanyoProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JphoneSanyo 
            if (this.Jphonesa51Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.JphonesanyoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Jphonesa51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Jphonesa51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Jphonesa51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SA51\\D*"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["mobileDeviceModel"] = "J-SA51";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneSA51"); 
            this.Jphonesa51ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonesa51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void JphonesharpProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JphonesharpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool JphonesharpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-SH\\d"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            browserCaps.AddBrowser("JphoneSharp");
            this.JphonesharpProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JphoneSharp 
            if (this.Jphonesharpsh53Process(headers, browserCaps)) {
            } 
            else { 
                if (this.Jphonesharpsh07Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Jphonesharpsh08Process(headers, browserCaps)) {
                    }
                    else { 
                        if (this.Jphonesharpsh51Process(headers, browserCaps)) {
                        } 
                        else { 
                            if (this.Jphonesharpsh52Process(headers, browserCaps)) {
                            } 
                            else {
                                ignoreApplicationBrowsers = false;
                            }
                        } 
                    }
                } 
            } 
            this.JphonesharpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Jphonesharpsh53ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonesharpsh53ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Jphonesharpsh53Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "J-SH53"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["mobileDeviceModel"] = "J-SH53"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["screenBitDepth"] = "18"; 
            dictionary["screenCharactersHeight"] = "13";
            dictionary["screenCharactersWidth"] = "24";
            dictionary["supportsCharacterEntityEncoding"] = "true";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneSharpSh53"); 
            this.Jphonesharpsh53ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonesharpsh53ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Jphonesharpsh07ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Jphonesharpsh07ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Jphonesharpsh07Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SH07"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneSharpSh07");
            this.Jphonesharpsh07ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Jphonesharpsh07ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Jphonesharpsh08ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Jphonesharpsh08ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Jphonesharpsh08Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SH08");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["supportsInputIStyle"] = "false";
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "117"; 
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneSharpSh08");
            this.Jphonesharpsh08ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Jphonesharpsh08ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Jphonesharpsh51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonesharpsh51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Jphonesharpsh51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^J-SH51");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["supportsInputIStyle"] = "true"; 
            dictionary["requiresLeadingPageBreak"] = "false";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "false"; 
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "130";
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneSharpSh51");
            this.Jphonesharpsh51ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Jphonesharpsh51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Jphonesharpsh52ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonesharpsh52ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Jphonesharpsh52Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-SH52\\D*"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "12000"; 
            dictionary["mobileDeviceModel"] = "J-SH52"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsInputIStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneSharpSh52"); 
            this.Jphonesharpsh52ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphonesharpsh52ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void JphonetoshibaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void JphonetoshibaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool JphonetoshibaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "J-T\\d");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            browserCaps.AddBrowser("JphoneToshiba");
            this.JphonetoshibaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=JphoneToshiba
            if (this.Jphonetoshibat06aProcess(headers, browserCaps)) { 
            }
            else {
                if (this.Jphonetoshibat08Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Jphonetoshibat51Process(headers, browserCaps)) { 
                    } 
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                }
            }
            this.JphonetoshibaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Jphonetoshibat06aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jphonetoshibat06aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Jphonetoshibat06aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^J-T06_a");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["mobileDeviceModel"] = "J-T06";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneToshibaT06a");
            this.Jphonetoshibat06aProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Jphonetoshibat06aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Jphonetoshibat08ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Jphonetoshibat08ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Jphonetoshibat08Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^J-T08\\D*");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false";
            browserCaps.AddBrowser("JphoneToshibaT08"); 
            this.Jphonetoshibat08ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphonetoshibat08ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Jphonetoshibat51ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Jphonetoshibat51ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Jphonetoshibat51Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^J-T51");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "false"; 
            dictionary["requiresLeadingPageBreak"] = "false"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "144";
            dictionary["screenPixelsWidth"] = "144";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsInputIStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            browserCaps.AddBrowser("JphoneToshibaT51"); 
            this.Jphonetoshibat51ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphonetoshibat51ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "4");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["supportsQueryStringInFormAction"] = "true"; 
            this.Jphone4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonecolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonecolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonecolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-JPHONE-COLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'colorIndicator\'[CG])(?\'bitDepth\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["bitDepth"] = regexWorker["${bitDepth}"];
            dictionary["colorIndicator"] = regexWorker["${colorIndicator}"]; 
            this.JphonecolorProcessGateways(headers, browserCaps);
            // gateway, parent=JphoneColor
            this.JphonecoloriscolorProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=JphoneColor
            if (this.Jphone16bitcolorProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.Jphone8bitcolorProcess(headers, browserCaps)) { 
                }
                else {
                    if (this.Jphone2bitcolorProcess(headers, browserCaps)) {
                    } 
                    else {
                        ignoreApplicationBrowsers = false; 
                    } 
                }
            } 
            this.JphonecolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonecoloriscolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonecoloriscolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonecoloriscolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["colorIndicator"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "C");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true"; 
            this.JphonecoloriscolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.JphonecoloriscolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone16bitcolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone16bitcolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone16bitcolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["bitDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^65536$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "16"; 
            this.Jphone16bitcolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone16bitcolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone8bitcolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone8bitcolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone8bitcolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["bitDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^256$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "8"; 
            this.Jphone8bitcolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone8bitcolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Jphone2bitcolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Jphone2bitcolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Jphone2bitcolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["bitDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^4$");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "2"; 
            this.Jphone2bitcolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Jphone2bitcolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void JphonedisplayProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void JphonedisplayProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool JphonedisplayProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-JPHONE-DISPLAY"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenWidth\'\\d+)\\*(?\'screenHeight\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            this.JphonedisplayProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.JphonedisplayProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void LegendProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void LegendProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool LegendProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^(?\'deviceID\'LG\\S*) AU\\/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)." + 
                    "*");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "AU-System";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false"; 
            dictionary["hasBackButton"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["supportsFontSize"] = "true"; 
            dictionary["type"] = regexWorker["AU ${browserMajorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("Legend");
            this.LegendProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Legend 
            if (this.Lgg5200Process(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.LegendProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Lgg5200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Lgg5200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Lgg5200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^LG-G5200");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "6";
            dictionary["mobileDeviceManufacturer"] = "LEGEND"; 
            dictionary["mobileDeviceModel"] = "G808";
            dictionary["screenBitDepth"] = "4";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "17"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128"; 
            browserCaps.AddBrowser("LGG5200"); 
            this.Lgg5200ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Lgg5200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void MmeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void MmeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MmeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MMEF");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)\\w*).*"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Microsoft Mobile Explorer";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["mobileDeviceManufacturer"] = "Microsoft"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["type"] = "Microsoft Mobile Explorer";
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("MME"); 
            this.MmeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=MME 
            if (this.Mmef20Process(headers, browserCaps)) {
            }
            else {
                if (this.MmemobileexplorerProcess(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.MmeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Mmef20ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Mmef20ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mmef20Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MMEF20");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "false"; 
            dictionary["defaultCharacterHeight"] = "15";
            dictionary["defaultCharacterWidth"] = "5"; 
            dictionary["defaultScreenPixelsHeight"] = "160";
            dictionary["defaultScreenPixelsWidth"] = "120";
            dictionary["isColor"] = "false";
            dictionary["maximumRenderedPageSize"] = "4000"; 
            dictionary["mobileDeviceModel"] = "Simulator";
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["screenBitDepth"] = "1";
            browserCaps.AddBrowser("MMEF20");
            this.Mmef20ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MMEF20
            if (this.MmecellphoneProcess(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Mmef20ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MmemobileexplorerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MmemobileexplorerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MmemobileexplorerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^MobileExplorer/(?\'majorVersion\'\\d*)(?\'minorVersion\'\\.\\d*) \\(Mozilla/1\\.22; compa" +
                    "tible; MMEF\\d+; (?\'manufacturer\'[^;]*); (?\'model\'[^;)]*)(; (?\'deviceID\'[^)]*))?"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "false"; 
            dictionary["defaultCharacterHeight"] = "15";
            dictionary["defaultCharacterWidth"] = "5";
            dictionary["defaultScreenPixelsHeight"] = "160";
            dictionary["defaultScreenPixelsWidth"] = "120"; 
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["isColor"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${majorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorVersion"] = regexWorker["${minorVersion}"]; 
            dictionary["mobileDeviceManufacturer"] = regexWorker["${manufacturer}"];
            dictionary["mobileDeviceModel"] = regexWorker["${model}"];
            dictionary["numberOfSoftkeys"] = "2";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["supportsBodyColor"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsDivAlign"] = "true";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "true"; 
            dictionary["version"] = regexWorker["${majorVersion}${minorVersion}"];
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("MMEMobileExplorer");
            this.MmemobileexplorerProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MmemobileexplorerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MmecellphoneProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MmecellphoneProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MmecellphoneProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/.*\\(compatible; MMEF(?\'majorVersion\'\\d)(?\'minorVersion\'\\d); Cell[pP]hone(" +
                    "([;,] (?\'deviceID\'[^;]*))(;(?\'buildInfo\'.*))*)*\\)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canCombineFormsInDeck"] = "false";
            dictionary["canRenderPostBackCards"] = "false";
            dictionary["deviceID"] = regexWorker["${deviceID}"]; 
            dictionary["majorVersion"] = regexWorker["${majorVersion}"];
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["minorVersion"] = regexWorker[".${minorVersion}"]; 
            dictionary["version"] = regexWorker["${majorVersion}.${minorVersion}"];
            browserCaps.AddBrowser("MMECellphone"); 
            this.MmecellphoneProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=MMECellphone
            if (this.MmebenefonqProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.Mmesonycmdz5Process(headers, browserCaps)) { 
                }
                else { 
                    if (this.Mmesonycmdj5Process(headers, browserCaps)) {
                    }
                    else {
                        if (this.Mmesonycmdj7Process(headers, browserCaps)) { 
                        }
                        else { 
                            if (this.MmegenericsmallProcess(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.MmegenericlargeProcess(headers, browserCaps)) {
                                }
                                else {
                                    if (this.MmegenericflipProcess(headers, browserCaps)) { 
                                    }
                                    else { 
                                        if (this.Mmegeneric3dProcess(headers, browserCaps)) { 
                                        }
                                        else { 
                                            ignoreApplicationBrowsers = false;
                                        }
                                    }
                                } 
                            }
                        } 
                    } 
                }
            } 
            this.MmecellphoneProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void MmebenefonqProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void MmebenefonqProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MmebenefonqProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Benefon Q");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Benefon"; 
            dictionary["mobileDeviceModel"] = "Q";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "48";
            dictionary["screenPixelsWidth"] = "100"; 
            browserCaps.AddBrowser("MMEBenefonQ");
            this.MmebenefonqProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.MmebenefonqProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Mmesonycmdz5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mmesonycmdz5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Mmesonycmdz5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Sony CMD-Z5"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "CMD-Z5"; 
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "60";
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("MMESonyCMDZ5"); 
            this.Mmesonycmdz5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MMESonyCMDZ5 
            if (this.Mmesonycmdz5pj020eProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.Mmesonycmdz5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mmesonycmdz5pj020eProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mmesonycmdz5pj020eProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mmesonycmdz5pj020eProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Pj020e");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = "65";
            browserCaps.AddBrowser("MMESonyCMDZ5Pj020e");
            this.Mmesonycmdz5pj020eProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mmesonycmdz5pj020eProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mmesonycmdj5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mmesonycmdj5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mmesonycmdj5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Sony CMD-J5"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "CMD-J5";
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "65";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("MMESonyCMDJ5");
            this.Mmesonycmdj5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mmesonycmdj5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mmesonycmdj7ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mmesonycmdj7ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mmesonycmdj7Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sony CMD-J7/J70");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canCombineFormsInDeck"] = "true";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["canRenderSetvarZeroWithMultiSelectionList"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "2900"; 
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["mobileDeviceManufacturer"] = "Ericsson";
            dictionary["mobileDeviceModel"] = "T68"; 
            dictionary["numberOfSoftkeys"] = "1";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            browserCaps.AddBrowser("MMESonyCMDJ7");
            this.Mmesonycmdj7ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mmesonycmdj7ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void MmegenericsmallProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MmegenericsmallProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool MmegenericsmallProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GenericSmall"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Microsoft";
            dictionary["mobileDeviceModel"] = "Generic Small Skin"; 
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenPixelsHeight"] = "60";
            dictionary["screenPixelsWidth"] = "100"; 
            browserCaps.AddBrowser("MMEGenericSmall");
            this.MmegenericsmallProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MmegenericsmallProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MmegenericlargeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MmegenericlargeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MmegenericlargeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "GenericLarge");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Microsoft";
            dictionary["mobileDeviceModel"] = "Generic Large Skin";
            dictionary["screenBitDepth"] = "1";
            dictionary["screenPixelsHeight"] = "240"; 
            dictionary["screenPixelsWidth"] = "160";
            browserCaps.AddBrowser("MMEGenericLarge"); 
            this.MmegenericlargeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MmegenericlargeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void MmegenericflipProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void MmegenericflipProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MmegenericflipProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "GenericFlip");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Microsoft"; 
            dictionary["mobileDeviceModel"] = "Generic Flip Skin"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenPixelsHeight"] = "200"; 
            dictionary["screenPixelsWidth"] = "160";
            browserCaps.AddBrowser("MMEGenericFlip");
            this.MmegenericflipProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.MmegenericflipProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mmegeneric3dProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mmegeneric3dProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mmegeneric3dProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Generic3D"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Microsoft";
            dictionary["mobileDeviceModel"] = "Generic 3D Skin";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "128"; 
            browserCaps.AddBrowser("MMEGeneric3D"); 
            this.Mmegeneric3dProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mmegeneric3dProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Netscape3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Netscape3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Netscape3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/3");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "Opera"); 
            if ((result == true)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "AvantGo");
            if ((result == true)) { 
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "MSIE");
            if ((result == true)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Netscape"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["ecmascriptversion"] = "1.1"; 
            dictionary["frames"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true";
            dictionary["screenBitDepth"] = "8";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsFileUpload"] = "true";
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Netscape3";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("Netscape3");
            this.Netscape3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Netscape3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Netscape4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Netscape4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Netscape4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/4"); 
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "Opera");
            if ((result == true)) {
                return false; 
            }
            headerValue = ((string)(browserCaps[string.Empty])); 
            result = regexWorker.ProcessRegex(headerValue, "MSIE"); 
            if ((result == true)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Netscape";
            dictionary["cookies"] = "true"; 
            dictionary["css1"] = "true";
            dictionary["ecmascriptversion"] = "1.3"; 
            dictionary["frames"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["javaapplets"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["screenBitDepth"] = "8";
            dictionary["supportsCss"] = "false";
            dictionary["supportsFileUpload"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Netscape4"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("Netscape4");
            this.Netscape4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Netscape4 
            if (this.CasiopeiaProcess(headers, browserCaps)) {
            } 
            else { 
                if (this.PalmwebproProcess(headers, browserCaps)) {
                } 
                else {
                    if (this.NetfrontProcess(headers, browserCaps)) {
                    }
                    else { 
                        ignoreApplicationBrowsers = false;
                    } 
                } 
            }
            this.Netscape4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Netscape5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Netscape5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Netscape5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/5\\.0 \\([^)]*\\) (Gecko/[-\\d]+ )?Netscape\\d?/(?\'version\'(?\'major\'\\d+)(?\'mi" +
                    "nor\'\\.\\d+)(?\'letters\'\\w*))");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Netscape"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["ecmascriptversion"] = "1.5";
            dictionary["frames"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["javaapplets"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["letters"] = regexWorker["${letters}"]; 
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["screenBitDepth"] = "8";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["supportsVCard"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["Netscape${major}"];
            dictionary["version"] = regexWorker["${version}"]; 
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true";
            browserCaps.AddBrowser("Netscape5");
            this.Netscape5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Netscape5 
            if (this.Netscape6to9Process(headers, browserCaps)) { 
            }
            else { 
                if (this.NetscapebetaProcess(headers, browserCaps)) {
                }
                else {
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.Netscape5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Netscape6to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Netscape6to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Netscape6to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "[6-9]\\.");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsXmlHttp"] = "true"; 
            dictionary["supportsCallback"] = "true"; 
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true";
            browserCaps.AddBrowser("Netscape6to9"); 
            this.Netscape6to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Netscape6to9
            if (this.Netscape6to9betaProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Netscape6to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Netscape6to9betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Netscape6to9betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Netscape6to9betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["letters"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["beta"] = "true"; 
            browserCaps.AddBrowser("Netscape6to9Beta"); 
            this.Netscape6to9betaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Netscape6to9betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void NetscapebetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void NetscapebetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool NetscapebetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["beta"] = "true"; 
            browserCaps.AddBrowser("NetscapeBeta");
            this.NetscapebetaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NetscapebetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void NokiaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void NokiaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool NokiaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Nokia";
            dictionary["cookies"] = "false"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canRenderOneventAndPrevElementsTogether"] = "false";
            dictionary["canRenderPostBackCards"] = "false";
            dictionary["canSendMail"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "4";
            dictionary["defaultScreenCharactersWidth"] = "20"; 
            dictionary["defaultScreenPixelsHeight"] = "40"; 
            dictionary["defaultScreenPixelsWidth"] = "90";
            dictionary["hasBackButton"] = "false"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "1397"; 
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["rendersBreaksAfterWmlAnchor"] = "true";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "1"; 
            dictionary["type"] = "Nokia";
            browserCaps.AddBrowser("Nokia"); 
            this.NokiaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Nokia
            if (this.NokiablueprintProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.NokiawapsimulatorProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.NokiamobilebrowserProcess(headers, browserCaps)) {
                    }
                    else {
                        if (this.Nokia7110Process(headers, browserCaps)) { 
                        }
                        else { 
                            if (this.Nokia6220Process(headers, browserCaps)) { 
                            }
                            else { 
                                if (this.Nokia6250Process(headers, browserCaps)) {
                                }
                                else {
                                    if (this.Nokia6310Process(headers, browserCaps)) { 
                                    }
                                    else { 
                                        if (this.Nokia6510Process(headers, browserCaps)) { 
                                        }
                                        else { 
                                            if (this.Nokia8310Process(headers, browserCaps)) {
                                            }
                                            else {
                                                if (this.Nokia9110iProcess(headers, browserCaps)) { 
                                                }
                                                else { 
                                                    if (this.Nokia9110Process(headers, browserCaps)) { 
                                                    }
                                                    else { 
                                                        if (this.Nokia3330Process(headers, browserCaps)) {
                                                        }
                                                        else {
                                                            if (this.Nokia9210Process(headers, browserCaps)) { 
                                                            }
                                                            else { 
                                                                if (this.Nokia9210htmlProcess(headers, browserCaps)) { 
                                                                }
                                                                else { 
                                                                    if (this.Nokia3590Process(headers, browserCaps)) {
                                                                    }
                                                                    else {
                                                                        if (this.Nokia3595Process(headers, browserCaps)) { 
                                                                        }
                                                                        else { 
                                                                            if (this.Nokia3560Process(headers, browserCaps)) { 
                                                                            }
                                                                            else { 
                                                                                if (this.Nokia3650Process(headers, browserCaps)) {
                                                                                }
                                                                                else {
                                                                                    if (this.Nokia5100Process(headers, browserCaps)) { 
                                                                                    }
                                                                                    else { 
                                                                                        if (this.Nokia6200Process(headers, browserCaps)) { 
                                                                                        }
                                                                                        else { 
                                                                                            if (this.Nokia6590Process(headers, browserCaps)) {
                                                                                            }
                                                                                            else {
                                                                                                if (this.Nokia6800Process(headers, browserCaps)) { 
                                                                                                }
                                                                                                else { 
                                                                                                    if (this.Nokia7650Process(headers, browserCaps)) { 
                                                                                                    }
                                                                                                    else { 
                                                                                                        ignoreApplicationBrowsers = false;
                                                                                                    }
                                                                                                }
                                                                                            } 
                                                                                        }
                                                                                    } 
                                                                                } 
                                                                            }
                                                                        } 
                                                                    }
                                                                }
                                                            }
                                                        } 
                                                    }
                                                } 
                                            } 
                                        }
                                    } 
                                }
                            }
                        }
                    } 
                }
            } 
            this.NokiaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void NokiablueprintProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void NokiablueprintProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool NokiablueprintProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia\\-WAP\\-Toolkit\\/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "65536"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "Blueprint Simulator"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false";
            dictionary["type"] = "Nokia WAP Toolkit";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("NokiaBlueprint");
            this.NokiablueprintProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.NokiablueprintProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void NokiawapsimulatorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void NokiawapsimulatorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool NokiawapsimulatorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia\\-MIT\\-Browser\\/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["cookies"] = "true"; 
            dictionary["hasBackButton"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3584";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "WAP Simulator";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "25"; 
            dictionary["screenCharactersWidth"] = "32";
            dictionary["screenPixelsHeight"] = "512";
            dictionary["screenPixelsWidth"] = "384";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = "Nokia Mobile Internet Toolkit";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("NokiaWapSimulator");
            this.NokiawapsimulatorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.NokiawapsimulatorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void NokiamobilebrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void NokiamobilebrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool NokiamobilebrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia Mobile Browser (?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "25000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = regexWorker["Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/vnd.wap.xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresPostRedirectionHandling"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "14";
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "255";
            dictionary["screenPixelsWidth"] = "180"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["supportsStyleElement"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["Nokia Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter"; 
            browserCaps.AddBrowser("NokiaMobileBrowser");
            this.NokiamobilebrowserProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NokiamobilebrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Nokia7110ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Nokia7110ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Nokia7110Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia7110/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" +
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "7110";
            dictionary["optimumPageWeight"] = "800";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "22";
            dictionary["screenPixelsHeight"] = "44"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["type"] = "Nokia 7110";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia7110");
            this.Nokia7110ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia7110ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nokia6220ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia6220ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nokia6220Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia6210/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" +
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "6210"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "41"; 
            dictionary["screenPixelsWidth"] = "96";
            dictionary["type"] = "Nokia 6210"; 
            dictionary["version"] = regexWorker["${versionString}"];
            browserCaps.AddBrowser("Nokia6220");
            this.Nokia6220ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6220ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Nokia6250ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Nokia6250ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia6250Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6250/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6250";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "22"; 
            dictionary["screenPixelsHeight"] = "41";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["type"] = "Nokia 6250";
            dictionary["version"] = regexWorker["${versionString}"];
            browserCaps.AddBrowser("Nokia6250");
            this.Nokia6250ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia6250ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia6310ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia6310ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia6310Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia6310/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canRenderOneventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "6310";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "45";
            dictionary["screenPixelsWidth"] = "92";
            dictionary["type"] = "Nokia 6310";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia6310");
            this.Nokia6310ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6310ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Nokia6510ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia6510ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Nokia6510Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6510/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["hasBackButton"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["maximumSoftkeyLabelLength"] = "21";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6510";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "45";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["type"] = "Nokia 6510"; 
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia6510");
            this.Nokia6510ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia6510ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Nokia8310ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Nokia8310ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Nokia8310Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia8310/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" +
                    "on\'\\.\\w*).*)\\)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderOneventAndPrevElementsTogether"] = "true"; 
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2700";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "8310"; 
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "39"; 
            dictionary["screenPixelsWidth"] = "78"; 
            dictionary["type"] = "Nokia 8310";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia8310");
            this.Nokia8310ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia8310ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nokia9110iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia9110iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nokia9110iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia9110/1\\.0");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "true";
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "8192";
            dictionary["mobileDeviceModel"] = "9110i Communicator"; 
            dictionary["rendersBreaksAfterWmlAnchor"] = "false";
            dictionary["screenBitDepth"] = "4"; 
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "60";
            dictionary["screenPixelsHeight"] = "180"; 
            dictionary["screenPixelsWidth"] = "400";
            dictionary["type"] = "Nokia 9110";
            browserCaps.AddBrowser("Nokia9110i");
            this.Nokia9110iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia9110iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia9110ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia9110ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia9110Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia-9110"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "150000"; 
            dictionary["mobileDeviceModel"] = "Nokia 9110"; 
            dictionary["numberOfSoftkeys"] = "0";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["rendersBreaksAfterHtmlLists"] = "false";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "57"; 
            dictionary["screenPixelsHeight"] = "200";
            dictionary["screenPixelsWidth"] = "540"; 
            dictionary["supportsAccesskeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsSelectMultiple"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 9110";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Nokia9110");
            this.Nokia9110ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia9110ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia3330ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia3330ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia3330Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia3330/1\\.0 \\((?\'versionString\'(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersi" + 
                    "on\'\\.\\w*).*)\\)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["hasBackButton"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "2800"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "3330";
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "39";
            dictionary["screenPixelsWidth"] = "78";
            dictionary["type"] = "Nokia 3330"; 
            dictionary["version"] = regexWorker["${versionString}"];
            browserCaps.AddBrowser("Nokia3330"); 
            this.Nokia3330ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia3330ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Nokia9210ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokia9210ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia9210Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia9210/1\\.0");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "8192"; 
            dictionary["mobileDeviceModel"] = "9210 Communicator";
            dictionary["rendersBreaksAfterWmlAnchor"] = "false";
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["requiresNoSoftkeyLabels"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "75";
            dictionary["screenPixelsHeight"] = "165"; 
            dictionary["screenPixelsWidth"] = "490";
            dictionary["supportsCacheControlMetaTag"] = "false";
            dictionary["type"] = "Nokia 9210";
            browserCaps.AddBrowser("Nokia9210"); 
            this.Nokia9210ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia9210ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Nokia9210htmlProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Nokia9210htmlProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Nokia9210htmlProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EPOC32-WTL/2\\.2 Crystal/6\\.0 STNC-WTL/");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            browserCaps.AddBrowser("Nokia9210HTML");
            this.Nokia9210htmlProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Nokia9210htmlProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Nokia3590ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia3590ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Nokia3590Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Nokia3590/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*" + 
                    ")");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "3200";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "3590";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "true"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "72"; 
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontColor"] = "false";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 3590";
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.AddBrowser("Nokia3590");
            this.Nokia3590ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Nokia3590 
            if (this.Nokia3590v1Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.Nokia3590ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Nokia3590v1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokia3590v1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Nokia3590v1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia3590/1\\.0\\(7\\."); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "8020";
            dictionary["preferredRequestEncoding"] = "iso-8859-1";
            dictionary["preferredResponseEncoding"] = "utf-8";
            dictionary["screenPixelsHeight"] = "65"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["tables"] = "false";
            browserCaps.AddBrowser("Nokia3590V1"); 
            this.Nokia3590v1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia3590v1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Nokia3595ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokia3595ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Nokia3595Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia3595/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" + 
                    "");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "15700"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "3595"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["preferredRequestEncoding"] = "iso-8859-1"; 
            dictionary["preferredResponseEncoding"] = "utf-8";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersWidth"] = "17"; 
            dictionary["screenPixelsHeight"] = "132";
            dictionary["screenPixelsWidth"] = "176"; 
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 3595";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Nokia3595");
            this.Nokia3595ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia3595ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nokia3560ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nokia3560ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nokia3560Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia3560");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "28"; 
            dictionary["screenPixelsHeight"] = "176";
            dictionary["screenPixelsWidth"] = "208"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("Nokia3560");
            this.Nokia3560ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia3560ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Nokia3650ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Nokia3650ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokia3650Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Nokia3650/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*).* Series60/(?\'" + 
                    "platformVersion\'\\S*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "3650"; 
            dictionary["mobilePlatformVersion"] = regexWorker["${platformVersion}"]; 
            dictionary["type"] = "Nokia 3650";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.AddBrowser("Nokia3650");
            this.Nokia3650ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Nokia3650 
            if (this.Nokia3650p12plusProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Nokia3650ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokia3650p12plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokia3650p12plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia3650p12plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobilePlatformVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[^01]\\.|1\\.[^01]");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "28";
            dictionary["screenPixelsHeight"] = "176"; 
            dictionary["screenPixelsWidth"] = "208"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["tagwriter"] = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("Nokia3650P12Plus");
            this.Nokia3650p12plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia3650p12plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Nokia5100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Nokia5100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia5100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia5100/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" + 
                    ""); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "14";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "5100";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["rendersWmlSelectsAsMenuCards"] = "true";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = "Nokia 5100";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Nokia5100"); 
            this.Nokia5100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia5100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokia6200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokia6200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia6200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6200/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" +
                    "");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6200"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["preferredRequestEncoding"] = "iso-8859-1";
            dictionary["preferredResponseEncoding"] = "utf-8";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "19";
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["type"] = "Nokia 6200"; 
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.AddBrowser("Nokia6200");
            this.Nokia6200ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nokia6200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Nokia6590ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Nokia6590ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Nokia6590Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Nokia6590/(?\'versionString\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\" +
                    "d*)\\S*) "); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "9800";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6590"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia 6590";
            dictionary["version"] = regexWorker["${versionString}"]; 
            browserCaps.AddBrowser("Nokia6590"); 
            this.Nokia6590ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6590ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokia6800ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokia6800ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia6800Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Nokia6800/(?\'version\'(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*)\\S*)" +
                    "");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true"; 
            dictionary["hasBackButton"] = "true";
            dictionary["isColor"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "14";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceModel"] = "6800"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["requiresPhoneNumbersAsPlainText"] = "false";
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15"; 
            dictionary["screenPixelsHeight"] = "128";
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "false";
            dictionary["type"] = "Nokia 6800"; 
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.AddBrowser("Nokia6800");
            this.Nokia6800ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokia6800ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Nokia7650ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Nokia7650ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokia7650Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Nokia7650/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*).*"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderOnEventAndPrevElementsTogether"] = "true";
            dictionary["canRenderPostBackCards"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["hasBackButton"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "3500";
            dictionary["maximumSoftkeyLabelLength"] = "18"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceModel"] = "7650";
            dictionary["numberOfSoftkeys"] = "3";
            dictionary["preferredImageMime"] = "image/gif"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["requiresPhoneNumbersAsPlainText"] = "false"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "28";
            dictionary["screenPixelsHeight"] = "208";
            dictionary["screenPixelsWidth"] = "176";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["type"] = "Nokia 7650"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("Nokia7650"); 
            this.Nokia7650ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Nokia7650ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void NokiamobilebrowserrainbowProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void NokiamobilebrowserrainbowProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool NokiamobilebrowserrainbowProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Rainbow/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Nokia"; 
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "25000";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["mobileDeviceModel"] = regexWorker["Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "application/vnd.wap.xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["requiresAbsolutePostbackUrl"] = "true"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresInputTypeAttribute"] = "true";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "14";
            dictionary["screenCharactersWidth"] = "24";
            dictionary["screenPixelsHeight"] = "255";
            dictionary["screenPixelsWidth"] = "180"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyColor"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsDivAlign"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsQueryStringInFormAction"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["supportsStyleElement"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["Nokia Mobile Browser ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("NokiaMobileBrowserRainbow"); 
            this.NokiamobilebrowserrainbowProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.NokiamobilebrowserrainbowProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Nokiaepoc32wtlProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Nokiaepoc32wtlProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Nokiaepoc32wtlProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EPOC32-WTL/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "EPOC"; 
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["canSendMail"] = "false";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "150000"; 
            dictionary["mobileDeviceManufacturer"] = "Nokia";
            dictionary["mobileDeviceModel"] = "Nokia 9210"; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "false";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "54"; 
            dictionary["screenPixelsHeight"] = "170";
            dictionary["screenPixelsWidth"] = "478"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsSelectMultiple"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "Nokia Epoc";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("NokiaEpoc32wtl");
            this.Nokiaepoc32wtlProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=NokiaEpoc32wtl 
            if (this.Nokiaepoc32wtl20Process(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Nokiaepoc32wtlProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Nokiaepoc32wtl20ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Nokiaepoc32wtl20ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Nokiaepoc32wtl20Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "2\\.0");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "7168";
            dictionary["mobileDeviceManufacturer"] = "Psion";
            dictionary["mobileDeviceModel"] = "Series 7";
            dictionary["rendersBreaksAfterHtmlLists"] = "true"; 
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true"; 
            dictionary["screenCharactersHeight"] = "31";
            dictionary["screenCharactersWidth"] = "69"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["SupportsEmptyStringInCookieValue"] = "true";
            browserCaps.AddBrowser("NokiaEpoc32wtl20"); 
            this.Nokiaepoc32wtl20ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nokiaepoc32wtl20ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void UpProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void UpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool UpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(UP\\.Browser)|(UP/)");
            if ((result == false)) { 
                return false;
            }
            headerValue = ((string)(browserCaps[string.Empty]));
            result = regexWorker.ProcessRegex(headerValue, "Go\\.Web"); 
            if ((result == true)) {
                return false; 
            } 
            // Capture: header values
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), @"((?'deviceID'\S*) UP/\S* UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*) UP\.Link/)|((?'deviceID'\S*)/\S* UP(\.Browser)*/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|(UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*)-(?'deviceID'\S*) UP\.Link/)|((?'deviceID'\S*) UP\.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*) UP\.Link/)|((?'deviceID'\S*)/(?'DeviceVersion'\S*) UP/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|((?'deviceID'\S*)/(?'DeviceVersion'\S*) UP.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))|((?'deviceID'\S*) UP.Browser/((?'browserMajorVersion'\d*)(?'browserMinorVersion'\.\d*)\S*))"); 
            // Capabilities: set capabilities
            dictionary["browser"] = "Phone.com";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["deviceVersion"] = regexWorker["${deviceVersion}"]; 
            dictionary["inputType"] = "telephoneKeypad"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["maximumRenderedPageSize"] = "1492";
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["numberOfSoftkeys"] = "2";
            dictionary["optimumPageWeight"] = "700"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["rendersWmlSelectsAsMenuCards"] = "true";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true";
            dictionary["requiresNoescapedPostUrl"] = "true"; 
            dictionary["requiresPostRedirectionHandling"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = regexWorker["Phone.com${browserMajorVersion}"]; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("Up"); 
            this.UpProcessGateways(headers, browserCaps);
            // gateway, parent=Up
            this.UpdefaultscreencharactersProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpdefaultscreenpixelsProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpscreendepthProcess(headers, browserCaps); 
            // gateway, parent=Up
            this.UpscreencharsProcess(headers, browserCaps); 
            // gateway, parent=Up
            this.UpscreenpixelsProcess(headers, browserCaps);
            // gateway, parent=Up
            this.UpmsizeProcess(headers, browserCaps); 
            // gateway, parent=Up
            this.IscolorProcess(headers, browserCaps); 
            // gateway, parent=Up 
            this.UpnumsoftkeysProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpsoftkeysizeProcess(headers, browserCaps);
            // gateway, parent=Up
            this.UpmaxpduProcess(headers, browserCaps);
            // gateway, parent=Up 
            this.UpversionProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Up 
            if (this.AumicProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Alcatelbe4Process(headers, browserCaps)) {
                }
                else { 
                    if (this.Alcatelbe5Process(headers, browserCaps)) {
                    } 
                    else { 
                        if (this.Alcatelbe3Process(headers, browserCaps)) {
                        } 
                        else {
                            if (this.Alcatelbf3Process(headers, browserCaps)) {
                            }
                            else { 
                                if (this.Alcatelbf4Process(headers, browserCaps)) {
                                } 
                                else { 
                                    if (this.MotcbProcess(headers, browserCaps)) {
                                    } 
                                    else {
                                        if (this.Motf5Process(headers, browserCaps)) {
                                        }
                                        else { 
                                            if (this.Motd8Process(headers, browserCaps)) {
                                            } 
                                            else { 
                                                if (this.MotcfProcess(headers, browserCaps)) {
                                                } 
                                                else {
                                                    if (this.Motf6Process(headers, browserCaps)) {
                                                    }
                                                    else { 
                                                        if (this.MotbcProcess(headers, browserCaps)) {
                                                        } 
                                                        else { 
                                                            if (this.MotdcProcess(headers, browserCaps)) {
                                                            } 
                                                            else {
                                                                if (this.MotpancProcess(headers, browserCaps)) {
                                                                }
                                                                else { 
                                                                    if (this.Motc4Process(headers, browserCaps)) {
                                                                    } 
                                                                    else { 
                                                                        if (this.MccaProcess(headers, browserCaps)) {
                                                                        } 
                                                                        else {
                                                                            if (this.Mot2000Process(headers, browserCaps)) {
                                                                            }
                                                                            else { 
                                                                                if (this.Motp2kcProcess(headers, browserCaps)) {
                                                                                } 
                                                                                else { 
                                                                                    if (this.MotafProcess(headers, browserCaps)) {
                                                                                    } 
                                                                                    else {
                                                                                        if (this.Motc2Process(headers, browserCaps)) {
                                                                                        }
                                                                                        else { 
                                                                                            if (this.XeniumProcess(headers, browserCaps)) {
                                                                                            } 
                                                                                            else { 
                                                                                                if (this.Sagem959Process(headers, browserCaps)) {
                                                                                                } 
                                                                                                else {
                                                                                                    if (this.Sgha300Process(headers, browserCaps)) {
                                                                                                    }
                                                                                                    else { 
                                                                                                        if (this.Sghn100Process(headers, browserCaps)) {
                                                                                                        } 
                                                                                                        else { 
                                                                                                            if (this.C304saProcess(headers, browserCaps)) {
                                                                                                            } 
                                                                                                            else {
                                                                                                                if (this.Sy11Process(headers, browserCaps)) {
                                                                                                                }
                                                                                                                else { 
                                                                                                                    if (this.St12Process(headers, browserCaps)) {
                                                                                                                    } 
                                                                                                                    else { 
                                                                                                                        if (this.Sy14Process(headers, browserCaps)) {
                                                                                                                        } 
                                                                                                                        else {
                                                                                                                            if (this.Sies40Process(headers, browserCaps)) {
                                                                                                                            }
                                                                                                                            else { 
                                                                                                                                if (this.Siesl45Process(headers, browserCaps)) {
                                                                                                                                } 
                                                                                                                                else { 
                                                                                                                                    if (this.Sies35Process(headers, browserCaps)) {
                                                                                                                                    } 
                                                                                                                                    else {
                                                                                                                                        if (this.Sieme45Process(headers, browserCaps)) {
                                                                                                                                        }
                                                                                                                                        else { 
                                                                                                                                            if (this.Sies45Process(headers, browserCaps)) {
                                                                                                                                            } 
                                                                                                                                            else { 
                                                                                                                                                if (this.Gm832Process(headers, browserCaps)) {
                                                                                                                                                } 
                                                                                                                                                else {
                                                                                                                                                    if (this.Gm910iProcess(headers, browserCaps)) {
                                                                                                                                                    }
                                                                                                                                                    else { 
                                                                                                                                                        if (this.Mot32Process(headers, browserCaps)) {
                                                                                                                                                        } 
                                                                                                                                                        else { 
                                                                                                                                                            if (this.Mot28Process(headers, browserCaps)) {
                                                                                                                                                            } 
                                                                                                                                                            else {
                                                                                                                                                                if (this.D2Process(headers, browserCaps)) {
                                                                                                                                                                }
                                                                                                                                                                else { 
                                                                                                                                                                    if (this.PpatProcess(headers, browserCaps)) {
                                                                                                                                                                    } 
                                                                                                                                                                    else { 
                                                                                                                                                                        if (this.AlazProcess(headers, browserCaps)) {
                                                                                                                                                                        } 
                                                                                                                                                                        else {
                                                                                                                                                                            if (this.Cdm9100Process(headers, browserCaps)) {
                                                                                                                                                                            }
                                                                                                                                                                            else { 
                                                                                                                                                                                if (this.Cdm135Process(headers, browserCaps)) {
                                                                                                                                                                                } 
                                                                                                                                                                                else { 
                                                                                                                                                                                    if (this.Cdm9000Process(headers, browserCaps)) {
                                                                                                                                                                                    } 
                                                                                                                                                                                    else {
                                                                                                                                                                                        if (this.C303caProcess(headers, browserCaps)) {
                                                                                                                                                                                        }
                                                                                                                                                                                        else { 
                                                                                                                                                                                            if (this.C311caProcess(headers, browserCaps)) {
                                                                                                                                                                                            } 
                                                                                                                                                                                            else { 
                                                                                                                                                                                                if (this.C202deProcess(headers, browserCaps)) {
                                                                                                                                                                                                } 
                                                                                                                                                                                                else {
                                                                                                                                                                                                    if (this.C409caProcess(headers, browserCaps)) {
                                                                                                                                                                                                    }
                                                                                                                                                                                                    else { 
                                                                                                                                                                                                        if (this.C402deProcess(headers, browserCaps)) {
                                                                                                                                                                                                        } 
                                                                                                                                                                                                        else { 
                                                                                                                                                                                                            if (this.Ds15Process(headers, browserCaps)) {
                                                                                                                                                                                                            } 
                                                                                                                                                                                                            else {
                                                                                                                                                                                                                if (this.Tp2200Process(headers, browserCaps)) {
                                                                                                                                                                                                                }
                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                    if (this.Tp120Process(headers, browserCaps)) {
                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                        if (this.Ds10Process(headers, browserCaps)) {
                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                            if (this.R280Process(headers, browserCaps)) {
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                if (this.C201hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                    if (this.S71Process(headers, browserCaps)) {
                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                        if (this.C302hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                            if (this.C309hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                if (this.C407hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                    if (this.C451hProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                        if (this.R201Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                            if (this.P21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                if (this.Kyocera702gProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                    if (this.Kyocera703gProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                        if (this.Kyocerac307kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                            if (this.Tk01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                if (this.Tk02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                    if (this.Tk03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                        if (this.Tk04Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                            if (this.Tk05Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                if (this.D303kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                    if (this.D304kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                        if (this.Qcp2035Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                            if (this.Qcp3035Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                if (this.D512Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                    if (this.Dm110Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                        if (this.Tm510Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                            if (this.Lg13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                if (this.P100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                    if (this.Lgc875fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                        if (this.Lgp680fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                            if (this.Lgp7800fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                if (this.Lgc840fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                    if (this.Lgi2100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                        if (this.Lgp7300fProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                            if (this.Sd500Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                if (this.Tp1100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                    if (this.Tp3000Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                        if (this.T250Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                            if (this.Mo01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                if (this.Mo02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                    if (this.Mc01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                        if (this.McccProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                            if (this.Mcc9Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                if (this.Nk00Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Mai12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Ma112Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Ma13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Mac1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Mat1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sc01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sc03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sc02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sc04Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sg08Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sc13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sc11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sec01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sc10Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sy12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.St11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sy13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Syc1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sy01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Syt1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sty2Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sy02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sy03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Si01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sni1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sn11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sn12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sn134Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sn156Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Snc1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Tsc1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Tsi1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Ts11Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Ts12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Ts13Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Tst1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Tst2Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Tst3Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Ig01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Ig02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Ig03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Qc31Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Qc12Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Qc32Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sp01Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.ShProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Upg1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Opwv1Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.AlavProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Im1kProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Nt95Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Mot2001Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Motv200Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Mot72Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Mot76Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Scp6000Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Motd5Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Motf0Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sgha400Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sec03Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Siec3iProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sn17Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Scp4700Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sec02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sy15Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Db520Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.L430v03j02Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.OpwvsdkProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Kddica21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Kddits21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Kddisa21Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Km100Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Lgelx5350Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Hitachip300Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Sies46Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Motorolav60gProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Motorolav708Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Motorolav708aProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Motorolae360Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Sonyericssona1101sProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Philipsfisio820Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Casioa5302Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.Tcll668Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if (this.Kddits24Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if (this.Sies55Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if (this.Sharpgx10Process(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else { 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            if (this.BenqathenaProcess(headers, browserCaps)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ignoreApplicationBrowsers = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                    } 
                                                                                                                                                                                                                }
                                                                                                                                                                                                            } 
                                                                                                                                                                                                        }
                                                                                                                                                                                                    }
                                                                                                                                                                                                }
                                                                                                                                                                                            } 
                                                                                                                                                                                        }
                                                                                                                                                                                    } 
                                                                                                                                                                                } 
                                                                                                                                                                            }
                                                                                                                                                                        } 
                                                                                                                                                                    }
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                        } 
                                                                                                                                                    }
                                                                                                                                                } 
                                                                                                                                            } 
                                                                                                                                        }
                                                                                                                                    } 
                                                                                                                                }
                                                                                                                            }
                                                                                                                        }
                                                                                                                    } 
                                                                                                                }
                                                                                                            } 
                                                                                                        } 
                                                                                                    }
                                                                                                } 
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                } 
                                                                            }
                                                                        } 
                                                                    } 
                                                                }
                                                            } 
                                                        }
                                                    }
                                                }
                                            } 
                                        }
                                    } 
                                } 
                            }
                        } 
                    }
                }
            }
            this.UpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void UpdefaultscreencharactersProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void UpdefaultscreencharactersProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool UpdefaultscreencharactersProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENCHARS"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^$");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["defaultScreenCharactersWidth"] = "15";
            dictionary["defaultScreenCharactersHeight"] = "4";
            this.UpdefaultscreencharactersProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpdefaultscreencharactersProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void UpdefaultscreenpixelsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void UpdefaultscreenpixelsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool UpdefaultscreenpixelsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENPIXELS"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^$"); 
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            dictionary["defaultScreenPixelsWidth"] = "120"; 
            dictionary["defaultScreenPixelsHeight"] = "40";
            this.UpdefaultscreenpixelsProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.UpdefaultscreenpixelsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void UpscreendepthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void UpscreendepthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool UpscreendepthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENDEPTH"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenDepth\'\\d+)"); 
            if ((result == false)) {
                return false;
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["screenBitDepth"] = regexWorker["${screenDepth}"]; 
            this.UpscreendepthProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpscreendepthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void UpscreencharsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void UpscreencharsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool UpscreencharsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENCHARS"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenCharsWidth\'[1-9]\\d*),(?\'screenCharsHeight\'[1-9]\\d*)");
            if ((result == false)) {
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["screenCharactersHeight"] = regexWorker["${screenCharsHeight}"]; 
            dictionary["screenCharactersWidth"] = regexWorker["${screenCharsWidth}"];
            this.UpscreencharsProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpscreencharsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void UpscreenpixelsProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void UpscreenpixelsProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool UpscreenpixelsProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SCREENPIXELS"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'screenPixWidth\'[1-9]\\d*),(?\'screenPixHeight\'[1-9]\\d*)");
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["screenPixelsHeight"] = regexWorker["${screenPixHeight}"]; 
            dictionary["screenPixelsWidth"] = regexWorker["${screenPixWidth}"];
            this.UpscreenpixelsProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.UpscreenpixelsProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void UpmsizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void UpmsizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool UpmsizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-MSIZE"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'width\'\\d+),(?\'height\'\\d+)");
            if ((result == false)) { 
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["characterHeight"] = regexWorker["${height}"];
            dictionary["characterWidth"] = regexWorker["${width}"];
            this.UpmsizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpmsizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void IscolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void IscolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool IscolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-ISCOLOR"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, ".+"); 
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            this.IscolorProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=IsColor 
            if (this.IscolortrueProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.IscolorfalseProcess(headers, browserCaps)) {
                }
                else {
                    ignoreApplicationBrowsers = false; 
                }
            } 
            this.IscolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void IscolortrueProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void IscolortrueProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool IscolortrueProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-ISCOLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "1");
            if ((result == false)) { 
                return false;
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            this.IscolortrueProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.IscolortrueProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void IscolorfalseProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void IscolorfalseProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool IscolorfalseProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-ISCOLOR"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "0"); 
            if ((result == false)) {
                return false;
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["isColor"] = "false"; 
            this.IscolorfalseProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.IscolorfalseProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void UpnumsoftkeysProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void UpnumsoftkeysProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool UpnumsoftkeysProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["X-UP-DEVCAP-NUMSOFTKEYS"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "(?\'softkeys\'\\d+)");
            if ((result == false)) {
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["numberOfSoftkeys"] = regexWorker["${softkeys}"]; 
            this.UpnumsoftkeysProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.UpnumsoftkeysProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void UpsoftkeysizeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void UpsoftkeysizeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool UpsoftkeysizeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-SOFTKEYSIZE"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'softkeySize\'\\d+)");
            if ((result == false)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["maximumSoftkeyLabelLength"] = regexWorker["${softkeySize}"];
            this.UpsoftkeysizeProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.UpsoftkeysizeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void UpmaxpduProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void UpmaxpduProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool UpmaxpduProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(headers["X-UP-DEVCAP-MAX-PDU"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'maxDeckSize\'\\d+)");
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = regexWorker["${maxDeckSize}"]; 
            this.UpmaxpduProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.UpmaxpduProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void UpversionProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void UpversionProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool UpversionProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            // Capabilities: set capabilities
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            dictionary["type"] = regexWorker["Phone.com ${majorVersion}.x Browser"];
            this.UpversionProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=UpVersion
            if (this.BlazerProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.Up4Process(headers, browserCaps)) { 
                }
                else {
                    if (this.Up5Process(headers, browserCaps)) {
                    } 
                    else {
                        if (this.Up6Process(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.Up3Process(headers, browserCaps)) { 
                            }
                            else {
                                ignoreApplicationBrowsers = false;
                            } 
                        }
                    } 
                } 
            }
            this.UpversionProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void AumicProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AumicProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool AumicProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "AU-MIC/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\.\\d*).*");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "AU MIC"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "true";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "17";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsSelectFollowingTable"] = "false"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["AU MIC ${browserMajorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.AddBrowser("AuMic");
            this.AumicProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=AuMic 
            if (this.Aumicv2Process(headers, browserCaps)) { 
            }
            else { 
                if (this.A500Process(headers, browserCaps)) {
                }
                else {
                    if (this.N400Process(headers, browserCaps)) { 
                    }
                    else { 
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            }
            this.AumicProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Aumicv2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Aumicv2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Aumicv2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["majorVersion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "2");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "8600";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["supportsBold"] = "false";
            browserCaps.AddBrowser("AuMicV2");
            this.Aumicv2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Aumicv2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void A500ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void A500ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool A500Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["HTTP_X_WAP_PROFILE"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\/SPH-A500\\/"); 
            if ((result == false)) { 
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SPH-A500"; 
            dictionary["maximumRenderedPageSize"] = "8850";
            dictionary["preferredREnderingType"] = "xhtml-basic"; 
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsTitleElement"] = "true";
            browserCaps.AddBrowser("a500"); 
            this.A500ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.A500ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void N400ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void N400ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool N400Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["HTTP_X_WAP_PROFILE"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\/SPH-N400\\/"); 
            if ((result == false)) {
                return false; 
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "N400";
            dictionary["maximumRenderedPageSize"] = "46750";
            dictionary["preferredREnderingType"] = "xhtml-basic"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsTitleElement"] = "false"; 
            browserCaps.AddBrowser("n400");
            this.N400ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.N400ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void BlazerProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void BlazerProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool BlazerProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Blazer");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["browser"] = "Handspring Blazer";
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["cookies"] = "true";
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["numberOfSoftkeys"] = "0"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/html"; 
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["rendersWmlSelectsAsMenuCards"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "36"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["type"] = "Handspring Blazer";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            this.BlazerProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Blazer 
            if (this.Blazerupg1Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.BlazerProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Blazerupg1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Blazerupg1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Blazerupg1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UPG1 UP/\\S* \\(compatible; Blazer (?\'browserMajorVersion\'\\d+)(?\'browserMinorVersio" + 
                    "n\'\\.\\d+)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            this.Blazerupg1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Blazerupg1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Up4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Up4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Up4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "4"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            this.Up4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Up4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Up5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Up5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Up5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "5");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            this.Up5ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Up5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Up6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Up6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Up6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "6");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["cookies"] = "true"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["type"] = regexWorker["Openwave ${majorVersion}.x Browser"];
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter"; 
            this.Up6ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Up6
            if (this.Up61plusProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Up6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Up61plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Up61plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Up61plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["minorVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^\\.[^0]");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            this.Up61plusProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Up61plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Up3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Up3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Up3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["majorVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "3");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderInputAndSelectElementsTogether"] = "false"; 
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["type"] = "Phone.com 3.x Browser";
            this.Up3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Up3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Alcatelbe4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Alcatelbe4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Alcatelbe4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BE4"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Alcatel";
            dictionary["mobileDeviceModel"] = "301";
            browserCaps.AddBrowser("AlcatelBe4"); 
            this.Alcatelbe4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Alcatelbe4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Alcatelbe5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Alcatelbe5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Alcatelbe5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BE5");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "501, 701";
            browserCaps.AddBrowser("AlcatelBe5"); 
            this.Alcatelbe5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=AlcatelBe5 
            if (this.Alcatelbe5v2Process(headers, browserCaps)) {
            }
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Alcatelbe5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Alcatelbe5v2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Alcatelbe5v2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Alcatelbe5v2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "2\\.0"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1900";
            dictionary["maximumSoftkeyLabelLength"] = "0"; 
            dictionary["mobileDeviceModel"] = "Alcatel One Touch 501";
            dictionary["numberOfSoftkeys"] = "10"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["screenBitDepth"] = "0"; 
            dictionary["screenCharactersHeight"] = "6";
            dictionary["screenCharactersWidth"] = "14";
            dictionary["screenPixelsHeight"] = "60";
            dictionary["screenPixelsWidth"] = "91"; 
            dictionary["supportsBold"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("AlcatelBe5v2"); 
            this.Alcatelbe5v2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Alcatelbe5v2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Alcatelbe3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Alcatelbe3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Alcatelbe3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BE3");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "OneTouchDB";
            browserCaps.AddBrowser("AlcatelBe3"); 
            this.Alcatelbe3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Alcatelbe3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Alcatelbf3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Alcatelbf3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Alcatelbf3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BF3"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["maximumSoftkeyLabelLength"] = "13";
            dictionary["mobileDeviceManufacturer"] = "Alcatel";
            dictionary["mobileDeviceModel"] = "Alcatel One Touch 311";
            dictionary["numberOfSoftkeys"] = "10"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "11"; 
            dictionary["screenPixelsHeight"] = "65";
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("AlcatelBf3");
            this.Alcatelbf3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Alcatelbf3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Alcatelbf4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Alcatelbf4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Alcatelbf4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Alcatel-BF4");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "1900";
            dictionary["maximumSoftkeyLabelLength"] = "13";
            dictionary["mobileDeviceManufacturer"] = "Alcatel";
            dictionary["mobileDeviceModel"] = "Alcatel One Touch 511"; 
            dictionary["numberOfSoftkeys"] = "10";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "11";
            dictionary["screenPixelsHeight"] = "60"; 
            dictionary["screenPixelsWidth"] = "89";
            browserCaps.AddBrowser("AlcatelBf4");
            this.Alcatelbf4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Alcatelbf4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void MotcbProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void MotcbProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MotcbProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-CB"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Timeport P7389";
            dictionary["numberOfSoftkeys"] = "1"; 
            browserCaps.AddBrowser("MotCb");
            this.MotcbProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.MotcbProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Motf5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motf5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Motf5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-F5"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false";
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Talkabout 192";
            dictionary["numberOfSoftkeys"] = "3"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "40"; 
            dictionary["screenPixelsWidth"] = "96";
            browserCaps.AddBrowser("MotF5"); 
            this.Motf5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motf5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motd8ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motd8ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motd8Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-D8");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 250/P7689"; 
            browserCaps.AddBrowser("MotD8");
            this.Motd8ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motd8ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MotcfProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MotcfProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MotcfProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-CF");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Accompli 6188"; 
            browserCaps.AddBrowser("MotCf");
            this.MotcfProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MotcfProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Motf6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motf6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Motf6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-F6");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["maximumRenderedPageSize"] = "5000";
            dictionary["maximumSoftkeyLabelLength"] = "6"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Accompli 008/6288"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlSelectsAsMenuCards"] = "false";
            dictionary["screenBitDepth"] = "4"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "240"; 
            browserCaps.AddBrowser("MotF6");
            this.Motf6ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Motf6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void MotbcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MotbcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool MotbcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-BC"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["inputType"] = "keyboard";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Accompli 009"; 
            browserCaps.AddBrowser("MotBc");
            this.MotbcProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MotbcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void MotdcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void MotdcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool MotdcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-DC");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "V3682, V50"; 
            browserCaps.AddBrowser("MotDc");
            this.MotdcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MotdcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void MotpancProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void MotpancProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool MotpancProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-PAN-C");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Timeport 270c";
            browserCaps.AddBrowser("MotPanC");
            this.MotpancProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.MotpancProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Motc4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Motc4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motc4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-C4"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderMixedSelects"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V2288, V2282";
            dictionary["supportsCacheControlMetaTag"] = "false"; 
            browserCaps.AddBrowser("MotC4"); 
            this.Motc4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Motc4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void MccaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void MccaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MccaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MCCA");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 8767/ST7868";
            browserCaps.AddBrowser("Mcca"); 
            this.MccaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.MccaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Mot2000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Mot2000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Mot2000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-2000"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V60c";
            browserCaps.AddBrowser("Mot2000");
            this.Mot2000ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mot2000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Motp2kcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Motp2kcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Motp2kcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-P2K-C"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "V120c";
            browserCaps.AddBrowser("MotP2kC"); 
            this.Motp2kcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Motp2kcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void MotafProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void MotafProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool MotafProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-AF");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 260/P7382i/P7389i";
            dictionary["screenCharactersHeight"] = "4"; 
            browserCaps.AddBrowser("MotAf"); 
            this.MotafProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MotAf
            if (this.Motaf418Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.MotafProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Motaf418ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Motaf418ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Motaf418Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["DeviceVersion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "4\\.1\\.8");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "1900";
            dictionary["maximumSoftkeyLabelLength"] = "5"; 
            dictionary["mobileDeviceModel"] = "Timeport 260"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "64";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsCacheControlMetaTag"] = "false";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("MotAf418");
            this.Motaf418ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Motaf418ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Motc2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motc2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Motc2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-C2"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["inputType"] = "keyboard";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V100, V.Box"; 
            browserCaps.AddBrowser("MotC2");
            this.Motc2ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motc2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void XeniumProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void XeniumProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool XeniumProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Philips-Xenium9@9");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Philips";
            dictionary["mobileDeviceModel"] = "Xenium 9"; 
            browserCaps.AddBrowser("Xenium");
            this.XeniumProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.XeniumProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sagem959ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sagem959ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sagem959Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sagem-959");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sagem";
            dictionary["mobileDeviceModel"] = "MW-959";
            browserCaps.AddBrowser("Sagem959");
            this.Sagem959ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sagem959ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sgha300ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sgha300ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sgha300Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SAMSUNG-SGH-A300"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "19"; 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SGH-A300"; 
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "13";
            dictionary["screenPixelsHeight"] = "128"; 
            dictionary["screenPixelsWidth"] = "128";
            browserCaps.AddBrowser("SghA300");
            this.Sgha300ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sgha300ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sghn100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sghn100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sghn100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Samsung-SGH-N100/"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SGH-N100";
            browserCaps.AddBrowser("SghN100"); 
            this.Sghn100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sghn100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void C304saProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void C304saProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool C304saProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sanyo-C304SA/");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "C304SA";
            browserCaps.AddBrowser("C304sa"); 
            this.C304saProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C304saProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Sy11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sy11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sy11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "C304SA"; 
            browserCaps.AddBrowser("Sy11");
            this.Sy11ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void St12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void St12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool St12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ST12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C411ST"; 
            browserCaps.AddBrowser("St12");
            this.St12ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.St12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sy14ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy14ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sy14Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY14");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C412SA";
            browserCaps.AddBrowser("Sy14");
            this.Sy14ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy14ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sies40ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sies40ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sies40Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-S40"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["maximumRenderedPageSize"] = "2048"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S40, S42"; 
            browserCaps.AddBrowser("SieS40"); 
            this.Sies40ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sies40ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Siesl45ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Siesl45ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Siesl45Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-SL45");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "SL-45";
            browserCaps.AddBrowser("SieSl45"); 
            this.Siesl45ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Siesl45ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sies35ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sies35ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sies35Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-S35"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canRenderMixedSelects"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S35";
            browserCaps.AddBrowser("SieS35");
            this.Sies35ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sies35ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sieme45ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sieme45ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sieme45Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-ME45"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2800";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "ME45"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingType"] = "wml12";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "65"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsFontSize"] = "true"; 
            browserCaps.AddBrowser("SieMe45");
            this.Sieme45ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sieme45ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sies45ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sies45ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sies45Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-S45");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2765";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S45";
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenCharactersHeight"] = "5"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "64"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true";
            browserCaps.AddBrowser("SieS45"); 
            this.Sies45ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sies45ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Gm832ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Gm832ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Gm832Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "GM832");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Telit"; 
            dictionary["mobileDeviceModel"] = "GM832";
            browserCaps.AddBrowser("Gm832"); 
            this.Gm832ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Gm832ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Gm910iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Gm910iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Gm910iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Telit-GM910i");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Telit"; 
            dictionary["mobileDeviceModel"] = "GM910i"; 
            browserCaps.AddBrowser("Gm910i");
            this.Gm910iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Gm910iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Mot32ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Mot32ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Mot32Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-32");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i85s, i50sx"; 
            browserCaps.AddBrowser("Mot32");
            this.Mot32ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mot32ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mot28ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mot28ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mot28Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-28");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i700+, i1000+";
            browserCaps.AddBrowser("Mot28");
            this.Mot28ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mot28ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void D2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void D2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool D2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "D2"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "D2"; 
            browserCaps.AddBrowser("D2");
            this.D2ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.D2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PpatProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PpatProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PpatProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "P-PAT"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "P-PAT"; 
            browserCaps.AddBrowser("PPat"); 
            this.PpatProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PpatProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void AlazProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void AlazProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool AlazProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ALAZ");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "OneTouch";
            browserCaps.AddBrowser("Alaz"); 
            this.AlazProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.AlazProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Cdm9100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Cdm9100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Cdm9100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "AUDIOVOX-CDM9100"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Audiovox"; 
            dictionary["mobileDeviceModel"] = "CDM-9100";
            browserCaps.AddBrowser("Cdm9100");
            this.Cdm9100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Cdm9100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Cdm135ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Cdm135ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Cdm135Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HD-MMD1010"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Audiovox";
            dictionary["mobileDeviceModel"] = "CDM-135";
            browserCaps.AddBrowser("Cdm135"); 
            this.Cdm135ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Cdm135ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Cdm9000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Cdm9000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Cdm9000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TSCA");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Audiovox"; 
            dictionary["mobileDeviceModel"] = "CDM-9000";
            browserCaps.AddBrowser("Cdm9000"); 
            this.Cdm9000ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Cdm9000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void C303caProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void C303caProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool C303caProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "CA11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Casio"; 
            dictionary["mobileDeviceModel"] = "C303CA"; 
            browserCaps.AddBrowser("C303ca");
            this.C303caProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C303caProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void C311caProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void C311caProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool C311caProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "CA12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "C311CA"; 
            browserCaps.AddBrowser("C311ca");
            this.C311caProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.C311caProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void C202deProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C202deProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool C202deProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "DN01");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "C202DE";
            browserCaps.AddBrowser("C202de");
            this.C202deProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C202deProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void C409caProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void C409caProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool C409caProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "CA13"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "C409CA"; 
            browserCaps.AddBrowser("C409ca");
            this.C409caProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.C409caProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void C402deProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C402deProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool C402deProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "DN11"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Denso";
            dictionary["mobileDeviceModel"] = "C402DE"; 
            browserCaps.AddBrowser("C402de"); 
            this.C402deProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.C402deProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Ds15ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Ds15ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ds15Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "DS15");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "Touchpoint DS15";
            browserCaps.AddBrowser("Ds15"); 
            this.Ds15ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ds15ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Tp2200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Tp2200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Tp2200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "DS1[34]"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "TouchPoint TP2200";
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "15";
            browserCaps.AddBrowser("Tp2200"); 
            this.Tp2200ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tp2200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Tp120ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Tp120ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Tp120Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "DS12");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "TouchPoint TP120";
            browserCaps.AddBrowser("Tp120"); 
            this.Tp120ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tp120ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ds10ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ds10ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ds10Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "DS10");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Denso"; 
            dictionary["mobileDeviceModel"] = "Eagle 10"; 
            browserCaps.AddBrowser("Ds10");
            this.Ds10ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ds10ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void R280ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void R280ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool R280Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ERK0");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Ericsson";
            dictionary["mobileDeviceModel"] = "R280"; 
            browserCaps.AddBrowser("R280");
            this.R280ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.R280ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void C201hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C201hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool C201hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HI01");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C201H";
            browserCaps.AddBrowser("C201h");
            this.C201hProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C201hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void S71ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void S71ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool S71Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HW01"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Hanwha";
            dictionary["mobileDeviceModel"] = "S71"; 
            browserCaps.AddBrowser("S71");
            this.S71ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.S71ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void C302hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void C302hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool C302hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HI11"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C302H"; 
            browserCaps.AddBrowser("C302h"); 
            this.C302hProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.C302hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void C309hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void C309hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool C309hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HI12");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hitachi"; 
            dictionary["mobileDeviceModel"] = "C309H";
            browserCaps.AddBrowser("C309h"); 
            this.C309hProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.C309hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void C407hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void C407hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool C407hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HI13"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C407H";
            browserCaps.AddBrowser("C407h");
            this.C407hProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.C407hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void C451hProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void C451hProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool C451hProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HI14"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Hitachi";
            dictionary["mobileDeviceModel"] = "C451H"; 
            browserCaps.AddBrowser("C451h");
            this.C451hProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.C451hProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void R201ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void R201ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool R201Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HD03"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hyundai";
            dictionary["mobileDeviceModel"] = "HGC-R201"; 
            browserCaps.AddBrowser("R201"); 
            this.R201ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.R201ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void P21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void P21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool P21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "HD02");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hyundai"; 
            dictionary["mobileDeviceModel"] = "P-21";
            browserCaps.AddBrowser("P21"); 
            this.P21ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.P21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Kyocera702gProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Kyocera702gProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Kyocera702gProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCI1"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "702G";
            browserCaps.AddBrowser("Kyocera702g");
            this.Kyocera702gProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Kyocera702gProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Kyocera703gProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Kyocera703gProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Kyocera703gProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCI2"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "703G";
            browserCaps.AddBrowser("Kyocera703g"); 
            this.Kyocera703gProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Kyocera703gProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Kyocerac307kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Kyocerac307kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Kyocerac307kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KC11");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "C307K";
            browserCaps.AddBrowser("KyoceraC307k"); 
            this.Kyocerac307kProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Kyocerac307kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Tk01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Tk01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tk01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KCT1");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "TK01"; 
            browserCaps.AddBrowser("Tk01");
            this.Tk01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tk01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Tk02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Tk02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Tk02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCT2");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK02"; 
            browserCaps.AddBrowser("Tk02");
            this.Tk02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Tk02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Tk03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tk03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Tk03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KCT4");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK03";
            browserCaps.AddBrowser("Tk03");
            this.Tk03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tk03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Tk04ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Tk04ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tk04Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KCT5"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK04"; 
            browserCaps.AddBrowser("Tk04");
            this.Tk04ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Tk04ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Tk05ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tk05ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Tk05Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCT6"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "TK05"; 
            browserCaps.AddBrowser("Tk05"); 
            this.Tk05ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tk05ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void D303kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void D303kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool D303kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCC1");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "D303K";
            browserCaps.AddBrowser("D303k"); 
            this.D303kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.D303kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void D304kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void D304kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool D304kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KCC2"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "D304K";
            browserCaps.AddBrowser("D304k");
            this.D304kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.D304kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Qcp2035ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Qcp2035ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Qcp2035Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "QC06"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera";
            dictionary["mobileDeviceModel"] = "QCP2035/2037";
            browserCaps.AddBrowser("Qcp2035"); 
            this.Qcp2035ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Qcp2035ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Qcp3035ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Qcp3035ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Qcp3035Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "QC07");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "QCP3035";
            browserCaps.AddBrowser("Qcp3035"); 
            this.Qcp3035ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Qcp3035ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void D512ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void D512ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool D512Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG22");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "D-512"; 
            browserCaps.AddBrowser("D512");
            this.D512ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.D512ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Dm110ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Dm110ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Dm110Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG05");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "DM-110"; 
            browserCaps.AddBrowser("Dm110");
            this.Dm110ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Dm110ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Tm510ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tm510ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Tm510Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG21");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canRenderPostBackCards"] = "false";
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "TM-510";
            browserCaps.AddBrowser("Tm510"); 
            this.Tm510ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tm510ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Lg13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Lg13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Lg13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG13");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "DM-510";
            browserCaps.AddBrowser("Lg13"); 
            this.Lg13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Lg13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void P100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void P100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool P100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "P-100"; 
            browserCaps.AddBrowser("P100");
            this.P100ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.P100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Lgc875fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Lgc875fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Lgc875fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG07");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGC-875F"; 
            browserCaps.AddBrowser("Lgc875f");
            this.Lgc875fProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Lgc875fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Lgp680fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Lgp680fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Lgp680fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG03");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGP-6800F";
            browserCaps.AddBrowser("Lgp680f");
            this.Lgp680fProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Lgp680fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Lgp7800fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Lgp7800fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Lgp7800fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG04"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGP-7800F"; 
            browserCaps.AddBrowser("Lgp7800f");
            this.Lgp7800fProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Lgp7800fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Lgc840fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Lgc840fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Lgc840fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG09"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "LGC-840F"; 
            browserCaps.AddBrowser("Lgc840f"); 
            this.Lgc840fProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Lgc840fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Lgi2100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Lgi2100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Lgi2100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG02");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LGI-2100";
            browserCaps.AddBrowser("Lgi2100"); 
            this.Lgi2100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Lgi2100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Lgp7300fProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Lgp7300fProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Lgp7300fProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG01"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LGP-7300F";
            browserCaps.AddBrowser("Lgp7300f");
            this.Lgp7300fProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Lgp7300fProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sd500ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sd500ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sd500Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LG10"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "SD-500";
            browserCaps.AddBrowser("Sd500"); 
            this.Sd500ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sd500ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Tp1100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Tp1100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Tp1100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG06");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "Touchpoint TP1100";
            browserCaps.AddBrowser("Tp1100"); 
            this.Tp1100ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tp1100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Tp3000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Tp3000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tp3000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG08");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderAfterInputOrSelectElement"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["mobileDeviceManufacturer"] = "LG";
            dictionary["mobileDeviceModel"] = "Touchpoint TP3000"; 
            browserCaps.AddBrowser("Tp3000");
            this.Tp3000ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Tp3000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void T250ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void T250ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool T250Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "T250");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["mobileDeviceModel"] = "T250";
            browserCaps.AddBrowser("T250");
            this.T250ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.T250ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Mo01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Mo01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mo01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MO01"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i500+, i700+, i1000+"; 
            browserCaps.AddBrowser("Mo01");
            this.Mo01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mo01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Mo02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mo02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Mo02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MO02"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "i2000+"; 
            browserCaps.AddBrowser("Mo02"); 
            this.Mo02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mo02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Mc01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Mc01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mc01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MC01");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "StarTac ST786x, Talkabout T816x, Timeport P816x";
            browserCaps.AddBrowser("Mc01"); 
            this.Mc01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mc01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void McccProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void McccProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool McccProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MCCC"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Talkabout V2267";
            browserCaps.AddBrowser("Mccc");
            this.McccProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.McccProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mcc9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mcc9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mcc9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MCC9"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Talkabout V8162";
            browserCaps.AddBrowser("Mcc9"); 
            this.Mcc9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mcc9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Nk00ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Nk00ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Nk00Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "NK00");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2252"; 
            dictionary["maximumSoftkeyLabelLength"] = "6";
            dictionary["mobileDeviceManufacturer"] = "Nokia"; 
            dictionary["mobileDeviceModel"] = "nokia 3285"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenCharactersWidth"] = "15";
            dictionary["supportsBold"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Nk00"); 
            this.Nk00ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Nk00ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Mai12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Mai12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Mai12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MAI[12]");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["mobileDeviceModel"] = "704G";
            browserCaps.AddBrowser("Mai12"); 
            this.Mai12ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mai12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ma112ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ma112ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ma112Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MA1[12]");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic"; 
            dictionary["mobileDeviceModel"] = "C308P"; 
            browserCaps.AddBrowser("Ma112");
            this.Ma112ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ma112ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ma13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ma13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ma13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MA13");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "C408P"; 
            browserCaps.AddBrowser("Ma13");
            this.Ma13ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ma13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Mac1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mac1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Mac1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MAC1");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "D305P";
            browserCaps.AddBrowser("Mac1");
            this.Mac1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mac1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Mat1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Mat1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mat1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MAT1"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = "TP01"; 
            browserCaps.AddBrowser("Mat1");
            this.Mat1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mat1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sc01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sc01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sc01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC01"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-3500"; 
            browserCaps.AddBrowser("Sc01"); 
            this.Sc01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sc01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Sc03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Sc03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sc03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC03");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "SCH-6100";
            browserCaps.AddBrowser("Sc03"); 
            this.Sc03ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sc03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sc02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sc02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sc02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC02"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "SCH-8500";
            browserCaps.AddBrowser("Sc02");
            this.Sc02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sc02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sc04ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sc04ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sc04Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC04"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-850";
            browserCaps.AddBrowser("Sc04"); 
            this.Sc04ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sc04ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Sg08ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Sg08ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Sg08Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SG08");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "SGH-800";
            browserCaps.AddBrowser("Sg08"); 
            this.Sg08ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sg08ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Sc13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sc13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sc13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SC13");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "Uproar M100"; 
            browserCaps.AddBrowser("Sc13");
            this.Sc13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sc13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sc11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sc11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sc11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SC11");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-N105"; 
            browserCaps.AddBrowser("Sc11");
            this.Sc11ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sc11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sec01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sec01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sec01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SEC01");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-U03";
            browserCaps.AddBrowser("Sec01");
            this.Sec01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sec01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sc10ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sc10ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sc10Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SC10"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "SCH-U02"; 
            browserCaps.AddBrowser("Sc10");
            this.Sc10ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sc10ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sy12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sy12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY12"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "true";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "C401SA"; 
            browserCaps.AddBrowser("Sy12");
            this.Sy12ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void St11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void St11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool St11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "ST11");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C403ST"; 
            browserCaps.AddBrowser("St11");
            this.St11ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.St11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sy13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sy13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY13");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "C405SA";
            browserCaps.AddBrowser("Sy13");
            this.Sy13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Syc1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Syc1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Syc1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SYC1"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "D301SA"; 
            browserCaps.AddBrowser("Syc1");
            this.Syc1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Syc1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sy01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sy01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sy01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY01"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "SCP-4000"; 
            browserCaps.AddBrowser("Sy01"); 
            this.Sy01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sy01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Syt1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Syt1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Syt1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SYT1");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "TS01";
            browserCaps.AddBrowser("Syt1"); 
            this.Syt1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Syt1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sty2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sty2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sty2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SYT2"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "TS02";
            browserCaps.AddBrowser("Sty2");
            this.Sty2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sty2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sy02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sy02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sy02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY02"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "SCP-4500";
            browserCaps.AddBrowser("Sy02"); 
            this.Sy02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sy02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Sy03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Sy03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Sy03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SY03");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "SCP-5000";
            browserCaps.AddBrowser("Sy03"); 
            this.Sy03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Si01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Si01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Si01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SI01");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "S25"; 
            browserCaps.AddBrowser("Si01");
            this.Si01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Si01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sni1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sni1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sni1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SNI1");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "705G"; 
            browserCaps.AddBrowser("Sni1");
            this.Sni1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sni1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sn11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sn11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sn11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SN11");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C305SN";
            browserCaps.AddBrowser("Sn11");
            this.Sn11ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sn11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sn12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sn12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sn12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SN12"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C404S"; 
            browserCaps.AddBrowser("Sn12");
            this.Sn12ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sn12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sn134ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sn134ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sn134Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SN1[34]"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C406S"; 
            browserCaps.AddBrowser("Sn134"); 
            this.Sn134ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sn134ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Sn156ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Sn156ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sn156Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SN1[56]");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["mobileDeviceModel"] = "C413S";
            browserCaps.AddBrowser("Sn156"); 
            this.Sn156ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sn156ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Snc1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Snc1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Snc1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SNC1"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["mobileDeviceModel"] = "D306S";
            browserCaps.AddBrowser("Snc1");
            this.Snc1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Snc1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Tsc1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Tsc1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Tsc1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TSC1"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "D302T";
            browserCaps.AddBrowser("Tsc1"); 
            this.Tsc1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tsc1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Tsi1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Tsi1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Tsi1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TSI1");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "701G";
            browserCaps.AddBrowser("Tsi1"); 
            this.Tsi1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tsi1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Ts11ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ts11ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Ts11Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TS11");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "C301T"; 
            browserCaps.AddBrowser("Ts11");
            this.Ts11ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ts11ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Ts12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Ts12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Ts12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TS12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "C310T"; 
            browserCaps.AddBrowser("Ts12");
            this.Ts12ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Ts12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Ts13ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Ts13ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Ts13Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TS13");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "C410T";
            browserCaps.AddBrowser("Ts13");
            this.Ts13ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ts13ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Tst1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Tst1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Tst1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "TST1"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "TT01"; 
            browserCaps.AddBrowser("Tst1");
            this.Tst1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Tst1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Tst2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Tst2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Tst2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TST2"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "TT02"; 
            browserCaps.AddBrowser("Tst2"); 
            this.Tst2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Tst2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Tst3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Tst3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Tst3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "TST3");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "TT03";
            browserCaps.AddBrowser("Tst3"); 
            this.Tst3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Tst3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Ig01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Ig01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Ig01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "IG01"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NeoPoint"; 
            dictionary["mobileDeviceModel"] = "NP1000";
            browserCaps.AddBrowser("Ig01");
            this.Ig01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ig01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Ig02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Ig02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Ig02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "IG02"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NeoPoint";
            dictionary["mobileDeviceModel"] = "NP1660";
            browserCaps.AddBrowser("Ig02"); 
            this.Ig02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Ig02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Ig03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Ig03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Ig03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "IG03");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "NeoPoint"; 
            dictionary["mobileDeviceModel"] = "NP2000";
            browserCaps.AddBrowser("Ig03"); 
            this.Ig03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Ig03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Qc31ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Qc31ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Qc31Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "QC31");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Qualcomm"; 
            dictionary["mobileDeviceModel"] = "QCP-860, QCP-1960"; 
            browserCaps.AddBrowser("Qc31");
            this.Qc31ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Qc31ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Qc12ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Qc12ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Qc12Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "QC12");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Qualcomm";
            dictionary["mobileDeviceModel"] = "QCP-1900, QCP-2700"; 
            browserCaps.AddBrowser("Qc12");
            this.Qc12ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Qc12ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Qc32ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Qc32ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Qc32Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "QC32");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Qualcomm";
            dictionary["mobileDeviceModel"] = "QCP-2760";
            browserCaps.AddBrowser("Qc32");
            this.Qc32ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Qc32ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sp01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sp01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sp01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SP01"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Mitsubishi";
            dictionary["mobileDeviceModel"] = "MA120"; 
            browserCaps.AddBrowser("Sp01");
            this.Sp01ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sp01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void ShProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void ShProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool ShProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SH"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "Duette"; 
            browserCaps.AddBrowser("Sh"); 
            this.ShProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.ShProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Upg1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Upg1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Upg1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "UPG1");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canSendMail"] = "false"; 
            dictionary["mobileDeviceManufacturer"] = "OpenWave";
            dictionary["mobileDeviceModel"] = "Generic Simulator"; 
            browserCaps.AddBrowser("Upg1");
            this.Upg1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Upg1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Opwv1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Opwv1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Opwv1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "OPWV1");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "3584";
            dictionary["maximumSoftkeyLabelLength"] = "9"; 
            dictionary["mobileDeviceManufacturer"] = "Openwave";
            dictionary["mobileDeviceModel"] = "Openwave 5.0 emulator"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "19"; 
            dictionary["screenPixelsHeight"] = "188";
            dictionary["screenPixelsWidth"] = "144";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            browserCaps.AddBrowser("Opwv1"); 
            this.Opwv1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Opwv1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void AlavProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AlavProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool AlavProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "ALAV");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Alcatel"; 
            dictionary["mobileDeviceModel"] = "OneTouch"; 
            browserCaps.AddBrowser("Alav");
            this.AlavProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.AlavProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Im1kProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Im1kProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Im1kProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "IM1K");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "iDEN"; 
            browserCaps.AddBrowser("Im1k");
            this.Im1kProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Im1kProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Nt95ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Nt95ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Nt95Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "NT95");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "cdmaOne";
            browserCaps.AddBrowser("Nt95");
            this.Nt95ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Nt95ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Mot2001ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Mot2001ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mot2001Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-2001"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "1946";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Timeport 270c";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersWidth"] = "19"; 
            browserCaps.AddBrowser("Mot2001");
            this.Mot2001ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mot2001ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Motv200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motv200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Motv200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-v200");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hasBackButton"] = "false";
            dictionary["inputType"] = "keyboard";
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Motorola v200";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Motv200");
            this.Motv200ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Motv200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Mot72ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Mot72ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Mot72Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-72"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["hasBackButton"] = "false";
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Motorola i80s"; 
            dictionary["numberOfSoftkeys"] = "4"; 
            dictionary["rendersBreaksAfterWmlAnchor"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "13"; 
            browserCaps.AddBrowser("Mot72");
            this.Mot72ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mot72ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Mot76ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Mot76ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Mot76Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-76"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2969";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Motorola i90c";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["screenCharactersWidth"] = "14";
            browserCaps.AddBrowser("Mot76"); 
            this.Mot76ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Mot76ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Scp6000ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Scp6000ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Scp6000Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Sanyo-SCP6000");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canRenderInputAndSelectElementsTogether"] = "false"; 
            dictionary["hasBackButton"] = "false";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "Sanyo SCP-6000"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenPixelsHeight"] = "120";
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Scp6000"); 
            this.Scp6000ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Scp6000ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motd5ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motd5ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motd5Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-D5");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2000"; 
            dictionary["maximumSoftkeyLabelLength"] = "6"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "Motorola Talkabout 191/192/193"; 
            dictionary["numberOfSoftkeys"] = "3";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "13";
            dictionary["screenPixelsHeight"] = "51"; 
            dictionary["screenPixelsWidth"] = "91";
            browserCaps.AddBrowser("MotD5"); 
            this.Motd5ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motd5ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motf0ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motf0ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motf0Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-F0");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2000"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "Motorola v50";
            dictionary["numberOfSoftkeys"] = "3"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "40"; 
            dictionary["screenPixelsWidth"] = "96"; 
            browserCaps.AddBrowser("MotF0");
            this.Motf0ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motf0ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sgha400ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sgha400ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sgha400Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SAMSUNG-SGH-A400");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "6"; 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "Samsung SGH-A400";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["requiresNoSoftkeyLabels"] = "true"; 
            dictionary["screenCharactersHeight"] = "3";
            dictionary["screenCharactersWidth"] = "13"; 
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "128";
            browserCaps.AddBrowser("SghA400"); 
            this.Sgha400ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sgha400ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sec03ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sec03ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sec03Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SEC03"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "false";
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "Samsung"; 
            dictionary["mobileDeviceModel"] = "Samsung SPH-i300";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "38";
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Sec03"); 
            this.Sec03ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sec03ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Siec3iProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Siec3iProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Siec3iProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-C3I");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canRenderMixedSelects"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "C35/M35";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "true";
            dictionary["rendersWmlDoAcceptsInline"] = "false"; 
            dictionary["requiresSpecialViewStateEncoding"] = "false";
            dictionary["requiresUrlEncodedPostfieldValues"] = "false"; 
            dictionary["screenCharactersHeight"] = "3"; 
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "54"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsBold"] = "true";
            browserCaps.AddBrowser("SieC3i");
            this.Siec3iProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Siec3iProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Sn17ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Sn17ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Sn17Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SN17"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["maximumRenderedPageSize"] = "12000"; 
            dictionary["mobileDeviceManufacturer"] = "Sony";
            dictionary["mobileDeviceModel"] = "C1002S"; 
            dictionary["numberOfSoftkeys"] = "3"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "120"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("Sn17"); 
            this.Sn17ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sn17ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Scp4700ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Scp4700ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Scp4700Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Sanyo-SCP4700");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3072"; 
            dictionary["mobileDeviceManufacturer"] = "Sanyo";
            dictionary["mobileDeviceModel"] = "Sanyo SCP 4700"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "32"; 
            dictionary["screenPixelsWidth"] = "91";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("Scp4700"); 
            this.Scp4700ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Scp4700ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Sec02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Sec02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sec02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SEC02");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2867"; 
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            dictionary["mobileDeviceModel"] = "Samsung SPH-N200"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersBreaksAfterWmlAnchor"] = "true";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "15"; 
            dictionary["screenPixelsHeight"] = "96"; 
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Sec02");
            this.Sec02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sec02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sy15ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sy15ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sy15Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SY15"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["maximumRenderedPageSize"] = "7500";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "Sanyo C1001SA";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Sy15");
            this.Sy15ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sy15ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Db520ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Db520ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Db520Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LGE-DB520"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "3072";
            dictionary["mobileDeviceManufacturer"] = "Sprint"; 
            dictionary["mobileDeviceModel"] = "TP5200";
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/wnd.wap.wml"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("Db520");
            this.Db520ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Db520ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void L430v03j02ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void L430v03j02ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool L430v03j02Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "LGE-L430V03J02"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "10";
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LG-LP9000";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["requiresNoSoftkeyLabels"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "19";
            dictionary["screenPixelsHeight"] = "133"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsBold"] = "true"; 
            browserCaps.AddBrowser("L430V03J02"); 
            this.L430v03j02ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.L430v03j02ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void OpwvsdkProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void OpwvsdkProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool OpwvsdkProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^OPWV-SDK");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "false"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceManufacturer"] = "Openwave";
            dictionary["mobileDeviceModel"] = "Mobile Browser";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "8";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "19"; 
            dictionary["screenPixelsHeight"] = "188";
            dictionary["screenPixelsWidth"] = "144"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("OPWVSDK"); 
            this.OpwvsdkProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=OPWVSDK
            if (this.Opwvsdk6Process(headers, browserCaps)) { 
            }
            else { 
                if (this.Opwvsdk6plusProcess(headers, browserCaps)) { 
                }
                else { 
                    ignoreApplicationBrowsers = false;
                }
            }
            this.OpwvsdkProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Opwvsdk6ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Opwvsdk6ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Opwvsdk6Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^OPWV-SDK/61");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "UP.Browser";
            dictionary["canSendMail"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["mobileDeviceModel"] = "WAP Simulator 6.1";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "108"; 
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("OPWVSDK6");
            this.Opwvsdk6ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Opwvsdk6ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Opwvsdk6plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Opwvsdk6plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Opwvsdk6plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^OPWV-SDK/(?\'modelVersion\'[7-9]|6[^01])"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave"; 
            dictionary["canSendMail"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["maximumRenderedPageSize"] = "66000"; 
            dictionary["mobileDeviceModel"] = regexWorker["Mobile Browser ${version}"];
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresPragmaNoCacheHeader"] = "true";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "16"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            browserCaps.AddBrowser("OPWVSDK6Plus"); 
            this.Opwvsdk6plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Opwvsdk6plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Kddica21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Kddica21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Kddica21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^KDDI-CA21$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "A3012CA"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "147";
            dictionary["screenPixelsWidth"] = "125";
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("KDDICA21"); 
            this.Kddica21ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Kddica21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Kddits21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Kddits21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Kddits21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KDDI-TS21");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Toshiba"; 
            dictionary["mobileDeviceModel"] = "C5001T";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "20"; 
            dictionary["screenPixelsHeight"] = "135"; 
            dictionary["screenPixelsWidth"] = "144";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("KDDITS21");
            this.Kddits21ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Kddits21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Kddisa21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Kddisa21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Kddisa21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KDDI-SA21"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Sanyo"; 
            dictionary["mobileDeviceModel"] = "A3011SA"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "176"; 
            dictionary["screenPixelsWidth"] = "132";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsItalic"] = "false";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("KDDISA21");
            this.Kddisa21ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Kddisa21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Km100ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Km100ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Km100Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KM100");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["cookies"] = "false";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["maximumSoftkeyLabelLength"] = "12"; 
            dictionary["mobileDeviceManufacturer"] = "OKWap";
            dictionary["mobileDeviceModel"] = "i108"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true";
            dictionary["rendersWmlSelectsAsMenuCards"] = "false"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["requiresPhoneNumbersAsPlainText"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("KM100");
            this.Km100ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Km100ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Lgelx5350ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Lgelx5350ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Lgelx5350Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LGE-LX5350");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            dictionary["mobileDeviceModel"] = "LX5350";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "5";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "108"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("LGELX5350"); 
            this.Lgelx5350ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Lgelx5350ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Hitachip300ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Hitachip300ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Hitachip300Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Hitachi-P300"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Hitachi"; 
            dictionary["mobileDeviceModel"] = "SH-P300";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "12"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "17"; 
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("HitachiP300");
            this.Hitachip300ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Hitachip300ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Sies46ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sies46ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Sies46Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SIE-S46");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["hasBackButton"] = "false";
            dictionary["maximumRenderedPageSize"] = "2700";
            dictionary["mobileDeviceManufacturer"] = "Siemens";
            dictionary["mobileDeviceModel"] = "S46"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "19"; 
            dictionary["screenPixelsHeight"] = "72";
            dictionary["screenPixelsWidth"] = "96";
            dictionary["supportsBold"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("SIES46");
            this.Sies46ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Sies46ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Motorolav60gProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Motorolav60gProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Motorolav60gProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-PHX4_"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V60G";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUrlEncodedPostfieldValues"] = "true";
            dictionary["screenCharactersHeight"] = "3";
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "36";
            dictionary["screenPixelsWidth"] = "90"; 
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("MotorolaV60G");
            this.Motorolav60gProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motorolav60gProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Motorolav708ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Motorolav708ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Motorolav708Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MOT-V708_");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["isColor"] = "false";
            dictionary["maximumRenderedPageSize"] = "1900"; 
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "V70";
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenCharactersHeight"] = "2"; 
            dictionary["screenCharactersWidth"] = "15";
            dictionary["screenPixelsHeight"] = "34"; 
            dictionary["screenPixelsWidth"] = "90";
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("MotorolaV708");
            this.Motorolav708ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motorolav708ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Motorolav708aProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Motorolav708aProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motorolav708aProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MOT-V708A"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["canRenderInputAndSelectElementsTogether"] = "false";
            dictionary["hasBackButton"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "2000";
            dictionary["maximumSoftkeyLabelLength"] = "7"; 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            dictionary["mobileDeviceModel"] = "V70";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["screenCharactersHeight"] = "3";
            dictionary["screenCharactersWidth"] = "18";
            dictionary["screenPixelsHeight"] = "94";
            dictionary["screenPixelsWidth"] = "96"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            browserCaps.AddBrowser("MotorolaV708A"); 
            this.Motorolav708aProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Motorolav708aProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Motorolae360ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Motorolae360ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Motorolae360Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Motorola-T33");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canSendMail"] = "true"; 
            dictionary["hasBackButton"] = "false"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "3500"; 
            dictionary["maximumSoftkeyLabelLength"] = "8";
            dictionary["mobileDeviceManufacturer"] = "Motorola";
            dictionary["mobileDeviceModel"] = "E360";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["rendersWmlDoAcceptsInline"] = "true"; 
            dictionary["screenBitDepth"] = "12";
            dictionary["screenCharactersHeight"] = "4"; 
            dictionary["screenCharactersWidth"] = "27";
            dictionary["screenPixelsHeight"] = "96";
            dictionary["screenPixelsWidth"] = "128";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("MotorolaE360");
            this.Motorolae360ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Motorolae360ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sonyericssona1101sProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sonyericssona1101sProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sonyericssona1101sProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KDDI-SN22"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "SonyEricsson"; 
            dictionary["mobileDeviceModel"] = "A1101S";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "9";
            dictionary["screenPixelsHeight"] = "123";
            dictionary["screenPixelsWidth"] = "120";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("SonyericssonA1101S");
            this.Sonyericssona1101sProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sonyericssona1101sProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Philipsfisio820ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Philipsfisio820ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Philipsfisio820Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "PHILIPS-FISIO 820");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "3000";
            dictionary["maximumSoftkeyLabelLength"] = "6";
            dictionary["mobileDeviceManufacturer"] = "Philips";
            dictionary["mobileDeviceModel"] = "Fisio 820"; 
            dictionary["numberOfSoftkeys"] = "3";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreaksAfterWmlInput"] = "true"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["requiresSpecialViewStateEncoding"] = "true"; 
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "20";
            dictionary["screenPixelsHeight"] = "112";
            dictionary["screenPixelsWidth"] = "112"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            browserCaps.AddBrowser("PhilipsFisio820"); 
            this.Philipsfisio820ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Philipsfisio820ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Casioa5302ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Casioa5302ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Casioa5302Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "KDDI-CA22");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000";
            dictionary["mobileDeviceManufacturer"] = "Casio";
            dictionary["mobileDeviceModel"] = "A5302CA";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenPixelsHeight"] = "147";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("CasioA5302");
            this.Casioa5302ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Casioa5302ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Tcll668ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Tcll668ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Tcll668Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Compal-Seville"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Openwave";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "3800"; 
            dictionary["maximumSoftkeyLabelLength"] = "7";
            dictionary["mobileDeviceManufacturer"] = "TCL"; 
            dictionary["mobileDeviceModel"] = "L668"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "false";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "14"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "128"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsEmptyStringInCookieValue"] = "false";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["type"] = regexWorker["Openwave ${majorVersion}.x Browser"];
            browserCaps.AddBrowser("TCLL668");
            this.Tcll668ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Tcll668ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Kddits24ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Kddits24ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Kddits24Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "KDDI-TS24"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "9000"; 
            dictionary["mobileDeviceManufacturer"] = "Toshiba";
            dictionary["mobileDeviceModel"] = "A5304T"; 
            dictionary["PreferredImageMime"] = "image/jpeg";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenCharactersHeight"] = "8";
            dictionary["screenPixelsHeight"] = "176"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("KDDITS24");
            this.Kddits24ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Kddits24ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sies55ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sies55ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sies55Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SIE-S55"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave";
            dictionary["canSendMail"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["maximumHrefLength"] = "980"; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Siemens"; 
            dictionary["mobileDeviceModel"] = "S55";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "4";
            dictionary["screenCharactersWidth"] = "19";
            dictionary["screenPixelsHeight"] = "80"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("SIES55");
            this.Sies55ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sies55ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Sharpgx10ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Sharpgx10ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Sharpgx10Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^SHARP\\-TQ\\-GX10");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave"; 
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["mobileDeviceModel"] = "GX10";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "120"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsRedirectWithCookie"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("SHARPGx10");
            this.Sharpgx10ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sharpgx10ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void BenqathenaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void BenqathenaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool BenqathenaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^BENQ\\-Athena"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Openwave";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceManufacturer"] = "BenQ";
            dictionary["mobileDeviceModel"] = "S830c"; 
            dictionary["preferredImageMime"] = "image/bmp"; 
            dictionary["preferredRenderingType"] = "xhtml-basic";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "8"; 
            dictionary["screenCharactersWidth"] = "18"; 
            dictionary["screenPixelsHeight"] = "0";
            dictionary["screenPixelsWidth"] = "0"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsCss"] = "true";
            dictionary["supportsNoWrapStyle"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("BenQAthena");
            this.BenqathenaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.BenqathenaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void OperaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void OperaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool OperaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Opera[ /](?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'letters\'\\w*))");
            if ((result == false)) { 
                return false; 
            }
            // Capture: header values 
            regexWorker.ProcessRegex(((string)(browserCaps[string.Empty])), " (?\'screenWidth\'\\d*)x(?\'screenHeight\'\\d*)");
            // Capabilities: set capabilities
            dictionary["browser"] = "Opera";
            dictionary["cookies"] = "true"; 
            dictionary["css1"] = "true";
            dictionary["css2"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "40"; 
            dictionary["defaultScreenCharactersWidth"] = "80";
            dictionary["defaultScreenPixelsHeight"] = "480"; 
            dictionary["defaultScreenPixelsWidth"] = "640";
            dictionary["ecmascriptversion"] = "1.1";
            dictionary["frames"] = "true";
            dictionary["javascript"] = "true"; 
            dictionary["letters"] = regexWorker["${letters}"];
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "false";
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["screenBitDepth"] = "8";
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"]; 
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsDivNoWrap"] = "true";
            dictionary["supportsFontName"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["tables"] = "true"; 
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["type"] = regexWorker["Opera${major}"]; 
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.CheckBox, System.Web, Version=2.0.0.0, Culture=neutral," +
                " PublicKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter"; 
            browserCaps.Adapters["System.Web.UI.WebControls.RadioButton, System.Web, Version=2.0.0.0, Culture=neutr" +
                "al, PublicKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.AddBrowser("Opera");
            this.OperaProcessGateways(headers, browserCaps); 
            // gateway, parent=Opera 
            this.OperamobileProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Opera
            if (this.Opera1to3betaProcess(headers, browserCaps)) {
            }
            else { 
                if (this.Opera4Process(headers, browserCaps)) {
                } 
                else { 
                    if (this.Opera5to9Process(headers, browserCaps)) {
                    } 
                    else {
                        if (this.OperapsionProcess(headers, browserCaps)) {
                        }
                        else { 
                            ignoreApplicationBrowsers = false;
                        } 
                    } 
                }
            } 
            this.OperaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void OperamobileProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void OperamobileProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool OperamobileProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Linux \\S+embedix");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isMobileDevice"] = "true"; 
            this.OperamobileProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.OperamobileProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Opera1to3betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Opera1to3betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Opera1to3betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) {
                return false; 
            }
            headerValue = ((string)(dictionary["majorversion"])); 
            result = regexWorker.ProcessRegex(headerValue, "[1-3]"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            browserCaps.AddBrowser("Opera1to3beta"); 
            this.Opera1to3betaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Opera1to3betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Opera4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Opera4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Opera4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "4");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "1.3"; 
            dictionary["supportsFileUpload"] = "true";
            dictionary["xml"] = "true"; 
            browserCaps.AddBrowser("Opera4"); 
            this.Opera4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Opera4
            if (this.Opera4betaProcess(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Opera4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Opera4betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Opera4betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Opera4betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true"; 
            browserCaps.AddBrowser("Opera4beta");
            this.Opera4betaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Opera4betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Opera5to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Opera5to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Opera5to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[5-9]"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.3";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["supportsFileUpload"] = "true";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsItalic"] = "false"; 
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true"; 
            browserCaps.AddBrowser("Opera5to9"); 
            this.Opera5to9ProcessGateways(headers, browserCaps);
            // gateway, parent=Opera5to9 
            this.Opera5to9betaProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Opera5to9
            if (this.Opera6to9Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Opera5to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Opera6to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Opera6to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Opera6to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "[6-9]");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true"; 
            dictionary["css1"] = "true"; 
            dictionary["css2"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["javaapplets"] = "true";
            dictionary["maximumRenderedPageSize"] = "2000000";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["screenBitDepth"] = "32"; 
            dictionary["supportsFontName"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["xml"] = "false";
            browserCaps.Adapters["System.Web.UI.WebControls.CheckBox, System.Web, Version=2.0.0.0, Culture=neutral," + 
                " PublicKeyToken=b03f5f7f11d50a3a"] = "";
            browserCaps.Adapters["System.Web.UI.WebControls.RadioButton, System.Web, Version=2.0.0.0, Culture=neutr" +
                "al, PublicKeyToken=b03f5f7f11d50a3a"] = "";
            browserCaps.Adapters["System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, " + 
                "PublicKeyToken=b03f5f7f11d50a3a"] = "";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = ""; 
            browserCaps.HtmlTextWriter = "";
            browserCaps.AddBrowser("Opera6to9"); 
            this.Opera6to9ProcessGateways(headers, browserCaps);
            // gateway, parent=Opera6to9
            this.OperamobilebrowserProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Opera6to9
            if (this.Opera7to9Process(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.Opera6to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Opera7to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Opera7to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Opera7to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[7-9]");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["ecmascriptversion"] = "1.4";
            dictionary["supportsMaintainScrollPositionOnPostback"] = "true"; 
            browserCaps.AddBrowser("Opera7to9");
            this.Opera7to9ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Opera7to9 
            if (this.Opera8to9Process(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Opera7to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Opera8to9ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Opera8to9ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Opera8to9Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["majorversion"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "[8-9]");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["supportsCallback"] = "true"; 
            browserCaps.AddBrowser("Opera8to9");
            this.Opera8to9ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Opera8to9ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void OperamobilebrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void OperamobilebrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool OperamobilebrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "; (?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+)\\)");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["backgroundSounds"] = "false";
            dictionary["canSendMail"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["JavaApplets"] = "false";
            dictionary["maximumRenderedPageSize"] = "200000";
            dictionary["msDomVersion"] = "0.0"; 
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["requiredMetaTagNameValue"] = "HandheldFriendly"; 
            dictionary["requiresPragmaNoCacheHeader"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsItalic"] = "true";
            dictionary["tagwriter"] = "System.Web.UI.Html32TextWriter"; 
            this.OperamobilebrowserProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.OperamobilebrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Opera5to9betaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Opera5to9betaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Opera5to9betaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["letters"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^b");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["beta"] = "true"; 
            this.Opera5to9betaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Opera5to9betaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void OperapsionProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void OperapsionProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool OperapsionProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/.* \\(compatible; Opera .*; EPOC; (?\'screenWidth\'\\d*)x(?\'screenHeight\'\\d*)" +
                    "\\)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["canSendMail"] = "false"; 
            dictionary["css1"] = "false";
            dictionary["css2"] = "false"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "2560";
            dictionary["mobileDeviceManufacturer"] = "Psion"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "2";
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "50";
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsSelectMultiple"] = "false"; 
            dictionary["tagwriter"] = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("OperaPsion");
            this.OperapsionProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.OperapsionProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void MypalmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void MypalmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool MypalmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Mozilla/2\\.0 \\(compatible; Elaine/(?\'gatewayMajorVersion\'\\w*)(?\'gatewayMinorVersi" + 
                    "on\'\\.\\w*)\\)"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "MyPalm";
            dictionary["cookies"] = "false"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12"; 
            dictionary["defaultScreenPixelsHeight"] = "72"; 
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["ecmascriptversion"] = "1.1"; 
            dictionary["frames"] = "true";
            dictionary["gatewayMajorVersion"] = regexWorker["${gatewayMajorVersion}"];
            dictionary["gatewayMinorVersion"] = regexWorker["${gatewayMinorVersion}"];
            dictionary["gatewayVersion"] = regexWorker["${gatewayMajorVersion}${gatewayMinorVersion}"]; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false";
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiredMetaTagNameValue"] = "PalmComputingPlatform"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["screenBitDepth"] = "2"; 
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36";
            dictionary["screenPixelsHeight"] = "160"; 
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsEmptyStringInCookieValue"] = "false"; 
            dictionary["supportsFontColor"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsItalic"] = "true";
            dictionary["supportsImageSubmit"] = "false";
            dictionary["tables"] = "false";
            dictionary["type"] = "MyPalm"; 
            dictionary["vbscript"] = "false";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Mypalm"); 
            this.MypalmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Mypalm
            if (this.Mypalm1Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.MypalmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Mypalm1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Mypalm1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Mypalm1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["gatewayMajorVersion"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^1");
            if ((result == false)) {
                return false;
            } 
            headerValue = ((string)(dictionary["gatewayMinorVersion"]));
            result = regexWorker.ProcessRegex(headerValue, "\\.0$"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "EarthLink";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false";
            dictionary["maximumRenderedPageSize"] = "7000"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["rendersBreaksAfterHtmlLists"] = "false";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true";
            dictionary["requiresUniqueHtmlInputNames"] = "true";
            dictionary["screenBitDepth"] = "4";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "30";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = "EarthLink";
            browserCaps.AddBrowser("MyPalm1"); 
            this.Mypalm1ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Mypalm1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PalmwebproProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PalmwebproProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PalmwebproProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "PalmOS.*WebPro"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Palm WebPro"; 
            dictionary["canSendMail"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javascript"] = "false";
            dictionary["maximumRenderedPageSize"] = "7000"; 
            dictionary["mobileDeviceManufacturer"] = "Palm"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiredMetaTagNameValue"] = "PalmComputingPlatform"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "30"; 
            dictionary["screenPixelsHeight"] = "320"; 
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "false";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFileUpload"] = "false"; 
            dictionary["supportsFontName"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "Palm WebPro";
            browserCaps.AddBrowser("PalmWebPro"); 
            this.PalmwebproProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PalmWebPro
            if (this.Palmwebpro3Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.PalmwebproProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Palmwebpro3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Palmwebpro3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Palmwebpro3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "WebPro3\\.");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["CanSendMail"] = "true"; 
            dictionary["InputType"] = "keyboard"; 
            dictionary["JavaScript"] = "true";
            dictionary["MaximumRenderedPageSize"] = "520000"; 
            dictionary["maximumHrefLength"] = "2000";
            dictionary["preferredRequestEncoding"] = "ISO-8859-1";
            dictionary["preferredResponseEncoding"] = "ISO-8859-1";
            dictionary["RequiresControlStateInSession"] = "false"; 
            dictionary["RequiresOutputOptimization"] = "false";
            dictionary["RequiresPragmaNoCacheHeader"] = "false"; 
            dictionary["RequiresUniqueFilePathSuffix"] = "false"; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true";
            dictionary["Tables"] = "true"; 
            browserCaps.AddBrowser("PalmWebPro3");
            this.Palmwebpro3ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Palmwebpro3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void EudorawebProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void EudorawebProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool EudorawebProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "EudoraWeb (?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "EudoraWeb";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["cookies"] = "true";
            dictionary["isColor"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javaapplets"] = "false"; 
            dictionary["javascript"] = "false";
            dictionary["maximumRenderedPageSize"] = "30000"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["screenBitDepth"] = "1";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsImageSubmit"] = "false";
            dictionary["supportsItalic"] = "true"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "EudoraWeb";
            dictionary["vbscript"] = "false"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("Eudoraweb");
            this.EudorawebProcessGateways(headers, browserCaps); 
            // gateway, parent=Eudoraweb 
            this.EudorawebmsieProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Eudoraweb
            if (this.PdqbrowserProcess(headers, browserCaps)) {
            }
            else { 
                if (this.Eudoraweb21plusProcess(headers, browserCaps)) {
                } 
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            }
            this.EudorawebProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void EudorawebmsieProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void EudorawebmsieProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool EudorawebmsieProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MSIE (?\'version\'(?\'msMajorVersion\'\\d+)(?\'msMinorVersion\'\\.\\d+)(?\'letters\'\\w*))(?\'" +
                    "extra\'[^)]*)"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "true"; 
            dictionary["backgroundsounds"] = "true";
            dictionary["ecmaScriptVersion"] = "1.2";
            dictionary["frames"] = "true";
            dictionary["msdomversion"] = regexWorker["${msMajorVersion}${msMinorVersion}"]; 
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["w3cdomversion"] = "1.0"; 
            this.EudorawebmsieProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.EudorawebmsieProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void PdqbrowserProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PdqbrowserProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool PdqbrowserProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "pdQbrowser");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "Kyocera"; 
            dictionary["mobileDeviceModel"] = "QCP 6035";
            dictionary["supportsFontSize"] = "false"; 
            browserCaps.AddBrowser("PdQbrowser");
            this.PdqbrowserProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PdqbrowserProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Eudoraweb21plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Eudoraweb21plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Eudoraweb21plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "([3-9]\\.\\d+)|(2\\.[1-9]\\d*)");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["requiresAttributeColonSubstitution"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["requiresUniqueHtmlCheckboxNames"] = "true"; 
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "30";
            dictionary["supportsBodyColor"] = "false"; 
            dictionary["supportsFontColor"] = "false";
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("Eudoraweb21Plus");
            this.Eudoraweb21plusProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Eudoraweb21plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void PalmscapeProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void PalmscapeProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool PalmscapeProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Palmscape/.*\\(v. (?\'version\'[^;]+);"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "Palmscape";
            dictionary["cookies"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["screenCharactersHeight"] = "12"; 
            dictionary["screenCharactersWidth"] = "36";
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160";
            dictionary["supportsCharacterEntityEncodign"] = "false"; 
            dictionary["type"] = "Palmscape";
            dictionary["version"] = regexWorker["${version}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("Palmscape");
            this.PalmscapeProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Palmscape 
            if (this.PalmscapeversionProcess(headers, browserCaps)) {
            } 
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.PalmscapeProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void PalmscapeversionProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void PalmscapeversionProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool PalmscapeversionProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "(?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            browserCaps.AddBrowser("PalmscapeVersion"); 
            this.PalmscapeversionProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PalmscapeversionProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void AuspalmProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void AuspalmProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool AuspalmProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "AUS PALM WAPPER"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "AU-System Demo WAP Browser"; 
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["mobileDeviceManufacturer"] = "PalmOS-licensee";
            dictionary["optimumPageWeight"] = "900"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "36"; 
            dictionary["screenPixelsHeight"] = "160";
            dictionary["screenPixelsWidth"] = "160"; 
            dictionary["supportsCharacterEntityEncoding"] = "true"; 
            dictionary["type"] = "AU-System";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("AusPalm");
            this.AuspalmProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.AuspalmProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void SharppdaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void SharppdaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SharppdaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "sharp pda browser/(?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+)"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Sharp PDA Browser";
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"]; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["supportsCharacterEntityEncoding"] = "false";
            dictionary["type"] = "Sharp PDA Browser"; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("SharpPda");
            this.SharppdaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SharpPda
            if (this.Zaurusmie1Process(headers, browserCaps)) { 
            }
            else {
                if (this.Zaurusmie21Process(headers, browserCaps)) {
                } 
                else {
                    if (this.Zaurusmie25Process(headers, browserCaps)) { 
                    } 
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                }
            }
            this.SharppdaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void Zaurusmie1ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Zaurusmie1ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool Zaurusmie1Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MI-E1");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["defaultCharacterHeight"] = "18";
            dictionary["defaultCharacterWidth"] = "7";
            dictionary["frames"] = "true";
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["javascript"] = "false"; 
            dictionary["mobileDeviceModel"] = "Zaurus MI-E1"; 
            dictionary["requiresDBCSCharacter"] = "true";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["tables"] = "true";
            browserCaps.AddBrowser("ZaurusMiE1"); 
            this.Zaurusmie1ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Zaurusmie1ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void Zaurusmie21ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Zaurusmie21ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Zaurusmie21Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MI-E21");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true"; 
            dictionary["canRenderEmptySelects"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "60000";
            dictionary["mobileDeviceModel"] = "Zaurus MI-E21"; 
            dictionary["requiresAttributeColonSubstitution"] = "true";
            dictionary["requiresDBCSCharacter"] = "true"; 
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "18";
            dictionary["screenCharactersWidth"] = "40"; 
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "240";
            dictionary["supportsFontSize"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("ZaurusMiE21");
            this.Zaurusmie21ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Zaurusmie21ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Zaurusmie25ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Zaurusmie25ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Zaurusmie25Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MI-E25"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["cookies"] = "true"; 
            dictionary["inputType"] = "keyboard"; 
            dictionary["isColor"] = "true";
            dictionary["maximumRenderedPageSize"] = "60000"; 
            dictionary["mobileDeviceModel"] = "Zaurus MI-E25DC";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresDBCSCharacter"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "16"; 
            dictionary["screenCharactersHeight"] = "11"; 
            dictionary["screenCharactersWidth"] = "50";
            dictionary["screenPixelsHeight"] = "240"; 
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["tables"] = "true"; 
            browserCaps.AddBrowser("ZaurusMiE25");
            this.Zaurusmie25ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Zaurusmie25ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PanasonicProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PanasonicProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PanasonicProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Panasonic-(?\'deviceModel\'.*)"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Panasonic";
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "false";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumSoftkeyLabelLength"] = "16";
            dictionary["mobileDeviceManufacturer"] = "Panasonic";
            dictionary["mobileDeviceModel"] = regexWorker["${deviceModel}"];
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/vnd.wap.wbmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersWmlDoAcceptsInline"] = "false";
            dictionary["requiresAdaptiveErrorReporting"] = "true"; 
            dictionary["requiresUniqueFilePathSuffix"] = "true";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "16";
            dictionary["screenPixelsHeight"] = "130"; 
            dictionary["screenPixelsWidth"] = "100";
            dictionary["supportsCacheControlMetaTag"] = "false"; 
            dictionary["tables"] = "false"; 
            dictionary["type"] = "Panasonic";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("Panasonic");
            this.PanasonicProcessGateways(headers, browserCaps);
            // gateway, parent=Panasonic 
            this.PanasonicexchangesupporteddeviceProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Panasonic 
            if (this.Panasonicgad95Process(headers, browserCaps)) {
            } 
            else {
                if (this.Panasonicgad87Process(headers, browserCaps)) {
                }
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            } 
            this.PanasonicProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Panasonicgad95ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Panasonicgad95ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Panasonicgad95Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD95"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            browserCaps.AddBrowser("PanasonicGAD95");
            this.Panasonicgad95ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Panasonicgad95ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Panasonicgad87ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Panasonicgad87ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Panasonicgad87Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD87"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Panasonic"; 
            dictionary["canSendMail"] = "true"; 
            dictionary["cookies"] = "true";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "12000";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-basic"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenPixelsHeight"] = "176";
            dictionary["screenPixelsWidth"] = "132"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["supportsNoWrapStyle"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["tables"] = "false"; 
            dictionary["type"] = "Panasonic"; 
            browserCaps.AddBrowser("PanasonicGAD87");
            this.Panasonicgad87ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PanasonicGAD87
            if (this.Panasonicgad87a39Process(headers, browserCaps)) {
            } 
            else {
                if (this.Panasonicgad87a38Process(headers, browserCaps)) { 
                } 
                else {
                    ignoreApplicationBrowsers = false; 
                }
            }
            this.Panasonicgad87ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PanasonicexchangesupporteddeviceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PanasonicexchangesupporteddeviceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PanasonicexchangesupporteddeviceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\/(A3[89]|A[4-9]\\d|A\\d{3,})"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["ExchangeOmaSupported"] = "true"; 
            this.PanasonicexchangesupporteddeviceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.PanasonicexchangesupporteddeviceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Panasonicgad87a39ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Panasonicgad87a39ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Panasonicgad87a39Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["mobileDeviceModel"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD87\\/A39"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceModel"] = "GD87"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "7";
            dictionary["screenCharactersWidth"] = "14";
            dictionary["tables"] = "false"; 
            browserCaps.AddBrowser("PanasonicGAD87A39");
            this.Panasonicgad87a39ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Panasonicgad87a39ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Panasonicgad87a38ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Panasonicgad87a38ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Panasonicgad87a38Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["mobileDeviceModel"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "GAD87\\/A38"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["maximumRenderedPageSize"] = "12155";
            dictionary["mobileDeviceModel"] = "GU87"; 
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenCharactersWidth"] = "20"; 
            browserCaps.AddBrowser("PanasonicGAD87A38");
            this.Panasonicgad87a38ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Panasonicgad87a38ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void WinceProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void WinceProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool WinceProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla/\\S* \\(compatible; MSIE (?\'majorVersion\'\\d*)(?\'minorVersion\'\\.\\d*);\\D* Wi" +
                    "ndows CE(;(?\'deviceID\' \\D\\w*))?(; (?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+))?"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["activexcontrols"] = "true";
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "WinCE"; 
            dictionary["cookies"] = "true";
            dictionary["css1"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "6"; 
            dictionary["defaultScreenCharactersWidth"] = "12";
            dictionary["defaultScreenPixelsHeight"] = "72"; 
            dictionary["defaultScreenPixelsWidth"] = "96";
            dictionary["deviceID"] = regexWorker["${deviceID}"];
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["frames"] = "true"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isColor"] = "false"; 
            dictionary["isMobileDevice"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["jscriptversion"] = "1.0"; 
            dictionary["majorVersion"] = regexWorker["${majorVersion}"];
            dictionary["minorVersion"] = regexWorker["${minorVersion}"];
            dictionary["platform"] = "WinCE";
            dictionary["screenBitDepth"] = "1"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["supportsMultilineTextBoxDisplay"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["version"] = regexWorker["${majorVersion}${minorVersion}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("WinCE"); 
            this.WinceProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=WinCE 
            if (this.PieProcess(headers, browserCaps)) {
            } 
            else {
                if (this.Pie4Process(headers, browserCaps)) {
                }
                else { 
                    if (this.Pie5plusProcess(headers, browserCaps)) {
                    } 
                    else { 
                        ignoreApplicationBrowsers = false;
                    } 
                }
            }
            this.WinceProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void PieProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void PieProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool PieProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^3\\.02$"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "Pocket IE"; 
            dictionary["defaultCharacterHeight"] = "18";
            dictionary["defaultCharacterWidth"] = "7";
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["javascript"] = "true";
            dictionary["majorVersion"] = "4"; 
            dictionary["maximumRenderedPageSize"] = "300000"; 
            dictionary["minorVersion"] = ".0";
            dictionary["mobileDeviceModel"] = "Pocket PC"; 
            dictionary["optimumPageWeight"] = "4000";
            dictionary["requiresContentTypeMetaTag"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["supportsBodyColor"] = "true"; 
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivAlign"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFontColor"] = "true";
            dictionary["supportsFontName"] = "true";
            dictionary["supportsFontSize"] = "true"; 
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsItalic"] = "true"; 
            dictionary["type"] = "Pocket IE"; 
            dictionary["version"] = "4.0";
            browserCaps.AddBrowser("PIE"); 
            this.PieProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=PIE
            if (this.PieppcProcess(headers, browserCaps)) { 
            }
            else { 
                if (this.PienodeviceidProcess(headers, browserCaps)) { 
                }
                else { 
                    if (this.PiesmartphoneProcess(headers, browserCaps)) {
                    }
                    else {
                        ignoreApplicationBrowsers = false; 
                    }
                } 
            } 
            this.PieProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void PieppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PieppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool PieppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, " PPC;"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["minorVersion"] = ".1";
            dictionary["version"] = "4.1"; 
            browserCaps.AddBrowser("PIEPPC"); 
            this.PieppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PieppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void Pie4ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void Pie4ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Pie4Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MSIE 4(\\.\\d*)");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["activexcontrols"] = "true"; 
            dictionary["browser"] = "Pocket IE";
            dictionary["cdf"] = "true"; 
            dictionary["defaultScreenCharactersHeight"] = "6";
            dictionary["defaultScreenCharactersWidth"] = "12";
            dictionary["defaultScreenPixelsHeight"] = "72";
            dictionary["defaultScreenPixelsWidth"] = "96"; 
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["javaapplets"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "7000";
            dictionary["msdomversion"] = "4.0";
            dictionary["platform"] = "WinCE";
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "9"; 
            dictionary["screenCharactersWidth"] = "50"; 
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "640"; 
            dictionary["supportsCss"] = "true";
            dictionary["supportsDivNoWrap"] = "true";
            dictionary["supportsFileUpload"] = "false";
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter"; 
            dictionary["type"] = "Pocket IE";
            dictionary["vbscript"] = "true"; 
            browserCaps.AddBrowser("PIE4"); 
            this.Pie4ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=PIE4
            if (this.Pie4ppcProcess(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.Pie4ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Pie5plusProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Pie5plusProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Pie5plusProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "MSIE 5(\\.\\d*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "IE"; 
            dictionary["ecmascriptversion"] = "1.2";
            dictionary["javaapplets"] = "true"; 
            dictionary["msdomversion"] = "5.5"; 
            dictionary["tagwriter"] = "System.Web.UI.HtmlTextWriter";
            dictionary["type"] = "Pocket IE"; 
            dictionary["vbscript"] = "true";
            dictionary["w3cdomversion"] = "1.0";
            dictionary["xml"] = "true";
            browserCaps.AddBrowser("PIE5Plus"); 
            this.Pie5plusProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=PIE5Plus 
            if (this.Sigmarion3Process(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.Pie5plusProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void PienodeviceidProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void PienodeviceidProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool PienodeviceidProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["supportsQueryStringInFormAction"] = "false";
            browserCaps.AddBrowser("PIEnoDeviceID");
            this.PienodeviceidProcessGateways(headers, browserCaps);
            // gateway, parent=PIEnoDeviceID 
            this.PiescreenbitdepthProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PienodeviceidProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void PiescreenbitdepthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void PiescreenbitdepthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool PiescreenbitdepthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(headers["UA-COLOR"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "color32");
            if ((result == false)) { 
                return false;
            }
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["screenBitDepth"] = "32";
            this.PiescreenbitdepthProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.PiescreenbitdepthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void NetfrontProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void NetfrontProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool NetfrontProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "\\((?\'deviceID\'.*)\\) NetFront\\/(?\'browserMajorVersion\'\\d*)(?\'browserMinorVersion\'\\" + 
                    ".\\d*).*");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "Compact NetFront"; 
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false"; 
            dictionary["inputType"] = "telephoneKeypad";
            dictionary["isMobileDevice"] = "true";
            dictionary["javascript"] = "false";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"]; 
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresFullyQualifiedRedirectUrl"] = "true"; 
            dictionary["requiresHiddenFieldValues"] = "false";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsDivNoWrap"] = "false";
            dictionary["supportsFileUpload"] = "false";
            dictionary["supportsFontName"] = "false";
            dictionary["supportsImageSubmit"] = "false"; 
            dictionary["supportsItalic"] = "false";
            dictionary["supportsSelectFollowingTable"] = "true"; 
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["type"] = regexWorker["Compact NetFront ${browserMajorVersion}"]; 
            browserCaps.AddBrowser("NetFront");
            this.NetfrontProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=NetFront 
            if (this.Slb500Process(headers, browserCaps)) {
            } 
            else { 
                if (this.VrnaProcess(headers, browserCaps)) {
                } 
                else {
                    ignoreApplicationBrowsers = false;
                }
            } 
            this.NetfrontProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Slb500ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Slb500ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Slb500Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SL-B500"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "NetFront";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "true"; 
            dictionary["ExchangeOmaSupported"] = "true";
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "60000";
            dictionary["mobileDeviceManufacturer"] = "Sharp"; 
            dictionary["mobileDeviceModel"] = "SL-B500";
            dictionary["preferredImageMime"] = "image/gif";
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["requiresContentTypeMetaTag"] = "false";
            dictionary["requiresNoBreakInFormatting"] = "true"; 
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "21"; 
            dictionary["screenCharactersWidth"] = "47";
            dictionary["screenPixelsHeight"] = "240";
            dictionary["screenPixelsWidth"] = "320";
            dictionary["supportsAccessKeyAttribute"] = "false"; 
            dictionary["supportsBold"] = "false";
            dictionary["supportsFontSize"] = "false"; 
            dictionary["supportsImageSubmit"] = "true"; 
            dictionary["supportsMultilineTextboxDisplay"] = "true";
            browserCaps.AddBrowser("SLB500"); 
            this.Slb500ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Slb500ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void VrnaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void VrnaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool VrnaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "sony/model vrna"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Sony"; 
            dictionary["mobileDeviceModel"] = "CLIE PEG-TG50";
            dictionary["canInitiateVoiceCall"] = "false";
            dictionary["canSendMail"] = "true";
            dictionary["ExchangeOmaSupported"] = "true"; 
            dictionary["inputType"] = "keyboard";
            dictionary["javascript"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "65000"; 
            dictionary["preferredRenderingMime"] = "text/html";
            dictionary["preferredRenderingType"] = "html32"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["requiresPragmaNoCacheHeader"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "10"; 
            dictionary["screenCharactersWidth"] = "31"; 
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "320"; 
            dictionary["supportsAccessKeyAttribute"] = "false";
            dictionary["supportsImageSubmit"] = "true";
            dictionary["supportsMultilineTextboxDisplay"] = "true";
            browserCaps.AddBrowser("VRNA"); 
            this.VrnaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.VrnaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Pie4ppcProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Pie4ppcProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Pie4ppcProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "PPC(; (?\'screenWidth\'\\d+)x(?\'screenHeight\'\\d+))?");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "MSIE";
            dictionary["ecmascriptversion"] = "1.0"; 
            dictionary["inputType"] = "virtualKeyboard"; 
            dictionary["isColor"] = "true";
            dictionary["isMobileDevice"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "800000";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingType"] = "html32";
            dictionary["requiresAbsolutePostbackUrl"] = "false"; 
            dictionary["requiresCommentInStyleElement"] = "false";
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "false"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24"; 
            dictionary["screenCharactersHeight"] = "16";
            dictionary["screenCharactersWidth"] = "32";
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsNoWrapStyle"] = "false"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "false";
            dictionary["supportsUrlAttributeEncoding"] = "true";
            dictionary["type"] = regexWorker["MSIE ${majorVersion}"];
            browserCaps.AddBrowser("PIE4PPC"); 
            this.Pie4ppcProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Pie4ppcProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void PiesmartphoneProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void PiesmartphoneProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool PiesmartphoneProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "Smartphone");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["canInitiateVoiceCall"] = "true"; 
            dictionary["frames"] = "false";
            dictionary["inputType"] = "telephoneKeypad"; 
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "300000";
            dictionary["minorVersion"] = ".1"; 
            dictionary["mobileDeviceModel"] = "Smartphone";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresContentTypeMetaTag"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["screenCharactersHeight"] = "13"; 
            dictionary["screenCharactersWidth"] = "28"; 
            dictionary["supportsAccessKeyAttribute"] = "true";
            dictionary["supportsFontName"] = "false"; 
            dictionary["version"] = "4.1";
            browserCaps.AddBrowser("PIESmartphone");
            this.PiesmartphoneProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.PiesmartphoneProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void Sigmarion3ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void Sigmarion3ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool Sigmarion3Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceID"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "sigmarion3"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["cachesAllResponsesWithExpires"] = "true";
            dictionary["inputType"] = "keyboard";
            dictionary["isColor"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "64000";
            dictionary["mobileDeviceManufacturer"] = "NTT DoCoMo"; 
            dictionary["MobileDeviceModel"] = "Sigmarion III"; 
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRequestEncoding"] = "shift_jis"; 
            dictionary["preferredResponseEncoding"] = "shift_jis";
            dictionary["requiresOutputOptimization"] = "true";
            dictionary["screenBitDepth"] = "16";
            dictionary["screenCharactersHeight"] = "19"; 
            dictionary["screenCharactersWidth"] = "94";
            dictionary["screenPixelsHeight"] = "480"; 
            dictionary["screenPixelsWidth"] = "800"; 
            browserCaps.AddBrowser("sigmarion3");
            this.Sigmarion3ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Sigmarion3ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Mspie06ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Mspie06ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Mspie06Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^Microsoft Pocket Internet Explorer/0\\.6");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "PIE"; 
            dictionary["cookies"] = "false";
            dictionary["isMobileDevice"] = "true";
            dictionary["majorversion"] = "1";
            dictionary["minorversion"] = "0"; 
            dictionary["platform"] = "WinCE";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "PIE"; 
            dictionary["version"] = "1.0";
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("MSPIE06");
            this.Mspie06ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Mspie06ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void MspieProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void MspieProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool MspieProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^Mozilla[^(]*\\(compatible; MSPIE (?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'letter" + 
                    "s\'\\w*))(?\'extra\'.*)");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["backgroundsounds"] = "true"; 
            dictionary["browser"] = "PIE";
            dictionary["cookies"] = "true"; 
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorversion"] = regexWorker["${major}"];
            dictionary["minorversion"] = regexWorker["${minor}"]; 
            dictionary["tables"] = "true";
            dictionary["type"] = regexWorker["PIE${major}"];
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("MSPIE"); 
            this.MspieProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=MSPIE
            if (this.Mspie2Process(headers, browserCaps)) {
            }
            else { 
                ignoreApplicationBrowsers = false;
            } 
            this.MspieProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void Mspie2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void Mspie2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool Mspie2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "2\\.");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["frames"] = "true"; 
            browserCaps.AddBrowser("MSPIE2");
            this.Mspie2ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false; 
            this.Mspie2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void SktdevicesProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool SktdevicesProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, @"^(?'carrier'\S{3})(?'serviceType'\d)(?'deviceType'\d)(?'deviceManufacturer'\S{2})(?'deviceID'\S{2})(?'browserType'\d{2})(?'majorVersion'\d)(?'minorVersion'\d)(?'screenWidth'\d{3})(?'screenHeight'\d{3})(?'screenColumn'\d{2})(?'screenRow'\d{2})(?'colorDepth'\d{2})(?'MINNumber'\d{8})"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["browserType"] = regexWorker["${browserType}"];
            dictionary["colorDepth"] = regexWorker["${colorDepth}"]; 
            dictionary["cookies"] = "false"; 
            dictionary["deviceManufacturer"] = regexWorker["${deviceManufacturer}"];
            dictionary["deviceID"] = regexWorker["${deviceID}"]; 
            dictionary["deviceType"] = regexWorker["${deviceType}"];
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${majorVersion}"];
            dictionary["minorVersion"] = regexWorker["${minorVersion}"]; 
            dictionary["screenColumn"] = regexWorker["${screenColumn}"];
            dictionary["screenHeight"] = regexWorker["${screenHeight}"]; 
            dictionary["screenWidth"] = regexWorker["${screenWidth}"]; 
            dictionary["screenRow"] = regexWorker["${screenRow}"];
            dictionary["version"] = regexWorker["${majorVersion}.${minorVersion}"]; 
            browserCaps.AddBrowser("SKTDevices");
            this.SktdevicesProcessGateways(headers, browserCaps);
            // gateway, parent=SKTDevices
            this.SktdevicescolordepthProcess(headers, browserCaps); 
            // gateway, parent=SKTDevices
            this.SktdevicesscreenrowProcess(headers, browserCaps); 
            // gateway, parent=SKTDevices 
            this.SktdevicesscreencolumnProcess(headers, browserCaps);
            // gateway, parent=SKTDevices 
            this.SktdevicesscreenheightProcess(headers, browserCaps);
            // gateway, parent=SKTDevices
            this.SktdevicesscreenwidthProcess(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SKTDevices
            if (this.SktdeviceshyundaiProcess(headers, browserCaps)) { 
            } 
            else {
                if (this.SktdeviceshanhwaProcess(headers, browserCaps)) { 
                }
                else {
                    if (this.SktdevicesjtelProcess(headers, browserCaps)) {
                    } 
                    else {
                        if (this.SktdeviceslgProcess(headers, browserCaps)) { 
                        } 
                        else {
                            if (this.SktdevicesmotorolaProcess(headers, browserCaps)) { 
                            }
                            else {
                                if (this.SktdevicesnokiaProcess(headers, browserCaps)) {
                                } 
                                else {
                                    if (this.SktdevicesskttProcess(headers, browserCaps)) { 
                                    } 
                                    else {
                                        if (this.SktdevicessamsungProcess(headers, browserCaps)) { 
                                        }
                                        else {
                                            if (this.SktdevicesericssonProcess(headers, browserCaps)) {
                                            } 
                                            else {
                                                ignoreApplicationBrowsers = false; 
                                            } 
                                        }
                                    } 
                                }
                            }
                        }
                    } 
                }
            } 
            this.SktdevicesProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void SktdevicescolordepthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void SktdevicescolordepthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool SktdevicescolordepthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["colorDepth"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d[1-9])|([1-9]0)$");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["screenBitDepth"] = regexWorker["${colorDepth}"]; 
            this.SktdevicescolordepthProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SKTDevicesColorDepth 
            if (this.SktdevicesiscolorProcess(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false;
            }
            this.SktdevicescolordepthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesiscolorProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesiscolorProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesiscolorProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["colorDepth"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(0[5-9])|([1-9]\\d)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["isColor"] = "true";
            this.SktdevicesiscolorProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesiscolorProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreenrowProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreenrowProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreenrowProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenRow"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d[1-9])|([1-9]0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenCharactersHeight"] = regexWorker["${screenRow}"];
            this.SktdevicesscreenrowProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreenrowProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreencolumnProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreencolumnProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreencolumnProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenColumn"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d[1-9])|([1-9]0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenCharactersWidth"] = regexWorker["${screenColumn}"];
            this.SktdevicesscreencolumnProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreencolumnProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreenheightProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreenheightProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreenheightProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenHeight"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d\\d[1-9])|(((\\d[1-9])|([1-9]0))0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"];
            this.SktdevicesscreenheightProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreenheightProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesscreenwidthProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesscreenwidthProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesscreenwidthProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["screenWidth"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^(\\d\\d[1-9])|(((\\d[1-9])|([1-9]0))0)$");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            this.SktdevicesscreenwidthProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesscreenwidthProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdeviceshyundaiProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdeviceshyundaiProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdeviceshyundaiProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HD");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Hyundai";
            browserCaps.AddBrowser("SKTDevicesHyundai");
            this.SktdeviceshyundaiProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=SKTDevicesHyundai
            if (this.Pse200Process(headers, browserCaps)) { 
            } 
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.SktdeviceshyundaiProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void Pse200ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void Pse200ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool Pse200Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "10");
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(dictionary["browserType"])); 
            result = regexWorker.ProcessRegex(headerValue, "15");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["breaksOnInlineElements"] = "false"; 
            dictionary["browser"] = "Infraware";
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true"; 
            dictionary["maximumRenderedPageSize"] = "10000";
            dictionary["mobileDeviceManufacturer"] = "Pantech&Curitel"; 
            dictionary["mobileDeviceModel"] = "PS-E200";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresOnEnterForwardForCheckboxLists"] = "true"; 
            dictionary["requiresXhtmlCssSuppression"] = "false";
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "10";
            dictionary["screenPixelsHeight"] = "80"; 
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "true";
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true"; 
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["${browser} ${majorVersion}"];
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter";
            browserCaps.AddBrowser("PSE200");
            this.Pse200ProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.Pse200ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void SktdeviceshanhwaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void SktdeviceshanhwaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool SktdeviceshanhwaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "HH"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Hanhwa";
            browserCaps.AddBrowser("SKTDevicesHanhwa"); 
            this.SktdeviceshanhwaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.SktdeviceshanhwaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 

        protected virtual void SktdevicesjtelProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        protected virtual void SktdevicesjtelProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool SktdevicesjtelProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "JT");
            if ((result == false)) { 
                return false;
            }
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "JTEL"; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" +
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter"; 
            browserCaps.HtmlTextWriter = "System.Web.UI.ChtmlTextWriter"; 
            browserCaps.AddBrowser("SKTDevicesJTEL");
            this.SktdevicesjtelProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=SKTDevicesJTEL
            if (this.Jtel01Process(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false; 
            } 
            this.SktdevicesjtelProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Jtel01ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Jtel01ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Jtel01Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "01"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["mobileDeviceModel"] = "Cellvic XG"; 
            dictionary["screenCharactersHeight"] = "6"; 
            dictionary["screenCharactersWidth"] = "12";
            browserCaps.AddBrowser("JTEL01"); 
            this.Jtel01ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = true;
            // browser, parent=JTEL01
            if (this.JtelnateProcess(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false; 
            }
            this.Jtel01ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void JtelnateProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void JtelnateProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool JtelnateProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["browserType"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "03");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["browser"] = "NATE"; 
            dictionary["cookies"] = "true"; 
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "true";
            dictionary["requiresLeadingPageBreak"] = "true"; 
            dictionary["supportsBodyColor"] = "false";
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontColor"] = "false";
            dictionary["tables"] = "true"; 
            dictionary["type"] = "NATE 1";
            browserCaps.AddBrowser("JTELNate"); 
            this.JtelnateProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.JtelnateProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        }

        protected virtual void SktdeviceslgProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void SktdeviceslgProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool SktdeviceslgProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "LG");
            if ((result == false)) {
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "LG"; 
            browserCaps.AddBrowser("SKTDevicesLG"); 
            this.SktdeviceslgProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.SktdeviceslgProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void SktdevicesmotorolaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void SktdevicesmotorolaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SktdevicesmotorolaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "MT");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "Motorola"; 
            browserCaps.AddBrowser("SKTDevicesMotorola");
            this.SktdevicesmotorolaProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=SKTDevicesMotorola
            if (this.Sktdevicesv730Process(headers, browserCaps)) {
            } 
            else {
                ignoreApplicationBrowsers = false; 
            } 
            this.SktdevicesmotorolaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void Sktdevicesv730ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void Sktdevicesv730ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool Sktdevicesv730Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceID"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "07"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(dictionary["browserType"])); 
            result = regexWorker.ProcessRegex(headerValue, "00");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "AU-System";
            dictionary["canInitiateVoiceCall"] = "true";
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false"; 
            dictionary["maximumRenderedPageSize"] = "2900";
            dictionary["mobileDeviceModel"] = "V730"; 
            dictionary["numberOfSoftkeys"] = "2"; 
            dictionary["preferredImageMime"] = "image/bmp";
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml"; 
            dictionary["preferredRenderingType"] = "wml11";
            dictionary["rendersBreakBeforeWmlSelectAndInput"] = "true";
            dictionary["rendersBreaksAfterWmlInput"] = "true";
            dictionary["rendersWmlSelectsAsMenuCards"] = "true"; 
            dictionary["requiresNoSoftkeyLabels"] = "true";
            dictionary["requiresUniqueFilePathSuffix"] = "true"; 
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = regexWorker["${browser} ${majorVersion}"];
            browserCaps.AddBrowser("SKTDevicesV730"); 
            this.Sktdevicesv730ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.Sktdevicesv730ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void SktdevicesnokiaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void SktdevicesnokiaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool SktdevicesnokiaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "NO"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Nokia"; 
            browserCaps.AddBrowser("SKTDevicesNokia");
            this.SktdevicesnokiaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesnokiaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true;
        } 
 
        protected virtual void SktdevicesskttProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        protected virtual void SktdevicesskttProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }
 
        private bool SktdevicesskttProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "SK");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["mobileDeviceManufacturer"] = "SKTT";
            browserCaps.AddBrowser("SKTDevicesSKTT");
            this.SktdevicesskttProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.SktdevicesskttProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void SktdevicessamsungProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void SktdevicessamsungProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SktdevicessamsungProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["deviceManufacturer"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "SS"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["mobileDeviceManufacturer"] = "Samsung";
            browserCaps.AddBrowser("SKTDevicesSamSung");
            this.SktdevicessamsungProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=SKTDevicesSamSung 
            if (this.Sche150Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.SktdevicessamsungProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Sche150ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Sche150ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Sche150Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["browserType"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "15"); 
            if ((result == false)) {
                return false; 
            } 
            headerValue = ((string)(dictionary["deviceID"]));
            result = regexWorker.ProcessRegex(headerValue, "50"); 
            if ((result == false)) {
                return false;
            }
            // Capabilities: set capabilities 
            dictionary["breaksOnInlineElements"] = "false";
            dictionary["browser"] = "Infraware"; 
            dictionary["canSendMail"] = "false"; 
            dictionary["cookies"] = "true";
            dictionary["maximumRenderedPageSize"] = "10000"; 
            dictionary["mobileDeviceModel"] = "SCH-E150";
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["preferredRenderingMime"] = "application/xhtml+xml";
            dictionary["preferredRenderingType"] = "xhtml-mp"; 
            dictionary["requiresAbsolutePostbackUrl"] = "false";
            dictionary["requiresCommentInStyleElement"] = "false"; 
            dictionary["requiresHiddenFieldValues"] = "false"; 
            dictionary["requiresHtmlAdaptiveErrorReporting"] = "true";
            dictionary["requiresXhtmlCssSuppression"] = "false"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenPixelsHeight"] = "80";
            dictionary["screenPixelsWidth"] = "101";
            dictionary["supportsAccessKeyAttribute"] = "true"; 
            dictionary["supportsBodyClassAttribute"] = "true";
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCss"] = "true"; 
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsNoWrapStyle"] = "true"; 
            dictionary["supportsSelectFollowingTable"] = "true";
            dictionary["supportsStyleElement"] = "true";
            dictionary["supportsTitleElement"] = "true";
            dictionary["supportsUrlAttributeEncoding"] = "true"; 
            dictionary["tables"] = "true";
            dictionary["type"] = regexWorker["${browser} ${majorVersion}"]; 
            browserCaps.AddBrowser("SCHE150"); 
            this.Sche150ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Sche150ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void SktdevicesericssonProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        protected virtual void SktdevicesericssonProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool SktdevicesericssonProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue; 
            headerValue = ((string)(dictionary["browserType"])); 
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "01");
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Ericsson"; 
            browserCaps.AddBrowser("SKTDevicesEricsson");
            this.SktdevicesericssonProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = false;
            this.SktdevicesericssonProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void WebtvProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        protected virtual void WebtvProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        private bool WebtvProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue; 
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "WebTV/(?\'version\'(?\'major\'\\d+)(?\'minor\'\\.\\d+)(?\'letters\'\\w*))");
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities 
            dictionary["backgroundsounds"] = "true";
            dictionary["browser"] = "WebTV"; 
            dictionary["cookies"] = "true";
            dictionary["isMobileDevice"] = "true";
            dictionary["letters"] = regexWorker["${letters}"];
            dictionary["majorversion"] = regexWorker["${major}"]; 
            dictionary["minorversion"] = regexWorker["${minor}"];
            dictionary["tables"] = "true"; 
            dictionary["type"] = regexWorker["WebTV${major}"]; 
            dictionary["version"] = regexWorker["${version}"];
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter"; 
            browserCaps.AddBrowser("WebTV");
            this.WebtvProcessGateways(headers, browserCaps);
            // gateway, parent=WebTV
            this.WebtvbetaProcess(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=WebTV 
            if (this.Webtv2Process(headers, browserCaps)) { 
            }
            else { 
                ignoreApplicationBrowsers = false;
            }
            this.WebtvProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void Webtv2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void Webtv2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool Webtv2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["minorversion"])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "2"); 
            if ((result == false)) {
                return false; 
            } 
            // Capabilities: set capabilities
            dictionary["css1"] = "true"; 
            dictionary["ecmascriptversion"] = "1.0";
            dictionary["isMobileDevice"] = "false";
            dictionary["javascript"] = "true";
            dictionary["supportsBold"] = "false"; 
            dictionary["supportsCss"] = "false";
            dictionary["supportsDivNoWrap"] = "false"; 
            dictionary["supportsFontName"] = "false"; 
            dictionary["supportsFontSize"] = "false";
            dictionary["supportsImageSubmit"] = "false"; 
            dictionary["supportsItalic"] = "false";
            browserCaps.AddBrowser("WebTV2");
            this.Webtv2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Webtv2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void WebtvbetaProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void WebtvbetaProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool WebtvbetaProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check capability matches 
            string headerValue;
            headerValue = ((string)(dictionary["letters"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^b"); 
            if ((result == false)) { 
                return false;
            } 
            // Capabilities: set capabilities
            dictionary["beta"] = "true";
            this.WebtvbetaProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.WebtvbetaProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        } 

        protected virtual void WinwapProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }

        protected virtual void WinwapProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool WinwapProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "^WinWAP-(?\'platform\'\\w*)/(?\'browserMajorVersion\'\\w*)(?\'browserMinorVersion\'\\.\\w*)" + 
                    ""); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["browser"] = "WinWAP";
            dictionary["canRenderAfterInputOrSelectElement"] = "false"; 
            dictionary["canSendMail"] = "false";
            dictionary["cookies"] = "false"; 
            dictionary["hasBackButton"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true";
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "3500";
            dictionary["maximumSoftkeyLabelLength"] = "21"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["platform"] = regexWorker["${platform}"]; 
            dictionary["preferredImageMime"] = "image/jpeg"; 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml12"; 
            dictionary["rendersBreaksAfterWmlInput"] = "false";
            dictionary["rendersWmlSelectsAsMenuCards"] = "false";
            dictionary["requiresSpecialViewStateEncoding"] = "true";
            dictionary["requiresUniqueFilepathSuffix"] = "true"; 
            dictionary["screenBitDepth"] = "24";
            dictionary["screenCharactersHeight"] = "16"; 
            dictionary["screenCharactersWidth"] = "43"; 
            dictionary["screenPixelsHeight"] = "320";
            dictionary["screenPixelsWidth"] = "240"; 
            dictionary["supportsBold"] = "true";
            dictionary["supportsFontSize"] = "true";
            dictionary["supportsItalic"] = "true";
            dictionary["supportsRedirectWithCookie"] = "false"; 
            dictionary["type"] = regexWorker["WinWAP ${browserMajorVersion}${browserMinorVersion}"];
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.Adapters["System.Web.UI.WebControls.Menu, System.Web, Version=2.0.0.0, Culture=neutral, Pub" + 
                "licKeyToken=b03f5f7f11d50a3a"] = "System.Web.UI.WebControls.Adapters.MenuAdapter";
            browserCaps.AddBrowser("WinWap"); 
            this.WinwapProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false;
            this.WinwapProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }
 
        protected virtual void XiinoProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        protected virtual void XiinoProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        private bool XiinoProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(browserCaps[string.Empty])); 
            bool result;
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "Xiino/(?\'browserMajorVersion\'\\d+)(?\'browserMinorVersion\'\\.\\d+).* (?\'screenWidth\'\\" + 
                    "d+)x(?\'screenHeight\'\\d+);");
            if ((result == false)) { 
                return false; 
            }
            // Capabilities: set capabilities 
            dictionary["browser"] = "Xiino";
            dictionary["canRenderEmptySelects"] = "true";
            dictionary["canSendMail"] = "false";
            dictionary["hidesRightAlignedMultiselectScrollbars"] = "false"; 
            dictionary["inputType"] = "virtualKeyboard";
            dictionary["isColor"] = "true"; 
            dictionary["isMobileDevice"] = "true"; 
            dictionary["majorVersion"] = regexWorker["${browserMajorVersion}"];
            dictionary["maximumRenderedPageSize"] = "65000"; 
            dictionary["minorVersion"] = regexWorker["${browserMinorVersion}"];
            dictionary["requiresAdaptiveErrorReporting"] = "true";
            dictionary["requiresAttributeColonSubstitution"] = "false";
            dictionary["screenBitDepth"] = "8"; 
            dictionary["screenCharactersHeight"] = "12";
            dictionary["screenCharactersWidth"] = "30"; 
            dictionary["screenPixelsHeight"] = regexWorker["${screenHeight}"]; 
            dictionary["screenPixelsWidth"] = regexWorker["${screenWidth}"];
            dictionary["supportsBold"] = "true"; 
            dictionary["supportsCharacterEntityEncoding"] = "false";
            dictionary["supportsFontSize"] = "true";
            dictionary["type"] = "Xiino";
            dictionary["version"] = regexWorker["${browserMajorVersion}${browserMinorVersion}"]; 
            browserCaps.HtmlTextWriter = "System.Web.UI.Html32TextWriter";
            browserCaps.AddBrowser("Xiino"); 
            this.XiinoProcessGateways(headers, browserCaps); 
            bool ignoreApplicationBrowsers = true;
            // browser, parent=Xiino 
            if (this.Xiinov2Process(headers, browserCaps)) {
            }
            else {
                ignoreApplicationBrowsers = false; 
            }
            this.XiinoProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps); 
            return true; 
        }
 
        protected virtual void Xiinov2ProcessGateways(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        }

        protected virtual void Xiinov2ProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        }
 
        private bool Xiinov2Process(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities; 
            // Identification: check capability matches
            string headerValue;
            headerValue = ((string)(dictionary["version"]));
            bool result; 
            RegexWorker regexWorker;
            regexWorker = new RegexWorker(browserCaps); 
            result = regexWorker.ProcessRegex(headerValue, "^2\\.0$"); 
            if ((result == false)) {
                return false; 
            }
            // Capabilities: set capabilities
            dictionary["preferredImageMime"] = "image/jpeg";
            dictionary["requiresOutputOptimization"] = "true"; 
            dictionary["screenBitDepth"] = "16";
            dictionary["supportsItalic"] = "true"; 
            browserCaps.AddBrowser("XiinoV2"); 
            this.Xiinov2ProcessGateways(headers, browserCaps);
            bool ignoreApplicationBrowsers = false; 
            this.Xiinov2ProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        }
 
        protected virtual void DefaultDefaultProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 
 
        private bool DefaultDefaultProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Capabilities: set capabilities
            dictionary["ecmascriptversion"] = "0.0";
            dictionary["javascript"] = "false"; 
            dictionary["jscriptversion"] = "0.0";
            bool ignoreApplicationBrowsers = true; 
            // browser, parent=Default 
            if (this.DefaultWmlProcess(headers, browserCaps)) {
            } 
            else {
                if (this.DefaultXhtmlmpProcess(headers, browserCaps)) {
                }
                else { 
                    ignoreApplicationBrowsers = false;
                } 
            } 
            this.DefaultDefaultProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true; 
        }

        protected virtual void DefaultWmlProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) {
        } 

        private bool DefaultWmlProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary; 
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches 
            string headerValue;
            headerValue = ((string)(headers["Accept"]));
            bool result;
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "text/vnd\\.wap\\.wml|text/hdml"); 
            if ((result == false)) { 
                return false;
            } 
            headerValue = ((string)(headers["Accept"]));
            result = regexWorker.ProcessRegex(headerValue, "application/xhtml\\+xml; profile|application/vnd\\.wap\\.xhtml\\+xml");
            if ((result == true)) {
                return false; 
            }
            browserCaps.DisableOptimizedCacheKey(); 
            // Capabilities: set capabilities 
            dictionary["preferredRenderingMime"] = "text/vnd.wap.wml";
            dictionary["preferredRenderingType"] = "wml11"; 
            bool ignoreApplicationBrowsers = false;
            this.DefaultWmlProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected virtual void DefaultXhtmlmpProcessBrowsers(bool ignoreApplicationBrowsers, System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
        } 

        private bool DefaultXhtmlmpProcess(System.Collections.Specialized.NameValueCollection headers, System.Web.HttpBrowserCapabilities browserCaps) { 
            System.Collections.IDictionary dictionary;
            dictionary = browserCaps.Capabilities;
            // Identification: check header matches
            string headerValue; 
            headerValue = ((string)(headers["Accept"]));
            bool result; 
            RegexWorker regexWorker; 
            regexWorker = new RegexWorker(browserCaps);
            result = regexWorker.ProcessRegex(headerValue, "application/xhtml\\+xml; profile|application/vnd\\.wap\\.xhtml\\+xml"); 
            if ((result == false)) {
                return false;
            }
            headerValue = ((string)(headers["Accept"])); 
            result = regexWorker.ProcessRegex(headerValue, "text/hdml");
            if ((result == true)) { 
                return false; 
            }
            headerValue = ((string)(headers["Accept"])); 
            result = regexWorker.ProcessRegex(headerValue, "text/vnd\\.wap\\.wml");
            if ((result == true)) {
                return false;
            } 
            browserCaps.DisableOptimizedCacheKey();
            // Capabilities: set capabilities 
            dictionary["preferredRenderingMime"] = "text/html"; 
            dictionary["preferredRenderingType"] = "xhtml-mp";
            browserCaps.HtmlTextWriter = "System.Web.UI.XhtmlTextWriter"; 
            bool ignoreApplicationBrowsers = false;
            this.DefaultXhtmlmpProcessBrowsers(ignoreApplicationBrowsers, headers, browserCaps);
            return true;
        } 

        protected override void PopulateMatchedHeaders(System.Collections.IDictionary dictionary) { 
            base.PopulateMatchedHeaders(dictionary); 
            dictionary["X-UP-DEVCAP-NUMSOFTKEYS"] = null;
            dictionary["UA-COLOR"] = null; 
            dictionary["UA-PIXELS"] = null;
            dictionary["HTTP_X_WAP_PROFILE"] = null;
            dictionary["X-UP-DEVCAP-SCREENDEPTH"] = null;
            dictionary["X-UP-DEVCAP-MSIZE"] = null; 
            dictionary["X-UP-DEVCAP-MAX-PDU"] = null;
            dictionary["X-UP-DEVCAP-CHARSET"] = null; 
            dictionary["X-GA-TABLES"] = null; 
            dictionary["X-AVANTGO-VERSION"] = null;
            dictionary["X-UP-DEVCAP-SOFTKEYSIZE"] = null; 
            dictionary["UA-VOICE"] = null;
            dictionary["X-UP-DEVCAP-ISCOLOR"] = null;
            dictionary["X-JPHONE-DISPLAY"] = null;
            dictionary["X-UP-DEVCAP-SCREENPIXELS"] = null; 
            dictionary["X-JPHONE-COLOR"] = null;
            dictionary["X-UP-DEVCAP-SCREENCHARS"] = null; 
            dictionary["Accept"] = null; 
            dictionary[""] = null;
            dictionary["VIA"] = null; 
            dictionary["X-GA-MAX-TRANSFER"] = null;
        }

        protected override void PopulateBrowserElements(System.Collections.IDictionary dictionary) { 
            base.PopulateBrowserElements(dictionary);
            dictionary["Default"] = new System.Web.UI.Triplet(null, string.Empty, 0); 
            dictionary["Mozilla"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["IE"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["IE5to9"] = new System.Web.UI.Triplet("Ie", string.Empty, 3); 
            dictionary["IE6to9"] = new System.Web.UI.Triplet("Ie5to9", string.Empty, 4);
            dictionary["Treo600"] = new System.Web.UI.Triplet("Ie6to9", string.Empty, 5);
            dictionary["IE5"] = new System.Web.UI.Triplet("Ie5to9", string.Empty, 4);
            dictionary["IE50"] = new System.Web.UI.Triplet("Ie5", string.Empty, 5); 
            dictionary["IE55"] = new System.Web.UI.Triplet("Ie5", string.Empty, 5);
            dictionary["IE5to9Mac"] = new System.Web.UI.Triplet("Ie5to9", string.Empty, 4); 
            dictionary["IE4"] = new System.Web.UI.Triplet("Ie", string.Empty, 3); 
            dictionary["IE3"] = new System.Web.UI.Triplet("Ie", string.Empty, 3);
            dictionary["IE3win16"] = new System.Web.UI.Triplet("Ie3", string.Empty, 4); 
            dictionary["IE3win16a"] = new System.Web.UI.Triplet("Ie3win16", string.Empty, 5);
            dictionary["IE3Mac"] = new System.Web.UI.Triplet("Ie3", string.Empty, 4);
            dictionary["IE2"] = new System.Web.UI.Triplet("Ie", string.Empty, 3);
            dictionary["WebTV"] = new System.Web.UI.Triplet("Ie2", string.Empty, 4); 
            dictionary["WebTV2"] = new System.Web.UI.Triplet("Webtv", string.Empty, 5);
            dictionary["IE1minor5"] = new System.Web.UI.Triplet("Ie", string.Empty, 3); 
            dictionary["PowerBrowser"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["Gecko"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["MozillaRV"] = new System.Web.UI.Triplet("Gecko", string.Empty, 3); 
            dictionary["MozillaFirebird"] = new System.Web.UI.Triplet("Mozillarv", string.Empty, 4);
            dictionary["MozillaFirefox"] = new System.Web.UI.Triplet("Mozillarv", string.Empty, 4);
            dictionary["Safari"] = new System.Web.UI.Triplet("Gecko", string.Empty, 3);
            dictionary["Safari60"] = new System.Web.UI.Triplet("Safari", string.Empty, 4); 
            dictionary["Safari85"] = new System.Web.UI.Triplet("Safari", string.Empty, 4);
            dictionary["Safari1Plus"] = new System.Web.UI.Triplet("Safari", string.Empty, 4); 
            dictionary["Netscape5"] = new System.Web.UI.Triplet("Gecko", string.Empty, 3); 
            dictionary["Netscape6to9"] = new System.Web.UI.Triplet("Netscape5", string.Empty, 4);
            dictionary["Netscape6to9Beta"] = new System.Web.UI.Triplet("Netscape6to9", string.Empty, 5); 
            dictionary["NetscapeBeta"] = new System.Web.UI.Triplet("Netscape5", string.Empty, 4);
            dictionary["AvantGo"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["TMobileSidekick"] = new System.Web.UI.Triplet("Avantgo", string.Empty, 3);
            dictionary["GoAmerica"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["GoAmericaWinCE"] = new System.Web.UI.Triplet("Goamerica", string.Empty, 3);
            dictionary["GoAmericaPalm"] = new System.Web.UI.Triplet("Goamerica", string.Empty, 3); 
            dictionary["GoAmericaRIM"] = new System.Web.UI.Triplet("Goamerica", string.Empty, 3); 
            dictionary["GoAmericaRIM950"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4);
            dictionary["GoAmericaRIM850"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4); 
            dictionary["GoAmericaRIM957"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4);
            dictionary["GoAmericaRIM957major6minor2"] = new System.Web.UI.Triplet("Goamericarim957", string.Empty, 5);
            dictionary["GoAmericaRIM857"] = new System.Web.UI.Triplet("Goamericarim", string.Empty, 4);
            dictionary["GoAmericaRIM857major6"] = new System.Web.UI.Triplet("Goamericarim857", string.Empty, 5); 
            dictionary["GoAmericaRIM857major6minor2to9"] = new System.Web.UI.Triplet("Goamericarim857major6", string.Empty, 6);
            dictionary["GoAmerica7to9"] = new System.Web.UI.Triplet("Goamericarim857", string.Empty, 5); 
            dictionary["Netscape3"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["Netscape4"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["Casiopeia"] = new System.Web.UI.Triplet("Netscape4", string.Empty, 3); 
            dictionary["PalmWebPro"] = new System.Web.UI.Triplet("Netscape4", string.Empty, 3);
            dictionary["PalmWebPro3"] = new System.Web.UI.Triplet("Palmwebpro", string.Empty, 4);
            dictionary["NetFront"] = new System.Web.UI.Triplet("Netscape4", string.Empty, 3);
            dictionary["SLB500"] = new System.Web.UI.Triplet("Netfront", string.Empty, 4); 
            dictionary["VRNA"] = new System.Web.UI.Triplet("Netfront", string.Empty, 4);
            dictionary["Mypalm"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2); 
            dictionary["MyPalm1"] = new System.Web.UI.Triplet("Mypalm", string.Empty, 3); 
            dictionary["Eudoraweb"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["PdQbrowser"] = new System.Web.UI.Triplet("Eudoraweb", string.Empty, 3); 
            dictionary["Eudoraweb21Plus"] = new System.Web.UI.Triplet("Eudoraweb", string.Empty, 3);
            dictionary["WinCE"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["PIE"] = new System.Web.UI.Triplet("Wince", string.Empty, 3);
            dictionary["PIEPPC"] = new System.Web.UI.Triplet("Pie", string.Empty, 4); 
            dictionary["PIEnoDeviceID"] = new System.Web.UI.Triplet("Pie", string.Empty, 4);
            dictionary["PIESmartphone"] = new System.Web.UI.Triplet("Pie", string.Empty, 4); 
            dictionary["PIE4"] = new System.Web.UI.Triplet("Wince", string.Empty, 3); 
            dictionary["PIE4PPC"] = new System.Web.UI.Triplet("Pie4", string.Empty, 4);
            dictionary["PIE5Plus"] = new System.Web.UI.Triplet("Wince", string.Empty, 3); 
            dictionary["sigmarion3"] = new System.Web.UI.Triplet("Pie5plus", string.Empty, 4);
            dictionary["MSPIE"] = new System.Web.UI.Triplet("Mozilla", string.Empty, 2);
            dictionary["MSPIE2"] = new System.Web.UI.Triplet("Mspie", string.Empty, 3);
            dictionary["Docomo"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["DocomoSH251i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSH251iS"] = new System.Web.UI.Triplet("Docomosh251i", string.Empty, 3); 
            dictionary["DocomoN251i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN251iS"] = new System.Web.UI.Triplet("Docomon251i", string.Empty, 3);
            dictionary["DocomoP211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF212i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP501i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoNm502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo502i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF502it"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN502it"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoSo502iwm"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF504i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN504i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP504i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN821i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP821i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoEr209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoKo209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP209is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoR209i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoR691i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoF503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoD503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN2001"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoD211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoKo210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP2101v"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP2102v"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF211i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoF671i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoP503i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoSo210i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo503is"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoSh821i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoN2002"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoSo505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["DocomoP505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoN505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoD505i"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2);
            dictionary["DocomoISIM60"] = new System.Web.UI.Triplet("Docomo", string.Empty, 2); 
            dictionary["EricssonR380"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["Ericsson"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["EricssonR320"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonT20"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonT65"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonT68"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["Ericsson301A"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3);
            dictionary["EricssonT68R1A"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3);
            dictionary["EricssonT68R101"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3); 
            dictionary["EricssonT68R201A"] = new System.Web.UI.Triplet("Ericssont68", string.Empty, 3);
            dictionary["EricssonT300"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonP800"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonP800R101"] = new System.Web.UI.Triplet("Ericssonp800", string.Empty, 3);
            dictionary["EricssonT61"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EricssonT31"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonR520"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonA2628"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2);
            dictionary["EricssonT39"] = new System.Web.UI.Triplet("Ericsson", string.Empty, 2); 
            dictionary["EzWAP"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["GenericDownlevel"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["Jataayu"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["JataayuPPC"] = new System.Web.UI.Triplet("Jataayu", string.Empty, 2);
            dictionary["Jphone"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["JphoneMitsubishi"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneDenso"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneKenwood"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneNec"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphoneNecN51"] = new System.Web.UI.Triplet("Jphonenec", string.Empty, 3);
            dictionary["JphonePanasonic"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphonePioneer"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphoneSanyo"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneSA51"] = new System.Web.UI.Triplet("Jphonesanyo", string.Empty, 3); 
            dictionary["JphoneSharp"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2);
            dictionary["JphoneSharpSh53"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3);
            dictionary["JphoneSharpSh07"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3);
            dictionary["JphoneSharpSh08"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3); 
            dictionary["JphoneSharpSh51"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3);
            dictionary["JphoneSharpSh52"] = new System.Web.UI.Triplet("Jphonesharp", string.Empty, 3); 
            dictionary["JphoneToshiba"] = new System.Web.UI.Triplet("Jphone", string.Empty, 2); 
            dictionary["JphoneToshibaT06a"] = new System.Web.UI.Triplet("Jphonetoshiba", string.Empty, 3);
            dictionary["JphoneToshibaT08"] = new System.Web.UI.Triplet("Jphonetoshiba", string.Empty, 3); 
            dictionary["JphoneToshibaT51"] = new System.Web.UI.Triplet("Jphonetoshiba", string.Empty, 3);
            dictionary["Legend"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["LGG5200"] = new System.Web.UI.Triplet("Legend", string.Empty, 2);
            dictionary["MME"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["MMEF20"] = new System.Web.UI.Triplet("Mme", string.Empty, 2);
            dictionary["MMECellphone"] = new System.Web.UI.Triplet("Mmef20", string.Empty, 3); 
            dictionary["MMEBenefonQ"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4); 
            dictionary["MMESonyCMDZ5"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMESonyCMDZ5Pj020e"] = new System.Web.UI.Triplet("Mmesonycmdz5", string.Empty, 5); 
            dictionary["MMESonyCMDJ5"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMESonyCMDJ7"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMEGenericSmall"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMEGenericLarge"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4); 
            dictionary["MMEGenericFlip"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4);
            dictionary["MMEGeneric3D"] = new System.Web.UI.Triplet("Mmecellphone", string.Empty, 4); 
            dictionary["MMEMobileExplorer"] = new System.Web.UI.Triplet("Mme", string.Empty, 2); 
            dictionary["Nokia"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["NokiaBlueprint"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["NokiaWapSimulator"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["NokiaMobileBrowser"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia7110"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6220"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia6250"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6310"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia6510"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia8310"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia9110i"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia9110"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia3330"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia9210"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia9210HTML"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia3590"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia3590V1"] = new System.Web.UI.Triplet("Nokia3590", string.Empty, 3); 
            dictionary["Nokia3595"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia3560"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia3650"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia3650P12Plus"] = new System.Web.UI.Triplet("Nokia3650", string.Empty, 3);
            dictionary["Nokia5100"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6200"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia6590"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["Nokia6800"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2);
            dictionary["Nokia7650"] = new System.Web.UI.Triplet("Nokia", string.Empty, 2); 
            dictionary["NokiaMobileBrowserRainbow"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["NokiaEpoc32wtl"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["NokiaEpoc32wtl20"] = new System.Web.UI.Triplet("Nokiaepoc32wtl", string.Empty, 2); 
            dictionary["Up"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["AuMic"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["AuMicV2"] = new System.Web.UI.Triplet("Aumic", string.Empty, 3);
            dictionary["a500"] = new System.Web.UI.Triplet("Aumic", string.Empty, 3); 
            dictionary["n400"] = new System.Web.UI.Triplet("Aumic", string.Empty, 3);
            dictionary["AlcatelBe4"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["AlcatelBe5"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["AlcatelBe5v2"] = new System.Web.UI.Triplet("Alcatelbe5", string.Empty, 3);
            dictionary["AlcatelBe3"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["AlcatelBf3"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["AlcatelBf4"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotCb"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotF5"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotD8"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotCf"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotF6"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotBc"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotDc"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotPanC"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotC4"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mcca"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mot2000"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotP2kC"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotAf"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotAf418"] = new System.Web.UI.Triplet("Motaf", string.Empty, 3); 
            dictionary["MotC2"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Xenium"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sagem959"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SghA300"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SghN100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C304sa"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy11"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["St12"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy14"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SieS40"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SieSl45"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SieS35"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SieMe45"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SieS45"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Gm832"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Gm910i"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mot32"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mot28"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["D2"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["PPat"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Alaz"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Cdm9100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Cdm135"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Cdm9000"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C303ca"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C311ca"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C202de"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C409ca"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C402de"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ds15"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp2200"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp120"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ds10"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["R280"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C201h"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["S71"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C302h"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C309h"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["C407h"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["C451h"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["R201"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["P21"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Kyocera702g"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Kyocera703g"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["KyoceraC307k"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tk01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tk02"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tk03"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tk04"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tk05"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["D303k"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["D304k"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Qcp2035"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Qcp3035"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["D512"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Dm110"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tm510"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lg13"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["P100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lgc875f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Lgp680f"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lgp7800f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Lgc840f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Lgi2100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Lgp7300f"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sd500"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp1100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tp3000"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["T250"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mo01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mo02"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mc01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mccc"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mcc9"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Nk00"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mai12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ma112"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ma13"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mac1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mat1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sc01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sc03"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc02"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sc04"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sg08"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc13"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc11"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sec01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sc10"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy12"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["St11"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy13"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Syc1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Syt1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sty2"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sy02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy03"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Si01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sni1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn11"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sn12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn134"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn156"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Snc1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tsc1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tsi1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ts11"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ts12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ts13"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Tst1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tst2"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Tst3"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ig01"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Ig02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Ig03"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Qc31"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Qc12"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Qc32"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sp01"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sh"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Upg1"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Opwv1"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Alav"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Im1k"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Nt95"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mot2001"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Motv200"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Mot72"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Mot76"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Scp6000"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotD5"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotF0"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SghA400"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Sec03"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SieC3i"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sn17"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Scp4700"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sec02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Sy15"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["Db520"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["L430V03J02"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["OPWVSDK"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["OPWVSDK6"] = new System.Web.UI.Triplet("Opwvsdk", string.Empty, 3); 
            dictionary["OPWVSDK6Plus"] = new System.Web.UI.Triplet("Opwvsdk", string.Empty, 3);
            dictionary["KDDICA21"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["KDDITS21"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["KDDISA21"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["KM100"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["LGELX5350"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["HitachiP300"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SIES46"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotorolaV60G"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotorolaV708"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["MotorolaV708A"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["MotorolaE360"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["SonyericssonA1101S"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["PhilipsFisio820"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["CasioA5302"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["TCLL668"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["KDDITS24"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SIES55"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["SHARPGx10"] = new System.Web.UI.Triplet("Up", string.Empty, 2);
            dictionary["BenQAthena"] = new System.Web.UI.Triplet("Up", string.Empty, 2); 
            dictionary["Opera"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["Opera1to3beta"] = new System.Web.UI.Triplet("Opera", string.Empty, 2);
            dictionary["Opera4"] = new System.Web.UI.Triplet("Opera", string.Empty, 2);
            dictionary["Opera4beta"] = new System.Web.UI.Triplet("Opera4", string.Empty, 3); 
            dictionary["Opera5to9"] = new System.Web.UI.Triplet("Opera", string.Empty, 2);
            dictionary["Opera6to9"] = new System.Web.UI.Triplet("Opera5to9", string.Empty, 3); 
            dictionary["Opera7to9"] = new System.Web.UI.Triplet("Opera6to9", string.Empty, 4); 
            dictionary["Opera8to9"] = new System.Web.UI.Triplet("Opera7to9", string.Empty, 5);
            dictionary["OperaPsion"] = new System.Web.UI.Triplet("Opera", string.Empty, 2); 
            dictionary["Palmscape"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["PalmscapeVersion"] = new System.Web.UI.Triplet("Palmscape", string.Empty, 2);
            dictionary["AusPalm"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["SharpPda"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["ZaurusMiE1"] = new System.Web.UI.Triplet("Sharppda", string.Empty, 2);
            dictionary["ZaurusMiE21"] = new System.Web.UI.Triplet("Sharppda", string.Empty, 2); 
            dictionary["ZaurusMiE25"] = new System.Web.UI.Triplet("Sharppda", string.Empty, 2); 
            dictionary["Panasonic"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["PanasonicGAD95"] = new System.Web.UI.Triplet("Panasonic", string.Empty, 2); 
            dictionary["PanasonicGAD87"] = new System.Web.UI.Triplet("Panasonic", string.Empty, 2);
            dictionary["PanasonicGAD87A39"] = new System.Web.UI.Triplet("Panasonicgad87", string.Empty, 3);
            dictionary["PanasonicGAD87A38"] = new System.Web.UI.Triplet("Panasonicgad87", string.Empty, 3);
            dictionary["MSPIE06"] = new System.Web.UI.Triplet("Default", string.Empty, 1); 
            dictionary["SKTDevices"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["SKTDevicesHyundai"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["PSE200"] = new System.Web.UI.Triplet("Sktdeviceshyundai", string.Empty, 3); 
            dictionary["SKTDevicesHanhwa"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["SKTDevicesJTEL"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["JTEL01"] = new System.Web.UI.Triplet("Sktdevicesjtel", string.Empty, 3);
            dictionary["JTELNate"] = new System.Web.UI.Triplet("Jtel01", string.Empty, 4);
            dictionary["SKTDevicesLG"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["SKTDevicesMotorola"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["SKTDevicesV730"] = new System.Web.UI.Triplet("Sktdevicesmotorola", string.Empty, 3);
            dictionary["SKTDevicesNokia"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["SKTDevicesSKTT"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2); 
            dictionary["SKTDevicesSamSung"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["SCHE150"] = new System.Web.UI.Triplet("Sktdevicessamsung", string.Empty, 3); 
            dictionary["SKTDevicesEricsson"] = new System.Web.UI.Triplet("Sktdevices", string.Empty, 2);
            dictionary["WinWap"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["Xiino"] = new System.Web.UI.Triplet("Default", string.Empty, 1);
            dictionary["XiinoV2"] = new System.Web.UI.Triplet("Xiino", string.Empty, 2); 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK