diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66876cf --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +htmlcov +.coverage +.tox +test/proxy_nobase64.pac + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +.DS_Store + diff --git a/.travis.yml b/.travis.yml index a2b3d83..c5a054e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,12 @@ -language: python +language: python python: - 2.6 - 2.7 before_install: - sudo apt-get update -qq - sudo apt-get install -qq nodejs + - pip install pep8 pyflakes coverage script: - - cd test && ./test.sh \ No newline at end of file + - pep8 . + - pyflakes . + - cd test && ./test.sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..366e9b3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,30 @@ +Notice +------ + +This project does not maintain a list. It's just a tool that converts +GFWList into PAC. Please report issues about the list to GFWList. + +Pull Requests +------------- + +1. Pull requests are welcome. If you would like to add a large feature +or make a significant change, make sure to open an issue to discuss with +people first. +2. Follow PEP8. +3. Make sure to pass the unit tests. + +Issues +------ + +1. Only bugs and feature requests are accepted here. +2. We'll only work on important features. If the feature you're asking only +benefits a few people, you'd better implement the feature yourself and send us +a pull request, or ask some of your friends to do so. +3. We don't answer questions of any other types here. Since very few people +are watching the issue tracker here, you'll probably get no help from here. +Get help from forums or [mailing lists]. +4. Issues in languages other than English will be Google translated into English +later. + + +[mailing lists]: https://groups.google.com/forum/#!forum/shadowsocks diff --git a/README.md b/README.md index 783d0af..66cd093 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,24 @@ GFWList2PAC =========== -[](https://travis-ci.org/clowwindy/gfwlist2pac) +[![PyPI version]][PyPI] +[![Build Status]][Travis CI] +[![Coverage Status]][Coverage] -Generate O(1) PAC file from gfwlist. +Generate fast PAC file from gfwlist. Examples: [fast mode] / [precise mode]. - pip install gfwlist2pac +Fast mode: use O(1) domain lookup + +Precise mode: use adblock plus engine + + +### Usage - usage: gfwlist2pac [-h] -i GFWLIST -f PAC -p PROXY + pip install gfwlist2pac + usage: gfwlist2pac [-h] [-i GFWLIST] -f PAC -p PROXY [--user-rule USER_RULE] + [--precise] + optional arguments: -h, --help show this help message and exit -i GFWLIST, --input GFWLIST @@ -17,3 +27,29 @@ Generate O(1) PAC file from gfwlist. -p PROXY, --proxy PROXY the proxy parameter in the pac file, for example, "SOCKS5 127.0.0.1:1080;" + --user-rule USER_RULE + user rule file, which will be appended to gfwlist + --precise use adblock plus algorithm instead of O(1) lookup + +### Performance + +The PAC generated by GFWList2PAC is 1900x faster than SwitchySharp. + + Testing fast mode pac generated by gfwlist2pac + avg: 0.50us + + Testing precise mode pac generated by gfwlist2pac + avg: 1.66us + + Testing pac generated by switchysharp + avg: 952.99us + + +[Build Status]: https://img.shields.io/travis/clowwindy/gfwlist2pac/master.svg?style=flat +[Coverage Status]: http://192.81.132.184/result/gfwlist2pac +[Coverage]: http://192.81.132.184/job/gfwlist2pac/ws/htmlcov/index.html +[Travis CI]: https://travis-ci.org/clowwindy/gfwlist2pac +[PyPI]: https://pypi.python.org/pypi/gfwlist2pac +[PyPI version]: https://img.shields.io/pypi/v/gfwlist2pac.svg?style=flat +[fast mode]: https://github.com/clowwindy/gfwlist2pac/blob/master/test/proxy.pac +[precise mode]: https://github.com/clowwindy/gfwlist2pac/blob/master/test/proxy_abp.pac diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..5cd8b85 --- /dev/null +++ b/README.rst @@ -0,0 +1,58 @@ +GFWList2PAC +=========== + +|PyPI version| |Build Status| |Coverage Status| + +Generate fast PAC file from gfwlist. Examples: `fast +mode <https://github.com/clowwindy/gfwlist2pac/blob/master/test/proxy.pac>`__ +/ `precise +mode <https://github.com/clowwindy/gfwlist2pac/blob/master/test/proxy_abp.pac>`__. + +Fast mode: use O(1) domain lookup + +Precise mode: use adblock plus engine + +Usage +~~~~~ + +:: + + pip install gfwlist2pac + + usage: gfwlist2pac [-h] [-i GFWLIST] -f PAC -p PROXY [--user-rule USER_RULE] + [--precise] + + optional arguments: + -h, --help show this help message and exit + -i GFWLIST, --input GFWLIST + path to gfwlist + -f PAC, --file PAC path to output pac + -p PROXY, --proxy PROXY + the proxy parameter in the pac file, for example, + "SOCKS5 127.0.0.1:1080;" + --user-rule USER_RULE + user rule file, which will be appended to gfwlist + --precise use adblock plus algorithm instead of O(1) lookup + +Performance +~~~~~~~~~~~ + +The PAC generated by GFWList2PAC is 1900x faster than SwitchySharp. + +:: + + Testing fast mode pac generated by gfwlist2pac + avg: 0.50us + + Testing precise mode pac generated by gfwlist2pac + avg: 1.66us + + Testing pac generated by switchysharp + avg: 952.99us + +.. |PyPI version| image:: https://img.shields.io/pypi/v/gfwlist2pac.svg?style=flat + :target: https://pypi.python.org/pypi/gfwlist2pac +.. |Build Status| image:: https://img.shields.io/travis/clowwindy/gfwlist2pac/master.svg?style=flat + :target: https://travis-ci.org/clowwindy/gfwlist2pac +.. |Coverage Status| image:: http://192.81.132.184/result/gfwlist2pac + :target: http://192.81.132.184/job/gfwlist2pac/ws/htmlcov/index.html diff --git a/gfwlist2pac/main.py b/gfwlist2pac/main.py index d711069..ea2cbda 100644 --- a/gfwlist2pac/main.py +++ b/gfwlist2pac/main.py @@ -5,26 +5,39 @@ import urlparse import json import logging +import urllib2 from argparse import ArgumentParser __all__ = ['main'] +gfwlist_url = 'https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt' + + def parse_args(): parser = ArgumentParser() - parser.add_argument('-i', '--input', dest='input', required=True, - help='path to gfwlist', metavar='GFWLIST') + parser.add_argument('-i', '--input', dest='input', + help='path to gfwlist', metavar='GFWLIST') parser.add_argument('-f', '--file', dest='output', required=True, - help='path to output pac', metavar='PAC') + help='path to output pac', metavar='PAC') parser.add_argument('-p', '--proxy', dest='proxy', required=True, - help='the proxy parameter in the pac file, for example,\ - "SOCKS5 127.0.0.1:1080;"', metavar='PROXY') + help='the proxy parameter in the pac file, ' + 'for example, "SOCKS5 127.0.0.1:1080;"', + metavar='PROXY') + parser.add_argument('--user-rule', dest='user_rule', + help='user rule file, which will be appended to' + ' gfwlist') + parser.add_argument('--precise', dest='precise', action='store_true', + help='use adblock plus algorithm instead of O(1)' + ' lookup') return parser.parse_args() def decode_gfwlist(content): # decode base64 if have to try: + if '.' in content: + raise Exception() return content.decode('base64') except: return content @@ -38,30 +51,39 @@ def get_hostname(something): r = urlparse.urlparse(something) return r.hostname except Exception as e: - logging.error(e) + logging.error(e) return None def add_domain_to_set(s, something): hostname = get_hostname(something) if hostname is not None: - if hostname.startswith('.'): - hostname = hostname.lstrip('.') - if hostname.endswith('/'): - hostname = hostname.rstrip('/') - if hostname: - s.add(hostname) + s.add(hostname) -def parse_gfwlist(content): - builtin_rules = pkgutil.get_data('gfwlist2pac', 'resources/builtin.txt').splitlines(False) +def combine_lists(content, user_rule=None): + builtin_rules = pkgutil.get_data('gfwlist2pac', + 'resources/builtin.txt').splitlines(False) gfwlist = content.splitlines(False) - domains = set(builtin_rules) + gfwlist.extend(builtin_rules) + if user_rule: + gfwlist.extend(user_rule.splitlines(False)) + return gfwlist + + +def parse_gfwlist(gfwlist): + domains = set() for line in gfwlist: if line.find('.*') >= 0: continue elif line.find('*') >= 0: line = line.replace('*', '/') + if line.startswith('||'): + line = line.lstrip('||') + elif line.startswith('|'): + line = line.lstrip('|') + elif line.startswith('.'): + line = line.lstrip('.') if line.startswith('!'): continue elif line.startswith('['): @@ -69,40 +91,108 @@ def parse_gfwlist(content): elif line.startswith('@'): # ignore white list continue - elif line.startswith('||'): - add_domain_to_set(domains, line.lstrip('||')) - elif line.startswith('|'): - add_domain_to_set(domains, line.lstrip('|')) - elif line.startswith('.'): - add_domain_to_set(domains, line.lstrip('.')) - else: - add_domain_to_set(domains, line) - # TODO: reduce ['www.google.com', 'google.com'] to ['google.com'] + add_domain_to_set(domains, line) return domains -def generate_pac(domains, proxy): +def reduce_domains(domains): + # reduce 'www.google.com' to 'google.com' + # remove invalid domains + tld_content = pkgutil.get_data('gfwlist2pac', 'resources/tld.txt') + tlds = set(tld_content.splitlines(False)) + new_domains = set() + for domain in domains: + domain_parts = domain.split('.') + last_root_domain = None + for i in xrange(0, len(domain_parts)): + root_domain = '.'.join(domain_parts[len(domain_parts) - i - 1:]) + if i == 0: + if not tlds.__contains__(root_domain): + # root_domain is not a valid tld + break + last_root_domain = root_domain + if tlds.__contains__(root_domain): + continue + else: + break + if last_root_domain is not None: + new_domains.add(last_root_domain) + + uni_domains = set() + for domain in new_domains: + domain_parts = domain.split('.') + for i in xrange(0, len(domain_parts)-1): + root_domain = '.'.join(domain_parts[len(domain_parts) - i - 1:]) + if domains.__contains__(root_domain): + break + else: + uni_domains.add(domain) + return uni_domains + + +def generate_pac_fast(domains, proxy): # render the pac file proxy_content = pkgutil.get_data('gfwlist2pac', 'resources/proxy.pac') domains_dict = {} for domain in domains: domains_dict[domain] = 1 proxy_content = proxy_content.replace('__PROXY__', json.dumps(str(proxy))) - proxy_content = proxy_content.replace('__DOMAINS__', json.dumps(domains_dict, indent=2)) + proxy_content = proxy_content.replace( + '__DOMAINS__', + json.dumps(domains_dict, indent=2, sort_keys=True) + ) + return proxy_content + + +def generate_pac_precise(rules, proxy): + def grep_rule(rule): + if rule: + if rule.startswith('!'): + return None + if rule.startswith('['): + return None + return rule + return None + # render the pac file + proxy_content = pkgutil.get_data('gfwlist2pac', 'resources/abp.js') + rules = filter(grep_rule, rules) + proxy_content = proxy_content.replace('__PROXY__', json.dumps(str(proxy))) + proxy_content = proxy_content.replace('__RULES__', + json.dumps(rules, indent=2)) return proxy_content def main(): args = parse_args() - with open(args.input, 'rb') as f: - content = f.read() + user_rule = None + if (args.input): + with open(args.input, 'rb') as f: + content = f.read() + else: + print 'Downloading gfwlist from %s' % gfwlist_url + content = urllib2.urlopen(gfwlist_url, timeout=10).read() + if args.user_rule: + userrule_parts = urlparse.urlsplit(args.user_rule) + if not userrule_parts.scheme or not userrule_parts.netloc: + # It's not an URL, deal it as local file + with open(args.user_rule, 'rb') as f: + user_rule = f.read() + else: + # Yeah, it's an URL, try to download it + print 'Downloading user rules file from %s' % args.user_rule + user_rule = urllib2.urlopen(args.user_rule, timeout=10).read() + content = decode_gfwlist(content) - domains = parse_gfwlist(content) - pac_content = generate_pac(domains, args.proxy) + gfwlist = combine_lists(content, user_rule) + if args.precise: + pac_content = generate_pac_precise(gfwlist, args.proxy) + else: + domains = parse_gfwlist(gfwlist) + domains = reduce_domains(domains) + pac_content = generate_pac_fast(domains, args.proxy) with open(args.output, 'wb') as f: f.write(pac_content) - + if __name__ == '__main__': main() - diff --git a/gfwlist2pac/resources/abp.js b/gfwlist2pac/resources/abp.js new file mode 100644 index 0000000..41edb4f --- /dev/null +++ b/gfwlist2pac/resources/abp.js @@ -0,0 +1,777 @@ +// Generated by gfwlist2pac in precise mode +// https://github.com/clowwindy/gfwlist2pac + +var proxy = __PROXY__; + +var rules = __RULES__; + +/* +* This file is part of Adblock Plus <http://adblockplus.org/>, +* Copyright (C) 2006-2014 Eyeo GmbH +* +* Adblock Plus is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 3 as +* published by the Free Software Foundation. +* +* Adblock Plus is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. +*/ + +function createDict() +{ + var result = {}; + result.__proto__ = null; + return result; +} + +function getOwnPropertyDescriptor(obj, key) +{ + if (obj.hasOwnProperty(key)) + { + return obj[key]; + } + return null; +} + +function extend(subclass, superclass, definition) +{ + if (Object.__proto__) + { + definition.__proto__ = superclass.prototype; + subclass.prototype = definition; + } + else + { + var tmpclass = function(){}, ret; + tmpclass.prototype = superclass.prototype; + subclass.prototype = new tmpclass(); + subclass.prototype.constructor = superclass; + for (var i in definition) + { + if (definition.hasOwnProperty(i)) + { + subclass.prototype[i] = definition[i]; + } + } + } +} + +function Filter(text) +{ + this.text = text; + this.subscriptions = []; +} +Filter.prototype = { + text: null, + subscriptions: null, + toString: function() + { + return this.text; + } +}; +Filter.knownFilters = createDict(); +Filter.elemhideRegExp = /^([^\/\*\|\@"!]*?)#(\@)?(?:([\w\-]+|\*)((?:\([\w\-]+(?:[$^*]?=[^\(\)"]*)?\))*)|#([^{}]+))$/; +Filter.regexpRegExp = /^(@@)?\/.*\/(?:\$~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)?$/; +Filter.optionsRegExp = /\$(~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)$/; +Filter.fromText = function(text) +{ + if (text in Filter.knownFilters) + { + return Filter.knownFilters[text]; + } + var ret; + if (text.charAt(0) == "!") + { + ret = new CommentFilter(text); + } + else + { + ret = RegExpFilter.fromText(text); + } + Filter.knownFilters[ret.text] = ret; + return ret; +}; + +function InvalidFilter(text, reason) +{ + Filter.call(this, text); + this.reason = reason; +} +extend(InvalidFilter, Filter, { + reason: null +}); + +function CommentFilter(text) +{ + Filter.call(this, text); +} +extend(CommentFilter, Filter, { +}); + +function ActiveFilter(text, domains) +{ + Filter.call(this, text); + this.domainSource = domains; +} +extend(ActiveFilter, Filter, { + domainSource: null, + domainSeparator: null, + ignoreTrailingDot: true, + domainSourceIsUpperCase: false, + getDomains: function() + { + var prop = getOwnPropertyDescriptor(this, "domains"); + if (prop) + { + return prop; + } + var domains = null; + if (this.domainSource) + { + var source = this.domainSource; + if (!this.domainSourceIsUpperCase) + { + source = source.toUpperCase(); + } + var list = source.split(this.domainSeparator); + if (list.length == 1 && list[0].charAt(0) != "~") + { + domains = createDict(); + domains[""] = false; + if (this.ignoreTrailingDot) + { + list[0] = list[0].replace(/\.+$/, ""); + } + domains[list[0]] = true; + } + else + { + var hasIncludes = false; + for (var i = 0; i < list.length; i++) + { + var domain = list[i]; + if (this.ignoreTrailingDot) + { + domain = domain.replace(/\.+$/, ""); + } + if (domain == "") + { + continue; + } + var include; + if (domain.charAt(0) == "~") + { + include = false; + domain = domain.substr(1); + } + else + { + include = true; + hasIncludes = true; + } + if (!domains) + { + domains = createDict(); + } + domains[domain] = include; + } + domains[""] = !hasIncludes; + } + this.domainSource = null; + } + return this.domains; + }, + sitekeys: null, + isActiveOnDomain: function(docDomain, sitekey) + { + if (this.getSitekeys() && (!sitekey || this.getSitekeys().indexOf(sitekey.toUpperCase()) < 0)) + { + return false; + } + if (!this.getDomains()) + { + return true; + } + if (!docDomain) + { + return this.getDomains()[""]; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + while (true) + { + if (docDomain in this.getDomains()) + { + return this.domains[docDomain]; + } + var nextDot = docDomain.indexOf("."); + if (nextDot < 0) + { + break; + } + docDomain = docDomain.substr(nextDot + 1); + } + return this.domains[""]; + }, + isActiveOnlyOnDomain: function(docDomain) + { + if (!docDomain || !this.getDomains() || this.getDomains()[""]) + { + return false; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + for (var domain in this.getDomains()) + { + if (this.domains[domain] && domain != docDomain && (domain.length <= docDomain.length || domain.indexOf("." + docDomain) != domain.length - docDomain.length - 1)) + { + return false; + } + } + return true; + } +}); + +function RegExpFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + ActiveFilter.call(this, text, domains, sitekeys); + if (contentType != null) + { + this.contentType = contentType; + } + if (matchCase) + { + this.matchCase = matchCase; + } + if (thirdParty != null) + { + this.thirdParty = thirdParty; + } + if (sitekeys != null) + { + this.sitekeySource = sitekeys; + } + if (regexpSource.length >= 2 && regexpSource.charAt(0) == "/" && regexpSource.charAt(regexpSource.length - 1) == "/") + { + var regexp = new RegExp(regexpSource.substr(1, regexpSource.length - 2), this.matchCase ? "" : "i"); + this.regexp = regexp; + } + else + { + this.regexpSource = regexpSource; + } +} +extend(RegExpFilter, ActiveFilter, { + domainSourceIsUpperCase: true, + length: 1, + domainSeparator: "|", + regexpSource: null, + getRegexp: function() + { + var prop = getOwnPropertyDescriptor(this, "regexp"); + if (prop) + { + return prop; + } + var source = this.regexpSource.replace(/\*+/g, "*").replace(/\^\|$/, "^").replace(/\W/g, "\\$&").replace(/\\\*/g, ".*").replace(/\\\^/g, "(?:[\\x00-\\x24\\x26-\\x2C\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B-\\x7F]|$)").replace(/^\\\|\\\|/, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?").replace(/^\\\|/, "^").replace(/\\\|$/, "$").replace(/^(\.\*)/, "").replace(/(\.\*)$/, ""); + var regexp = new RegExp(source, this.matchCase ? "" : "i"); + this.regexp = regexp; + return regexp; + }, + contentType: 2147483647, + matchCase: false, + thirdParty: null, + sitekeySource: null, + getSitekeys: function() + { + var prop = getOwnPropertyDescriptor(this, "sitekeys"); + if (prop) + { + return prop; + } + var sitekeys = null; + if (this.sitekeySource) + { + sitekeys = this.sitekeySource.split("|"); + this.sitekeySource = null; + } + this.sitekeys = sitekeys; + return this.sitekeys; + }, + matches: function(location, contentType, docDomain, thirdParty, sitekey) + { + if (this.getRegexp().test(location) && this.isActiveOnDomain(docDomain, sitekey)) + { + return true; + } + return false; + } +}); +RegExpFilter.prototype["0"] = "#this"; +RegExpFilter.fromText = function(text) +{ + var blocking = true; + var origText = text; + if (text.indexOf("@@") == 0) + { + blocking = false; + text = text.substr(2); + } + var contentType = null; + var matchCase = null; + var domains = null; + var sitekeys = null; + var thirdParty = null; + var collapse = null; + var options; + var match = text.indexOf("$") >= 0 ? Filter.optionsRegExp.exec(text) : null; + if (match) + { + options = match[1].toUpperCase().split(","); + text = match.input.substr(0, match.index); + for (var _loopIndex6 = 0; _loopIndex6 < options.length; ++_loopIndex6) + { + var option = options[_loopIndex6]; + var value = null; + var separatorIndex = option.indexOf("="); + if (separatorIndex >= 0) + { + value = option.substr(separatorIndex + 1); + option = option.substr(0, separatorIndex); + } + option = option.replace(/-/, "_"); + if (option in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = 0; + } + contentType |= RegExpFilter.typeMap[option]; + } + else if (option.charAt(0) == "~" && option.substr(1) in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap[option.substr(1)]; + } + else if (option == "MATCH_CASE") + { + matchCase = true; + } + else if (option == "~MATCH_CASE") + { + matchCase = false; + } + else if (option == "DOMAIN" && typeof value != "undefined") + { + domains = value; + } + else if (option == "THIRD_PARTY") + { + thirdParty = true; + } + else if (option == "~THIRD_PARTY") + { + thirdParty = false; + } + else if (option == "COLLAPSE") + { + collapse = true; + } + else if (option == "~COLLAPSE") + { + collapse = false; + } + else if (option == "SITEKEY" && typeof value != "undefined") + { + sitekeys = value; + } + else + { + return new InvalidFilter(origText, "Unknown option " + option.toLowerCase()); + } + } + } + if (!blocking && (contentType == null || contentType & RegExpFilter.typeMap.DOCUMENT) && (!options || options.indexOf("DOCUMENT") < 0) && !/^\|?[\w\-]+:/.test(text)) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap.DOCUMENT; + } + try + { + if (blocking) + { + return new BlockingFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys, collapse); + } + else + { + return new WhitelistFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys); + } + } + catch (e) + { + return new InvalidFilter(origText, e); + } +}; +RegExpFilter.typeMap = { + OTHER: 1, + SCRIPT: 2, + IMAGE: 4, + STYLESHEET: 8, + OBJECT: 16, + SUBDOCUMENT: 32, + DOCUMENT: 64, + XBL: 1, + PING: 1, + XMLHTTPREQUEST: 2048, + OBJECT_SUBREQUEST: 4096, + DTD: 1, + MEDIA: 16384, + FONT: 32768, + BACKGROUND: 4, + POPUP: 268435456, + ELEMHIDE: 1073741824 +}; +RegExpFilter.prototype.contentType &= ~ (RegExpFilter.typeMap.ELEMHIDE | RegExpFilter.typeMap.POPUP); + +function BlockingFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys, collapse) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); + this.collapse = collapse; +} +extend(BlockingFilter, RegExpFilter, { + collapse: null +}); + +function WhitelistFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); +} +extend(WhitelistFilter, RegExpFilter, { +}); + +function Matcher() +{ + this.clear(); +} +Matcher.prototype = { + filterByKeyword: null, + keywordByFilter: null, + clear: function() + { + this.filterByKeyword = createDict(); + this.keywordByFilter = createDict(); + }, + add: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return; + } + var keyword = this.findKeyword(filter); + var oldEntry = this.filterByKeyword[keyword]; + if (typeof oldEntry == "undefined") + { + this.filterByKeyword[keyword] = filter; + } + else if (oldEntry.length == 1) + { + this.filterByKeyword[keyword] = [oldEntry, filter]; + } + else + { + oldEntry.push(filter); + } + this.keywordByFilter[filter.text] = keyword; + }, + remove: function(filter) + { + if (!(filter.text in this.keywordByFilter)) + { + return; + } + var keyword = this.keywordByFilter[filter.text]; + var list = this.filterByKeyword[keyword]; + if (list.length <= 1) + { + delete this.filterByKeyword[keyword]; + } + else + { + var index = list.indexOf(filter); + if (index >= 0) + { + list.splice(index, 1); + if (list.length == 1) + { + this.filterByKeyword[keyword] = list[0]; + } + } + } + delete this.keywordByFilter[filter.text]; + }, + findKeyword: function(filter) + { + var result = ""; + var text = filter.text; + if (Filter.regexpRegExp.test(text)) + { + return result; + } + var match = Filter.optionsRegExp.exec(text); + if (match) + { + text = match.input.substr(0, match.index); + } + if (text.substr(0, 2) == "@@") + { + text = text.substr(2); + } + var candidates = text.toLowerCase().match(/[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])/g); + if (!candidates) + { + return result; + } + var hash = this.filterByKeyword; + var resultCount = 16777215; + var resultLength = 0; + for (var i = 0, l = candidates.length; i < l; i++) + { + var candidate = candidates[i].substr(1); + var count = candidate in hash ? hash[candidate].length : 0; + if (count < resultCount || count == resultCount && candidate.length > resultLength) + { + result = candidate; + resultCount = count; + resultLength = candidate.length; + } + } + return result; + }, + hasFilter: function(filter) + { + return filter.text in this.keywordByFilter; + }, + getKeywordForFilter: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return this.keywordByFilter[filter.text]; + } + else + { + return null; + } + }, + _checkEntryMatch: function(keyword, location, contentType, docDomain, thirdParty, sitekey) + { + var list = this.filterByKeyword[keyword]; + for (var i = 0; i < list.length; i++) + { + var filter = list[i]; + if (filter == "#this") + { + filter = list; + } + if (filter.matches(location, contentType, docDomain, thirdParty, sitekey)) + { + return filter; + } + } + return null; + }, + matchesAny: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.filterByKeyword) + { + var result = this._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + } + return null; + } +}; + +function CombinedMatcher() +{ + this.blacklist = new Matcher(); + this.whitelist = new Matcher(); + this.resultCache = createDict(); +} +CombinedMatcher.maxCacheEntries = 1000; +CombinedMatcher.prototype = { + blacklist: null, + whitelist: null, + resultCache: null, + cacheEntries: 0, + clear: function() + { + this.blacklist.clear(); + this.whitelist.clear(); + this.resultCache = createDict(); + this.cacheEntries = 0; + }, + add: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.add(filter); + } + else + { + this.blacklist.add(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + remove: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.remove(filter); + } + else + { + this.blacklist.remove(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + findKeyword: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.findKeyword(filter); + } + else + { + return this.blacklist.findKeyword(filter); + } + }, + hasFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.hasFilter(filter); + } + else + { + return this.blacklist.hasFilter(filter); + } + }, + getKeywordForFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.getKeywordForFilter(filter); + } + else + { + return this.blacklist.getKeywordForFilter(filter); + } + }, + isSlowFilter: function(filter) + { + var matcher = filter instanceof WhitelistFilter ? this.whitelist : this.blacklist; + if (matcher.hasFilter(filter)) + { + return !matcher.getKeywordForFilter(filter); + } + else + { + return !matcher.findKeyword(filter); + } + }, + matchesAnyInternal: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + var blacklistHit = null; + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.whitelist.filterByKeyword) + { + var result = this.whitelist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + if (substr in this.blacklist.filterByKeyword && blacklistHit === null) + { + blacklistHit = this.blacklist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + } + } + return blacklistHit; + }, + matchesAny: function(location, docDomain) + { + var key = location + " " + docDomain + " "; + if (key in this.resultCache) + { + return this.resultCache[key]; + } + var result = this.matchesAnyInternal(location, 0, docDomain, null, null); + if (this.cacheEntries >= CombinedMatcher.maxCacheEntries) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + this.resultCache[key] = result; + this.cacheEntries++; + return result; + } +}; +var defaultMatcher = new CombinedMatcher(); + +var direct = 'DIRECT;'; + +for (var i = 0; i < rules.length; i++) { + defaultMatcher.add(Filter.fromText(rules[i])); +} + +function FindProxyForURL(url, host) { + if (defaultMatcher.matchesAny(url, host) instanceof BlockingFilter) { + return proxy; + } + return direct; +} diff --git a/gfwlist2pac/resources/builtin.txt b/gfwlist2pac/resources/builtin.txt index 4a791d7..65e92fc 100644 --- a/gfwlist2pac/resources/builtin.txt +++ b/gfwlist2pac/resources/builtin.txt @@ -1,5 +1,8 @@ -google.com -google.co.jp -google.co.hk -github.com -wikipedia.org \ No newline at end of file +||google.com +||google.co.jp +||google.co.hk +||bbc.co.uk +||googleapis.com +||googlesyndication.com +||github.com +||wikipedia.org diff --git a/gfwlist2pac/resources/proxy.pac b/gfwlist2pac/resources/proxy.pac index a5c2b37..3451192 100644 --- a/gfwlist2pac/resources/proxy.pac +++ b/gfwlist2pac/resources/proxy.pac @@ -1,21 +1,25 @@ // Generated by gfwlist2pac // https://github.com/clowwindy/gfwlist2pac -var domains = __DOMAINS__; - var proxy = __PROXY__; +var domains = __DOMAINS__; + var direct = 'DIRECT;'; +var hasOwnProperty = Object.hasOwnProperty; + function FindProxyForURL(url, host) { - var lastPos = 0; - var domain = host; - while(lastPos >= 0) { - if (domains[domain]) { + var suffix; + var pos = host.lastIndexOf('.'); + for (;;) { + suffix = host.substring(pos + 1); + if (hasOwnProperty.call(domains, suffix)) { return proxy; } - lastPos = host.indexOf('.', lastPos + 1); - domain = host.slice(lastPos + 1); + if (pos <= 0) { + return direct; + } + pos = host.lastIndexOf('.', pos - 1); } - return direct; } diff --git a/gfwlist2pac/resources/tld.txt b/gfwlist2pac/resources/tld.txt index d75ad66..b0ae585 100644 --- a/gfwlist2pac/resources/tld.txt +++ b/gfwlist2pac/resources/tld.txt @@ -6520,3 +6520,4 @@ rhcloud.com priv.at za.net za.org +uk diff --git a/setup.py b/setup.py index 4ca6b83..a130c84 100644 --- a/setup.py +++ b/setup.py @@ -1,8 +1,11 @@ from setuptools import setup +with open('README.rst') as f: + long_description = f.read() + setup( name="gfwlist2pac", - version="1.0.1", + version="1.1.3", license='MIT', description="convert gfwlist2pac to pac", author='clowwindy', @@ -10,7 +13,7 @@ url='https://github.com/clowwindy/gfwlist2pac', packages=['gfwlist2pac', 'gfwlist2pac.resources'], package_data={ - 'gfwlist2pac': ['LICENSE', 'resources/*'] + 'gfwlist2pac': ['README.rst', 'LICENSE', 'resources/*'] }, install_requires=[], entry_points=""" @@ -23,4 +26,5 @@ 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', ], + long_description=long_description, ) diff --git a/test/gfwlist.txt b/test/gfwlist.txt index a3c872f..a51b12c 100644 --- a/test/gfwlist.txt +++ b/test/gfwlist.txt @@ -1,2080 +1,2168 @@ -W0F1dG9Qcm94eSAwLjIuOV0KISBDaGVja3N1bTogL0dYMGM4Z3lFbWFrYlZBSWNa -NEpldwohIEV4cGlyZXM6IDZoCiEgTGFzdCBNb2RpZmllZDogU2F0LCAwOCBNYXIg -MjAxNCAwMzowNzo0OSAtMDUwMAohIEhvbWVQYWdlOiBodHRwczovL2F1dG9wcm94 +W0F1dG9Qcm94eSAwLjIuOV0KISBDaGVja3N1bTogeTQ0S2lMWC91MXVEWWoyVmxD +NjhXQQohIEV4cGlyZXM6IDZoCiEgTGFzdCBNb2RpZmllZDogTW9uLCAwNSBKYW4g +MjAxNSAwMDozNjoyMyAtMDUwMAohIEhvbWVQYWdlOiBodHRwczovL2F1dG9wcm94 eS1nZndsaXN0Lmdvb2dsZWNvZGUuY29tLwoKIS0tLS0tLS0tLS0tLS0tLS0tLS0t -UmVzdHJpY3RlZC0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8ZGFycGEubWlsCiEtLXx8 -ZG1tLmNvbQp8fGZ4bmV0d29ya3MuY29tCmh1bHUuY29tCmh1bHVpbS5jb20KfHxt -dXp1LnR2Cnx8bmV0ZmxpeC5jb20KfHxwYW5kb3JhLmNvbQoucGFuZG9yYS50dgp8 -fHB1cmUxOC5jb20KfHxzcG90aWZ5LmNvbQp8fHRhcmdldC5jb20KfHx0dXJudGFi -bGUuZm0KfHx2ZXZvLmNvbQp8fHphdHRvby5jb20KfHxxcS5jby56YQp8fHpvem90 -b3duLmNvbQoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tTnVtLS0tLS0tLS0tLS0tLS0t -LS0tLS0KLjByei50dwp8aHR0cDovLzByei50dwp8fDB0bzI1NS5jb20KMS1hcHBs -ZS5jb20udHcKfHwxLWFwcGxlLmNvbS50dwp8fDEwbXVzdW1lLmNvbQoxMjNyZi5j -b20KLjEyYmV0LmNvbQp8fDEyYmV0LmNvbQouMTJ2cG4uY29tCnx8MTJ2cG4uY29t -CjE0MWhvbmdrb25nLmNvbS9mb3J1bQouMTczbmcuY29tCnx8MTczbmcuY29tCjE5 -ODRiYnMuY29tCnx8MTk4NGJicy5jb20KIS0tfHwxOTg0YmxvZy5jb20KLjE5ODRi -YnMub3JnCnx8MTk4NGJicy5vcmcKLjFiYW8ub3JnCnxodHRwOi8vMWJhby5vcmcK -fHwxcG9uZG8udHYKLjFlZXcuY29tCi4yLWhhbmQuaW5mbwouMjAwMGZ1bi5jb20v -YmJzCi4yMDA4eGlhbnpoYW5nLmluZm8KfHwyMDA4eGlhbnpoYW5nLmluZm8KMjFh -bmR5LmNvbS9ibG9nCjI0c21pbGUub3JnCi4yc2hhcmVkLmNvbQouMzE1bHouY29t -Cnx8MzZyYWluLmNvbQp8fDRibHVlc3RvbmVzLmJpegp8fDRjaGFuLm9yZwo1aTAx -LmNvbQp0YWl3YW5uYXRpb24uNTB3ZWJzLmNvbQp8fDUxLmNhCi41bWFvZGFuZy5j -b20KfHw2LTQubmV0Lwo2NG1lbW8KNjR0aWFud2FuZy5jb20KNjR3aWtpLmNvbQo2 -NjZrYi5jb20KNnBhcmsuY29tCnx8NnBhcmsuY29tCnx8d3d3LjZ2NmRvdGEuY29t -Cnx8N2NhcHR1cmUuY29tCi44ODE5MDMuY29tL3BhZ2UvemgtdHcvCi44ODguY29t -Cnx8ODgxOTAzLmNvbQo4OS02NC5vcmcKfHw4OS02NC5vcmcKLjkwMDE3MDAuY29t -CnxodHRwOi8vOTA4dGFpd2FuLm9yZy8KLjkyY2Nhdi5jb20KfHw5YmlzLmNvbQp8 -fDliaXMubmV0CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1BQS0tLS0tLS0tLS0tLS0t -LS0tLS0tCnx8YS1ub3JtYWwtZGF5LmNvbQphNS5jb20ucnUKLmFib2x1b3dhbmcu -Y29tCnx8YWJvbHVvd2FuZy5jb20KLmFib3V0Z2Z3LmNvbQp8fGFjZ2tqLmNvbQph -Y3RpbWVzLmNvbS5hdQp8fGFjdWxvLnVzCnx8YWRkaWN0ZWR0b2NvZmZlZS5kZQph -ZHVsdGZyaWVuZGZpbmRlci5jb20KYWR1bHRrZWVwLm5ldC9wZWVwc2hvdy9tZW1i -ZXJzL21haW4uaHRtCnx8YWR2YW5zY2VuZS5jb20KfHxhZHZlcnRmYW4uY29tCnx8 -YWVuaGFuY2Vycy5jb20KfHxhZi5taWwKYWlwaC5uZXQKfHxhaXBoLm5ldAouYWlz -ZXguY29tCnx8YWl0Lm9yZy50dwouYWl3ZWl3ZWlibG9nLmNvbQp8fGFpd2Vpd2Vp -YmxvZy5jb20KfHxhamF4cGxvcmVyLmluZm8KfHx3d3cuYWpzYW5kcy5jb20KfHxh -a2liYS1vbmxpbmUuY29tCnx8YWxhYm91dC5jb20KfHxhbGFzYmFycmljYWRhcy5v -cmcKfHxub3Rlcy5hbGV4ZG9uZy5jb20KYWxleGx1ci5vcmcKYWxpZW5ndS5jb20K -fHxhbGthc2lyLmNvbQphbGxnaXJsc2FsbG93ZWQub3JnCmFsbGlhbmNlLm9yZy5o -awouYWxsaW5mYS5jb20KfGh0dHA6Ly9hbGxpbmZhLmNvbQp8fGFsbGluZm8uY29t -Cnx8YWxsbW92aWUuY29tCnx8YWx0ZXJuYXRlLXRvb2xzLmNvbQphbHZpbmFsZXhh -bmRlci5jb20KYWx3YXlzZGF0YS5jb20KfHxhbHdheXNkYXRhLmNvbQp8fGFsd2F5 -c2RhdGEubmV0Cnx8YW03MzAuY29tLmhrCmFtYXpvbi5jb20vUHJpc29uZXItU3Rh -dGUtU2VjcmV0LUpvdXJuYWwtUHJlbWllcgphbWVibG8uanAKfHxhbWVibG8uanAK -fHxhbWVyaWNhbmdyZWVuY2FyZC5jb20KfHxhbWlibG9ja2Vkb3Jub3QuY29tCi5h -bW5lc3R5Lm9yZwp8fGFtbmVzdHkub3JnCi5hbW5lc3R5dXNhLm9yZwp8fGFtbmVz -dHl1c2Eub3JnCi5hbW9paXN0LmNvbQphbXpzLm1lCmFuYWx5emUtdi5jb20KfHxh -bmNob3JmcmVlLmNvbQp8fGFuZGZhcmF3YXkubmV0CmFuaW1lY3JhenkubmV0Cnx8 -YW5vYmlpLmNvbQouYW5vbnltaXplci5jb20KYW5vbnRleHQuY29tCnx8YW50aG9u -eWNhbHphZGlsbGEuY29tCi5hbnRpd2F2ZS5uZXQKfGh0dHA6Ly9hbnRpd2F2ZS5u -ZXQKfHxhb2JvLmNvbS5hdQp8fGFvbGNoYW5uZWxzLmFvbC5jb20KdmlkZW8uYW9s -LmNhL3ZpZGVvLWRldGFpbAp2aWRlby5hb2wuY28udWsvdmlkZW8tZGV0YWlsCnZp -ZGVvLmFvbC5jb20KfHx2aWRlby5hb2wuY29tCnd3dy5hb2xuZXdzLmNvbQp2aWRl -by5hcC5vcmcKLmFwZXR1YmUuY29tCnx8YXBpYXJ5LmlvCi5hcGlnZWUuY29tCnx8 -YXBpZ2VlLmNvbQphcHBsZWRhaWx5LmNvbQphcmNoaXZlLmlzCmFyY2hpdmUub3Jn -CiEtLXx8YXJjaGl2ZS5vcmcKLmFyY3Rvc2lhLmNvbQp8aHR0cDovL2FyY3Rvc2lh -LmNvbQp8fGFyZWNhLWJhY2t1cC5vcmcKfHxhcm15Lm1pbAphcnRzeS5uZXQKLmFz -YWhpY2hpbmVzZS5jb20KfHxhc2FoaWNoaW5lc2UuY29tCmFzZGZnLmpwL2RhYnIK -LmFzaWFoYXJ2ZXN0Lm9yZwp8fGFzaWFoYXJ2ZXN0Lm9yZwphc2lhbmV3cy5pdAp8 -fGFzaWFud29tZW5zZmlsbS5kZQp8fGFza3N0dWRlbnQuY29tCi5hc2t5bnoubmV0 -Cnx8YXNreW56Lm5ldAp8fGFzc2VtYmxhLmNvbQp8fGFzdG9ubWFydGlubmV3cy5j -b20KLmF0Y2hpbmVzZS5jb20KfGh0dHA6Ly9hdGNoaW5lc2UuY29tCmF0Z2Z3Lm9y -Zwp8fGF0ai5vcmcudHcKLmF0bGFzcG9zdC5jb20KfHxhdGxhc3Bvc3QuY29tCi5h -dG5leHQuY29tCnx8YXRuZXh0LmNvbQphdmFhei5vcmcKfHxhdmFhei5vcmcKfHxh -dmlkZW11eC5vcmcKfHxhdm9pc2lvbi5jb20KfHxheHVyZWZvcm1hYy5jb20KCiEt -LS0tLS0tLS0tLS0tLS0tLS0tLUJCLS0tLS0tLS0tLS0tLS0tLS0tLS0KZm9ydW0u -YmFieS1raW5nZG9tLmNvbQpiYWJ5bmV0LmNvbS5oawpiYWNrY2hpbmEuY29tCnx8 -YmFja2NoaW5hLmNvbQouYmFja3BhY2tlcnMuY29tLnR3L2ZvcnVtCmJhZG9vLmNv -bQp8fGJhaWR1LmpwCnx8YmFpeGluZy5tZQpoZW4uYmFvLmxpCmJhbm5lZGJvb2su -b3JnCnx8YmFubmVkYm9vay5vcmcKfHxiYXJuYWJ1LmNvLnVrCmJheXZvaWNlLm5l -dAp8fGJheXZvaWNlLm5ldApkYWp1c2hhLmJheXdvcmRzLmNvbQouYmJjLmNvLnVr -KmNoaW5lc2UKLmJiYy5jby51ay90dgouYmJjLmNvLnVrKnpob25nd2VuCm5ld3Mu -YmJjLmNvLnVrL29udGhpc2RheSpuZXdzaWRfMjQ5NjAwMC8yNDk2Mjc3Cm5ld3Nm -b3J1bXMuYmJjLmNvLnVrCi5iYmNjaGluZXNlLmNvbQp8fGJiY2NoaW5lc2UuY29t -CnxodHRwOi8vYmJjLmluCi5iYmcuZ292Cnx8YmJzZmVlZC5jb20KYmJzbGFuZC5j -b20KLmJjYy5jb20udHcvYm9hcmQKLmJjY2hpbmVzZS5uZXQKLmJlYm8uY29tCnx8 -YmViby5jb20KfHxiZWlqaW5nMTk4OS5jb20KYmVpamluZ3NwcmluZy5jb20KfHxi -ZWlqaW5nc3ByaW5nLmNvbQouYmVybGludHdpdHRlcndhbGwuY29tCnx8YmVybGlu -dHdpdHRlcndhbGwuY29tCi5iZXN0Zm9yY2hpbmEub3JnCnx8YmVzdGZvcmNoaW5h -Lm9yZwouYmVzdHZwbnNlcnZpY2UuY29tCi5iZXQzNjUuY29tCi5iZXRmYWlyLmNv -bQouYmV0dHdlZW4uY29tCnx8YmV0dHdlZW4uY29tCi5iZXd3dy5uZXQKfHxiZm5u -Lm9yZwp8fGJmc2guaGsvCmJpYW50YWlsYWppYW8uY29tCmJpZ2Zvb2xzLmNvbQou -YmlnbmV3cy5vcmcKfHxiaWduZXdzLm9yZwouYmlnc291bmQub3JnL3BvcnRub3kK -fHxiaWxsMi1zb2Z0d2FyZS5jb20KYmlsbHlwYW4uY29tL3dpa2kvJUU5JUE2JTk2 -JUU5JUEwJTgxCnx8YmlsbHl3ci5jb20KYmlwaWMubmV0Ci5iaXQubHkKfGh0dHA6 -Ly9iaXQubHkKIS0tfHxiaXRidWNrZXQub3JnCi5iaXRzaGFyZS5jb20vZmlsZXMK -aHR0cDovL2JpdHNoYXJlLmNvbS9maWxlcwohLXxodHRwOi8vYml0c25vb3AuY29t -CmJqemMub3JnCnx8Ymp6Yy5vcmcvCnRvci5ibGluZ2JsaW5nc3F1YWQubmV0Ci5i -bGlua3guY29tCnx8Ymxpbmt4LmNvbQpibGludy5jb20KLmJsaXAudHYKfHxibGlw -LnR2LwouYmxvY2tjbi5jb20KfHxibG9ja2NuLmNvbQp8fGJsb2cuZGUKLmJsb2dj -YXRhbG9nLmNvbQp8fGJsb2djYXRhbG9nLmNvbQouYmxvZ2dlci5jb20KfHxibG9n -Z2VyLmNvbQpibG9naW1nLmpwCnx8YmxvZy5rYW5neWUub3JnCi5ibG9nbGluZXMu -Y29tCnx8YmxvZ2xpbmVzLmNvbQouYmxvZ2xvdmluLmNvbQpyY29udmVyc2F0aW9u -LmJsb2dzLmNvbQpibG9nc3BvdC5jby51awpibG9nc3BvdC5jb20KYmxvZ3Nwb3Qu -ZGUKYmxvZ3Nwb3QuZnIKfHxibG9nc3BvdC5oawpibG9nc3BvdC5pbgpibG9nc3Bv -dC5qcApibG9ndGQubmV0Ci5ibG9ndGQub3JnCnxodHRwOi8vYmxvZ3RkLm9yZwp8 -fGJsb29kc2hlZC5uZXQKLmJsb29tYmVyZy5jbgp8fGJsb29tYmVyZy5jbgouYmxv -b21iZXJnLmNvbQp8fGJsb29tYmVyZy5jb20KYmxvb21iZXJnLmRlCnx8Ymxvb21i -ZXJnLmRlCnx8Ymxvb21mb3J0dW5lLmNvbQp8fGJucm1ldGFsLmNvbQpib2FyZHJl -YWRlci5jb20vdGhyZWFkCnx8Ym9hcmRyZWFkZXIuY29tCmJvbmJvbm1lLmNvbQp8 -fGJvb2tzLmNvbS50dwouYm90YW53YW5nLmNvbQouYm90Lm51Ci5ib3dlbnByZXNz -LmNvbQp8fGJvd2VucHJlc3MuY29tCmRsLmJveC5uZXQKfHxkbC5ib3gubmV0CmJv -eHVuLmNvbQp8fGJveHVuLmNvbQouYm94dW4udHYKfHxib3h1bi50dgpib3h1bmJs -b2cuY29tCnx8Ym94dW5ibG9nLmNvbQp8fGJyLnN0Cnx8YnJhbmRvbmh1dGNoaW5z -b24uY29tCnx8YnJhdW1laXN0ZXIub3JnCi5icmVhay5jb20KfHxicmVhay5jb20K -LmJyZWFraW5ndHdlZXRzLmNvbQp8fGJyZWFraW5ndHdlZXRzLmNvbQouYnJpZWZk -cmVhbS5jb20vJUU3JUI0JUEwJUU2JUEzJUJBCmJyaWdodGtpdGUuY29tCnx8YnJp -Z2h0a2l0ZS5jb20KYnJpenpseS5jb20KfHxicml6emx5LmNvbQpicm9hZGJvb2su -Y29tCmlicm9zLm9yZwpicnVjZXdhbmcubmV0Cnx8YnQ5NS5jb20KLmJ1ZGFlZHUu -b3JnCnx8YnVkYWVkdS5vcmcKLmJ1bGxvZy5vcmcKfHxidWxsb2cub3JnCi5idWxs -b2dnZXIuY29tCnx8YnVsbG9nZ2VyLmNvbQouYnVzaW5lc3N3ZWVrLmNvbQohLS1i -dXNpbmVzc3RpbWVzCi5idXNpbmVzc3RpbWVzLmNvbS5jbgp8aHR0cDovL2J1c2lu -ZXNzdGltZXMuY29tLmNuCnx8YnVnY2x1Yi5vcmcKfHxidXVnYWEuY29tCmJ1enp1 -cmwuanAKYndzai5oawpob2x6LmJ5ZXRob3N0OC5jb20KCiEtLS0tLS0tLS0tLS0t -LS0tLS0tLUNDLS0tLS0tLS0tLS0tLS0tLS0tLS0KLmMtc3BhbnZpZGVvLm9yZwp8 -fGMtc3BhbnZpZGVvLm9yZwp8fGMtZXN0LXNpbXBsZS5jb20KLmNhY3R1c3Zwbi5j -b20KfHxjYWN0dXN2cG4uY29tCi5jYWZlcHJlc3MuY29tCi5jYWxhbWVvLmNvbS9i -b29rcwpjbi5jYWxhbWVvLmNvbQp8aHR0cDovL2NuLmNhbGFtZW8uY29tCnx8Y2Ft -cy5jb20KY2FuYWRhbWVldC5jb20KfGh0dHA6Ly9iYnMuY2FudG9uZXNlLmFzaWEv -Cmh0dHA6Ly93d3cuY2FudG9uZXNlLmFzaWEvYWN0aW9uLWJicy5odG1sCi5jYW55 -dS5vcmcKLmNhby5pbQouY2FvYmlhbi5pbmZvCnx8Y2FvYmlhbi5pbmZvCnxodHRw -Oi8vY2F0Y2F0Ym94LmNvbS9mb3J1bS5waHAqCmNhb2NoYW5ncWluZy5jb20KfHxj -YW9jaGFuZ3FpbmcuY29tCmNhcmkuY29tLm15Cnx8Y2F0Y2gyMi5uZXQKfHxjYXRm -aWdodHBheXBlcnZpZXcueHh4Ci5jYXRob2xpYy5vcmcuaGsKfHxjYXRob2xpYy5v -cmcuaGsKY2F0aG9saWMub3JnLnR3Cnx8Y2F0aG9saWMub3JnLnR3Ci5jYnNuZXdz -LmNvbS92aWRlbwp8fGNjYXZ0b3AxMC5jb20KIS0uY2NjLmRlCiEtfHxjY2MuZGUK -LmNjZHRyLm9yZwp8fGNjZHRyLm9yZwpjY2xpZmUub3JnCi5jY3RoZXJlLmNvbQou -Y2N0b25nYmFvLmNvbS9hcnRpY2xlLzIwNzg3MzIKY2N1ZS5jYQpjY3VlLmNvbQp8 -fGNkaWcuaW5mbwpjZGpwLm9yZwp8fGNkanAub3JnLwouY2RuZXdzLmNvbS50dwpj -ZHAxOTk4Lm9yZwp8fGNkcDE5OTgub3JnCmNkcDIwMDYub3JnCnx8Y2RwMjAwNi5v -cmcKY2RwdXNhLm9yZwpjZHB3ZWIub3JnCnx8Y2Rwd2ViLm9yZwpjZHB3dS5vcmcK -fHxjZHB3dS5vcmcKLmNlY2MuZ292Cnx8Y2VjYy5nb3YKfHxjZWxsdWxvLmluZm8K -fHxjZW5jaS50awp8fGNlbmV3cy5ldQp8fGNlbnRyYWxuYXRpb24uY29tCi5jZW50 -dXJ5cy5uZXQKfGh0dHA6Ly9jZW50dXJ5cy5uZXQKfHxjaGFuZG9vLm9yZwouY2hh -bmdlLm9yZwp8aHR0cDovL2NoYW5nZS5vcmcKLmNoYW5ncC5jb20KfHxjaGFuZ3Au -Y29tCi5jaGF0dXJiYXRlLmNvbQpjaGVuZ21pbmdtYWcuY29tCi5jaGVuZ3Vhbmdj -aGVuZy5jb20KfHxjaGVuZ3VhbmdjaGVuZy5jb20KY2hlbnBva29uZy5jb20KfHxj -aGVycnlzYXZlLmNvbQouY2hpbmEtd2Vlay5jb20KY2hpbmExMDEuY29tCnx8Y2hp -bmExMDEuY29tCnx8Y2hpbmEyMS5jb20KY2hpbmEyMS5vcmcKfHxjaGluYTIxLm9y -ZwpjaGluYWFmZmFpcnMub3JnCnx8Y2hpbmFhZmZhaXJzLm9yZwp8fGNoaW5hYWlk -Lm1lCmNoaW5hYWlkLnVzCmNoaW5hYWlkLm9yZwpjaGluYWFpZC5uZXQKY2hpbmFj -b21tZW50cy5vcmcKfHxjaGluYWNvbW1lbnRzLm9yZwpjaGluYWNoYW5uZWwuaGsK -fHxjaGluYWNoYW5uZWwuaGsKLmNoaW5hZGlnaXRhbHRpbWVzLm5ldAp8aHR0cDov -L2NoaW5hZGlnaXRhbHRpbWVzLm5ldAouY2hpbmFld2Vla2x5LmNvbQp8fGNoaW5h -ZXdlZWtseS5jb20KfHxjaGluYWZyZWVwcmVzcy5vcmcKY2hpbmFnZWVrcy5vcmcK -Y2hpbmFnZncub3JnCnx8Y2hpbmFnZncub3JnCi5jaGluYWdyZWVucGFydHkub3Jn -Cnx8Y2hpbmFncmVlbnBhcnR5Lm9yZwouY2hpbmFodXNoLmNvbQpjaGluYWxhd3Ry -YW5zbGF0ZS5jb20KY2hpbmF4Y2hpbmEuY29tL2hvd3RvCi5jaGluYWlucGVyc3Bl -Y3RpdmUuY29tCmNoaW5haW5wZXJzcGVjdGl2ZS5uZXQvQXJ0U2hvdy5hc3B4Pwp8 -fGNoaW5haW5wZXJzcGVjdGl2ZS5uZXQKLmNoaW5haW5wZXJzcGVjdGl2ZS5vcmcK -fHxjaGluYWlucGVyc3BlY3RpdmUub3JnCnx8Y2hpbmFpbnRlcmltZ292Lm9yZwpj -aGluYWxhd2FuZHBvbGljeS5jb20KLmNoaW5hbXVsZS5jb20KfHxjaGluYW11bGUu -Y29tCmNoaW5hbXoub3JnCmNoaW5hc29jaWFsZGVtb2NyYXRpY3BhcnR5LmNvbQp8 -fGNoaW5hc29jaWFsZGVtb2NyYXRpY3BhcnR5LmNvbQpjaGluYXNvdWwub3JnCnx8 -Y2hpbmFzb3VsLm9yZwpjaGluYXRpbWVzLmNvbQpjaGluYXR3ZWVwcy5jb20KY2hp -bmF3YXkub3JnCi5jaGluYXdvcmtlci5pbmZvCnx8Y2hpbmF3b3JrZXIuaW5mbwpj -aGluYXlvdXRoLm9yZy5oawpjaGluYXl1YW5taW4ub3JnCnx8Y2hpbmF5dWFubWlu -Lm9yZwouY2hpbmVzZS1oZXJtaXQubmV0CmNoaW5lc2UtbWVtb3JpYWwub3JnCnx8 -Y2hpbmVzZWRhaWx5bmV3cy5jb20KLmNoaW5lc2VuLmRlCnx8Y2hpbmVzZW4uZGUK -Y2hpbmVzZW5ld3NuZXQuY29tCi5jaGluZXNlcGVuLm9yZwouY2hpbmVzZXRhbGtz -Lm5ldC9jaAouY2hpbmdjaGVvbmcuY29tCnx8Y2hpbmdjaGVvbmcuY29tCmNobi5j -aG9zdW4uY29tCmNocmlzdGlhbnN0dWR5LmNvbQp8fGNocmlzdGlhbnN0dWR5LmNv -bQpjaHJpc3R1c3JleC5vcmcvd3d3MS9zZGMKfHxjaHJsY2ctaGsub3JnCnx8Y2hy -b21lYWRibG9jay5jb20KY2h1YnVuLmNvbQpjaHVpemkubmV0Cnx8Y2h1aXppLm5l -dAohLS1zYW1lIGlwCnx8Y2hyaXNwZWRlcmljay5jb20KfHxjaHJpc3BlZGVyaWNr -Lm5ldAouY2hybGF3eWVycy5oawp8fGFsbGFib3V0YWxwaGEuY29tCi5jaXRpemVu -bGFiLm9yZwpjaXRpemVuc3JhZGlvLm9yZwpjaXR5OXguY29tCi5jaXZpY3BhcnR5 -LmhrCnx8Y2l2aWNwYXJ0eS5oawpjaXZpbGhyZnJvbnQub3JnCnx8Y2l2aWxocmZy -b250Lm9yZwpwc2lwaG9uLmNpdmlzZWMub3JnCnx8Y2piLm5ldAouY2sxMDEuY29t -Cnx8Y2sxMDEuY29tCnx8Y2xhc3NpY2FsZ3VpdGFyYmxvZy5uZXQKLmNsYi5vcmcu -aGsKLmNsaXBmaXNoLmRlCi5jbXVsZS5jb20KfHxjbXVsZS5jb20KfHxjbXMuZ292 -Cnx8Y25hLmNvbS50dwouY25hdmlzdGEuY29tLnR3L3Nob3Avc3RvcmVzX2FwcAou -Y25kLm9yZwp8fGNuZC5vcmcvCndpa2kuY25pdHRlci5jb20KLmNubi5jb20vdmlk -ZW8KbmV3cy5jbnllcy5jb20KfHxjb2NoaW5hLm9yZwouY29kZTE5ODQuY29tLzY0 -Cnx8Y29kZXNoYXJlLmlvCnxodHRwOi8vdG9zaC5jb21lZHljZW50cmFsLmNvbQpj -b21lZnJvbWNoaW5hLmNvbQp8fGNvbWVmcm9tY2hpbmEuY29tCnx8Y29tcGlsZWhl -YXJ0LmNvbQp8fGNvbm95by5jb20KLmNvb2xhbGVyLmNvbQp8fGNvb2xhbGVyLmNv -bQpjb29sZGVyLmNvbQp8fGNvb2xkZXIuY29tCnx8Y29vbGxvdWQub3JnLnR3CmNv -cnVtY29sbGVnZS5jb20KfHxjb3VjaGRid2lraS5jb20KfHxjb3R3ZWV0LmNvbQpj -cGoub3JnCnx8Y3BqLm9yZy8KY3JhY2tsZS5jb20KfHxjcmFja2xlLmNvbQpjcmQt -bmV0Lm9yZwpjcmVhZGVycy5uZXQKfHxjcmVhZGVycy5uZXQKLmNyb3NzdGhld2Fs -bC5uZXQKfHxjcm9zc3RoZXdhbGwubmV0CmNzZHBhcnR5LmNvbQp8fGNzZHBhcnR5 -LmNvbQp8fGNzdWNoZW4uZGUKY3RzLmNvbS50dwouY3Voa2Fjcy5vcmcvfmJlbm5n -Ci5jdWlodWEub3JnCnx8Y3VpaHVhLm9yZwouY3Vpd2VpcGluZy5uZXQKfHxjdWl3 -ZWlwaW5nLm5ldAp8fGN1cnZlZmlzaC5jb20KLmN1bHR1cmUudHcKfHxjdWx0dXJl -LnR3CmZvcnVtLmN5YmVyY3RtLmNvbS9mb3J1bQp8fGN5YmVyZ2hvc3R2cG4uY29t -Cnx8Y3luc2NyaWJlLmNvbQpjeXRvZGUudXMKfHxpZmFuLmN6LmNjCnx8bWlrZS5j -ei5jYwp8fG5pYy5jei5jYwoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tREQtLS0tLS0t -LS0tLS0tLS0tLS0tLQpjbC5kMHoubmV0Ci5kYWJyLmNvLnVrCnx8ZGFici5jby51 -awpkYWJyLm1vYmkKfHxkYWJyLm1vYmkKfHxkYWJyLm1lCmRhZGF6aW0uY29tCnx8 -ZGFkYXppbS5jb20KLmRhZGkzNjAuY29tCmRhZmFnb29kLmNvbQpkYWZhaGFvLmNv -bQp8fGRhbGFpbGFtYS5ydQouZGFpbGlkYWlsaS5jb20KfHxkYWlsaWRhaWxpLmNv -bQouZGFpbHltb3Rpb24uY29tCi5kYWppeXVhbi5jb20KLmRhaml5dWFuLmV1CmRh -bGFpbGFtYS5jb20KLmRhbGFpbGFtYXdvcmxkLmNvbQp8fGRhbGFpbGFtYXdvcmxk -LmNvbQpkYWxpYW5tZW5nLm9yZwp8fGRhbGlhbm1lbmcub3JnCi5kYW5rZTRjaGlu -YS5uZXQKfHxkYW5rZTRjaGluYS5uZXQKLmRhbndlaS5vcmcKLmRhb2xhbi5uZXQK -ZGF4YS5jbgp8fGRheGEuY24vCmNuLmRheWFib29rLmNvbQouZGF5bGlmZS5jb20v -dG9waWMvZGFsYWlfbGFtYQouZGRjLmNvbS50dwp8fGRlLXNjaS5vcmcKLmRlLXNj -aS5vcmcKbGlzdHMuZGViaWFuLm9yZwpwYWNrYWdlcy5kZWJpYW4ub3JnL3poLWNu -L2xlbm55L2dwYXNzCnx8ZGVsY2FtcC5uZXQKZGVsaWNpb3VzLmNvbS9HRldib29r -bWFyawouZGVtb2NyYXRzLm9yZwp8fGRlbW9jcmF0cy5vcmcKfHxkZXNjLnNlLwp8 -fGRldXRzY2hlLXdlbGxlLmRlCnx8ZGV2MTAyLmNvbQp8fGRldmlvLnVzCnxodHRw -Oi8vd3d3LmRmYW5uaW5nLmNvbQp8fGRmYXMubWlsCi5kaWFveXVpc2xhbmRzLm9y -Zwp8fGRpYW95dWlzbGFuZHMub3JnCnx8ZGlnaXRhbG5vbWFkc3Byb2plY3Qub3Jn -Ci5kaWlnby5jb20KfHxkaWlnby5jb20KfHxmdXJsLm5ldAp8fGRpcmVjdGNyZWF0 -aXZlLmNvbQouZGlzY3Vzcy5jb20uaGsKfHxkaXNjdXNzLmNvbS5oawpkaXNwLmNj -Ci5kaXQtaW5jLnVzCnx8ZGl0LWluYy51cwouZGl6aGlkaXpoaS5jb20KZGphbmdv -c25pcHBldHMub3JnCnx8ZGwtbGFieS5qcAp8fGRsc2l0ZS5jb20KLmRvY3N0b2Mu -Y29tL2RvY3MKLmRvamluLmNvbQouZG9rLWZvcnVtLm5ldAp8fGRvbGMuZGUKfHxk -b2xsZi5jb20KLmRvbWFpbi5jbHViLnR3CmRvbmdkZS5jb20KZG9uZ3RhaXdhbmcu -Y29tCnx8ZG9uZ3RhaXdhbmcuY29tCi5kb25ndGFpd2FuZy5uZXQKfHxkb25ndGFp -d2FuZy5uZXQKLmRvbmd5YW5namluZy5jb20KLmRvbnRmaWx0ZXIudXMKfHxkb250 -bW92ZXRvY2hpbmEuY29tCi5kb3RwbGFuZS5jb20KfHxkb3RwbGFuZS5jb20KfHxk -b3RzdWIuY29tCmRvdWJsZWFmLmNvbQp8fGRvdWdzY3JpcHRzLmNvbQpkb3dlaS5v -cmcKfHxkb3h5Z2VuLm9yZwpkcGhrLm9yZwpkcHAub3JnLnR3Cnx8ZHBwLm9yZy50 -dwp8fHdlaWdlZ2VieWMuZHJlYW1ob3N0ZXJzLmNvbQp8fGRyZ2FuLm5ldAouZHJv -cGJveC5jb20KLmRydHViZXIuY29tCnx8ZHRpYmxvZy5jb20KfHxkdGljLm1pbApk -dGlzZXJ2Mi5jb20KLmR1Y2tsb2FkLmNvbS9kb3dubG9hZAp8fGR1Y2tteWxpZmUu -Y29tCi5kdWlodWEub3JnCnx8ZHVpaHVhLm9yZwouZHVvd2VpdGltZXMuY29tCnx8 -ZHVvd2VpdGltZXMuY29tCmR1cGluZy5uZXQKfHxkdXBsaWNhdGkuY29tCmR1cG9s -YS5jb20KZHVwb2xhLm5ldAp8fGR2b3Jhay5vcmcKLmR3LmRlCnxodHRwOi8vZHcu -ZGUKLmR3LXdvcmxkLmNvbQp8fGR3LXdvcmxkLmNvbQouZHctd29ybGQuZGUKaHR0 -cDovL2R3LXdvcmxkLmRlCnd3dy5kd2hlZWxlci5jb20KZHduZXdzLmNvbQp8fGR3 -bmV3cy5jb20KeHlzLmR4aW9uZy5jb20KZHkyNGsuaW5mbwp8fGR5bmF3ZWJpbmMu -Y29tCi5kenplLmNvbQoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tRUUtLS0tLS0tLS0t -LS0tLS0tLS0tLQp8fGUtZ29sZC5jb20KLmUtZ29sZC5jb20KZS1pbmZvLm9yZy50 -dwouZS10cmFkZXJsYW5kLm5ldC9ib2FyZAohLS1lYS5jb20uY24KaGtqcC5lYXN5 -d2ViLmhrCmVib29rYnJvd3NlLmNvbQplYm9va2VlLmNvbQplY21pbmlzdHJ5Lm5l -dApiYnMuZWNzdGFydC5jb20KZWRpY3lwYWdlcy5jb20KZWRvb3JzLmNvbQouZWR1 -YnJpZGdlLmNvbQp8fGVkdWJyaWRnZS5jb20KfHxlZXZwbi5jb20KZWZjYy5vcmcu -aGsKfHxlaWMtYXYuY29tCmVsZWN0aW9uc21ldGVyLmNvbQouZWx0b25kaXNuZXku -Y29tCnx8ZW1hY3NibG9nLm9yZwouZW1vcnkuZWR1Ci5lbXVsZS1lZDJrLmNvbQp8 -aHR0cDovL2VtdWxlLWVkMmsuY29tCmNoaW5lc2UuZW5nYWRnZXQuY29tCnx8ZW5n -bGlzaGZyb21lbmdsYW5kLmNvLnVrCnx8ZW50ZXJtYXAuY29tCmVwb2NodGltZXMt -YmcuY29tCnx8ZXBvY2h0aW1lcy1iZy5jb20KZXBvY2h0aW1lcy1yb21hbmlhLmNv -bQp8fGVwb2NodGltZXMtcm9tYW5pYS5jb20KZXBvY2h0aW1lcy5jby5pbAp8fGVw -b2NodGltZXMuY28uaWwKZXBvY2h0aW1lcy5jby5rcgp8fGVwb2NodGltZXMuY28u -a3IKZXBvY2h0aW1lcy5jb20KfHxlcG9jaHRpbWVzLmNvbQplcG9jaHRpbWVzLmRl -CmVwb2NodGltZXMuZnIKLmVwb2NodGltZXMuaWUKZXBvY2h0aW1lcy5qcAplcG9j -aHRpbWVzLnJ1CmVwb2NodGltZXMuc2UKZXBvY2h0aW1lc3RyLmNvbQp8fGVwb2No -d2Vla2x5LmNvbQplcmFiYXJ1Lm5ldAouZXJlcHVibGlrLmNvbQp8fGVybmVzdG1h -bmRlbC5vcmcKfHxlcmlnaHRzLm5ldApldGFpd2FubmV3cy5jb20KfHxldGl6ZXIu -b3JnCnd3dy5ldWxhbS5jb20KZXZlbnRmdWwuY29tCnx8ZXhibG9nLmpwCnx8Ymxv -Zy5leGJsb2cuY28uanAKQEB8fHd3dy5leGJsb2cuanAKfHxleHBhdHNoaWVsZC5j -b20KfHxleHBsb2FkZXIubmV0Ci5leHRyZW1ldHViZS5jb20KZXlldmlvLmpwCnx8 -ZXlldmlvLmpwCiEtLWV5bnkuY29tCi5lenBjLnRrL2NhdGVnb3J5L3NvZnQKLmV6 -cGVlci5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUZGLS0tLS0tLS0tLS0tLS0t -LS0tLS0KLmZhY2Vib29rLmNvbQp8fGZhY2Vib29rLmNvbQovXmh0dHBzPzpcL1wv -W15cL10rZmFjZWJvb2tcLmNvbS8KQEB8fCp2Ni5mYWNlYm9vay5jb20KfHxjb25u -ZWN0LmZhY2Vib29rLm5ldAp8fGZhY2Vzb2ZueWZ3LmNvbQp8fGZhaXRodGhlZG9n -LmluZm8KLmZha2t1Lm5ldApmYWx1bmFydC5vcmcKZmFsdW5kYWZhLm9yZwpmYWx1 -bmRhZmFtdXNldW0ub3JnCnx8ZmFsdW5oci5vcmcKfHxmYW5nbGl6aGkuaW5mbwp8 -fGZhbmdvbmcub3JnCmZhbmdvbmdoZWlrZS5jb20KZmFucWlhbmdob3UuY29tCmZh -cGR1LmNvbQohLS0uZmFyeGlhbi5jb20KLmZhd2FuZ2h1aWh1aS5vcmcKfHxmYmNk -bi5uZXQKZmFucWlhbmd5YWtleGkubmV0CmZhaWwuaGsKfHxmYW11bmlvbi5jb20K -LmZhbi1xaWFuZy5jb20KLmZhbmdiaW54aW5nLmNvbQp8fGZhbmdiaW54aW5nLmNv -bQpmYW5nZW1pbmcuY29tCnx8ZmFuc3dvbmcuY29tCi5mYXJ3ZXN0Y2hpbmEuY29t -Cnx8ZmFzdGx5Lm5ldApmYXZvcmlvdXMuY29tCnx8ZmF2b3Jpb3VzLmNvbQplbi5m -YXZvdHRlci5uZXQKfHxmYXN0c3RvbmUub3JnCmZhdnN0YXIuZm0KfHxmYXZzdGFy -LmZtCmZheWRhby5jb20vd2VibG9nCmZiLm1lCnx8ZmIubWUKZmMyLmNvbQouZmMy -Y2hpbmEuY29tCnNoaWZlaWtlLmJsb2cxMjUuZmMyYmxvZy5uZXQKdmlkZW8uZmRi -b3guY29tCi5mZGM4OS5qcAp8fGZvdXJmYWNlLm5vZGVzbm9vcC5jb20KZmVlZGJv -b2tzLm1vYmkKZmVlZHMuZmVlZGJ1cm5lci5jb20KZmVlZHMyLmZlZWRidXJuZXIu -Y29tL2NoaW5hZ2Z3YmxvZwp8fGZlZWR6c2hhcmUuY29tCnx8ZmVlbHNzaC5jb20K -ZmVlci5jb20KZmVsaXhjYXQubmV0Cnx8ZmVsaXhjYXQubmV0Cnx8ZmVtaW5pc3R0 -ZWFjaGVyLmNvbQouZmVuZ3poZW5naHUuY29tCnx8ZmVuZ3poZW5naHUuY29tCmZm -bGljay5jb20KZmdtdHYubmV0Ci5mZ210di5vcmcKLmZpbGVmYWN0b3J5LmNvbS9m -aWxlCi5maWxlczJtZS5jb20KfGh0dHA6Ly9maWxlczJtZS5jb20KLmZpbGVzZXJ2 -ZS5jb20vZmlsZQpmaWxsdGhlc3F1YXJlLm9yZwp8fGZpbmFsaW9uLmpwCmZpbmRi -b29rLnR3CmZpbmxlci5uZXQKLmZpcmVvZmxpYmVydHkub3JnCnx8ZmlyZW9mbGli -ZXJ0eS5vcmcKIS0tfHxmbGFnZm94Lm5ldAouZmFsc2VmaXJlLmNvbQp8fGZhbHNl -ZmlyZS5jb20KZmxlc2hib3QuY29tCgp8fGZhcm02LnN0YXRpY2ZsaWNrci5jb20K -LmZsaWNrci5jb20vcGhvdG9zLzQ2MjMxMDc3QE4wNgouZmxpY2tyLmNvbS9ncm91 -cHMvYWl3ZWl3ZWkKLmZsaWNrci5jb20vcGhvdG9zL2RpZ2l0YWxib3kxMDAKLmZs -aWNrci5jb20vcGhvdG9zL2Z6aGVuZ2h1Ci5mbGlja3IuY29tL3Bob3Rvcy9sb25l -bHlmb3gKZmxpY2tyLmNvbS9waG90b3MvdmFudmFuLzUyOTkyNTE1NwouZmxpY2ty -LmNvbS9waG90b3Mvd2ludGVya2FuYWwKLmZsaWNrci5jb20vcGhvdG9zL3pvbGEK -CmZsaWNrcmhpdmVtaW5kLm5ldAp5dW1pbmcuZmxuZXQub3JnCnxodHRwOi8vY24u -Zm1ubm93LmNvbQpibG9nLmZvb2xzbW91bnRhaW4uY29tCnd3dy5mb3J1bTRoay5j -b20KcGlvbmVlci13b3JrZXIuZm9ydW1zLWZyZWUuY29tCiEtLWZvdXJzcXVhcmUu -Y29tCnxodHRwOi8vNHNxLmNvbQp8fGZvdG9wLm5ldAp2aWRlby5mb3hidXNpbmVz -cy5jb20KfHxmcmluZ2VuZXR3b3JrLmNvbQp8fGZsZWNoZWludGhlcGVjaGUuZnIK -LmZvY3VzdnBuLmNvbQp8fGZvZmcub3JnCi5mb29vb28uY29tCnx8Zm9vb29vLmNv -bQpmb290d2liYWxsLmNvbQp8fGZvdXJ0aGludGVybmF0aW9uYWwub3JnCnx8Zm94 -ZGllLnVzCnx8Zm94c3ViLmNvbQpmb3h0YW5nLmNvbQp8fGZxcm91dGVyLmNvbQp8 -fGZyYW5rbGMuY29tCi5mcmVha3NoYXJlLmNvbQp8aHR0cDovL2ZyZWFrc2hhcmUu -Y29tCmZyZWUtZ2F0ZS5vcmcKLmZyZWUuZnIvYWRzbAp8fGFsbG9ubGludXguZnJl -ZS5mcgp8fGRpbWl0cmlrLmZyZWUuZnIKa2luZW94LmZyZWUuZnIKfHxwdXR0eWNt -LmZyZWUuZnIKfHxmcmVlYWxpbS5jb20Kd2hpdGViZWFyLmZyZWViZWFyYmxvZy5v -cmcKLmZyZWVjaGFsLmNvbQouZnJlZWRvbWhvdXNlLm9yZwp8fGZyZWVkb21ob3Vz -ZS5vcmcKLmZyZWVnYW8uY29tCnx8ZnJlZWdhby5jb20KLmZyZWVsb3R0by5jb20K -fHxmcmVlbG90dG8uY29tCmZyZWVtYW4yLmNvbQouZnJlZW9wZW52cG4uY29tCmZy -ZWVtb3Jlbi5jb20KZnJlZW1vcmVuZXdzLmNvbQpmcmVlbmV0LWNoaW5hLm9yZwpm -cmVlbmV3c2NuLmNvbQouZnJlZW96Lm9yZy9iYnMKfHxmcmVlb3oub3JnCnx8d3d3 -LmJ1bGJvdXMuZnJlZXNlcnZlLmNvLnVrCnx8ZnJlZXNzaC51cwouZnJlZS1zc2gu -Y29tCnx8ZnJlZS1zc2guY29tCnx8ZnJlZW5ldHByb2plY3Qub3JnCi5mcmVlb3ou -b3JnCnd3dy5mcmVldGliZXQub3JnCnx8ZnJlZXdhbGxwYXBlcjQubWUKLmZyZWV3 -ZWJzLmNvbQp8fGZyZWV3ZWliby5jb20KLmZyZWV4aW53ZW4uY29tCmZyaWVuZGZl -ZWQuY29tCmZyaWVuZGZlZWQtbWVkaWEuY29tL2U5OWE0ZWJlMmZiNGMxOTg1YzJh -NTg3NzVlYjQ0MjI5NjFhYTVhMmUKfGh0dHA6Ly9mZi5pbQp8aHR0cDovL3d3dy56 -ZW5zdXIuZnJlZXJrLmNvbS8KZnJlZXZwbi5ubAouZnJpbmcuY29tCnx8ZnJpbmcu -Y29tCnx8ZnJvbW1lbC5uZXQKLmZyb250bGluZWRlZmVuZGVycy5vcmcKfHxmc2Nr -ZWQub3JnCi5mc3VyZi5jb20KIS0uZnRjaGluZXNlLmNvbQouZnVja2NubmljLm5l -dAp8fGZ1Y2tjbm5pYy5uZXQKZnVja2dmdy5vcmcKZnVsdWUuY29tCi5mdW5mLnR3 -CmZ1bnAuY29tCnx8ZnVyaW5rYW4uY29tCi5mdXR1cmVjaGluYWZvcnVtLm9yZwp8 -fGZ1dHVyZW1lc3NhZ2Uub3JnCnx8ZncuY20KZnpoOTk5LmNvbQpmemg5OTkubmV0 -CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1HRy0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8 -Z2Fib2NvcnAuY29tCnx8Z2FsZW53dS5jb20KZ2FtZWJhc2UuY29tLnR3Cnx8Z2Ft -ZXIuY29tLnR3Ci5nYW1lci5jb20udHcKLmdhbWV6LmNvbS50dwp8fGdhbWV6LmNv -bS50dwouZ2FvbWluZy5uZXQKfHxnYW9taW5nLm5ldApnYW5nZXMuY29tCi5nYW9w -aS5uZXQKfGh0dHA6Ly9nYW9waS5uZXQKfHxnYXBwcC5vcmcKZ2FyZGVubmV0d29y -a3MuY29tCnx8Z2FyZGVubmV0d29ya3Mub3JnCiEtLUlQIG9mIEdhcmRlbiBOZXR3 -b3JrCjcyLjUyLjgxLjIyCnx8Z2FydGxpdmUuY29tCnx8Z2F0aGVyLmNvbQp8fGdh -eW1hcC5jYwouZ2F6b3R1YmUuY29tCnx8Z2F6b3R1YmUuY29tCnx8Z2Nsb29uZXku -Y29tCi5nY3BuZXdzLmNvbQouZ2RidC5uZXQvZm9ydW0KZ2R6Zi5vcmcKfHxnZWVr -LWFydC5uZXQKZ2Vla2VyaG9tZS5jb20vMjAxMC8wMy94aXhpYW5nLXByb2plY3Qt -Y3Jvc3MtZ2Z3Cnx8Z2Vla21hbnVhbHMuY29tCi5nZW9jaXRpZXMuY28uanAKLmdl -b2NpdGllcy5jb20vU2lsaWNvblZhbGxleS9DaXJjdWl0LzU2ODMvZG93bmxvYWQu -aHRtbApoay5nZW9jaXRpZXMuY29tCmdlb2NpdGllcy5qcAp8fGdlb2hvdC5jb20K -fHxnZW9tZXRyaWN0b29scy5jb20KfHxnZXQtZGlnaXRhbC1oZWxwLmNvbQouZ2V0 -Y2h1LmNvbQp8fGdldGZveHlwcm94eS5vcmcKLmdldGZyZWVkdXIuY29tCi5nZXRs -YW50ZXJuLm9yZwp8fGdldGxhbnRlcm4ub3JnCi5nZXRqZXRzby5jb20vZm9ydW0K -Z2V0aXRvbi5jb20KLmdldHNvY2lhbHNjb3BlLmNvbQpnZncub3JnLnVhCi5nZ3Nz -bC5jb20KfHxnZ3NzbC5jb20KfHxnaWdhLXdlYi5qcAp8aHR0cDovL2NuLmdpZ2Fu -ZXdzLmNvbS8KZ2lncG9ybm8ucnUKfHxnaW1wc2hvcC5jb20KfHxnaXJsYmFua2Vy -LmNvbQp8fGdsZW5uaGlsdG9uLmNvbQpnbG9iYWxtdXNldW1vbmNvbW11bmlzbS5v -cmcKfHxnbG9iYWxyZXNjdWUubmV0Ci5nbG9iYWx2b2ljZXNvbmxpbmUub3JnCnx8 -Z2xvYmFsdm9pY2Vzb25saW5lLm9yZwpnbWJkLmNuCnx8Z21oei5vcmcKZ29kZm9v -dHN0ZXBzLm9yZwp8fGdvZGZvb3RzdGVwcy5vcmcKfGh0dHA6Ly93d3cuZ29sZGVu -bWVsb2R5LmNvbS50dwp8fGdvbGR3YXZlLmNvbQpnb25nbWVuZy5pbmZvCmdvbmdt -LmluCmdvbmdtaW5saWxpYW5nLmNvbQouZ29uZ3d0LmNvbQouZ29vZHJlYWRzLmNv -bQp8fGdvb2RyZWFkcy5jb20KLmdvb2RyZWFkZXJzLmNvbQp8fGdvb2RyZWFkZXJz -LmNvbQp8fGdvb2ZpbmQuY29tCnx8Z29vZ2xldXNlcmNvbnRlbnQuY29tCi5nb29n -bGVzaWxlLmNvbQouZ29wZXRpdGlvbi5jb20KfHxnb29nbGV2aWRlby5jb20KfHxn -b3BldGl0aW9uLmNvbQp8fGdvdHcuY2EvCmdyYW5kdHJpYWwub3JnCnx8Z3JhcGhp -cy5uZS5qcApncmVhdGZpcmV3YWxsLmJpegp8fGdyZWF0ZmlyZXdhbGxvZmNoaW5h -Lm5ldAouZ3JlYXRmaXJld2FsbG9mY2hpbmEub3JnCnx8Z3JlYXRmaXJld2FsbG9m -Y2hpbmEub3JnCi5ncmVlbnBhcnR5Lm9yZy50dwpncGFzczEuY29tCmdyZWF0LWZp -cmV3YWxsLmNvbQpncmVhdC1yb2Mub3JnCmdyZWF0cm9jLm9yZwpncmVhdHpob25n -aHVhLm9yZwouZ3JlZW52cG4ubmV0Cnx8Z3JlZW52cG4ubmV0CmdzLWRpc2N1c3Mu -Y29tCnx8Z3RyaWNrcy5jb20KZ3VhbmNoYS5vcmcKLmd1bi13b3JsZC5uZXQKfHxn -dXR0ZXJ1bmNlbnNvcmVkLmNvbQp8fGd2bS5jb20udHcKLmd6bS50dgp8fGd6b25l -LWFuaW1lLmluZm8KCiEtLS0tLS0tLS0tLS0tLS0tR29vZ2xlLS0tLS0tLS0tLS0t -LS0tLQp8fGFwaXMuZ29vZ2xlLmNvbQoKIS0tLS0tLS0tLS0tLUdvb2dsZSBBcHAg -RW5naW5lL0FwcHNwb3QtLS0tLS0tCi5hcHBzcG90LmNvbQp8fGFwcHNwb3QuY29t -Ci9eaHR0cHM/OlwvXC9bXlwvXSthcHBzcG90XC5jb20vCgohLS0tLS0tLS0tLS0t -LS0tLS0tLS1Hb29nbGUgQ29kZS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNvZGUuZ29v -Z2xlLmNvbS9wL2dhcHBwcm94eQpjb2RlLmdvb2dsZS5jb20vcC9nYWVwcm94eQpj -b2RlLmdvb2dsZS5jb20vcC93ZXN0LWNoYW1iZXItc2Vhc29uLTMKY29kZS5nb29n -bGUuY29tL3AvaWNlZm94CmNvZGUuZ29vZ2xlLmNvbS9wL2JyZWFrd2FsbApjb2Rl -Lmdvb2dsZS5jb20vcC9wcm9ncmFtLXRoaW5rL3dpa2kvU29mdHdhcmUKY29kZS5n -b29nbGUuY29tL3Avc2Nob2xhcnpoYW5nCmNvZGUuZ29vZ2xlLmNvbS9wL3Zmb3Jj -aHJvbWUvd2lraS9TdGFydApjb2RlLmdvb2dsZS5jb20vcC90dWl0ZQpjb2RlLmdv -b2dsZS5jb20vcC90d2l0ZXNlCmNvZGUuZ29vZ2xlLmNvbS9wL3R3aXAKY29kZS5n -b29nbGUuY29tL3AvaHVoYW1oaXJlLWhvc3RzCnxodHRwOi8vYXV0b3Byb3h5LWdm -d2xpc3QuZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2dmd2xpc3QudHh0CnxodHRw -czovL2F1dG9wcm94eS1nZndsaXN0Lmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9n -ZndsaXN0LnR4dApnZndpbnRlcmNlcHRvci5nb29nbGVjb2RlLmNvbQpnb2FnZW50 -Lmdvb2dsZWNvZGUuY29tCmd0YXAuZ29vZ2xlY29kZS5jb20Kc3NodHVubmVsLmdv -b2dsZWNvZGUuY29tCnR1aXRlLmdvb2dsZWNvZGUuY29tCmdhZXByb3h5Lmdvb2ds -ZWNvZGUuY29tCgohLS0tLS0tLS0tLS0tLUdvb2dsZSBEb2NzLS0tLS0KZG9jcy5n -b29nbGUuY29tL0RvYz9kb2NpZD0wQWU5aldNb1VoZ1YxWkhkMGNqSjJOVjgxTkdR -NU1uSTBkM0UxCmRvY3MuZ29vZ2xlLmNvbS9WaWV3P2lkPWQ4eGJwcDZfNGhocGIy -ZGZkCmRvY3MuZ29vZ2xlLmNvbS9WaWV3P2lkPWRkczY4ZHpfOWNxZ204dmdxCmRv -Y3MuZ29vZ2xlLmNvbSpWaWV3KmlkKmRnNW10bWo5XzhnM2hrMjdmNQpkb2NzLmdv -b2dsZS5jb20qVmlldyppZCpkZzVtdG1qOV8zMTg4eDQ4emNuCmRvY3MuZ29vZ2xl -LmNvbSpkZ3RibXdkNl85MzRnZzk5djZnNGNjCmRvY3MuZ29vZ2xlLmNvbS9WaWV3 -P2lkPWRoaDVndHhiXzE0NW5zeGdjdGNjCgohLS0tLS0tLS0tLS0tLUdvb2dsZSBn -aHMtLS0tLQohLXx8MTAyNGNvcmVzLm5ldAohLXx8d3d3LjIwdGhpbmdzaWxlYXJu -ZWQuY29tCiEtfHx3d3cuM2R0aW4uY29tCiEtQQohLXx8YWJlbGhhZGlnaXRhbC5j -b20KIS18fGJsb2cuYWVnaXN1Yi5vcmcKIS18fHBkay5hbmRyb2lkLmNvbQohLXx8 -YW5kcm9pZC14ODYub3JnCiEtfHxjaHJvbWUuYW5ncnliaXJkcy5jb20KIS18fGFw -cGJyYWluLmNvbQohLXx8bXkuYXJjaGl0ZXhhLmNvbQohLXx8ZmVlZHMuYXJzdGVj -aG5pY2EuY29tCiEtfHxibG9nLmF0aGljby5jb20KIS18fGF1cm9yYXNvZnR3b3Jr -cy5jb20KIS18fGF2d2lraXBlZGlhLmNvbQohLUIKIS18fHd3dy5iZW5qYW1pbmdv -bHViLmNvbQohLXx8cnNzLmJlcnJ5cmV2aWV3LmNvbQohLXx8ZG9jcy5ibGFja3Ry -ZWUuY29tCiEtfHxzZWNyZXRzLmJsYWNrdHJlZS5jb20KIS18fHd3dy5ibGFja3Ry -ZWUuY29tCiEtfHxmZWVkcy5ib2luZ2JvaW5nLm5ldAohLXx8Ym94dW5ibG9nLmNv -bQohLXx8bW9ibG9nLmJyYWRsZXlpdC5jb20KIS18fHd3dy5idWRkeXJ1bm5lci5j -b20KIS18fGJ1enpjYW50d2VldC5jb20KIS1DCiEtfHxmZWVkcy5jYnNuZXdzLmNv -bQpjaGluYWFpZC5uZXQKIS18fHd3dy5jaGluZXNlYWxidW1hcnQuY29tCiEtfHxj -aHJvbWVleHBlcmltZW50cy5jb20KIS18fGJsb2cuY2hyb21pdW0ub3JnCiEtfHxj -b2RlcmV2aWV3LmNocm9taXVtLm9yZwohLXx8ZGV2LmNocm9taXVtLm9yZwohLXx8 -d3d3LmNocm9taXVtLm9yZwohLXx8d3d3LmNsZW1lbnRpbmUtcGxheWVyLm9yZwoh -LXx8ZGF0YS5jbGVtZW50aW5lLXBsYXllci5vcmcKIS18fGNsZW1lc2hhLm9yZwoh -LXx8d3d3LmNsb3VkZ2lybGZyaWVuZC5jb20KIS18fHJzcy5jbm4uY29tCiEtfHxj -b2NvYXdpdGhsb3ZlLmNvbQohLXx8YmxvZy5jb250cm9sc3BhY2Uub3JnCiEtRAoh -LXx8d3d3LmRhaWx5Z3lhbi5jb20KIS18fGRhaWx5dG9kby5vcmcKIS18fGJsb2cu -ZGFubWFybmVyLmNvbQohLXx8Z2l0aHViLmRhbm1hcm5lci5jb20KIS18fGRlc2ln -bi1zZWVkcy5jb20KIS18fGRlc2lnbmVycy1hcnRpc3RzLmNvbQohLXx8ZmVlZHMu -ZGlnZy5jb20KIS18fGFwcC5kaXUubGkKIS18fG1haWwuZGl5YW5nLm9yZwohLXx8 -YmxvZy5kb3VnaGVsbG1hbm4uY29tCiEtfHxkb3duZm9yZXZlcnlvbmVvcmp1c3Rt -ZS5jb20KIS18fGRyb2lkc2VjdXJpdHkuY29tCiEtfHx3d3cuZHJvcG1vY2tzLmNv -bQohLXx8ZHVtYmxpdHRsZW1hbi5jb20KIS18fGZlZWRzLmR6b25lLmNvbQohLUUK -ZWNob2Zvbi5jb20KIS18fGVjaG9mb24uY29tCiEtfHxlcGMtamF2LmNvbQohLXx8 -ZXZlcmRhcmsuaW5mbwohLXx8cy5ldmVybm90ZS5jb20KIS18fGV2aGVhZC5jb20K -IS1GCiEtfHxmYWNpbGVsb2dpbi5jb20KIS18fCouZmF0ZHVjay5vcmcKIS18fGJs -b2cuZmRjbi5vcmcKIS18fGZmdG9nby5jb20KIS18fGZsaWdodHNpbXRhbGsuY29t -CiEtfHxtY2xlZS5mb29sbWUubmV0CiEtfHx3d3cuZnJpZW5kZGVjay5jb20KIS18 -fGZyaW5nZXNwb2lsZXJzLmNvbQohLXx8ZnJpbmdldGVsZXZpc2lvbi5jb20KIS18 -fGZ1bnBlYS5jb20KIS1HCiEtfHxibG9nLmdhdGVpbi5vcmcKIS18fGZlZWRzLmdh -d2tlci5jb20KIS18fGdlZWt0YW5nLmNvbQohLXx8Z2VvaG90LnVzCiEtfHxnZXRh -cm91bmQuY29tCiEtfHxnbWVyLm5ldAohLXx8d3d3Lmdtb3RlLm9yZwohLXx8Ymxv -Zy5nbzJ3ZWIyMC5uZXQKIS18fGJsb2cuZ29vZ2xlLm9yZwohLXx8Z29vZ2xlLW1l -bGFuZ2UuY29tCnx8Z29sYW5nLm9yZwohLXx8ZmFtZS5nb256b2xhYnMub3JnCiEt -fHxnb3ZlY24ub3JnCiEtfHxncXVldWVzLmNvbQohLXx8Z3JhcGh5Y2FsYy5jb20K -IS18fHd3dy5ncmVhc2VzcG90Lm5ldAohLXx8YmxvZy5ncm93bGZvcndpbmRvd3Mu -Y29tCiEtSAohLXx8aGNtLmNvbS50dwohLXx8YmxvZy5oZWFkaXVzLmNvbQohLXx8 -aG9nYmF5c29mdHdhcmUuY29tCiEtfHxibG9nLmhvdG90Lm9yZwohLXx8ZmVlZHMu -aG93c3R1ZmZ3b3Jrcy5jb20KIS18fHNsaWRlcy5odG1sNXJvY2tzLmNvbQohLXx8 -d3d3Lmh0bWw1cm9ja3MuY29tCiEtfHxodWhhaXRhaS5jb20KIS18fGJsb2cuaHVt -YW5yaWdodHNmaXJzdC5vcmcKIS1JCiEtfHxzaXRlLmljdS1wcm9qZWN0Lm9yZwoh -LXx8aWdvcndhcmUuY29tCiEtfHxpaGFzMTMzN2NvZGUuY29tCiEtfHxpbmtub3V2 -ZWF1LmNvbQohLXx8aW5vdGUudHcKIS18fGlyb25oZWxtZXQuY29tCiEtfHxpd2Z3 -Y2YuY29tCiEtSgohLXx8YmxvZy5qYW5nbXQuY29tCiEtfHxibG9nLmpheWZpZWxk -cy5jb20KIS18fHQuamllY2lpLmNvbQohLXx8YmxvZy5qb2ludC5uZXQKIS18fGJs -b2cuanNxdWFyZWRqYXZhc2NyaXB0LmNvbQohLXx8YmxvZy5qdGJ3b3JsZC5jb20K -IS1LCiEtfHxrYXRoeXNjaHdhbGJlLmNvbQohLXx8dG9tYXRvdnBuLmtlaXRobW95 -ZXIuY29tCiEtfHx3d3cua2VpdGhtb3llci5jb20KIS18fGtlbmRhbHZhbmR5a2Uu -Y29tCiEtfHxibG9nLmtlbmdhby50dwohLXx8bG9nLmtlc28uY24KIS18fHd3dy5r -aGFuYWNhZGVteS5vcmcKfHx3d3cua2xpcC5tZQohLXx8dXNibG9hZGVyZ3gua291 -cmVpby5uZXQKIS18fGJsb2cua293YWxjenlrLmluZm8KIS1MCiEtfHxsYWJ5cmlu -dGgyLmNvbQohLXx8bGFyc2dlb3JnZS5jb20KIS18fGJsb2cubGFzdHBhc3MuY29t -CiEtfHxkb2NzLmxhdGV4bGFiLm9yZwohLXx8bGVhbmVzc2F5cy5jb20KIS18fGJs -b2cubGlkYW9iaW5nLmluZm8KIS18fGxvZy5saWdodG9yeS5uZXQKIS18fGZlZWRz -LmxpbWkubmV0CiEtfHx3d3cubGl0ZWFwcGxpY2F0aW9ucy5jb20KIS18fGJsb2cu -bGl1a2FuZ3h1LmluZm8KIS18fHR3aXR0ZXIubGl1a2FuZ3h1LmluZm8KIS18fG9h -c2lzbmV3c3Jvb20ubGl2ZTRldmVyLnVzCiEtfHx3d3cubG9ja2VyZ25vbWUuY29t -CiEtfHxsb2NxbC5jb20KQEB8fHNpdGUubG9jcWwuY29tCiEtfHxmZWVkcy5sb2lj -bGVtZXVyLmNvbQohLXx8YmxvZy5sb3Vpc2dyYXkuY29tCiEtTQohLXx8bWFkZWJ5 -c29mYS5jb20KIS18fG1hZGVtb2lzZWxsZXJvYm90LmNvbQohLXx8bWFzYW1peGVz -LmNvbQohLXx8d3d3Lm1ldGFtdXNlLm5ldAohLXx8YmxvZy5tZXRhc3Bsb2l0LmNv -bQohLXx8bWlsYXppLmNvbQohLXx8d3d3Lm1pbml3ZWF0aGVyLmNvbQohLXx8dHdp -dHRlci5taXNzaXUuY29tCiEtfHxwbHVya3RvcC1idXR0b24ubW1kYXlzLmNvbQoh -LXx8ZmVlZHMubW9iaWxlcmVhZC5jb20KIS18fHd3dy5tb2Rlcm5penIuY29tCiEt -fHx3d3cubW9kay5pdAohLXx8bXl0d2lzaGlydC5jb20KIS1OCiEtfHxibG9nLm5l -dGZsaXguY29tCiEtfHxibG9nLm5paGlsb2dpYy5kawohLXx8bnRsay5vcmcKIS18 -fG52cXVhbi5vcmcKIS18fG5vZ29vZGF0Y29kaW5nLmNvbQohLXx8YmxvZy5ub3Rk -b3QubmV0CiEtfHx3d3cubm90aWZ5LmlvCiEtTwohLXx8YmxvZy5vYnZpb3VzLmNv -bQohLXx8b25lYmlnZmx1a2UuY29tCiEtfHxvdmVyc3RpbXVsYXRlLmNvbQohLVAK -IS18fHBjZ2Vla2Jsb2cuY29tCiEtfHxmZWVkcy5wZGZjaG0ubmV0CiEtfHxmZWVk -cy5wZW9wbGUuY29tCiEtfHxibG9nLnBlcnNpc3RlbnQuaW5mbwohLXx8Y2hyb21l -LnBsYW50c3Zzem9tYmllcy5jb20KIS18fHBvcnRhYmxlc29mdC5vcmcucnUKIS18 -fHByYXNhbm5hdGVjaC5uZXQKIS18fHRhbGsubmV3cy5wdHMub3JnLnR3CiEtfHxw -eXRob24tZXhjZWwub3JnCiEtUQohLVIKIS18fHItY2hhcnQuY29tCiEtfHxyYW1l -c2hzdWJyYW1hbmlhbi5vcmcKIS18fHJhcGlkLnBrCiEtfHxibG9nLnJlZGRpdC5j -b20KIS18fGJsb2cucmVuYW5zZS5jb20KIS18fGZlZWRzLnJldXRlcnMuY29tCiEt -fHxyb2JlcnRtYW8uY29tCiEtfHx3d3cucm9tZW8tZm94dHJvdC5jb20KIS1TCiEt -fHxzYWxtaXl1Y2suY29tCiEtfHxzYW1zYWwuY29tCiEtfHxibG9nLnNlZW1pbmds -ZWUuY29tCiEtfHxibG9nLnNmbG93LmNvbQohLXx8YmxvZy5zaWdmcGUuY29tCiEt -fHxzaW1wbGV0ZXh0LndzCiEtfHx3d3cuc2t1bHB0Lm9yZwohLXx8cnNzLnNsYXNo -ZG90Lm9yZwohLXx8c25pcHBldHNhcHAuY29tCiEtfHx3LnNucy5seQohLXx8d3d3 -LnNvY2lhbG5tb2JpbGUuY29tCiEtfHx3d3cuc29jaWFsd2hvaXMuY29tCiEtfHxz -cGlyaXRqYi5vcmcKIS18fHNzYm9vay5jb20KIS18fHNzaGZvcndhcmRpbmcuY29t -CiEtfHxzdGF0aW9uZXJpYS5jb20KIS18fHN1bmppZG9uZy5uZXQKIS18fHN5bml1 -bXNvZnR3YXJlLmNvbQpAQHx8ZG93bmxvYWQuc3luaXVtc29mdHdhcmUuY29tCiEt -VAohLXx8dGFneGVkby5jb20KIS18fGJsb2cudGF0b2ViYS5vcmcKIS18fHd3dy50 -ZWNoZm9iLmNvbQohLXx8dGVhY2hwYXJlbnRzdGVjaC5vcmcKIS18fHRoZThwZW4u -Y29tCiEtfHx0aGVpcGhvbmV3aWtpLmNvbQohLXx8YmxvZy50aGVzaWxlbnRudW1i -ZXIubWUKIS18fHRoZXNwb250eS5jb20KIS18fHRoZXVsdHJhbGlueC5jb20KIS18 -fGJsb2cudGhpbmstYXN5bmMuY29tCiEtfHx0b3JuYWRvd2ViLm9yZwohLXx8dHJh -bnNwYXJlbnR1cHRpbWUuY29tCiEtfHx0cmlhbmd1bGF0aW9uYmxvZy5jb20KIS18 -fGJsb2cudHN1bmFuZXQubmV0CiEtfHxlbi50dXhlcm8uY29tCiEtfHx0d2F6enVw -LmNvbQohLXx8dHdlZXRzd2VsbC5jb20KIS18fHR3aWJlcy5jb20KIS18fGFydC50 -d2dnLm9yZwohLXx8dHdpdmVydC5jb20KIS1VCnxodHRwOi8vdWIwLmNjCiEtfHxq -b25ueS51YnVudHUtdHcubmV0CiEtfHxibG9nLnVtb25rZXkubmV0CiEtVgohLXx8 -dHAudmJhcC5jb20uYXUKIS18fHd3dy52aXJ0dW91c3JvbS5jb20KIS18fGJsb2cu -dmlzaWJvdGVjaC5jb20KIS1XCiEtfHx3YXZlcHJvdG9jb2wub3JnCiEtfHx3d3cu -d2F2ZXNhbmRib3guY29tCiEtfHx3ZWJmZWUub3JnLnJ1CiEtfHxibG9nLndlYm1w -cm9qZWN0Lm9yZwohLXx8d2VidXBkOC5vcmcKIS18fHd3dy53aGF0YnJvd3Nlci5v -cmcKIS18fHd3dy53aGVyZWRveW91Z28ubmV0CiEtfHx3aWxsaGFpbnMuY29tCiEt -fHxmZWVkcy53aXJlZC5jb20KIS18fHdpc2VtYXBwaW5nLm9yZwp3b3p5LmluCiEt -fHx3b3p5LmluLwohLXx8YmxvZy53dW5kZXJjb3VudGVyLmNvbQohLVgKIS18fHhk -ZWx0YS5vcmcKIS18fHhpYW9nYW96aS5vcmcKIS18fHhpbG91LnVzCiEtfHx4enku -b3JnLnJ1CiEtWQohLXx8eW9vcGVyLmJlCiEtfHx0c29uZy55dW54aS5uZXQKIS1a -CgohLS0tLS0tLS0tLS0tLUdvb2dsZSBNaW5nYW5jaS0tLS0tCkBAfHxpcHY2Lmdv -b2dsZS5jb20KCi5nb29nbGUuKiVEOCVCQSVEOCVBNwouZ29vZ2xlLiovY29tcGxl -dGUvc2VhcmNoCi9zZWFyY2g/cT1jYWNoZQovc2VhcmNoJTNGcSUzRGNhY2hlCiUy -RnNlYXJjaCUzRnElM0RjYWNoZQpnb29nbGUqc2VhcmNoKnE9Y2FjaGUKIS0uZ29v -Z2xlLiozMDEKLmdvb2dsZS4qc2VhcmNoKjg5NjQKLmdvb2dsZS4qYm94dW4KLmdv -b2dsZS4qY2hpbmVzZStwZW9wbGUrZWF0aW5nK2JhYmllcwouZ29vZ2xlLipodHRw -KmRvdHN1Yi5jb20KLmdvb2dsZS4qZWFzdCp0dXJraXN0YW4KLmdvb2dsZS4qZmFj -ZWJvb2sKLmdvb2dsZS4qZmFsdW4KLmdvb2dsZS4qZnJlZWNoaW5hCi5nb29nbGUu -KmZyZWV0aWJldAouZ29vZ2xlLipnZncKLmdvb2dsZS4qZ29hZ2VudAouZ29vZ2xl -LiomcT1ncGFzcwouZ29vZ2xlLipncmVhdCpmaXJld2FsbAouZ29vZ2xlLipodWpp -bgouZ29vZ2xlLipodWF5dWFuCi5nb29nbGUuKmppYXFpbmdsaW4KLmdvb2dsZS4q -amlhbmd6ZW1pbgouZ29vZ2xlLiomcT1qem0mCi5nb29nbGUuKm55dGltZXMKLmdv -b2dsZS4qcGVhY2VoYWxsCi5nb29nbHcuKnByZXNpZGVudC5nb3YudHcKLmdvb2ds -ZS4qcHJvdGVzdCoxOTg5Ci5nb29nbGUuKnByaXNvbmVyK29mK3RoZStzdGF0ZQou -Z29vZ2xlLipzZWFyY2gqVGFua21hbgouZ29vZ2xlLip0Ym09bWJsCi5nb29nbGUu -KnRibSUzRG1ibAouZ29vZ2xlLipzZWFyY2gqdGJzPW1ibAouZ29vZ2xlLipzZWFy -Y2gqdGJzJTNEbWJsCi5nb29nbGUuKnRicz1xZHIKLmdvb2dsZS4qdGJzJTNEcWRy -Ci5nb29nbGUuKnRicz1ybHRtCi5nb29nbGUuKnRicyUzRHJsdG0KLmdvb2dsZS4q -VGlhbmFubWVuCi5nb29nbGUuKnRpYW53YW5nCi5nb29nbGUuKlRpYmV0YW4qaW5k -ZXBlbmRlbmNlCi5nb29nbGUuKnR3aXR0ZXIKLmdvb2dsZS4qeGlqaW5waW5nCi5n -b29nbGUuKiZxPXl0aHQmCi5nb29nbGUuKnpob3V5b25na2FuZwoKCiEtLTA4ICog -WGlhbiBaaGFuZwouZ29vZ2xlLiowOColRTUlQUUlQUElRTclQUIlQTAKIS0tNjQg -KiBaaGVuIFhpYW5nCi5nb29nbGUuKjY0KiVFNyU5QyU5RiVFNyU5QiVCOAohLS02 -NCAqIFpoZW4gWWEKLmdvb2dsZS4qNjQqJUU5JTk1JTg3JUU1JThFJThCCiEtLUJh -IEppdQouZ29vZ2xlLiolRTUlODUlQUIlRTQlQjklOUQKIS0tQmVpIEd1byBaaGkg -Q2h1bgouZ29vZ2xlLiolRTUlOEMlOTclRTUlOUIlQkQlRTQlQjklOEIlRTYlOTgl -QTUKIS0tQmVpIEppbmcgWmhpIENodW4KLmdvb2dsZS4qJUU1JThDJTk3JUU0JUJB -JUFDJUU0JUI5JThCJUU2JTk4JUE1IAohLS1DaGVuIFBvIEtvbmcKLmdvb2dsZS4q -JUU5JTk5JTg4JUU3JUEwJUI0JUU3JUE5JUJBCiEtLUNoaSBGZWkKLmdvb2dsZS4q -JUU4JUI1JUE0JUU1JThDJUFBCiEtLURhIExhaSBMYSBNYQouZ29vZ2xlLiolRTgl -QkUlQkUlRTglQjUlOTYlRTUlOTYlODclRTUlOTglOUIKIS0tRGFpIEthaSArIEZh -IFBpYW8ocmV2ZXJzZWQpCi5nb29nbGUuKiVFNCVCQiVBMyVFNSVCQyU4MColRTUl -OEYlOTElRTclQTUlQTgKLmdvb2dsZS4qJUU1JThGJTkxJUU3JUE1JUE4KiVFNCVC -QiVBMyVFNSVCQyU4MAohLS1EYWkgTGkvUHJveHkKLmdvb2dsZS4qJUU0JUJCJUEz -JUU3JTkwJTg2CiEtLURpIFhpYSBKaWFvIEh1aQouZ29vZ2xlLiolRTUlOUMlQjAl -RTQlQjglOEIlRTYlOTUlOTklRTQlQkMlOUEKIS0tRHUgTGkgVGFpIFdhbiBIdWkK -Lmdvb2dsZS4qJUU3JThCJUFDJUU3JUFCJThCJUU1JThGJUIwJUU2JUI5JUJFJUU0 -JUJDJTlBCiEtLUR1IExpIFpob25nIFdlbiBCaSBIdWkKLmdvb2dsZS4qJUU3JThC -JUFDJUU3JUFCJThCJUU0JUI4JUFEJUU2JTk2JTg3JUU3JUFDJTk0JUU0JUJDJTlB -CiEtLUZhIEtlCi5nb29nbGUuKiVFNSU4RiU5MSVFOCVBRiVCRQohLS1GYSBMYSBM -aQouZ29vZ2xlLiolRTYlQjMlOTUlRTYlOEIlODklRTUlODglQTkKIS0tRmFuIFFp -YW5nCi5nb29nbGUuKiVFNyVCRiVCQiVFNSVBMiU5OQohLS1GYW5nIEJpbiBYaW5n -KFNCKQouZ29vZ2xlLiolRTYlOTYlQjklRTYlQkIlQTglRTUlODUlQjQKIS0tRmFu -ZyBIdW8gQ2hhbmcgQ2hlbmcKLmdvb2dsZS4qJUU5JTk4JUIyJUU3JTgxJUFCJUU5 -JTk1JUJGJUU1JTlGJThFCiEtLUZlbmcgWmhlbmcgSHUKLmdvb2dsZS4qJUU1JTg2 -JUFGJUU2JUFEJUEzJUU4JTk5JThFCiEtLUdhbyBaaGkgU2hlbmcKLmdvb2dsZS4q -JUU5JUFCJTk4JUU2JTk5JUJBJUU2JTk5JTlGCiEtLUdlIE1pbmcKLmdvb2dsZS4q -JUU5JTlEJUE5JUU1JTkxJUJECiEtLUdvbmcgQ2hhbgouZ29vZ2xlLiolRTUlODUl -QjElRTQlQkElQTcKIS0tR3VhbiBKaWFuIFNoaSBLZQouZ29vZ2xlLiolRTUlODUl -QjMlRTklOTQlQUUlRTYlOTclQjYlRTUlODglQkIKIS0tR3VhbmcgQ2hhbmcKLmdv -b2dsZS4qJUU1JUI5JUJGJUU1JTlDJUJBCiEtLUd1byBKaWEgRmFuZyBIdW8gUWlh -bmcgWmhpIEZ1Ci5nb29nbGUuKiVFNSU5QiVCRCVFNSVBRSVCNiVFOSU5OCVCMiVF -NyU4MSVBQiVFNSVBMiU5OQohLS1IYSBNYQouZ29vZ2xlLiolRTglOUIlQTQlRTgl -OUYlODYKIS0tSmkgSHVpCi5nb29nbGUuKiVFOSU5QiU4NiVFNCVCQyU5QQohLS1K -aSBaaGUgV3UgSmlhbmcgSmllCi5nb29nbGUuKiVFOCVBRSVCMCVFOCU4MCU4NSVF -NiU5NyVBMCVFNyU5NiU4NiVFNyU5NSU4QwohLS1KaWEgQmFvCi5nb29nbGUuKiVF -NSVBRSVCNiVFNSVBRSU5RAohLS1KaWEgUWluZyBMaW4KLmdvb2dsZS4qJUU1JTgx -JTg3JUU1JUJBJTg2JUU2JUI3JThCCiEtLUppZSBZYW4KLmdvb2dsZS4qJUU2JTg4 -JTkyJUU0JUI4JUE1CiEtLUppbiBUYW8KLmdvb2dsZS4qJUU5JTk0JUE2JUU2JUI2 -JTlCCiEtLUppbmcgV2VuCi5nb29nbGUuKiVFNyVCQiU4RiVFNiU5NiU4NwohLS1K -aW4gUGluZwouZ29vZ2xlLiolRTglQkYlOTElRTUlQjklQjMKIS0tSml1IENoYW5n -IFdlaQouZ29vZ2xlLiolRTQlQjklOUQlRTUlQjglQjglRTUlQTclOTQKIS0tS3Ug -WGluZwouZ29vZ2xlLiolRTklODUlQjclRTUlODglOTEKIS0tTGluZwouZ29vZ2xl -LiolRTQlQkIlQTQKIS0tTGluZyBCYSBYaWFuIFpoYW5nCi5nb29nbGUuKiVFOSU5 -QiVCNiVFNSU4NSVBQiolRTUlQUUlQUElRTclQUIlQTAKIS0tTGl1IFFpCi5nb29n -bGUuKnNlYXJjaColRTUlODglOTglRTYlQjclODcKIS0tTGl1ICogU2kKLmdvb2ds -ZS4qJUU1JTg1JUFEKiVFNSU5QiU5QgohLS1MdSBYaQouZ29vZ2xlLiolRTklQjIl -ODElRTYlOTglOTUKIS0tTWEgS2FpCi5nb29nbGUuKiVFOSVBOSVBQyVFNSU4NyVB -RgohLS1NYSBMaQouZ29vZ2xlLiolRTklQTklQUMlRTUlOEElOUIKIS0tTWFpIERh -bmcgTGFvIHwgTWNEb25hbGQKLmdvb2dsZS4qJUU5JUJBJUE2JUU1JUJEJTkzJUU1 -JThBJUIzCiEtLU1hbyBYaWFuZyBIdWkKLmdvb2dsZS4qJUU2JUFGJTlCJUU1JTkw -JTkxJUU4JUJFJTg5CiEtLU1lbmcgR3UrU2hpIFdlaQouZ29vZ2xlLiolRTUlODYl -ODUlRTglOTIlOTkqJUU3JUE0JUJBJUU1JUE4JTgxCiEtLU1lbmcgSmlhbiBaaHUK -Lmdvb2dsZS4qJUU1JUFEJTlGJUU1JUJCJUJBJUU2JTlGJUIxCiEtLU1lbmcgWWlu -ZyBXZWkgTWluZyBIdQouZ29vZ2xlLiolRTYlQTIlQTYlRTglOTAlQTYlRTYlOUMl -QUElRTUlOTAlOEQlRTYlQjklOTYKIS0tTWlhbiBGZWkgKiBWUE4KLmdvb2dsZS4q -JUU1JTg1JThEJUU4JUI0JUI5KnZwbgohLS1NbyBMaQouZ29vZ2xlLiolRTglOEMl -ODklRTglOEUlODkKIS0tTW8gUmkgR2VuCi5nb29nbGUuKiVFOCU4RSVBQiVFNiU5 -NyVBNSVFNiVBMCVCOQohLS1OYSBNaSBCaSBZYQouZ29vZ2xlLiolRTclQkElQjMl +UmVzdHJpY3RlZC0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8YWx0cmVjLmNvbQp8fGRh +cnBhLm1pbAohLS18fGRtbS5jb20KfHxmYXN0cGljLnJ1Cnx8ZnhuZXR3b3Jrcy5j +b20KaHVsdS5jb20KaHVsdWltLmNvbQp8aHR0cDovL3d3dy5pbG92ZWxvbmd0b2Vz +LmNvbS8KfHxtdXp1LnR2Cnx8bmV0ZmxpeC5jb20KfHxwYW5kb3JhLmNvbQoucGFu +ZG9yYS50dgp8aHR0cDovL3d3dy5wYXJrYW5za3kuY29tCnxodHRwOi8vKi5waW1n +LnR3Lwp8fHB1cmUxOC5jb20KfHxyZGlvLmNvbQp8fHNsYWNrZXIuY29tCnx8c3Bv +dGlmeS5jb20KfHx0YXJnZXQuY29tCnx8dHVybnRhYmxlLmZtCnx8dmV2by5jb20K +fHx6YXR0b28uY29tCnx8cXEuY28uemEKfHx6b3pvdG93bi5jb20KCiEtLS0tLS0t +LS0tLS0tLS0tLS0tLU51bS0tLS0tLS0tLS0tLS0tLS0tLS0tCi4wcnoudHcKfGh0 +dHA6Ly8wcnoudHcKfHwwdG8yNTUuY29tCjEtYXBwbGUuY29tLnR3Cnx8MS1hcHBs +ZS5jb20udHcKfHwxMG11c3VtZS5jb20KMTIzcmYuY29tCi4xMmJldC5jb20KfHwx +MmJldC5jb20KLjEydnBuLmNvbQp8fDEydnBuLmNvbQoxNDFob25na29uZy5jb20v +Zm9ydW0KLjE3M25nLmNvbQp8fDE3M25nLmNvbQoxOTg0YmJzLmNvbQp8fDE5ODRi +YnMuY29tCiEtLXx8MTk4NGJsb2cuY29tCi4xOTg0YmJzLm9yZwp8fDE5ODRiYnMu +b3JnCi4xYmFvLm9yZwp8aHR0cDovLzFiYW8ub3JnCnx8MXBvbmRvLnR2Ci4xZWV3 +LmNvbQouMi1oYW5kLmluZm8KLjIwMDBmdW4uY29tL2JicwouMjAwOHhpYW56aGFu +Zy5pbmZvCnx8MjAwOHhpYW56aGFuZy5pbmZvCjIxYW5keS5jb20vYmxvZwoyNHNt +aWxlLm9yZwouMnNoYXJlZC5jb20KLjMxNWx6LmNvbQp8fDMycmVkLmNvbQp8fDM2 +cmFpbi5jb20KfHw0Ymx1ZXN0b25lcy5iaXoKfHw0Y2hhbi5vcmcKfHw0c2hhcmVk +LmNvbQo1aTAxLmNvbQp0YWl3YW5uYXRpb24uNTB3ZWJzLmNvbQp8fDUxLmNhCi41 +bWFvZGFuZy5jb20KfHw2LTQubmV0Lwo2NG1lbW8KNjR0aWFud2FuZy5jb20KNjR3 +aWtpLmNvbQo2NjZrYi5jb20KNnBhcmsuY29tCnx8NnBhcmsuY29tCnx8d3d3LjZ2 +NmRvdGEuY29tCnx8N2NhcHR1cmUuY29tCi44ODE5MDMuY29tL3BhZ2UvemgtdHcv +Ci44ODguY29tCnx8ODgxOTAzLmNvbQo4OS02NC5vcmcKfHw4OS02NC5vcmcKLjkw +MDE3MDAuY29tCnxodHRwOi8vOTA4dGFpd2FuLm9yZy8KfGh0dHA6Ly85MXBvcm4u +Y29tCi45MmNjYXYuY29tCnx8OWJpcy5jb20KfHw5YmlzLm5ldAoKIS0tLS0tLS0t +LS0tLS0tLS0tLS0tQUEtLS0tLS0tLS0tLS0tLS0tLS0tLQp8fGEtbm9ybWFsLWRh +eS5jb20KYTUuY29tLnJ1CnxodHRwOi8vY2RuKi5hYmMuY29tLwouYWJsd2FuZy5j +b20KLmFib2x1b3dhbmcuY29tCnx8YWJvbHVvd2FuZy5jb20KLmFib3V0Z2Z3LmNv +bQp8fGFjZ2tqLmNvbQphY3RpbWVzLmNvbS5hdQp8fGFjdWxvLnVzCnx8YWRkaWN0 +ZWR0b2NvZmZlZS5kZQphZHVsdGZyaWVuZGZpbmRlci5jb20KYWR1bHRrZWVwLm5l +dC9wZWVwc2hvdy9tZW1iZXJzL21haW4uaHRtCnx8YWR2YW5zY2VuZS5jb20KfHxh +ZHZlcnRmYW4uY29tCnx8YWVuaGFuY2Vycy5jb20KfHxhZi5taWwKYWlwaC5uZXQK +fHxhaXBoLm5ldAouYWlzZXguY29tCnx8YWl0Lm9yZy50dwouYWl3ZWl3ZWlibG9n +LmNvbQp8fGFpd2Vpd2VpYmxvZy5jb20KfHxhamF4cGxvcmVyLmluZm8KfHx3d3cu +YWpzYW5kcy5jb20KCiEtLS0tLS0tLS1Ba2FtYWloZC0tLS0tLS0tLQp8aHR0cHM6 +Ly9mYmNkbiouYWthbWFpaGQubmV0LwoKfHxha2liYS1vbmxpbmUuY29tCnx8YWwt +cWltbWFoLm5ldAp8fGFsYWJvdXQuY29tCnx8YWxhc2JhcnJpY2FkYXMub3JnCnx8 +bm90ZXMuYWxleGRvbmcuY29tCmFsZXhsdXIub3JnCmFsaWVuZ3UuY29tCnx8YWxr +YXNpci5jb20KYWxsZ2lybHNhbGxvd2VkLm9yZwphbGxpYW5jZS5vcmcuaGsKLmFs +bGluZmEuY29tCnxodHRwOi8vYWxsaW5mYS5jb20KfHxhbGxpbmZvLmNvbQp8fGFs +bG1vdmllLmNvbQp8fGFsdGVybmF0ZS10b29scy5jb20KYWx2aW5hbGV4YW5kZXIu +Y29tCmFsd2F5c2RhdGEuY29tCnx8YWx3YXlzZGF0YS5jb20KfHxhbHdheXNkYXRh +Lm5ldAp8fGFtNzMwLmNvbS5oawphbWF6b24uY29tL1ByaXNvbmVyLVN0YXRlLVNl +Y3JldC1Kb3VybmFsLVByZW1pZXIKYW1lYmxvLmpwCnx8YW1lYmxvLmpwCnx8YW1l +cmljYW5ncmVlbmNhcmQuY29tCnx8YW1pYmxvY2tlZG9ybm90LmNvbQouYW1uZXN0 +eS5vcmcKfHxhbW5lc3R5Lm9yZwouYW1uZXN0eXVzYS5vcmcKfHxhbW5lc3R5dXNh +Lm9yZwouYW1vaWlzdC5jb20KYW16cy5tZQphbmFseXplLXYuY29tCnx8YW5jaG9y +ZnJlZS5jb20KfHxhbmRmYXJhd2F5Lm5ldAp8fGFuZHJvaWQuY29tCnx8YW5ndWxh +cmpzLm9yZwphbmltZWNyYXp5Lm5ldAp8fGFub2JpaS5jb20KLmFub255bWl6ZXIu +Y29tCmFub250ZXh0LmNvbQouYW5zd2VyaW5nLWlzbGFtLm9yZwp8fGFudGhvbnlj +YWx6YWRpbGxhLmNvbQouYW50aXdhdmUubmV0CnxodHRwOi8vYW50aXdhdmUubmV0 +Cnx8YW9iby5jb20uYXUKfHxhb2xjaGFubmVscy5hb2wuY29tCnZpZGVvLmFvbC5j +YS92aWRlby1kZXRhaWwKdmlkZW8uYW9sLmNvLnVrL3ZpZGVvLWRldGFpbAp2aWRl +by5hb2wuY29tCnx8dmlkZW8uYW9sLmNvbQp3d3cuYW9sbmV3cy5jb20KfHxhb21p +d2FuZy5jb20KdmlkZW8uYXAub3JnCi5hcGV0dWJlLmNvbQp8fGFwaWFyeS5pbwou +YXBpZ2VlLmNvbQp8fGFwaWdlZS5jb20KYXBwbGVkYWlseS5jb20KYXJjaGl2ZS5p +cwp8fGFyY2hpdmUub3JnCi5hcmN0b3NpYS5jb20KfGh0dHA6Ly9hcmN0b3NpYS5j +b20KfHxhcmVjYS1iYWNrdXAub3JnCnx8YXJteS5taWwKYXJ0c3kubmV0Ci5hc2Fo +aWNoaW5lc2UuY29tCnx8YXNhaGljaGluZXNlLmNvbQphc2RmZy5qcC9kYWJyCi5h +c2lhaGFydmVzdC5vcmcKfHxhc2lhaGFydmVzdC5vcmcKYXNpYW5ld3MuaXQKfHxh +c2lhbndvbWVuc2ZpbG0uZGUKfHxhc2tzdHVkZW50LmNvbQouYXNreW56Lm5ldAp8 +fGFza3luei5uZXQKfHxhc3NlbWJsYS5jb20KfHxhc3Rvbm1hcnRpbm5ld3MuY29t +Cnx8YXRjLm9yZy5hdQouYXRjaGluZXNlLmNvbQp8aHR0cDovL2F0Y2hpbmVzZS5j +b20KYXRnZncub3JnCnx8YXRqLm9yZy50dwouYXRsYXNwb3N0LmNvbQp8fGF0bGFz +cG9zdC5jb20KLmF0bmV4dC5jb20KfHxhdG5leHQuY29tCmF2YWF6Lm9yZwp8fGF2 +YWF6Lm9yZwphdmRiLmluCnx8YXZpZGVtdXgub3JnCnx8YXZvaXNpb24uY29tCnx8 +YXh1cmVmb3JtYWMuY29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1CQi0tLS0tLS0t +LS0tLS0tLS0tLS0tCmZvcnVtLmJhYnkta2luZ2RvbS5jb20KYmFieW5ldC5jb20u +aGsKYmFja2NoaW5hLmNvbQp8fGJhY2tjaGluYS5jb20KLmJhY2twYWNrZXJzLmNv +bS50dy9mb3J1bQpiYWRvby5jb20KfHxiYWlkdS5qcAp8fGJhaXhpbmcubWUKaGVu +LmJhby5saQpiYW5uZWRib29rLm9yZwp8fGJhbm5lZGJvb2sub3JnCnx8YmFybmFi +dS5jby51awpiYXl2b2ljZS5uZXQKfHxiYXl2b2ljZS5uZXQKZGFqdXNoYS5iYXl3 +b3Jkcy5jb20KLmJiYy5jby51aypjaGluZXNlCi5iYmMuY28udWsvdHYKLmJiYy5j +by51ayp6aG9uZ3dlbgpuZXdzLmJiYy5jby51ay9vbnRoaXNkYXkqbmV3c2lkXzI0 +OTYwMDAvMjQ5NjI3NwpuZXdzZm9ydW1zLmJiYy5jby51awouYmJjY2hpbmVzZS5j +b20KfHxiYmNjaGluZXNlLmNvbQp8aHR0cDovL2JiYy5pbgouYmJnLmdvdgp8fGJi +c2ZlZWQuY29tCmJic2xhbmQuY29tCi5iY2MuY29tLnR3L2JvYXJkCi5iY2NoaW5l +c2UubmV0Ci5iZWJvLmNvbQp8fGJlYm8uY29tCnx8YmVpamluZzE5ODkuY29tCmJl +aWppbmdzcHJpbmcuY29tCnx8YmVpamluZ3NwcmluZy5jb20KLmJlcmxpbnR3aXR0 +ZXJ3YWxsLmNvbQp8fGJlcmxpbnR3aXR0ZXJ3YWxsLmNvbQouYmVzdGZvcmNoaW5h +Lm9yZwp8fGJlc3Rmb3JjaGluYS5vcmcKLmJlc3R2cG5zZXJ2aWNlLmNvbQp8fGJl +dDM2NS5jb20KLmJldGZhaXIuY29tCi5iZXR0d2Vlbi5jb20KfHxiZXR0d2Vlbi5j +b20KfHxiZXR2aWN0b3IuY29tCi5iZXd3dy5uZXQKfHxiZm5uLm9yZwp8fGJmc2gu +aGsvCmJpYW50YWlsYWppYW8uY29tCmJpYW50YWlsYWppYW8uaW4KYmlnZm9vbHMu +Y29tCi5iaWduZXdzLm9yZwp8fGJpZ25ld3Mub3JnCi5iaWdzb3VuZC5vcmcvcG9y +dG5veQp8fGJpbGwyLXNvZnR3YXJlLmNvbQpiaWxseXBhbi5jb20vd2lraS8lRTkl +QTYlOTYlRTklQTAlODEKfHxiaWxseXdyLmNvbQpiaXBpYy5uZXQKLmJpdC5seQp8 +aHR0cDovL2JpdC5seQohLS18fGJpdGJ1Y2tldC5vcmcKfHxiaXRjb2ludGFsay5v +cmcKLmJpdHNoYXJlLmNvbQp8fGJpdHNoYXJlLmNvbQohLXxodHRwOi8vYml0c25v +b3AuY29tCmJqemMub3JnCnx8Ymp6Yy5vcmcvCnRvci5ibGluZ2JsaW5nc3F1YWQu +bmV0Ci5ibGlua3guY29tCnx8Ymxpbmt4LmNvbQpibGludy5jb20KLmJsaXAudHYK +fHxibGlwLnR2LwouYmxvY2tjbi5jb20KfHxibG9ja2NuLmNvbQp8fGJsb2cuZGUK +fHxibG9nYmxvZy5jb20KLmJsb2djYXRhbG9nLmNvbQp8fGJsb2djYXRhbG9nLmNv +bQouYmxvZ2dlci5jb20KfHxibG9nZ2VyLmNvbQpibG9naW1nLmpwCnx8YmxvZy5r +YW5neWUub3JnCi5ibG9nbGluZXMuY29tCnx8YmxvZ2xpbmVzLmNvbQp8fGJsb2ds +b3Zpbi5jb20KcmNvbnZlcnNhdGlvbi5ibG9ncy5jb20KL15odHRwcz86XC9cL1te +XC9dK2Jsb2dzcG90XC4oLiopLwpibG9ndGQubmV0Ci5ibG9ndGQub3JnCnxodHRw +Oi8vYmxvZ3RkLm9yZwp8fGJsb29kc2hlZC5uZXQKLmJsb29tYmVyZy5jbgp8fGJs +b29tYmVyZy5jbgouYmxvb21iZXJnLmNvbQp8fGJsb29tYmVyZy5jb20KYmxvb21i +ZXJnLmRlCnx8Ymxvb21iZXJnLmRlCnx8Ymxvb21mb3J0dW5lLmNvbQp8fGJucm1l +dGFsLmNvbQpib2FyZHJlYWRlci5jb20vdGhyZWFkCnx8Ym9hcmRyZWFkZXIuY29t +CmJvbmJvbm1lLmNvbQp8fGJvb2tzLmNvbS50dwouYm90YW53YW5nLmNvbQouYm90 +Lm51Ci5ib3dlbnByZXNzLmNvbQp8fGJvd2VucHJlc3MuY29tCmRsLmJveC5uZXQK +fHxkbC5ib3gubmV0CmJveHVuLmNvbQp8fGJveHVuLmNvbQouYm94dW4udHYKfHxi +b3h1bi50dgpib3h1bmJsb2cuY29tCnx8Ym94dW5ibG9nLmNvbQp8fGJyLnN0Cnx8 +YnJhbmRvbmh1dGNoaW5zb24uY29tCnx8YnJhdW1laXN0ZXIub3JnCi5icmVhay5j +b20KfHxicmVhay5jb20KLmJyZWFraW5ndHdlZXRzLmNvbQp8fGJyZWFraW5ndHdl +ZXRzLmNvbQouYnJpZWZkcmVhbS5jb20vJUU3JUI0JUEwJUU2JUEzJUJBCmJyaWdo +dGtpdGUuY29tCnx8YnJpZ2h0a2l0ZS5jb20KYnJpenpseS5jb20KfHxicml6emx5 +LmNvbQpicm9hZGJvb2suY29tCmlicm9zLm9yZwpicnVjZXdhbmcubmV0Cnx8YnQ5 +NS5jb20KfGh0dHA6Ly9idGRpZ2cub3JnCi5idWRhZWR1Lm9yZwp8fGJ1ZGFlZHUu +b3JnCi5idWxsb2cub3JnCnx8YnVsbG9nLm9yZwouYnVsbG9nZ2VyLmNvbQp8fGJ1 +bGxvZ2dlci5jb20KLmJ1c2luZXNzd2Vlay5jb20KIS0tYnVzaW5lc3N0aW1lcwou +YnVzaW5lc3N0aW1lcy5jb20uY24KfGh0dHA6Ly9idXNpbmVzc3RpbWVzLmNvbS5j +bgp8fGJ1Z2NsdWIub3JnCnx8YnV1Z2FhLmNvbQpidXp6dXJsLmpwCmJ3c2ouaGsK +fHxieC50bApob2x6LmJ5ZXRob3N0OC5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0t +LUNDLS0tLS0tLS0tLS0tLS0tLS0tLS0KLmMtc3BhbnZpZGVvLm9yZwp8fGMtc3Bh +bnZpZGVvLm9yZwp8fGMtZXN0LXNpbXBsZS5jb20KLmNhY253LmNvbQouY2FjdHVz +dnBuLmNvbQp8fGNhY3R1c3Zwbi5jb20KLmNhZmVwcmVzcy5jb20KLmNhaHIub3Jn +LnR3Ci5jYWxhbWVvLmNvbS9ib29rcwpjbi5jYWxhbWVvLmNvbQp8aHR0cDovL2Nu +LmNhbGFtZW8uY29tCnx8Y2Ftcy5jb20KLmNhbXMub3JnLnNnCmNhbmFkYW1lZXQu +Y29tCnxodHRwOi8vYmJzLmNhbnRvbmVzZS5hc2lhLwohLS1odHRwOi8vd3d3LmNh +bnRvbmVzZS5hc2lhL2FjdGlvbi1iYnMuaHRtbAouY2FueXUub3JnCi5jYW8uaW0K +LmNhb2JpYW4uaW5mbwp8fGNhb2JpYW4uaW5mbwp8aHR0cDovL2NhdGNhdGJveC5j +b20vZm9ydW0ucGhwKgpjYW9jaGFuZ3FpbmcuY29tCnx8Y2FvY2hhbmdxaW5nLmNv +bQpjYXJpLmNvbS5teQp8fGNhdGNoMjIubmV0Cnx8Y2F0ZmlnaHRwYXlwZXJ2aWV3 +Lnh4eAouY2F0aG9saWMub3JnLmhrCnx8Y2F0aG9saWMub3JnLmhrCmNhdGhvbGlj +Lm9yZy50dwp8fGNhdGhvbGljLm9yZy50dwouY2JzbmV3cy5jb20vdmlkZW8KfHxj +Y2F2dG9wMTAuY29tCiEtLmNjYy5kZQohLXx8Y2NjLmRlCi5jY2R0ci5vcmcKfHxj +Y2R0ci5vcmcKLmNjaW0ub3JnCmNjbGlmZS5vcmcKLmNjdGhlcmUuY29tCi5jY3Rv +bmdiYW8uY29tL2FydGljbGUvMjA3ODczMgpjY3VlLmNhCmNjdWUuY29tCi5jZ2Rl +cG90Lm9yZwp8aHR0cDovL2NnZGVwb3Qub3JnCnx8Y2RpZy5pbmZvCmNkanAub3Jn +Cnx8Y2RqcC5vcmcvCi5jZG5ld3MuY29tLnR3CmNkcDE5OTgub3JnCnx8Y2RwMTk5 +OC5vcmcKY2RwMjAwNi5vcmcKfHxjZHAyMDA2Lm9yZwpjZHB1c2Eub3JnCmNkcHdl +Yi5vcmcKfHxjZHB3ZWIub3JnCmNkcHd1Lm9yZwp8fGNkcHd1Lm9yZwp8fGNkdy5j +b20KLmNlY2MuZ292Cnx8Y2VjYy5nb3YKfHxjZWxsdWxvLmluZm8KfHxjZW5jaS50 +awp8fGNlbmV3cy5ldQp8fGNlbnRyYWxuYXRpb24uY29tCi5jZW50dXJ5cy5uZXQK +fGh0dHA6Ly9jZW50dXJ5cy5uZXQKLmNmaGtzLm9yZy5oawouY2Z0ZmMuY29tCnx8 +Y2hhbmRvby5vcmcKLmNoYW5nZS5vcmcKfGh0dHA6Ly9jaGFuZ2Uub3JnCi5jaGFu +Z3AuY29tCnx8Y2hhbmdwLmNvbQouY2hhcG0yNS5jb20KLmNoYXR1cmJhdGUuY29t +CmNoZW5nbWluZ21hZy5jb20KLmNoZW5ndWFuZ2NoZW5nLmNvbQp8fGNoZW5ndWFu +Z2NoZW5nLmNvbQpjaGVucG9rb25nLmNvbQp8fGNoZXJyeXNhdmUuY29tCnxodHRw +Oi8vY2hpY2Fnb25jbXR2LmNvbQouY2hpbmEtd2Vlay5jb20KY2hpbmExMDEuY29t +Cnx8Y2hpbmExMDEuY29tCnx8Y2hpbmEyMS5jb20KY2hpbmEyMS5vcmcKfHxjaGlu +YTIxLm9yZwouY2hpbmE1MDAwLnVzCmNoaW5hYWZmYWlycy5vcmcKfHxjaGluYWFm +ZmFpcnMub3JnCnx8Y2hpbmFhaWQubWUKY2hpbmFhaWQudXMKY2hpbmFhaWQub3Jn +CmNoaW5hYWlkLm5ldApjaGluYWNvbW1lbnRzLm9yZwp8fGNoaW5hY29tbWVudHMu +b3JnCmNoaW5hY2hhbmdlLm9yZwpjaGluYWNoYW5uZWwuaGsKfHxjaGluYWNoYW5u +ZWwuaGsKLmNoaW5hZGlnaXRhbHRpbWVzLm5ldAp8fGNoaW5hZGlnaXRhbHRpbWVz +Lm5ldAouY2hpbmFld2Vla2x5LmNvbQp8fGNoaW5hZXdlZWtseS5jb20KfHxjaGlu +YWZyZWVwcmVzcy5vcmcKLmNoaW5hZ2F0ZS5jb20KY2hpbmFnZWVrcy5vcmcKY2hp +bmFnZncub3JnCnx8Y2hpbmFnZncub3JnCi5jaGluYWdyZWVucGFydHkub3JnCnx8 +Y2hpbmFncmVlbnBhcnR5Lm9yZwouY2hpbmFodXNoLmNvbQpjaGluYWxhd3RyYW5z +bGF0ZS5jb20KY2hpbmF4Y2hpbmEuY29tL2hvd3RvCi5jaGluYWlucGVyc3BlY3Rp +dmUuY29tCmNoaW5haW5wZXJzcGVjdGl2ZS5uZXQvQXJ0U2hvdy5hc3B4Pwp8fGNo +aW5haW5wZXJzcGVjdGl2ZS5uZXQKLmNoaW5haW5wZXJzcGVjdGl2ZS5vcmcKfHxj +aGluYWlucGVyc3BlY3RpdmUub3JnCnx8Y2hpbmFpbnRlcmltZ292Lm9yZwpjaGlu +YWxhd2FuZHBvbGljeS5jb20KLmNoaW5hbXVsZS5jb20KfHxjaGluYW11bGUuY29t +CmNoaW5hbXoub3JnCi5jaGluYXJpZ2h0c2lhLm9yZwpjaGluYXNvY2lhbGRlbW9j +cmF0aWNwYXJ0eS5jb20KfHxjaGluYXNvY2lhbGRlbW9jcmF0aWNwYXJ0eS5jb20K +Y2hpbmFzb3VsLm9yZwp8fGNoaW5hc291bC5vcmcKY2hpbmF0aW1lcy5jb20KY2hp +bmF0d2VlcHMuY29tCmNoaW5hd2F5Lm9yZwouY2hpbmF3b3JrZXIuaW5mbwp8fGNo +aW5hd29ya2VyLmluZm8KY2hpbmF5b3V0aC5vcmcuaGsKY2hpbmF5dWFubWluLm9y +Zwp8fGNoaW5heXVhbm1pbi5vcmcKLmNoaW5lc2UtaGVybWl0Lm5ldApjaGluZXNl +LW1lbW9yaWFsLm9yZwp8fGNoaW5lc2VkYWlseW5ld3MuY29tCi5jaGluZXNlbi5k +ZQp8fGNoaW5lc2VuLmRlCmNoaW5lc2VuZXdzbmV0LmNvbQouY2hpbmVzZXBlbi5v +cmcKLmNoaW5lc2V0YWxrcy5uZXQvY2gKLmNoaW5nY2hlb25nLmNvbQp8fGNoaW5n +Y2hlb25nLmNvbQpjaG4uY2hvc3VuLmNvbQpjaHJpc3RpYW5zdHVkeS5jb20KfHxj +aHJpc3RpYW5zdHVkeS5jb20KY2hyaXN0dXNyZXgub3JnL3d3dzEvc2RjCnx8Y2hy +bGNnLWhrLm9yZwp8fGNocm9tZS5jb20KfHxjaHJvbWVhZGJsb2NrLmNvbQpjaHVi +dW4uY29tCmNodWl6aS5uZXQKfHxjaHVpemkubmV0CiEtLXNhbWUgaXAKfHxjaHJp +c3BlZGVyaWNrLmNvbQp8fGNocmlzcGVkZXJpY2submV0Cnx8Y2hyaXN0aWFudGlt +ZXMub3JnLmhrCi5jaHJsYXd5ZXJzLmhrCnx8YWxsYWJvdXRhbHBoYS5jb20KLmNp +cmNsZXRoZWJheWZvcnRpYmV0Lm9yZwouY2l0aXplbmxhYi5vcmcKY2l0aXplbnNy +YWRpby5vcmcKY2l0eTl4LmNvbQouY2l2aWNwYXJ0eS5oawp8fGNpdmljcGFydHku +aGsKY2l2aWxocmZyb250Lm9yZwp8fGNpdmlsaHJmcm9udC5vcmcKcHNpcGhvbi5j +aXZpc2VjLm9yZwp8fGNqYi5uZXQKLmNrMTAxLmNvbQp8fGNrMTAxLmNvbQp8fGNs +YXNzaWNhbGd1aXRhcmJsb2cubmV0Ci5jbGIub3JnLmhrCi5jbGlwZmlzaC5kZQp8 +aHR0cDovL3d3dy5jbW9pbmMub3JnCi5jbXVsZS5jb20KfHxjbXVsZS5jb20KfHxj +bXMuZ292Cnx8Y25hLmNvbS50dwouY25hdmlzdGEuY29tLnR3L3Nob3Avc3RvcmVz +X2FwcAouY25kLm9yZwp8fGNuZC5vcmcvCndpa2kuY25pdHRlci5jb20KLmNubi5j +b20vdmlkZW8KbmV3cy5jbnllcy5jb20KfHxjb2NoaW5hLm9yZwouY29kZTE5ODQu +Y29tLzY0Cnx8Y29kZXNoYXJlLmlvCnxodHRwOi8vdG9zaC5jb21lZHljZW50cmFs +LmNvbQpjb21lZnJvbWNoaW5hLmNvbQp8fGNvbWVmcm9tY2hpbmEuY29tCnx8Y29t +cGlsZWhlYXJ0LmNvbQp8fGNvbm95by5jb20KLmNvbnRhY3RtYWdhemluZS5uZXQK +LmNvb2xhbGVyLmNvbQp8fGNvb2xhbGVyLmNvbQpjb29sZGVyLmNvbQp8fGNvb2xk +ZXIuY29tCnx8Y29vbGxvdWQub3JnLnR3CmNvcnVtY29sbGVnZS5jb20KfHxjb3Vj +aGRid2lraS5jb20KfHxjb3R3ZWV0LmNvbQpjcGoub3JnCnx8Y3BqLm9yZy8KY3Jh +Y2tsZS5jb20KfHxjcmFja2xlLmNvbQpjcmQtbmV0Lm9yZwpjcmVhZGVycy5uZXQK +fHxjcmVhZGVycy5uZXQKLmNyb3NzdGhld2FsbC5uZXQKfHxjcm9zc3RoZXdhbGwu +bmV0CmNzZHBhcnR5LmNvbQp8fGNzZHBhcnR5LmNvbQp8fGNzdWNoZW4uZGUKY3Rz +LmNvbS50dwouY3Voa2Fjcy5vcmcvfmJlbm5nCi5jdWlodWEub3JnCnx8Y3VpaHVh +Lm9yZwouY3Vpd2VpcGluZy5uZXQKfHxjdWl3ZWlwaW5nLm5ldAp8fGN1cnZlZmlz +aC5jb20KLmN1bHR1cmUudHcKfHxjdWx0dXJlLnR3CmZvcnVtLmN5YmVyY3RtLmNv +bS9mb3J1bQp8fGN5YmVyZ2hvc3R2cG4uY29tCnx8Y3luc2NyaWJlLmNvbQpjeXRv +ZGUudXMKfHxpZmFuLmN6LmNjCnx8bWlrZS5jei5jYwp8fG5pYy5jei5jYwoKIS0t +LS0tLS0tLS0tLS0tLS0tLS0tREQtLS0tLS0tLS0tLS0tLS0tLS0tLQpjbC5kMHou +bmV0Ci5kYWJyLmNvLnVrCnx8ZGFici5jby51awpkYWJyLm1vYmkKfHxkYWJyLm1v +YmkKfHxkYWJyLm1lCmRhZGF6aW0uY29tCnx8ZGFkYXppbS5jb20KLmRhZGkzNjAu +Y29tCmRhZmFnb29kLmNvbQpkYWZhaGFvLmNvbQp8fGRhbGFpbGFtYS5ydQouZGFp +bGlkYWlsaS5jb20KfHxkYWlsaWRhaWxpLmNvbQouZGFpbHltb3Rpb24uY29tCi5k +YWppeXVhbi5jb20KLmRhaml5dWFuLmV1CmRhbGFpbGFtYS5jb20KLmRhbGFpbGFt +YXdvcmxkLmNvbQp8fGRhbGFpbGFtYXdvcmxkLmNvbQpkYWxpYW5tZW5nLm9yZwp8 +fGRhbGlhbm1lbmcub3JnCi5kYW5rZTRjaGluYS5uZXQKfHxkYW5rZTRjaGluYS5u +ZXQKLmRhbndlaS5vcmcKZGFvbGFuLm5ldApkYXhhLmNuCnx8ZGF4YS5jbi8KY24u +ZGF5YWJvb2suY29tCi5kYXlsaWZlLmNvbS90b3BpYy9kYWxhaV9sYW1hCi5kZGMu +Y29tLnR3Cnx8ZGUtc2NpLm9yZwouZGUtc2NpLm9yZwpsaXN0cy5kZWJpYW4ub3Jn +CnBhY2thZ2VzLmRlYmlhbi5vcmcvemgtY24vbGVubnkvZ3Bhc3MKfHxkZWxjYW1w +Lm5ldApkZWxpY2lvdXMuY29tL0dGV2Jvb2ttYXJrCi5kZW1vY3JhdHMub3JnCnx8 +ZGVtb2NyYXRzLm9yZwp8fGRlc2Muc2UvCnx8ZGV1dHNjaGUtd2VsbGUuZGUKfHxk +ZXYxMDIuY29tCnx8ZGV2aWFudGFydC5jb20KfHxkZXZpby51cwp8fGRldnBuLmNv +bQp8aHR0cDovL3d3dy5kZmFubmluZy5jb20KfHxkZmFzLm1pbAouZGlhb3l1aXNs +YW5kcy5vcmcKfHxkaWFveXVpc2xhbmRzLm9yZwpzdGF0aWMuZGlnZy5jb20KfHxk +aWdpdGFsbm9tYWRzcHJvamVjdC5vcmcKLmRpaWdvLmNvbQp8fGRpaWdvLmNvbQp8 +fGZ1cmwubmV0Ci5kaXBpdHkuY29tCnx8ZGlyZWN0Y3JlYXRpdmUuY29tCi5kaXNj +dXNzLmNvbS5oawp8fGRpc2N1c3MuY29tLmhrCmRpc3AuY2MKLmRpdC1pbmMudXMK +fHxkaXQtaW5jLnVzCi5kaXpoaWRpemhpLmNvbQpkamFuZ29zbmlwcGV0cy5vcmcK +fHxkbC1sYWJ5LmpwCnx8ZGxzaXRlLmNvbQp8fGRtY2RuLm5ldAp8fGRuc2NyeXB0 +Lm9yZwp8fGRuczJnby5jb20KLmRvamluLmNvbQouZG9rLWZvcnVtLm5ldAp8fGRv +bGMuZGUKfHxkb2xsZi5jb20KLmRvbWFpbi5jbHViLnR3CmRvbmdkZS5jb20KZG9u +Z3RhaXdhbmcuY29tCnx8ZG9uZ3RhaXdhbmcuY29tCi5kb25ndGFpd2FuZy5uZXQK +fHxkb25ndGFpd2FuZy5uZXQKLmRvbmd5YW5namluZy5jb20KLmRvbnRmaWx0ZXIu +dXMKfHxkb250bW92ZXRvY2hpbmEuY29tCi5kb3RwbGFuZS5jb20KfHxkb3RwbGFu +ZS5jb20KfHxkb3RzdWIuY29tCmRvdWJsZWFmLmNvbQp8fGRvdWdzY3JpcHRzLmNv +bQpkb3dlaS5vcmcKfHxkb3h5Z2VuLm9yZwpkcGhrLm9yZwpkcHAub3JnLnR3Cnx8 +ZHBwLm9yZy50dwp8fHdlaWdlZ2VieWMuZHJlYW1ob3N0ZXJzLmNvbQp8fGRyZ2Fu +Lm5ldAp8fGRyb3Bib3guY29tCnx8ZHJvcGJveHVzZXJjb250ZW50LmNvbQpkcnN1 +bmFjYWRlbXkuY29tCi5kcnR1YmVyLmNvbQouZHNjbi5pbmZvCnx8ZHRpYmxvZy5j +b20KfHxkdGljLm1pbApkdGlzZXJ2Mi5jb20KfHxkdWNrZHVja2dvLmNvbQouZHVj +a2xvYWQuY29tL2Rvd25sb2FkCnx8ZHVja215bGlmZS5jb20KLmR1aWh1YS5vcmcK +fHxkdWlodWEub3JnCnx8ZHVpaHVhaHJqb3VybmFsLm9yZwouZHVvd2VpdGltZXMu +Y29tCnx8ZHVvd2VpdGltZXMuY29tCmR1cGluZy5uZXQKfHxkdXBsaWNhdGkuY29t +CmR1cG9sYS5jb20KZHVwb2xhLm5ldAp8fGR2b3Jhay5vcmcKLmR3LmRlCnxodHRw +Oi8vZHcuZGUKLmR3LXdvcmxkLmNvbQp8fGR3LXdvcmxkLmNvbQouZHctd29ybGQu +ZGUKaHR0cDovL2R3LXdvcmxkLmRlCnd3dy5kd2hlZWxlci5jb20KZHduZXdzLmNv +bQp8fGR3bmV3cy5jb20KZHduZXdzLm5ldAp8fGR3bmV3cy5uZXQKeHlzLmR4aW9u +Zy5jb20KZHkyNGsuaW5mbwp8fGR5bmF3ZWJpbmMuY29tCi5keW5kbnMub3JnCi5k +enplLmNvbQoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tRUUtLS0tLS0tLS0tLS0tLS0t +LS0tLQp8fGUtZ29sZC5jb20KLmUtZ29sZC5jb20KfGh0dHA6Ly9nLmUtaGVudGFp +Lm9yZy8KZS1pbmZvLm9yZy50dwouZS10cmFkZXJsYW5kLm5ldC9ib2FyZAouZTEy +My5oawpoa2pwLmVhc3l3ZWIuaGsKZWJvb2ticm93c2UuY29tCmVib29rZWUuY29t +CmVjbWluaXN0cnkubmV0CmJicy5lY3N0YXJ0LmNvbQp0d2ltZ1wuZWRnZXN1aXRl +XC5uZXRcL1wvP2FwcGxlZGFpbHkKZWRpY3lwYWdlcy5jb20KZWRvb3JzLmNvbQou +ZWR1YnJpZGdlLmNvbQp8fGVkdWJyaWRnZS5jb20KfHxlZXZwbi5jb20KZWZjYy5v +cmcuaGsKfHxlZm1vZS5jb20KfHxlaWMtYXYuY29tCmVsZWN0aW9uc21ldGVyLmNv +bQp8fGVscGFpcy5jb20KLmVsdG9uZGlzbmV5LmNvbQp8fGVtYWNzYmxvZy5vcmcK +LmVtb3J5LmVkdQouZW11bGUtZWQyay5jb20KfGh0dHA6Ly9lbXVsZS1lZDJrLmNv +bQouZW11cGFyYWRpc2UubWUKfHxlbmV3c3RyZWUuY29tCmNoaW5lc2UuZW5nYWRn +ZXQuY29tCnx8ZW5nbGlzaGZyb21lbmdsYW5kLmNvLnVrCnx8ZW50ZXJtYXAuY29t +CmVwb2NodGltZXMtYmcuY29tCnx8ZXBvY2h0aW1lcy1iZy5jb20KZXBvY2h0aW1l +cy1yb21hbmlhLmNvbQp8fGVwb2NodGltZXMtcm9tYW5pYS5jb20KZXBvY2h0aW1l +cy5jby5pbAp8fGVwb2NodGltZXMuY28uaWwKZXBvY2h0aW1lcy5jby5rcgp8fGVw +b2NodGltZXMuY28ua3IKZXBvY2h0aW1lcy5jb20KfHxlcG9jaHRpbWVzLmNvbQpl +cG9jaHRpbWVzLmRlCmVwb2NodGltZXMuZnIKLmVwb2NodGltZXMuaWUKZXBvY2h0 +aW1lcy5qcAplcG9jaHRpbWVzLnJ1CmVwb2NodGltZXMuc2UKZXBvY2h0aW1lc3Ry +LmNvbQp8fGVwb2Nod2Vla2x5LmNvbQplcmFiYXJ1Lm5ldAouZXJlcHVibGlrLmNv +bQp8fGVybmVzdG1hbmRlbC5vcmcKfHxlcmlnaHRzLm5ldApldGFpd2FubmV3cy5j +b20KfHxldGl6ZXIub3JnCi5ldHRvZGF5Lm5ldAp3d3cuZXVsYW0uY29tCmV2ZW50 +ZnVsLmNvbQp8fGV4YmxvZy5qcAp8fGJsb2cuZXhibG9nLmNvLmpwCkBAfHx3d3cu +ZXhibG9nLmpwCnx8ZXhwYXRzaGllbGQuY29tCnx8ZXhwbG9hZGVyLm5ldAouZXh0 +cmVtZXR1YmUuY29tCmV5ZXZpby5qcAp8fGV5ZXZpby5qcAohLS1leW55LmNvbQou +ZXpwYy50ay9jYXRlZ29yeS9zb2Z0Ci5lenBlZXIuY29tCgohLS0tLS0tLS0tLS0t +LS0tLS0tLS1GRi0tLS0tLS0tLS0tLS0tLS0tLS0tCi5mYWNlYm9vay5jb20KfHxm +YWNlYm9vay5jb20KL15odHRwcz86XC9cL1teXC9dK2ZhY2Vib29rXC5jb20vCkBA +fHwqdjYuZmFjZWJvb2suY29tCnx8Y29ubmVjdC5mYWNlYm9vay5uZXQKfHxmYWNl +c29mbnlmdy5jb20KfHxmYWl0aHRoZWRvZy5pbmZvCi5mYWtrdS5uZXQKZmFsdW5h +cnQub3JnCmZhbHVuZGFmYS5vcmcKZmFsdW5kYWZhbXVzZXVtLm9yZwp8fGZhbHVu +aHIub3JnCnx8ZmFuZ2xpemhpLmluZm8KfHxmYW5nb25nLm9yZwpmYW5nb25naGVp +a2UuY29tCmZhbnFpYW5naG91LmNvbQpmYXBkdS5jb20KIS0tLmZhcnhpYW4uY29t +Ci5mYXdhbmdodWlodWkub3JnCnx8ZmJjZG4ubmV0CmZhbnFpYW5neWFrZXhpLm5l +dApmYWlsLmhrCnx8ZmFtdW5pb24uY29tCi5mYW4tcWlhbmcuY29tCi5mYW5nYmlu +eGluZy5jb20KfHxmYW5nYmlueGluZy5jb20KZmFuZ2VtaW5nLmNvbQp8fGZhbnN3 +b25nLmNvbQouZmFueXVlLmluZm8KLmZhcndlc3RjaGluYS5jb20KfHxmYXN0bHku +bmV0CmZhdm9yaW91cy5jb20KfHxmYXZvcmlvdXMuY29tCmVuLmZhdm90dGVyLm5l +dAp8fGZhc3RzdG9uZS5vcmcKZmF2c3Rhci5mbQp8fGZhdnN0YXIuZm0KZmF5ZGFv +LmNvbS93ZWJsb2cKfHxmYi5jb20KZmIubWUKfHxmYi5tZQp8fGZic2J4LmNvbQpm +YzIuY29tCi5mYzJjaGluYS5jb20Kc2hpZmVpa2UuYmxvZzEyNS5mYzJibG9nLm5l +dAp2aWRlby5mZGJveC5jb20KLmZkYzg5LmpwCnx8Zm91cmZhY2Uubm9kZXNub29w +LmNvbQohLS1mZWVkYm9va3MubW9iaQp8fGZlZWRidXJuZXIuY29tCiEtLWZlZWRz +LmZlZWRidXJuZXIuY29tCiEtLWZlZWRzMi5mZWVkYnVybmVyLmNvbS9jaGluYWdm +d2Jsb2cKfHxmZWVkenNoYXJlLmNvbQp8fGZlZWxzc2guY29tCmZlZXIuY29tCnx8 +ZmVtaW5pc3R0ZWFjaGVyLmNvbQouZmVuZ3poZW5naHUuY29tCnx8ZmVuZ3poZW5n +aHUuY29tCmZmbGljay5jb20KZmdtdHYubmV0Ci5mZ210di5vcmcKLmZpbGVmYWN0 +b3J5LmNvbS9maWxlCi5maWxlczJtZS5jb20KfGh0dHA6Ly9maWxlczJtZS5jb20K +LmZpbGVzZXJ2ZS5jb20vZmlsZQpmaWxsdGhlc3F1YXJlLm9yZwp8fGZpbmFsaW9u +LmpwCmZpbmRib29rLnR3CmZpbmxlci5uZXQKLmZpcmVvZmxpYmVydHkub3JnCnx8 +ZmlyZW9mbGliZXJ0eS5vcmcKIS0tfHxmbGFnZm94Lm5ldAouZmFsc2VmaXJlLmNv +bQp8fGZhbHNlZmlyZS5jb20KZmxlc2hib3QuY29tCgohLS18fGZhcm02LnN0YXRp +Y2ZsaWNrci5jb20KIS0tLmZsaWNrci5jb20vcGhvdG9zLzQ2MjMxMDc3QE4wNgoh +LS0uZmxpY2tyLmNvbS9ncm91cHMvYWl3ZWl3ZWkKIS0tLmZsaWNrci5jb20vcGhv +dG9zL2RpZ2l0YWxib3kxMDAKIS0tLmZsaWNrci5jb20vcGhvdG9zL2Z6aGVuZ2h1 +CiEtLS5mbGlja3IuY29tL3Bob3Rvcy9sb25lbHlmb3gKIS0tZmxpY2tyLmNvbS9w +aG90b3MvdmFudmFuLzUyOTkyNTE1NwohLS0uZmxpY2tyLmNvbS9waG90b3Mvd2lu +dGVya2FuYWwKIS0tLmZsaWNrci5jb20vcGhvdG9zL3pvbGEKfHxmbGlja3IuY29t +Cnx8c3RhdGljZmxpY2tyLmNvbQoKZmxpY2tyaGl2ZW1pbmQubmV0Cnl1bWluZy5m +bG5ldC5vcmcKfGh0dHA6Ly9jbi5mbW5ub3cuY29tCmJsb2cuZm9vbHNtb3VudGFp +bi5jb20Kd3d3LmZvcnVtNGhrLmNvbQpwaW9uZWVyLXdvcmtlci5mb3J1bXMtZnJl +ZS5jb20KIS0tZm91cnNxdWFyZS5jb20KfGh0dHA6Ly80c3EuY29tCnx8Zm90b3Au +bmV0CnZpZGVvLmZveGJ1c2luZXNzLmNvbQp8fGZyaW5nZW5ldHdvcmsuY29tCnx8 +ZmxlY2hlaW50aGVwZWNoZS5mcgp8fGZvY3VzdGFpd2FuLnR3Ci5mb2N1c3Zwbi5j +b20KfHxmb2ZnLm9yZwouZm9vb29vLmNvbQp8fGZvb29vby5jb20KZm9vdHdpYmFs +bC5jb20KfHxmb3VydGhpbnRlcm5hdGlvbmFsLm9yZwp8fGZveGRpZS51cwp8fGZv +eHN1Yi5jb20KZm94dGFuZy5jb20KfHxmcXJvdXRlci5jb20KfHxmcmFua2xjLmNv +bQouZnJlYWtzaGFyZS5jb20KfGh0dHA6Ly9mcmVha3NoYXJlLmNvbQp8fGZyZWU0 +dS5jb20uYXIKZnJlZS1nYXRlLm9yZwouZnJlZS5mci9hZHNsCnx8YWxsb25saW51 +eC5mcmVlLmZyCnx8ZGltaXRyaWsuZnJlZS5mcgpraW5lb3guZnJlZS5mcgp8fHB1 +dHR5Y20uZnJlZS5mcgp8fGZyZWVhbGltLmNvbQp3aGl0ZWJlYXIuZnJlZWJlYXJi +bG9nLm9yZwouZnJlZWNoYWwuY29tCi5mcmVlZG9taG91c2Uub3JnCnx8ZnJlZWRv +bWhvdXNlLm9yZwouZnJlZWdhby5jb20KfHxmcmVlZ2FvLmNvbQouZnJlZS1oYWRh +LW5vdy5vcmcKLmZyZWVsb3R0by5jb20KfHxmcmVlbG90dG8uY29tCmZyZWVtYW4y +LmNvbQouZnJlZW9wZW52cG4uY29tCmZyZWVtb3Jlbi5jb20KZnJlZW1vcmVuZXdz +LmNvbQpmcmVlbmV0LWNoaW5hLm9yZwpmcmVlbmV3c2NuLmNvbQouZnJlZW96Lm9y +Zy9iYnMKfHxmcmVlb3oub3JnCnx8d3d3LmJ1bGJvdXMuZnJlZXNlcnZlLmNvLnVr +Cnx8ZnJlZXNzaC51cwouZnJlZS1zc2guY29tCnx8ZnJlZS1zc2guY29tCnx8ZnJl +ZW5ldHByb2plY3Qub3JnCi5mcmVlb3oub3JnCnx8ZnJlZXRpYmV0Lm9yZwp8fGZy +ZWV3YWxscGFwZXI0Lm1lCi5mcmVld2Vicy5jb20KfHxmcmVld2VpYm8uY29tCi5m +cmVleGlud2VuLmNvbQouZnJlZXlvdXR1YmVwcm94eS5uZXQKfHxmcmVleW91dHVi +ZXByb3h5Lm5ldApmcmllbmRmZWVkLmNvbQpmcmllbmRmZWVkLW1lZGlhLmNvbS9l +OTlhNGViZTJmYjRjMTk4NWMyYTU4Nzc1ZWI0NDIyOTYxYWE1YTJlCnxodHRwOi8v +ZmYuaW0KfGh0dHA6Ly93d3cuemVuc3VyLmZyZWVyay5jb20vCmZyZWV2cG4ubmwK +LmZyaW5nLmNvbQp8fGZyaW5nLmNvbQp8fGZyb21tZWwubmV0Ci5mcm9udGxpbmVk +ZWZlbmRlcnMub3JnCnx8ZnNja2VkLm9yZwouZnN1cmYuY29tCi5mdGNoaW5lc2Uu +Y29tL3N0b3J5LzAwMTA1NDEwMwouZnRjaGluZXNlLmNvbS8qdmlkZW8KLmZ0Y2hp +bmVzZS5jb20vY29tbWVudHMKLmZ1Y2tjbm5pYy5uZXQKfHxmdWNrY25uaWMubmV0 +CmZ1Y2tnZncub3JnCmZ1bHVlLmNvbQouZnVuZi50dwpmdW5wLmNvbQp8fGZ1cmlu +a2FuLmNvbQouZnV0dXJlY2hpbmFmb3J1bS5vcmcKfHxmdXR1cmVtZXNzYWdlLm9y +ZwouZnV5aW4ubmV0Cnx8ZncuY20KZnpoOTk5LmNvbQpmemg5OTkubmV0CgohLS0t +LS0tLS0tLS0tLS0tLS0tLS1HRy0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8Z2Fib2Nv +cnAuY29tCi5nYWVwcm94eS5jb20KfHxnYWxlbnd1LmNvbQp8fGdhbWU3MzUuY29t +CmdhbWViYXNlLmNvbS50dwp8fGdhbWVyLmNvbS50dwouZ2FtZXIuY29tLnR3Ci5n +YW1lei5jb20udHcKfHxnYW1lei5jb20udHcKLmdhb21pbmcubmV0Cnx8Z2FvbWlu +Zy5uZXQKZ2FuZ2VzLmNvbQouZ2FvcGkubmV0CnxodHRwOi8vZ2FvcGkubmV0Ci5n +YW96aGlzaGVuZy5vcmcKLmdhb3poaXNoZW5nLm5ldApnYXJkZW5uZXR3b3Jrcy5j +b20KfHxnYXJkZW5uZXR3b3Jrcy5vcmcKIS0tSVAgb2YgR2FyZGVuIE5ldHdvcmsK +NzIuNTIuODEuMjIKfHxnYXJ0bGl2ZS5jb20KfHxnYXRoZXIuY29tCnx8Z2F5bWFw +LmNjCi5nYXpvdHViZS5jb20KfHxnYXpvdHViZS5jb20KfHxnY2Mub3JnLmhrCnx8 +Z2Nsb29uZXkuY29tCi5nY3BuZXdzLmNvbQouZ2RidC5uZXQvZm9ydW0KZ2R6Zi5v +cmcKfHxnZWVrLWFydC5uZXQKZ2Vla2VyaG9tZS5jb20vMjAxMC8wMy94aXhpYW5n +LXByb2plY3QtY3Jvc3MtZ2Z3Cnx8Z2Vla21hbnVhbHMuY29tCnx8Z2VudWl0ZWMu +Y29tCi5nZW9jaXRpZXMuY28uanAKLmdlb2NpdGllcy5jb20vU2lsaWNvblZhbGxl +eS9DaXJjdWl0LzU2ODMvZG93bmxvYWQuaHRtbApoay5nZW9jaXRpZXMuY29tCmdl +b2NpdGllcy5qcAp8fGdlb2hvdC5jb20KfHxnZW9tZXRyaWN0b29scy5jb20KfHxn +ZXQtZGlnaXRhbC1oZWxwLmNvbQouZ2V0Y2h1LmNvbQp8fGdldGZveHlwcm94eS5v +cmcKLmdldGZyZWVkdXIuY29tCi5nZXRsYW50ZXJuLm9yZwp8fGdldGxhbnRlcm4u +b3JnCi5nZXRqZXRzby5jb20vZm9ydW0KZ2V0aXRvbi5jb20KLmdldHNvY2lhbHNj +b3BlLmNvbQpnZncub3JnLnVhCi5nZ3NzbC5jb20KfHxnZ3NzbC5jb20KfHxnaG9z +dC5vcmcKfHxnaHV0Lm9yZwp8fGdpZ2Etd2ViLmpwCnxodHRwOi8vY24uZ2lnYW5l +d3MuY29tLwpnaWdwb3Juby5ydQp8fGdpbXBzaG9wLmNvbQp8fGdpcmxiYW5rZXIu +Y29tCnxodHRwczovL2dpc3QuZ2l0aHViLmNvbQp8fGdsZW5uaGlsdG9uLmNvbQpn +bG9iYWxqaWhhZC5uZXQKZ2xvYmFsbXVzZXVtb25jb21tdW5pc20ub3JnCnx8Z2xv +YmFscmVzY3VlLm5ldAouZ2xvYmFsdm9pY2Vzb25saW5lLm9yZwp8fGdsb2JhbHZv +aWNlc29ubGluZS5vcmcKZ21iZC5jbgp8fGdtaHoub3JnCnx8Z25jaS5vcmcuaGsK +fHxnb2FnZW50LmJpegp8fGdvYWdlbnRwbHVzLmNvbQpnb2Rmb290c3RlcHMub3Jn +Cnx8Z29kZm9vdHN0ZXBzLm9yZwp8fGdvbGRiZXRzcG9ydHMuY29tCnxodHRwOi8v +d3d3LmdvbGRlbm1lbG9keS5jb20udHcKfHxnb2xkd2F2ZS5jb20KZ29uZ21lbmcu +aW5mbwpnb25nbS5pbgpnb25nbWlubGlsaWFuZy5jb20KLmdvbmd3dC5jb20KLmdv +b2RyZWFkcy5jb20KfHxnb29kcmVhZHMuY29tCi5nb29kcmVhZGVycy5jb20KfHxn +b29kcmVhZGVycy5jb20KfHxnb29maW5kLmNvbQouZ29vZ2xlc2lsZS5jb20KLmdv +cGV0aXRpb24uY29tCnx8Z29wZXRpdGlvbi5jb20KfHxnb3R3LmNhLwpncmFuZHRy +aWFsLm9yZwp8fGdyYXBoaXMubmUuanAKZ3JlYXRmaXJld2FsbC5iaXoKfHxncmVh +dGZpcmV3YWxsb2ZjaGluYS5uZXQKLmdyZWF0ZmlyZXdhbGxvZmNoaW5hLm9yZwp8 +fGdyZWF0ZmlyZXdhbGxvZmNoaW5hLm9yZwouZ3JlZW5wYXJ0eS5vcmcudHcKZ3Bh +c3MxLmNvbQpncmVhdC1maXJld2FsbC5jb20KZ3JlYXQtcm9jLm9yZwpncmVhdHJv +Yy5vcmcKZ3JlYXR6aG9uZ2h1YS5vcmcKLmdyZWVudnBuLm5ldAp8fGdyZWVudnBu +Lm5ldApncy1kaXNjdXNzLmNvbQp8fGd0cmlja3MuY29tCmd1YW5jaGEub3JnCi5n +dW4td29ybGQubmV0Cnx8Z3V0dGVydW5jZW5zb3JlZC5jb20KfHxndm0uY29tLnR3 +Ci5nem0udHYKfHxnem9uZS1hbmltZS5pbmZvCgohLS0tLS0tLS0tLS0tLS0tLUdv +b2dsZS0tLS0tLS0tLS0tLS0tLS0KfHxnLmNvCnx8Z2dwaHQuY29tCnx8Z21haWwu +Y29tCnx8Z21vZHVsZXMuY29tCnx8Z29vLmdsCi9eaHR0cHM/OlwvXC9bXlwvXStn +b29nbGVcLiguKikvCnx8Z29vZ2xlLWFuYWx5dGljcy5jb20KfHxnb29nbGVhZHNl +cnZpY2VzLmNvbQp8fGdvb2dsZWFwaXMuY29tCnx8Z29vZ2xlZWFydGguY29tCnx8 +Z29vZ2xlY29kZS5jb20KfHxnb29nbGVkcml2ZS5jb20KfHxnb29nbGVsYWJzLmNv +bQp8fGdvb2dsZW1haWwuY29tCnx8Z29vZ2xlcGx1cy5jb20KfHxnb29nbGVzb3Vy +Y2UuY29tCnx8Z29vZ2xlc3luZGljYXRpb24uY29tCnx8Z29vZ2xldGFnbWFuYWdl +ci5jb20KfHxnb29nbGV0YWdzZXJ2aWNlcy5jb20KfHxnb29nbGV1c2VyY29udGVu +dC5jb20KfHxnb29nbGV2aWRlby5jb20KCiEtLXx8YXBpcy5nb29nbGUuY29tCgoh +LS0tLS0tLS0tLS0tR29vZ2xlIEFwcCBFbmdpbmUvQXBwc3BvdC0tLS0tLS0KLmFw +cHNwb3QuY29tCnx8YXBwc3BvdC5jb20KL15odHRwcz86XC9cL1teXC9dK2FwcHNw +b3RcLmNvbS8KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUdvb2dsZSBDb2RlLS0tLS0t +LS0tLS0tLS0tLS0tLS0KIS0tY29kZS5nb29nbGUuY29tL3AvZ2FwcHByb3h5CiEt +LWNvZGUuZ29vZ2xlLmNvbS9wL2dhZXByb3h5CiEtLWNvZGUuZ29vZ2xlLmNvbS9w +L3dlc3QtY2hhbWJlci1zZWFzb24tMwohLS1jb2RlLmdvb2dsZS5jb20vcC9pY2Vm +b3gKIS0tY29kZS5nb29nbGUuY29tL3AvYnJlYWt3YWxsCiEtLWNvZGUuZ29vZ2xl +LmNvbS9wL3Byb2dyYW0tdGhpbmsvd2lraS9Tb2Z0d2FyZQohLS1jb2RlLmdvb2ds +ZS5jb20vcC9zY2hvbGFyemhhbmcKIS0tY29kZS5nb29nbGUuY29tL3AvdmZvcmNo +cm9tZS93aWtpL1N0YXJ0CiEtLWNvZGUuZ29vZ2xlLmNvbS9wL3R1aXRlCiEtLWNv +ZGUuZ29vZ2xlLmNvbS9wL3R3aXRlc2UKIS0tY29kZS5nb29nbGUuY29tL3AvdHdp +cAohLS1jb2RlLmdvb2dsZS5jb20vcC9odWhhbWhpcmUtaG9zdHMKIS0tZ29hZ2Vu +dC5nb29nbGVjb2RlLmNvbQohLS1ndGFwLmdvb2dsZWNvZGUuY29tCiEtLXNzaHR1 +bm5lbC5nb29nbGVjb2RlLmNvbQohLS10dWl0ZS5nb29nbGVjb2RlLmNvbQohLS1n +YWVwcm94eS5nb29nbGVjb2RlLmNvbQoKIS0tLS0tLS0tLS0tLS1Hb29nbGUgRG9j +cy0tLS0tCiEtLWRvY3MuZ29vZ2xlLmNvbS9Eb2M/ZG9jaWQ9MEFlOWpXTW9VaGdW +MVpIZDBjakoyTlY4MU5HUTVNbkkwZDNFMQohLS1kb2NzLmdvb2dsZS5jb20vVmll +dz9pZD1kOHhicHA2XzRoaHBiMmRmZAohLS1kb2NzLmdvb2dsZS5jb20vVmlldz9p +ZD1kZHM2OGR6XzljcWdtOHZncQohLS1kb2NzLmdvb2dsZS5jb20qVmlldyppZCpk +ZzVtdG1qOV84ZzNoazI3ZjUKIS0tZG9jcy5nb29nbGUuY29tKlZpZXcqaWQqZGc1 +bXRtajlfMzE4OHg0OHpjbgohLS1kb2NzLmdvb2dsZS5jb20qZGd0Ym13ZDZfOTM0 +Z2c5OXY2ZzRjYwohLS1kb2NzLmdvb2dsZS5jb20vVmlldz9pZD1kaGg1Z3R4Yl8x +NDVuc3hnY3RjYwoKIS0tLS0tLS0tLS0tLS1Hb29nbGUgZ2hzLS0tLS0KIS18fDEw +MjRjb3Jlcy5uZXQKIS18fHd3dy4yMHRoaW5nc2lsZWFybmVkLmNvbQohLXx8d3d3 +LjNkdGluLmNvbQohLUEKIS18fGFiZWxoYWRpZ2l0YWwuY29tCiEtfHxibG9nLmFl +Z2lzdWIub3JnCiEtfHxwZGsuYW5kcm9pZC5jb20KIS18fGFuZHJvaWQteDg2Lm9y +ZwohLXx8Y2hyb21lLmFuZ3J5YmlyZHMuY29tCiEtfHxhcHBicmFpbi5jb20KIS18 +fG15LmFyY2hpdGV4YS5jb20KIS18fGZlZWRzLmFyc3RlY2huaWNhLmNvbQohLXx8 +YmxvZy5hdGhpY28uY29tCiEtfHxhdXJvcmFzb2Z0d29ya3MuY29tCiEtfHxhdndp +a2lwZWRpYS5jb20KIS1CCiEtfHx3d3cuYmVuamFtaW5nb2x1Yi5jb20KIS18fHJz +cy5iZXJyeXJldmlldy5jb20KIS18fGRvY3MuYmxhY2t0cmVlLmNvbQohLXx8c2Vj +cmV0cy5ibGFja3RyZWUuY29tCiEtfHx3d3cuYmxhY2t0cmVlLmNvbQohLXx8ZmVl +ZHMuYm9pbmdib2luZy5uZXQKIS18fGJveHVuYmxvZy5jb20KIS18fG1vYmxvZy5i +cmFkbGV5aXQuY29tCiEtfHx3d3cuYnVkZHlydW5uZXIuY29tCiEtfHxidXp6Y2Fu +dHdlZXQuY29tCiEtQwohLXx8ZmVlZHMuY2JzbmV3cy5jb20KY2hpbmFhaWQubmV0 +CiEtfHx3d3cuY2hpbmVzZWFsYnVtYXJ0LmNvbQohLXx8Y2hyb21lZXhwZXJpbWVu +dHMuY29tCiEtfHxibG9nLmNocm9taXVtLm9yZwohLXx8Y29kZXJldmlldy5jaHJv +bWl1bS5vcmcKIS18fGRldi5jaHJvbWl1bS5vcmcKIS18fHd3dy5jaHJvbWl1bS5v +cmcKIS18fHd3dy5jbGVtZW50aW5lLXBsYXllci5vcmcKIS18fGRhdGEuY2xlbWVu +dGluZS1wbGF5ZXIub3JnCiEtfHxjbGVtZXNoYS5vcmcKIS18fHd3dy5jbG91ZGdp +cmxmcmllbmQuY29tCiEtfHxyc3MuY25uLmNvbQohLXx8Y29jb2F3aXRobG92ZS5j +b20KIS18fGJsb2cuY29udHJvbHNwYWNlLm9yZwohLUQKIS18fHd3dy5kYWlseWd5 +YW4uY29tCiEtfHxkYWlseXRvZG8ub3JnCiEtfHxibG9nLmRhbm1hcm5lci5jb20K +IS18fGdpdGh1Yi5kYW5tYXJuZXIuY29tCiEtfHxkZXNpZ24tc2VlZHMuY29tCiEt +fHxkZXNpZ25lcnMtYXJ0aXN0cy5jb20KIS18fGZlZWRzLmRpZ2cuY29tCiEtfHxh +cHAuZGl1LmxpCiEtfHxtYWlsLmRpeWFuZy5vcmcKIS18fGJsb2cuZG91Z2hlbGxt +YW5uLmNvbQohLXx8ZG93bmZvcmV2ZXJ5b25lb3JqdXN0bWUuY29tCiEtfHxkcm9p +ZHNlY3VyaXR5LmNvbQohLXx8d3d3LmRyb3Btb2Nrcy5jb20KIS18fGR1bWJsaXR0 +bGVtYW4uY29tCiEtfHxmZWVkcy5kem9uZS5jb20KIS1FCmVjaG9mb24uY29tCiEt +fHxlY2hvZm9uLmNvbQohLXx8ZXBjLWphdi5jb20KIS18fGV2ZXJkYXJrLmluZm8K +IS18fHMuZXZlcm5vdGUuY29tCiEtfHxldmhlYWQuY29tCiEtRgohLXx8ZmFjaWxl +bG9naW4uY29tCiEtfHwqLmZhdGR1Y2sub3JnCiEtfHxibG9nLmZkY24ub3JnCiEt +fHxmZnRvZ28uY29tCiEtfHxmbGlnaHRzaW10YWxrLmNvbQohLXx8bWNsZWUuZm9v +bG1lLm5ldAohLXx8d3d3LmZyaWVuZGRlY2suY29tCiEtfHxmcmluZ2VzcG9pbGVy +cy5jb20KIS18fGZyaW5nZXRlbGV2aXNpb24uY29tCiEtfHxmdW5wZWEuY29tCiEt +RwohLXx8YmxvZy5nYXRlaW4ub3JnCiEtfHxmZWVkcy5nYXdrZXIuY29tCiEtfHxn +ZWVrdGFuZy5jb20KIS18fGdlb2hvdC51cwohLXx8Z2V0YXJvdW5kLmNvbQohLXx8 +Z21lci5uZXQKIS18fHd3dy5nbW90ZS5vcmcKIS18fGJsb2cuZ28yd2ViMjAubmV0 +CiEtLXx8YmxvZy5nb29nbGUub3JnCiEtfHxnb29nbGUtbWVsYW5nZS5jb20KfHxn +b2xhbmcub3JnCiEtfHxmYW1lLmdvbnpvbGFicy5vcmcKIS18fGdvdmVjbi5vcmcK +IS18fGdxdWV1ZXMuY29tCiEtfHxncmFwaHljYWxjLmNvbQohLXx8d3d3LmdyZWFz +ZXNwb3QubmV0CiEtfHxibG9nLmdyb3dsZm9yd2luZG93cy5jb20KIS1ICiEtfHxo +Y20uY29tLnR3CiEtfHxibG9nLmhlYWRpdXMuY29tCiEtfHxob2diYXlzb2Z0d2Fy +ZS5jb20KIS18fGJsb2cuaG90b3Qub3JnCiEtfHxmZWVkcy5ob3dzdHVmZndvcmtz +LmNvbQohLXx8c2xpZGVzLmh0bWw1cm9ja3MuY29tCiEtfHx3d3cuaHRtbDVyb2Nr +cy5jb20KIS18fGh1aGFpdGFpLmNvbQohLXx8YmxvZy5odW1hbnJpZ2h0c2ZpcnN0 +Lm9yZwohLUkKIS18fHNpdGUuaWN1LXByb2plY3Qub3JnCiEtfHxpZ29yd2FyZS5j +b20KIS18fGloYXMxMzM3Y29kZS5jb20KIS18fGlua25vdXZlYXUuY29tCiEtfHxp +bm90ZS50dwohLXx8aXJvbmhlbG1ldC5jb20KIS18fGl3ZndjZi5jb20KIS1KCiEt +fHxibG9nLmphbmdtdC5jb20KIS18fGJsb2cuamF5ZmllbGRzLmNvbQohLXx8dC5q +aWVjaWkuY29tCiEtfHxibG9nLmpvaW50Lm5ldAohLXx8YmxvZy5qc3F1YXJlZGph +dmFzY3JpcHQuY29tCiEtfHxibG9nLmp0YndvcmxkLmNvbQohLUsKIS18fGthdGh5 +c2Nod2FsYmUuY29tCiEtfHx0b21hdG92cG4ua2VpdGhtb3llci5jb20KIS18fHd3 +dy5rZWl0aG1veWVyLmNvbQohLXx8a2VuZGFsdmFuZHlrZS5jb20KIS18fGJsb2cu +a2VuZ2FvLnR3CiEtfHxsb2cua2Vzby5jbgohLXx8d3d3LmtoYW5hY2FkZW15Lm9y +Zwp8fHd3dy5rbGlwLm1lCiEtfHx1c2Jsb2FkZXJneC5rb3VyZWlvLm5ldAohLXx8 +YmxvZy5rb3dhbGN6eWsuaW5mbwohLUwKIS18fGxhYnlyaW50aDIuY29tCiEtfHxs +YXJzZ2VvcmdlLmNvbQohLXx8YmxvZy5sYXN0cGFzcy5jb20KIS18fGRvY3MubGF0 +ZXhsYWIub3JnCiEtfHxsZWFuZXNzYXlzLmNvbQohLXx8YmxvZy5saWRhb2Jpbmcu +aW5mbwohLXx8bG9nLmxpZ2h0b3J5Lm5ldAohLXx8ZmVlZHMubGltaS5uZXQKIS18 +fHd3dy5saXRlYXBwbGljYXRpb25zLmNvbQohLXx8YmxvZy5saXVrYW5neHUuaW5m +bwohLXx8dHdpdHRlci5saXVrYW5neHUuaW5mbwohLXx8b2FzaXNuZXdzcm9vbS5s +aXZlNGV2ZXIudXMKIS18fHd3dy5sb2NrZXJnbm9tZS5jb20KIS18fGxvY3FsLmNv +bQpAQHx8c2l0ZS5sb2NxbC5jb20KIS18fGZlZWRzLmxvaWNsZW1ldXIuY29tCiEt +fHxibG9nLmxvdWlzZ3JheS5jb20KIS1NCiEtfHxtYWRlYnlzb2ZhLmNvbQohLXx8 +bWFkZW1vaXNlbGxlcm9ib3QuY29tCiEtfHxtYXNhbWl4ZXMuY29tCiEtfHx3d3cu +bWV0YW11c2UubmV0CiEtfHxibG9nLm1ldGFzcGxvaXQuY29tCiEtfHxtaWxhemku +Y29tCiEtfHx3d3cubWluaXdlYXRoZXIuY29tCiEtfHx0d2l0dGVyLm1pc3NpdS5j +b20KIS18fHBsdXJrdG9wLWJ1dHRvbi5tbWRheXMuY29tCiEtfHxmZWVkcy5tb2Jp +bGVyZWFkLmNvbQohLXx8d3d3Lm1vZGVybml6ci5jb20KIS18fHd3dy5tb2RrLml0 +CiEtfHxteXR3aXNoaXJ0LmNvbQohLU4KIS18fGJsb2cubmV0ZmxpeC5jb20KIS18 +fGJsb2cubmloaWxvZ2ljLmRrCiEtfHxudGxrLm9yZwohLXx8bnZxdWFuLm9yZwoh +LXx8bm9nb29kYXRjb2RpbmcuY29tCiEtfHxibG9nLm5vdGRvdC5uZXQKIS18fHd3 +dy5ub3RpZnkuaW8KIS1PCiEtfHxibG9nLm9idmlvdXMuY29tCiEtfHxvbmViaWdm +bHVrZS5jb20KIS18fG92ZXJzdGltdWxhdGUuY29tCiEtUAohLXx8cGNnZWVrYmxv +Zy5jb20KIS18fGZlZWRzLnBkZmNobS5uZXQKIS18fGZlZWRzLnBlb3BsZS5jb20K +IS18fGJsb2cucGVyc2lzdGVudC5pbmZvCiEtfHxjaHJvbWUucGxhbnRzdnN6b21i +aWVzLmNvbQohLXx8cG9ydGFibGVzb2Z0Lm9yZy5ydQohLXx8cHJhc2FubmF0ZWNo +Lm5ldAohLXx8dGFsay5uZXdzLnB0cy5vcmcudHcKIS18fHB5dGhvbi1leGNlbC5v +cmcKIS1RCiEtUgohLXx8ci1jaGFydC5jb20KIS18fHJhbWVzaHN1YnJhbWFuaWFu +Lm9yZwohLXx8cmFwaWQucGsKIS18fGJsb2cucmVkZGl0LmNvbQohLXx8YmxvZy5y +ZW5hbnNlLmNvbQohLXx8ZmVlZHMucmV1dGVycy5jb20KIS18fHJvYmVydG1hby5j +b20KIS18fHd3dy5yb21lby1mb3h0cm90LmNvbQohLVMKIS18fHNhbG1peXVjay5j +b20KIS18fHNhbXNhbC5jb20KIS18fGJsb2cuc2VlbWluZ2xlZS5jb20KIS18fGJs +b2cuc2Zsb3cuY29tCiEtfHxibG9nLnNpZ2ZwZS5jb20KIS18fHNpbXBsZXRleHQu +d3MKIS18fHd3dy5za3VscHQub3JnCiEtfHxyc3Muc2xhc2hkb3Qub3JnCiEtfHxz +bmlwcGV0c2FwcC5jb20KIS18fHcuc25zLmx5CiEtfHx3d3cuc29jaWFsbm1vYmls +ZS5jb20KIS18fHd3dy5zb2NpYWx3aG9pcy5jb20KIS18fHNwaXJpdGpiLm9yZwoh +LXx8c3Nib29rLmNvbQohLXx8c3NoZm9yd2FyZGluZy5jb20KIS18fHN0YXRpb25l +cmlhLmNvbQohLXx8c3Vuamlkb25nLm5ldAohLXx8c3luaXVtc29mdHdhcmUuY29t +CkBAfHxkb3dubG9hZC5zeW5pdW1zb2Z0d2FyZS5jb20KIS1UCiEtfHx0YWd4ZWRv +LmNvbQohLXx8YmxvZy50YXRvZWJhLm9yZwohLXx8d3d3LnRlY2hmb2IuY29tCiEt +fHx0ZWFjaHBhcmVudHN0ZWNoLm9yZwohLXx8dGhlOHBlbi5jb20KIS18fHRoZWlw +aG9uZXdpa2kuY29tCiEtfHxibG9nLnRoZXNpbGVudG51bWJlci5tZQohLXx8dGhl +c3BvbnR5LmNvbQohLXx8dGhldWx0cmFsaW54LmNvbQohLXx8YmxvZy50aGluay1h +c3luYy5jb20KIS18fHRvcm5hZG93ZWIub3JnCiEtfHx0cmFuc3BhcmVudHVwdGlt +ZS5jb20KIS18fHRyaWFuZ3VsYXRpb25ibG9nLmNvbQohLXx8YmxvZy50c3VuYW5l +dC5uZXQKIS18fGVuLnR1eGVyby5jb20KIS18fHR3YXp6dXAuY29tCiEtfHx0d2Vl +dHN3ZWxsLmNvbQohLXx8dHdpYmVzLmNvbQohLXx8YXJ0LnR3Z2cub3JnCiEtfHx0 +d2l2ZXJ0LmNvbQohLVUKfGh0dHA6Ly91YjAuY2MKIS18fGpvbm55LnVidW50dS10 +dy5uZXQKIS18fGJsb2cudW1vbmtleS5uZXQKIS1WCiEtfHx0cC52YmFwLmNvbS5h +dQohLXx8d3d3LnZpcnR1b3Vzcm9tLmNvbQohLXx8YmxvZy52aXNpYm90ZWNoLmNv +bQohLVcKIS18fHdhdmVwcm90b2NvbC5vcmcKIS18fHd3dy53YXZlc2FuZGJveC5j +b20KIS18fHdlYmZlZS5vcmcucnUKIS18fGJsb2cud2VibXByb2plY3Qub3JnCiEt +fHx3ZWJ1cGQ4Lm9yZwohLXx8d3d3LndoYXRicm93c2VyLm9yZwohLXx8d3d3Lndo +ZXJlZG95b3Vnby5uZXQKIS18fHdpbGxoYWlucy5jb20KIS18fGZlZWRzLndpcmVk +LmNvbQohLXx8d2lzZW1hcHBpbmcub3JnCndvenkuaW4KIS18fHdvenkuaW4vCiEt +fHxibG9nLnd1bmRlcmNvdW50ZXIuY29tCiEtWAohLXx8eGRlbHRhLm9yZwohLXx8 +eGlhb2dhb3ppLm9yZwohLXx8eGlsb3UudXMKIS18fHh6eS5vcmcucnUKIS1ZCiEt +fHx5b29wZXIuYmUKIS18fHRzb25nLnl1bnhpLm5ldAohLVoKCiEtLS0tLS0tLS0t +LS0tR29vZ2xlIE1pbmdhbmNpLS0tLS0KIS0tQEB8fGlwdjYuZ29vZ2xlLmNvbQoK +IS0tLmdvb2dsZS4qJUQ4JUJBJUQ4JUE3CiEtLS5nb29nbGUuKi9jb21wbGV0ZS9z +ZWFyY2gKIS0tL3NlYXJjaD9xPWNhY2hlCiEtLS9zZWFyY2glM0ZxJTNEY2FjaGUK +IS0tJTJGc2VhcmNoJTNGcSUzRGNhY2hlCiEtLWdvb2dsZSpzZWFyY2gqcT1jYWNo +ZQohLS0uZ29vZ2xlLiozMDEKIS0tLmdvb2dsZS4qc2VhcmNoKjg5NjQKIS0tLmdv +b2dsZS4qYm94dW4KIS0tLmdvb2dsZS4qY2hpbmVzZStwZW9wbGUrZWF0aW5nK2Jh +YmllcwohLS0uZ29vZ2xlLipodHRwKmRvdHN1Yi5jb20KIS0tLmdvb2dsZS4qZWFz +dCp0dXJraXN0YW4KIS0tLmdvb2dsZS4qZmFjZWJvb2sKIS0tLmdvb2dsZS4qZmFs +dW4KIS0tLmdvb2dsZS4qZnJlZWNoaW5hCiEtLS5nb29nbGUuKmZyZWV0aWJldAoh +LS0uZ29vZ2xlLipnZncKIS0tLmdvb2dsZS4qZ29hZ2VudAohLS0uZ29vZ2xlLiom +cT1ncGFzcwohLS0uZ29vZ2xlLipncmVhdCpmaXJld2FsbAohLS0uZ29vZ2xlLipo +dWppbgohLS0uZ29vZ2xlLipodWF5dWFuCiEtLS5nb29nbGUuKmppYXFpbmdsaW4K +IS0tLmdvb2dsZS4qamlhbmd6ZW1pbgohLS0uZ29vZ2xlLiomcT1qem0mCiEtLS5n +b29nbGUuKm55dGltZXMKIS0tLmdvb2dsZS4qcGVhY2VoYWxsCiEtLS5nb29nbGUu +KnByZXNpZGVudC5nb3YudHcKIS0tLmdvb2dsZS4qcHJvdGVzdCoxOTg5CiEtLS5n +b29nbGUuKnByaXNvbmVyK29mK3RoZStzdGF0ZQohLS0uZ29vZ2xlLipzZWFyY2gq +VGFua21hbgohLS0uZ29vZ2xlLip0Ym09bWJsCiEtLS5nb29nbGUuKnRibSUzRG1i +bAohLS0uZ29vZ2xlLipzZWFyY2gqdGJzPW1ibAohLS0uZ29vZ2xlLipzZWFyY2gq +dGJzJTNEbWJsCiEtLS5nb29nbGUuKnRicz1xZHIKIS0tLmdvb2dsZS4qdGJzJTNE +cWRyCiEtLS5nb29nbGUuKnRicz1ybHRtCiEtLS5nb29nbGUuKnRicyUzRHJsdG0K +IS0tLmdvb2dsZS4qVGlhbmFubWVuCiEtLS5nb29nbGUuKnRpYW53YW5nCiEtLS5n +b29nbGUuKlRpYmV0YW4qaW5kZXBlbmRlbmNlCiEtLS5nb29nbGUuKnR3aXR0ZXIK +IS0tLmdvb2dsZS4qeGlqaW5waW5nCiEtLS5nb29nbGUuKiZxPXl0aHQmCiEtLS5n +b29nbGUuKnpob3V5b25na2FuZwoKCiEtLTA4ICogWGlhbiBaaGFuZwohLS0uZ29v +Z2xlLiowOColRTUlQUUlQUElRTclQUIlQTAKIS0tNjQgKiBaaGVuIFhpYW5nCiEt +LS5nb29nbGUuKjY0KiVFNyU5QyU5RiVFNyU5QiVCOAohLS02NCAqIFpoZW4gWWEK +IS0tLmdvb2dsZS4qNjQqJUU5JTk1JTg3JUU1JThFJThCCiEtLUJhIEppdQohLS0u +Z29vZ2xlLiolRTUlODUlQUIlRTQlQjklOUQKIS0tQmVpIEd1byBaaGkgQ2h1bgoh +LS0uZ29vZ2xlLiolRTUlOEMlOTclRTUlOUIlQkQlRTQlQjklOEIlRTYlOTglQTUK +IS0tQmVpIEppbmcgWmhpIENodW4KIS0tLmdvb2dsZS4qJUU1JThDJTk3JUU0JUJB +JUFDJUU0JUI5JThCJUU2JTk4JUE1IAohLS1DaGVuIFBvIEtvbmcKIS0tLmdvb2ds +ZS4qJUU5JTk5JTg4JUU3JUEwJUI0JUU3JUE5JUJBCiEtLUNoaSBGZWkKIS0tLmdv +b2dsZS4qJUU4JUI1JUE0JUU1JThDJUFBCiEtLURhIExhaSBMYSBNYQohLS0uZ29v +Z2xlLiolRTglQkUlQkUlRTglQjUlOTYlRTUlOTYlODclRTUlOTglOUIKIS0tRGFp +IEthaSArIEZhIFBpYW8ocmV2ZXJzZWQpCiEtLS5nb29nbGUuKiVFNCVCQiVBMyVF +NSVCQyU4MColRTUlOEYlOTElRTclQTUlQTgKIS0tLmdvb2dsZS4qJUU1JThGJTkx +JUU3JUE1JUE4KiVFNCVCQiVBMyVFNSVCQyU4MAohLS1EYWkgTGkvUHJveHkKIS0t +Lmdvb2dsZS4qJUU0JUJCJUEzJUU3JTkwJTg2CiEtLURpIFhpYSBKaWFvIEh1aQoh +LS0uZ29vZ2xlLiolRTUlOUMlQjAlRTQlQjglOEIlRTYlOTUlOTklRTQlQkMlOUEK +IS0tRHUgTGkgVGFpIFdhbiBIdWkKIS0tLmdvb2dsZS4qJUU3JThCJUFDJUU3JUFC +JThCJUU1JThGJUIwJUU2JUI5JUJFJUU0JUJDJTlBCiEtLUR1IExpIFpob25nIFdl +biBCaSBIdWkKIS0tLmdvb2dsZS4qJUU3JThCJUFDJUU3JUFCJThCJUU0JUI4JUFE +JUU2JTk2JTg3JUU3JUFDJTk0JUU0JUJDJTlBCiEtLUZhIEtlCiEtLS5nb29nbGUu +KiVFNSU4RiU5MSVFOCVBRiVCRQohLS1GYSBMYSBMaQohLS0uZ29vZ2xlLiolRTYl +QjMlOTUlRTYlOEIlODklRTUlODglQTkKIS0tRmFuIFFpYW5nCiEtLS5nb29nbGUu +KiVFNyVCRiVCQiVFNSVBMiU5OQohLS1GYW5nIEJpbiBYaW5nKFNCKQohLS0uZ29v +Z2xlLiolRTYlOTYlQjklRTYlQkIlQTglRTUlODUlQjQKIS0tRmFuZyBIdW8gQ2hh +bmcgQ2hlbmcKIS0tLmdvb2dsZS4qJUU5JTk4JUIyJUU3JTgxJUFCJUU5JTk1JUJG +JUU1JTlGJThFCiEtLUZlbmcgWmhlbmcgSHUKIS0tLmdvb2dsZS4qJUU1JTg2JUFG +JUU2JUFEJUEzJUU4JTk5JThFCiEtLUdhbyBaaGkgU2hlbmcKIS0tLmdvb2dsZS4q +JUU5JUFCJTk4JUU2JTk5JUJBJUU2JTk5JTlGCiEtLUdlIE1pbmcKIS0tLmdvb2ds +ZS4qJUU5JTlEJUE5JUU1JTkxJUJECiEtLUdvbmcgQ2hhbgohLS0uZ29vZ2xlLiol +RTUlODUlQjElRTQlQkElQTcKIS0tR3VhbiBKaWFuIFNoaSBLZQohLS0uZ29vZ2xl +LiolRTUlODUlQjMlRTklOTQlQUUlRTYlOTclQjYlRTUlODglQkIKIS0tR3Vhbmcg +Q2hhbmcKIS0tLmdvb2dsZS4qJUU1JUI5JUJGJUU1JTlDJUJBCiEtLUd1byBKaWEg +RmFuZyBIdW8gUWlhbmcgWmhpIEZ1CiEtLS5nb29nbGUuKiVFNSU5QiVCRCVFNSVB +RSVCNiVFOSU5OCVCMiVFNyU4MSVBQiVFNSVBMiU5OQohLS1IYSBNYQohLS0uZ29v +Z2xlLiolRTglOUIlQTQlRTglOUYlODYKIS0tSmkgSHVpCiEtLS5nb29nbGUuKiVF +OSU5QiU4NiVFNCVCQyU5QQohLS1KaSBaaGUgV3UgSmlhbmcgSmllCiEtLS5nb29n +bGUuKiVFOCVBRSVCMCVFOCU4MCU4NSVFNiU5NyVBMCVFNyU5NiU4NiVFNyU5NSU4 +QwohLS1KaWEgQmFvCiEtLS5nb29nbGUuKiVFNSVBRSVCNiVFNSVBRSU5RAohLS1K +aWEgUWluZyBMaW4KIS0tLmdvb2dsZS4qJUU1JTgxJTg3JUU1JUJBJTg2JUU2JUI3 +JThCCiEtLUppZSBZYW4KIS0tLmdvb2dsZS4qJUU2JTg4JTkyJUU0JUI4JUE1CiEt +LUppbiBUYW8KIS0tLmdvb2dsZS4qJUU5JTk0JUE2JUU2JUI2JTlCCiEtLUppbmcg +V2VuCiEtLS5nb29nbGUuKiVFNyVCQiU4RiVFNiU5NiU4NwohLS1KaW4gUGluZwoh +LS0uZ29vZ2xlLiolRTglQkYlOTElRTUlQjklQjMKIS0tSml1IENoYW5nIFdlaQoh +LS0uZ29vZ2xlLiolRTQlQjklOUQlRTUlQjglQjglRTUlQTclOTQKIS0tS3UgWGlu +ZwohLS0uZ29vZ2xlLiolRTklODUlQjclRTUlODglOTEKIS0tTGluZwohLS0uZ29v +Z2xlLiolRTQlQkIlQTQKIS0tTGluZyBCYSBYaWFuIFpoYW5nCiEtLS5nb29nbGUu +KiVFOSU5QiVCNiVFNSU4NSVBQiolRTUlQUUlQUElRTclQUIlQTAKIS0tTGl1IFFp +CiEtLS5nb29nbGUuKnNlYXJjaColRTUlODglOTglRTYlQjclODcKIS0tTGl1ICog +U2kKIS0tLmdvb2dsZS4qJUU1JTg1JUFEKiVFNSU5QiU5QgohLS1MdSBYaQohLS0u +Z29vZ2xlLiolRTklQjIlODElRTYlOTglOTUKIS0tTWEgS2FpCiEtLS5nb29nbGUu +KiVFOSVBOSVBQyVFNSU4NyVBRgohLS1NYSBMaQohLS0uZ29vZ2xlLiolRTklQTkl +QUMlRTUlOEElOUIKIS0tTWFpIERhbmcgTGFvIHwgTWNEb25hbGQKIS0tLmdvb2ds +ZS4qJUU5JUJBJUE2JUU1JUJEJTkzJUU1JThBJUIzCiEtLU1hbyBYaWFuZyBIdWkK +IS0tLmdvb2dsZS4qJUU2JUFGJTlCJUU1JTkwJTkxJUU4JUJFJTg5CiEtLU1lbmcg +R3UrU2hpIFdlaQohLS0uZ29vZ2xlLiolRTUlODYlODUlRTglOTIlOTkqJUU3JUE0 +JUJBJUU1JUE4JTgxCiEtLU1lbmcgSmlhbiBaaHUKIS0tLmdvb2dsZS4qJUU1JUFE +JTlGJUU1JUJCJUJBJUU2JTlGJUIxCiEtLU1lbmcgWWluZyBXZWkgTWluZyBIdQoh +LS0uZ29vZ2xlLiolRTYlQTIlQTYlRTglOTAlQTYlRTYlOUMlQUElRTUlOTAlOEQl +RTYlQjklOTYKIS0tTWlhbiBGZWkgKiBWUE4KIS0tLmdvb2dsZS4qJUU1JTg1JThE +JUU4JUI0JUI5KnZwbgohLS1NbyBMaQohLS0uZ29vZ2xlLiolRTglOEMlODklRTgl +OEUlODkKIS0tTW8gUmkgR2VuCiEtLS5nb29nbGUuKiVFOCU4RSVBQiVFNiU5NyVB +NSVFNiVBMCVCOQohLS1OYSBNaSBCaSBZYQohLS0uZ29vZ2xlLiolRTclQkElQjMl RTclQjElQjMlRTYlQUYlOTQlRTQlQkElOUEKIS0tTnVvIEJlaSBFciBIZSBQaW5n -IEppYW5nIC8gTm9iZWwgUGVhY2UgUHJpemUKLmdvb2dsZS4qJUU4JUFGJUJBJUU4 -JUI0JTlEJUU1JUIwJTk0JUU1JTkyJThDJUU1JUI5JUIzJUU1JUE1JTk2CiEtLU5h -bWliaWEgKyBOdWN0ZWNoCi5nb29nbGUuY29tKnNlYXJjaCpuYW1pYmlhKm51Y3Rl -Y2gKIS0tUGFuIEd1IFl1ZSBEdWkKLmdvb2dsZS4qJUU3JTlCJTk4JUU1JThGJUE0 -JUU0JUI5JTkwJUU5JTk4JTlGCiEtLVBlbmcgTGkgWXVhbgouZ29vZ2xlLiolRTUl -QkQlQUQlRTQlQjglQkQlRTUlQUElOUIKIS0tUG8gSGFpCi5nb29nbGUuKiVFOCVC -RiVBQiVFNSVBRSVCMwohLS1RaWFuIFNoaSBKaW4gU2hlbmcKLmdvb2dsZS4qJUU1 -JTg5JThEJUU0JUI4JTk2JUU0JUJCJThBJUU3JTk0JTlGCiEtLVFpYW5nIFNoZW5n -Ci5nb29nbGUuKiVFNiU5RSVBQSVFNSVBMyVCMAohLS1RaW5nIFRpYW4gQmFpIFJp -IFFpCi5nb29nbGUuKiVFOSU5RCU5MiVFNSVBNCVBOSVFNyU5OSVCRCVFNiU5NyVB -NSVFNiU5NyU5NwohLS1SZW4gTWluIEdvbmcgWXVhbgouZ29vZ2xlLiolRTQlQkEl -QkElRTYlQjAlOTElRTUlODUlQUMlRTUlOUIlQUQKIS0tUmkgSmkKLmdvb2dsZS4q -JUU2JTk3JUE1JUU4JUFFJUIwCiEtLVNhbiBUdWkKLmdvb2dsZS4qJUU0JUI4JTg5 -JUU5JTgwJTgwCiEtLVNoaSBXZWkgSHVpCi5nb29nbGUuKiVFNCVCOCU5NiVFNyVC -QiVCNCVFNCVCQyU5QQohLS1TaSBUdSBIdWEKLmdvb2dsZS4qJUU1JThGJUI4JUU1 -JUJFJTkyJUU1JThEJThFCiEtLVRhaSBaaQouZ29vZ2xlLiolRTUlQTQlQUElRTUl -QUQlOTAKIS0tVGFuIFp1byBSZW4KLmdvb2dsZS4qc2VhcmNoKiVFOCVCMCVBRCVF -NCVCRCU5QyVFNCVCQSVCQQohLS1UaWFuIEFuIE1lbgouZ29vZ2xlLiolRTUlQTQl -QTklRTUlQUUlODklRTklOTclQTgKIS0tVGlhbiBNaWUKLmdvb2dsZS4qJUU1JUE0 -JUE5JUU3JTgxJUFECiEtLVRpYW4gWGlhbiBCYW8gQmFvICsgS2FuZyBTaGkgRnUg -KyAqKHJldmVyc2VkKQouZ29vZ2xlLiolRTUlQTQlQTklRTclQkElQkYlRTUlQUUl -OUQlRTUlQUUlOUQqJUU1JUJBJUI3JUU1JUI4JTg4JUU1JTgyJTg1Ci5nb29nbGUu -KiVFNSVCQSVCNyVFNSVCOCU4OCVFNSU4MiU4NSolRTUlQTQlQTklRTclQkElQkYl -RTUlQUUlOUQlRTUlQUUlOUQKIS0tVHUgTmkgU2kKLmdvb2dsZS4qJUU3JUFBJTgx -JUU1JUIwJUJDJUU2JTk2JUFGCiEtLVR1aSBUZQouZ29vZ2xlLiolRTYlOEUlQTgl -RTclODklQjkKIS0tV2FuZyBZYW5nCi5nb29nbGUuKiVFNiVCMSVBQSVFNiU5NiVB -RgohLS1XZWkgU2UKLmdvb2dsZS4qJUU1JTk0JUFGJUU4JTg5JUIyCiEtLVdlaSBT -aGkgR29uZyBTaQouZ29vZ2xlLiolRTUlQTglODElRTglQTclODYlRTUlODUlQUMl -RTUlOEYlQjgKIS0tV28gTWVpIFlvdSBEaSBSZW4KLmdvb2dsZS5jb20qJUU2JTg4 -JTkxJUU2JUIyJUExJUU2JTlDJTg5JUU2JTk1JThDJUU0JUJBJUJBCiEtLVd1IEVy -IEthaSBYaQouZ29vZ2xlLiolRTQlQjklOEMlRTUlQjAlOTQlRTUlODclQUYlRTgl -QTUlQkYKIS0tV3UgRmFuCi5nb29nbGUuKiVFNCVCQyU4RCVFNSU4NyVBMQohLS1Y -aSBMYWkKLmdvb2dsZS4qJUU3JTg2JTk5JUU2JTlEJUE1CiEtLVhpbiBKaWFuZyAq -IER1IExpKHJldmVyc2VkKQouZ29vZ2xlLiVFNiU5NiVCMCVFNyU5NiU4NiolRTcl -OEIlQUMlRTclQUIlOEIKIS0tWGluIEppbmcgQmFvCi5nb29nbGUuKiVFNiU5NiVC -MCVFNCVCQSVBQyVFNiU4QSVBNQohLS1YdSBDYWkgSG91Ci5nb29nbGUuKiVFNSVC -RSU5MCVFNiU4OSU4RCVFNSU4RSU5QQohLS1YdWFuIFlhbgouZ29vZ2xlLmNvbS4q -JUU1JUFFJUEzJUU4JUE4JTgwCiEtLVh1ZSBDaGFvCi5nb29nbGUuKiVFNSVBRCVB -NiVFNiVCRCVBRQohLS1ZYW8gQmFuZwouZ29vZ2xlLiolRTglODAlODAlRTklODIl -QTYKIS0tWXVlIFl1ZQouZ29vZ2xlLiolRTYlOUMlODglRTYlOUMlODgKIS0tWWlu -ZyBEaQouZ29vZ2xlLiolRTUlQkQlQjElRTUlQjglOUQKIS0tWXUgWmhlbmcgU2hl -bmcKLmdvb2dsZS4qc2VhcmNoKiVFNCVCRiU5RSVFNiVBRCVBMyVFNSVBMyVCMAoh -LS1ZdWUgSG91IEppIEZlbgouZ29vZ2xlLiolRTklOTglODUlRTUlOTAlOEUlRTUl -OEQlQjMlRTclODQlOUEKIS0tWmFuZyBEdQouZ29vZ2xlLiolRTglOTclOEYlRTcl -OEIlQUMKIS0tWmUgTWluCi5nb29nbGUuKiVFNiVCMyVCRCVFNiVCMCU5MQohLS1a -aGFuZyBHYW8gTGkKLmdvb2dsZS4qJUU1JUJDJUEwJUU5JUFCJTk4JUU0JUI4JUJE -CiEtLVpoZSBEYSBaaGFvIFNoZW5nIGJBTgouZ29vZ2xlLiolRTYlQjUlOTklRTUl -QTQlQTclRTYlOEIlOUIlRTclOTQlOUYlRTUlOEElOUUKIS0tWmhlbiBMaSBCdQou -Z29vZ2xlLiolRTclOUMlOUYlRTclOTAlODYlRTklODMlQTgKIS0tWmhlbiBYaWFu -ZwouZ29vZ2xlLiolRTclOUMlOUYlRTclOUIlQjgKIS0tWmhlbmcgQmlhbgouZ29v -Z2xlLiolRTYlOTQlQkYlRTUlOEYlOTgKIS0tWmhlbmcgWmhpIEp1Ci5nb29nbGUu -KiVFNiU5NCVCRiVFNiVCMiVCQiVFNSVCMSU4MAohLS1aaGkgUWluZyBaaGUKLmdv -b2dsZS4qJUU3JTlGJUE1JUU2JTgzJTg1JUU4JTgwJTg1CiEtLVpob25nIEdvbmcK +IEppYW5nIC8gTm9iZWwgUGVhY2UgUHJpemUKIS0tLmdvb2dsZS4qJUU4JUFGJUJB +JUU4JUI0JTlEJUU1JUIwJTk0JUU1JTkyJThDJUU1JUI5JUIzJUU1JUE1JTk2CiEt +LU5hbWliaWEgKyBOdWN0ZWNoCiEtLS5nb29nbGUuY29tKnNlYXJjaCpuYW1pYmlh +Km51Y3RlY2gKIS0tUGFuIEd1IFl1ZSBEdWkKIS0tLmdvb2dsZS4qJUU3JTlCJTk4 +JUU1JThGJUE0JUU0JUI5JTkwJUU5JTk4JTlGCiEtLVBlbmcgTGkgWXVhbgohLS0u +Z29vZ2xlLiolRTUlQkQlQUQlRTQlQjglQkQlRTUlQUElOUIKIS0tUG8gSGFpCiEt +LS5nb29nbGUuKiVFOCVCRiVBQiVFNSVBRSVCMwohLS1RaWFuIFNoaSBKaW4gU2hl +bmcKIS0tLmdvb2dsZS4qJUU1JTg5JThEJUU0JUI4JTk2JUU0JUJCJThBJUU3JTk0 +JTlGCiEtLVFpYW5nIFNoZW5nCiEtLS5nb29nbGUuKiVFNiU5RSVBQSVFNSVBMyVC +MAohLS1RaW5nIFRpYW4gQmFpIFJpIFFpCiEtLS5nb29nbGUuKiVFOSU5RCU5MiVF +NSVBNCVBOSVFNyU5OSVCRCVFNiU5NyVBNSVFNiU5NyU5NwohLS1SZW4gTWluIEdv +bmcgWXVhbgohLS0uZ29vZ2xlLiolRTQlQkElQkElRTYlQjAlOTElRTUlODUlQUMl +RTUlOUIlQUQKIS0tUmkgSmkKIS0tLmdvb2dsZS4qJUU2JTk3JUE1JUU4JUFFJUIw +CiEtLVNhbiBUdWkKIS0tLmdvb2dsZS4qJUU0JUI4JTg5JUU5JTgwJTgwCiEtLVNo +aSBXZWkgSHVpCiEtLS5nb29nbGUuKiVFNCVCOCU5NiVFNyVCQiVCNCVFNCVCQyU5 +QQohLS1TaSBUdSBIdWEKIS0tLmdvb2dsZS4qJUU1JThGJUI4JUU1JUJFJTkyJUU1 +JThEJThFCiEtLVRhaSBaaQohLS0uZ29vZ2xlLiolRTUlQTQlQUElRTUlQUQlOTAK +IS0tVGFuIFp1byBSZW4KIS0tLmdvb2dsZS4qc2VhcmNoKiVFOCVCMCVBRCVFNCVC +RCU5QyVFNCVCQSVCQQohLS1UaWFuIEFuIE1lbgohLS0uZ29vZ2xlLiolRTUlQTQl +QTklRTUlQUUlODklRTklOTclQTgKIS0tVGlhbiBNaWUKIS0tLmdvb2dsZS4qJUU1 +JUE0JUE5JUU3JTgxJUFECiEtLVRpYW4gWGlhbiBCYW8gQmFvICsgS2FuZyBTaGkg +RnUgKyAqKHJldmVyc2VkKQohLS0uZ29vZ2xlLiolRTUlQTQlQTklRTclQkElQkYl +RTUlQUUlOUQlRTUlQUUlOUQqJUU1JUJBJUI3JUU1JUI4JTg4JUU1JTgyJTg1CiEt +LS5nb29nbGUuKiVFNSVCQSVCNyVFNSVCOCU4OCVFNSU4MiU4NSolRTUlQTQlQTkl +RTclQkElQkYlRTUlQUUlOUQlRTUlQUUlOUQKIS0tVHUgTmkgU2kKIS0tLmdvb2ds +ZS4qJUU3JUFBJTgxJUU1JUIwJUJDJUU2JTk2JUFGCiEtLVR1aSBUZQohLS0uZ29v +Z2xlLiolRTYlOEUlQTglRTclODklQjkKIS0tV2FuZyBZYW5nCiEtLS5nb29nbGUu +KiVFNiVCMSVBQSVFNiU5NiVBRgohLS1XZWkgU2UKIS0tLmdvb2dsZS4qJUU1JTk0 +JUFGJUU4JTg5JUIyCiEtLVdlaSBTaGkgR29uZyBTaQohLS0uZ29vZ2xlLiolRTUl +QTglODElRTglQTclODYlRTUlODUlQUMlRTUlOEYlQjgKIS0tV28gTWVpIFlvdSBE +aSBSZW4KIS0tLmdvb2dsZS5jb20qJUU2JTg4JTkxJUU2JUIyJUExJUU2JTlDJTg5 +JUU2JTk1JThDJUU0JUJBJUJBCiEtLVd1IEVyIEthaSBYaQohLS0uZ29vZ2xlLiol +RTQlQjklOEMlRTUlQjAlOTQlRTUlODclQUYlRTglQTUlQkYKIS0tV3UgRmFuCiEt +LS5nb29nbGUuKiVFNCVCQyU4RCVFNSU4NyVBMQohLS1YaSBMYWkKIS0tLmdvb2ds +ZS4qJUU3JTg2JTk5JUU2JTlEJUE1CiEtLVhpbiBKaWFuZyAqIER1IExpKHJldmVy +c2VkKQohLS0uZ29vZ2xlLiVFNiU5NiVCMCVFNyU5NiU4NiolRTclOEIlQUMlRTcl +QUIlOEIKIS0tWGluIEppbmcgQmFvCiEtLS5nb29nbGUuKiVFNiU5NiVCMCVFNCVC +QSVBQyVFNiU4QSVBNQohLS1YdSBDYWkgSG91CiEtLS5nb29nbGUuKiVFNSVCRSU5 +MCVFNiU4OSU4RCVFNSU4RSU5QQohLS1YdWFuIFlhbgohLS0uZ29vZ2xlLmNvbS4q +JUU1JUFFJUEzJUU4JUE4JTgwCiEtLVh1ZSBDaGFvCiEtLS5nb29nbGUuKiVFNSVB +RCVBNiVFNiVCRCVBRQohLS1ZYW8gQmFuZwohLS0uZ29vZ2xlLiolRTglODAlODAl +RTklODIlQTYKIS0tWXVlIFl1ZQohLS0uZ29vZ2xlLiolRTYlOUMlODglRTYlOUMl +ODgKIS0tWWluZyBEaQohLS0uZ29vZ2xlLiolRTUlQkQlQjElRTUlQjglOUQKIS0t +WXUgWmhlbmcgU2hlbmcKIS0tLmdvb2dsZS4qc2VhcmNoKiVFNCVCRiU5RSVFNiVB +RCVBMyVFNSVBMyVCMAohLS1ZdWUgSG91IEppIEZlbgohLS0uZ29vZ2xlLiolRTkl +OTglODUlRTUlOTAlOEUlRTUlOEQlQjMlRTclODQlOUEKIS0tWmFuZyBEdQohLS0u +Z29vZ2xlLiolRTglOTclOEYlRTclOEIlQUMKIS0tWmUgTWluCiEtLS5nb29nbGUu +KiVFNiVCMyVCRCVFNiVCMCU5MQohLS1aaGFuZyBHYW8gTGkKIS0tLmdvb2dsZS4q +JUU1JUJDJUEwJUU5JUFCJTk4JUU0JUI4JUJECiEtLVpoZSBEYSBaaGFvIFNoZW5n +IGJBTgohLS0uZ29vZ2xlLiolRTYlQjUlOTklRTUlQTQlQTclRTYlOEIlOUIlRTcl +OTQlOUYlRTUlOEElOUUKIS0tWmhlbiBMaSBCdQohLS0uZ29vZ2xlLiolRTclOUMl +OUYlRTclOTAlODYlRTklODMlQTgKIS0tWmhlbiBYaWFuZwohLS0uZ29vZ2xlLiol +RTclOUMlOUYlRTclOUIlQjgKIS0tWmhlbmcgQmlhbgohLS0uZ29vZ2xlLiolRTYl +OTQlQkYlRTUlOEYlOTgKIS0tWmhlbmcgWmhpIEp1CiEtLS5nb29nbGUuKiVFNiU5 +NCVCRiVFNiVCMiVCQiVFNSVCMSU4MAohLS1aaGkgUWluZyBaaGUKIS0tLmdvb2ds +ZS4qJUU3JTlGJUE1JUU2JTgzJTg1JUU4JTgwJTg1CiEtLVpob25nIEdvbmcKIS0t Lmdvb2dsZS4qJUU0JUI4JUFEJUU1JTg1JUIxCiEtLVpob25nIEd1byAqIEppbiBX -ZW4KLmdvb2dsZS4qJUU0JUI4JUFEJUU1JTlCJUJEKiVFNyVBNiU4MSVFOSU5NyVC -QgohLS1aaG9uZyBHdW8gTWluIFpodSBEYW5nCi5nb29nbGUuKiVFNCVCOCVBRCVF -NSU5QiVCRCVFNiVCMCU5MSVFNCVCOCVCQiVFNSU4NSU5QQohLS1aaG9uZyBHdW8g -TWluIFpodSBZdW4gRG9uZwouZ29vZ2xlLiolRTQlQjglQUQlRTUlOUIlQkQlRTYl -QjAlOTElRTQlQjglQkIlRTglQkYlOTAlRTUlOEElQTgKIS0tWmhvbmcgR3VvIFNo -dSBaaSBTaGkgRGFpCi5nb29nbGUuKiVFNCVCOCVBRCVFNSU5QiVCRCVFNiU5NSVC -MCVFNSVBRCU5NyVFNiU5NyVCNiVFNCVCQiVBMwohLS1aaG9uZyBHdW8gWXVhbiBN -aW4gRGEgVG9uZyBNZW5nCi5nb29nbGUuKiVFNCVCOCVBRCVFNSU5QiVCRCVFNSU4 -NiVBNCVFNiVCMCU5MSVFNSVBNCVBNyVFNSU5MCU4QyVFNyU5QiU5RgohLS1aaHVp -IENoYSBHdW8gSmkKLmdvb2dsZS4qJUU4JUJGJUJEJUU2JTlGJUE1JUU1JTlCJUJE -JUU5JTk5JTg1CiEtLVppIFlhbmcKLmdvb2dsZS4qJUU3JUI0JUFCJUU5JTk4JUIz -CiEtLVppIFlvdSBNZW4KLmdvb2dsZS4qJUU4JTg3JUFBJUU3JTk0JUIxJUU5JTk3 -JUE4Ci5nb29nbGUuKiVFOCU4NyVBQSVFNyU5NCVCMSVFOSU5NiU4MAohLS1aaSBZ -b3UgWWEgWm91IERpYW4gVGFpCi5nb29nbGUuKnE9JUU4JTg3JUFBJUU3JTk0JUIx -JUU0JUJBJTlBJUU2JUI0JUIyJUU3JTk0JUI1JUU1JThGJUIwCgohLS0tLS1TdXJu -YW1lcy0tLS0tCiEtLUhlCi5nb29nbGUuY29tL20qJUU4JUI0JUJBCi5nb29nbGUu -Ki9zZWFyY2gqJUU4JUI0JUJBCiEtLUh1Ci5nb29nbGUuY29tL20qJUU4JTgzJUEx -Ci5nb29nbGUuKi9zZWFyY2gqJUU4JTgzJUExCiEtLUh1YW5nCiEtLS5nb29nbGUu -Ki9zZWFyY2gqJUU5JUJCJTg0CiEtLUppYQouZ29vZ2xlLmNvbS9tKiVFOCVCNCVC -RQouZ29vZ2xlLiovc2VhcmNoKiVFOCVCNCVCRQohLS1KaWFuZwouZ29vZ2xlLiol -RTYlQjElOUYKIS0tTGkKLmdvb2dsZS5jb20vbSolRTYlOUQlOEUKLmdvb2dsZS4q -L3NlYXJjaColRTYlOUQlOEUKIS0tTGl1Ci5nb29nbGUuKi9zZWFyY2gqJUU1JTg4 -JTk4CiEtLVdhbmcKLmdvb2dsZS4qJUU3JThFJThCCiEtLVdlbgouZ29vZ2xlLmNv -bS9tKiVFNiVCOCVBOQouZ29vZ2xlLiovc2VhcmNoKiVFNiVCOCVBOQohLS1XdQou -Z29vZ2xlLmNvbS9tKiVFNSU5MCVCNAouZ29vZ2xlLiovc2VhcmNoKiVFNSU5MCVC -NAohLS1YaQouZ29vZ2xlLmNvbS9tKiVFNCVCOSVBMAouZ29vZ2xlLiovc2VhcmNo -KiVFNCVCOSVBMAohLS1aaG91Ci5nb29nbGUuKiVFNSU5MSVBOAoKIS0tLS0tLS0t -LS0tLS1Hb29nbGUub3RoZXItLS0tLQp8aHR0cHM6Ly8qZG9jcy5nb29nbGUuY29t -CnxodHRwczovLypkcml2ZS5nb29nbGUuY29tCnxodHRwczovL2dyb3Vwcy5nb29n -bGUuY29tCnxodHRwczovL3BsdXMqLmdvb2dsZS5jb20KLmdvb2dsZS5jb20vbW9k -ZXJhdG9yCi5nb29nbGUuY29tJTJGbW9kZXJhdG9yCi5nb29nbGUuY29tL3JlYWRl -ci92aWV3L2ZlZWQKLmdvb2dsZS5jb20lMkZyZWFkZXIlMkZ2aWV3JTJGZmVlZAou -Z29vZ2xlLmNvbS5oay93ZW5kYQouZ29vZ2xlLmNvbS5oayUyRndlbmRhCnx8ZW5j -cnlwdGVkLmdvb2dsZS5jb20KZmVlZHByb3h5Lmdvb2dsZS5jb20KZ3JvdXBzLmdv -b2dsZS4qZ3JvdXAKa25vbC5nb29nbGUuY29tL2svLS8wOC8zamhpMXpkenZ4ajNm -Cm5ld3MuZ29vZ2xlLmNvbS5oay9ud3NocD9obD16aC1jbiZ0YWI9d24KcGljYXNh -d2ViLmdvb2dsZS5jb20Kc2l0ZXMuZ29vZ2xlLmNvbQp8fHNpdGVzLmdvb2dsZS5j -b20KfGh0dHBzOi8vdGFsa2dhZGdldC5nb29nbGUuY29tLwp2aWRlby5nb29nbGUu +ZW4KIS0tLmdvb2dsZS4qJUU0JUI4JUFEJUU1JTlCJUJEKiVFNyVBNiU4MSVFOSU5 +NyVCQgohLS1aaG9uZyBHdW8gTWluIFpodSBEYW5nCiEtLS5nb29nbGUuKiVFNCVC +OCVBRCVFNSU5QiVCRCVFNiVCMCU5MSVFNCVCOCVCQiVFNSU4NSU5QQohLS1aaG9u +ZyBHdW8gTWluIFpodSBZdW4gRG9uZwohLS0uZ29vZ2xlLiolRTQlQjglQUQlRTUl +OUIlQkQlRTYlQjAlOTElRTQlQjglQkIlRTglQkYlOTAlRTUlOEElQTgKIS0tWmhv +bmcgR3VvIFNodSBaaSBTaGkgRGFpCiEtLS5nb29nbGUuKiVFNCVCOCVBRCVFNSU5 +QiVCRCVFNiU5NSVCMCVFNSVBRCU5NyVFNiU5NyVCNiVFNCVCQiVBMwohLS1aaG9u +ZyBHdW8gWXVhbiBNaW4gRGEgVG9uZyBNZW5nCiEtLS5nb29nbGUuKiVFNCVCOCVB +RCVFNSU5QiVCRCVFNSU4NiVBNCVFNiVCMCU5MSVFNSVBNCVBNyVFNSU5MCU4QyVF +NyU5QiU5RgohLS1aaHVpIENoYSBHdW8gSmkKIS0tLmdvb2dsZS4qJUU4JUJGJUJE +JUU2JTlGJUE1JUU1JTlCJUJEJUU5JTk5JTg1CiEtLVppIFlhbmcKIS0tLmdvb2ds +ZS4qJUU3JUI0JUFCJUU5JTk4JUIzCiEtLVppIFlvdSBNZW4KIS0tLmdvb2dsZS4q +JUU4JTg3JUFBJUU3JTk0JUIxJUU5JTk3JUE4CiEtLS5nb29nbGUuKiVFOCU4NyVB +QSVFNyU5NCVCMSVFOSU5NiU4MAohLS1aaSBZb3UgWWEgWm91IERpYW4gVGFpCiEt +LS5nb29nbGUuKnE9JUU4JTg3JUFBJUU3JTk0JUIxJUU0JUJBJTlBJUU2JUI0JUIy +JUU3JTk0JUI1JUU1JThGJUIwCgohLS0tLS1TdXJuYW1lcy0tLS0tCiEtLUhlCiEt +LS5nb29nbGUuY29tL20qJUU4JUI0JUJBCiEtLS5nb29nbGUuKi9zZWFyY2gqJUU4 +JUI0JUJBCiEtLUh1CiEtLS5nb29nbGUuY29tL20qJUU4JTgzJUExCiEtLS5nb29n +bGUuKi9zZWFyY2gqJUU4JTgzJUExCiEtLUh1YW5nCiEtLS5nb29nbGUuKi9zZWFy +Y2gqJUU5JUJCJTg0CiEtLUppYQohLS0uZ29vZ2xlLmNvbS9tKiVFOCVCNCVCRQoh +LS0uZ29vZ2xlLiovc2VhcmNoKiVFOCVCNCVCRQohLS1KaWFuZwohLS0uZ29vZ2xl +LiolRTYlQjElOUYKIS0tTGkKIS0tLmdvb2dsZS5jb20vbSolRTYlOUQlOEUKIS0t +Lmdvb2dsZS4qL3NlYXJjaColRTYlOUQlOEUKIS0tTGl1CiEtLS5nb29nbGUuKi9z +ZWFyY2gqJUU1JTg4JTk4CiEtLVdhbmcKIS0tLmdvb2dsZS4qJUU3JThFJThCCiEt +LVdlbgohLS0uZ29vZ2xlLmNvbS9tKiVFNiVCOCVBOQohLS0uZ29vZ2xlLiovc2Vh +cmNoKiVFNiVCOCVBOQohLS1XdQohLS0uZ29vZ2xlLmNvbS9tKiVFNSU5MCVCNAoh +LS0uZ29vZ2xlLiovc2VhcmNoKiVFNSU5MCVCNAohLS1YaQohLS0uZ29vZ2xlLmNv +bS9tKiVFNCVCOSVBMAohLS0uZ29vZ2xlLiovc2VhcmNoKiVFNCVCOSVBMAohLS1a +aG91CiEtLS5nb29nbGUuKiVFNSU5MSVBOAoKIS0tLS0tLS0tLS0tLS1Hb29nbGUu +b3RoZXItLS0tLQohLS18aHR0cHM6Ly8qZG9jcy5nb29nbGUuY29tCiEtLXxodHRw +czovLypkcml2ZS5nb29nbGUuY29tCiEtLXxodHRwczovL2dyb3Vwcy5nb29nbGUu +Y29tCiEtLXxodHRwczovL3BsdXMqLmdvb2dsZS5jb20KIS0tLmdvb2dsZS5jb20v +bW9kZXJhdG9yCiEtLS5nb29nbGUuY29tJTJGbW9kZXJhdG9yCiEtLS5nb29nbGUu +Y29tL3JlYWRlci92aWV3L2ZlZWQKIS0tLmdvb2dsZS5jb20lMkZyZWFkZXIlMkZ2 +aWV3JTJGZmVlZAohLS0uZ29vZ2xlLmNvbS5oay93ZW5kYQohLS0uZ29vZ2xlLmNv +bS5oayUyRndlbmRhCiEtLXx8ZW5jcnlwdGVkLmdvb2dsZS5jb20KIS0tZmVlZHBy +b3h5Lmdvb2dsZS5jb20KIS0tZ3JvdXBzLmdvb2dsZS4qZ3JvdXAKIS0ta25vbC5n +b29nbGUuY29tL2svLS8wOC8zamhpMXpkenZ4ajNmCiEtLW5ld3MuZ29vZ2xlLmNv +bS5oay9ud3NocD9obD16aC1jbiZ0YWI9d24KIS0tcGljYXNhd2ViLmdvb2dsZS5j +b20KIS0tc2l0ZXMuZ29vZ2xlLmNvbQohLS18fHNpdGVzLmdvb2dsZS5jb20KIS0t +fGh0dHBzOi8vdGFsa2dhZGdldC5nb29nbGUuY29tLwohLS12aWRlby5nb29nbGUu Y29tCmFudGkuYW50aS5jbm4uZ29vZ2xlcGFnZXMuY29tCnx8ZnJlZWdhdGVnZXQu Z29vZ2xlcGFnZXMuY29tCm15Ym9vb2tzLmdvb2dsZXBhZ2VzLmNvbQouZ29vZ2xl -dmlkZW8uY29tCnxodHRwczovL2FwaXMuZ29vZ2xlLmNvbQoKZ29zcGVsaGVyYWxk -LmNvbQp8fGdvc3BlbGhlcmFsZC5jb20KfGh0dHA6Ly9oay5ncmFkY29ubmVjdGlv -bi5jb20vCnx8Z3JheWxvZzIub3JnCmdyZWF0ZmlyZS5vcmcKfHxncmVhdGZpcmUu -b3JnCmdyZWF0ZmlyZXdhbGxvZmNoaW5hLm9yZwp8fGdyZWF0cm9jLnR3Cnx8Z3N0 -YXRpYy5jb20KZ3Vpc2hhbi5vcmcKfHxndWlzaGFuLm9yZwp8fGd1bnNhbWVyaWNh -LmNvbQouZ3lhbHdhcmlucG9jaGUuY29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1I -SC0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8aC1jaGluYS5vcmcKaDFuMWNoaW5hLm9y -ZwouaGFja2VuLmNjL2Jicwp8fGhhY2t0aGF0cGhvbmUubmV0CmhhaGxvLmNvbQp8 -fGhha2thdHYub3JnLnR3Ci5oYW51bnlpLmNvbQp8fGhhcmRzZXh0dWJlLmNvbQp8 -fGhhc2Fvd2FsbC5jb20KaGF2ZTguY29tCkBAfHxoYXlnby5jb20KfHxoZHR2Yi5u -ZXQKfHxoZWFydHlpdC5jb20KLmhlY2FpdG91Lm5ldAp8fGhlY2FpdG91Lm5ldAou -aGVjaGFqaS5jb20KfHxoZWNoYWppLmNvbQp8fGhlbGxvYW5kcm9pZC5jb20KfHxo -ZWxsb3F1ZWVyLmNvbQpoZWxsb3R4dC5jb20KfHxoZWxsb3R4dC5jb20KfHxodHh0 -Lml0LwouaGVsbG91ay5vcmcvZm9ydW0vbG9maXZlcnNpb24KLmhlbHBlYWNocGVv -cGxlLmNvbQp8fGhlbHBlYWNocGVvcGxlLmNvbQouaGVscHpodWxpbmcub3JnCgoh -IyMjIyMjIyMjIyMtLUhlcm9rdS0tIyMjIyMjIyMjIwp8fGRhdGUuZm0KfHxmbGln -aHRjYXN0ZXIuY29tCnx8YnJhbmNoLmNvbQp8fGF3YXJkd2lubmluZ2Zqb3Jkcy5j -b20KfHxmdXR1cmVtZS5vcmcKfHxnZXRjbG91ZGFwcC5jb20KfHxjbC5seQpAQHx8 -Zi5jbC5seQp8fGdldHNtYXJ0bGlua3MuY29tCnx8Z2l0LXNjbS5jb20KfHxsZXNz -Y3NzLm9yZwp8fGxpc3QubHkKfHxtYXhnaWYuY29tCnx8b3ZlcmxhcHIuY29tCnx8 -cGVlcnBvbmcuY29tCnx8cG9zZS5jb20KIS0tfHxydWJ5aW5zdGFsbGVyLm9yZwp8 -fHNhbXNvZmYuZXMKfHxzZW5kb2lkLmNvbQp8fHNwZWNrbGVhcHAuY29tCnx8c3R1 -ZmZpbXJlYWRpbmcubmV0Cnx8dG9tYXlrby5jb20KfHx0d3QuZm0KfHx2aWV3cy5m -bQoKaGVxaW5nbGlhbi5uZXQKaGVyZTRuZXdzLmNvbQp8fGhldW5na29uZ2Rpc2N1 -c3MuY29tCmFwcC5oZXl3aXJlLmNvbQouaGdzZWF2LmNvbQpoaWRkZW4tYWR2ZW50 -Lm9yZwp8fGhpZGRlbi1hZHZlbnQub3JnCmhpZGVjbG91ZC5jb20vYmxvZy8yMDA4 -LzA3LzI5L2Z1Y2stYmVpamluZy1vbHltcGljcy5odG1sCi5oaWRlbXlhc3MuY29t -Cnx8aGlkZW15YXNzLmNvbQp8fGhpZGVpcHZwbi5jb20KLmhpaGlmb3J1bS5jb20K -fGh0dHA6Ly9oaWhpZm9ydW0uY29tCnx8aGloaXN0b3J5Lm5ldAouaGlnZncuY29t -Cnx8aGlnaHJvY2ttZWRpYS5jb20KfHxoaWtpbmdnZncub3JnCi5oaW1lbWl4LmNv -bQp0aW1lcy5oaW5ldC5uZXQKLmhqY2x1Yi5pbmZvCi5oay1wdWIuY29tL2ZvcnVt -CnxodHRwOi8vaGstcHViLmNvbQouaGszMjE2OC5jb20KfHxoazMyMTY4LmNvbQph -cHAuaGthdHZuZXdzLmNvbS92Mwpoa2JjLm5ldAouaGtiZi5vcmcKaGtkYXkubmV0 -Ci5oa2RhaWx5bmV3cy5jb20uaGsvY2hpbmEucGhwCi5oa2VqLmNvbS90ZW1wbGF0 -ZS9mb3J1bQouaGtlcGMuY29tL2ZvcnVtL3ZpZXd0aHJlYWQucGhwP3RpZD0xMTUz -MzIyCmdsb2JhbC5oa2VwYy5jb20qZm9ydW0KaGtmcm9udC5vcmcKaGtnb2xkZW4u -Y29tCi5oa2dyZWVucmFkaW8ub3JnL2hvbWUKLmhraGVhZGxpbmUuY29tKmJsb2cK -LmhraGVhZGxpbmUuY29tL2luc3RhbnRuZXdzCi5oa2hraGsuY29tCmhramMuY29t -Ci5oa2pwLm9yZwpoa3B0dS5vcmcKLmhrcmVwb3J0ZXIuY29tCnx8aGtyZXBvcnRl -ci5jb20KfHxoa3pvbmUub3JnCmFwcHMuaGxvbGkubmV0L2dmd3R1YmUKaG5qaGou -Y29tCnx8aG5qaGouY29tCmhvbHlzcGlyaXRzcGVha3Mub3JnCnx8aG9seXNwaXJp -dHNwZWFrcy5vcmcKfHxkZXJla2hzdS5ob21laXAubmV0CmhvbmdtZWltZWkuY29t -Cnx8aG9uZ3poaS5saQpob290c3VpdGUuY29tCnx8aG9vdHN1aXRlLmNvbQpob3Rm -aWxlLmNvbS9kbApob3Rwb3QuaGsKfHxob3RzcG90c2hpZWxkLmNvbQp8fGhvdWdh -aWdlLmNvbQp8fGhvd3RvZm9yZ2UuY29tCi5ocWNkcC5vcmcKfHxocWNkcC5vcmcK -LmhyY2lyLmNvbQpocmljaGluYS5vcmcKLmhydy5vcmcKfHxoc2pwLm5ldAp8fGh0 -bWxkb2cuY29tCmh1YWdsYWQuY29tCi5odWFuZ2h1YWdhbmcub3JnCnx8aHVhbmdo -dWFnYW5nLm9yZwouaHVhcmVuLnVzCmh1YXhpYS1uZXdzLmNvbQpodWF4aW4ucGgK -aHVhLXl1ZS5uZXQKfHxodWdvcm95LmV1CnQuaHVoYWl0YWkuY29tCnx8aHVuZ2Vy -c3RyaWtlZm9yYWlkcy5vcmcKfHxodXBpbmcubmV0Cnx8aHV0aWFueWkubmV0Cmh1 -dG9uZzkubmV0Cnx8aHdpbmZvLmNvbQp8fGh5cGVzaGVsbC5jb20KfHxoeXBlcnJh -dGUuY29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1JSS0tLS0tLS0tLS0tLS0tLS0t -LS0tCnx8aTEuaGsKfHxpMnAyLmRlLwp8fGkycnVubmVyLmNvbQppYXNrLmNhCnx8 -aWFzay5jYQppYXNrLmJ6Cnx8aWFzay5iegppYmlibGlvLm9yZy9wdWIvcGFja2Fn -ZXMvY2NpYwp8fGlibG9nc2Vydi1mLm5ldAp8aHR0cDovL2NuLmlidGltZXMuY29t -CmJsb2dzLmljZXJvY2tldC5jb20vdGFnCi5pY2lqLm9yZwp8fGljbC1maS5vcmcK -fHxpY29ucGFwZXIub3JnCncuaWRhaXdhbi5jb20vZm9ydW0KLmlkZW50aS5jYQp8 -fGlkZW50aS5jYQp8fGlkaW9tY29ubmVjdGlvbi5jb20KfGh0dHA6Ly93d3cuaWRs -Y295b3RlLmNvbQouaWRvdWdhLmNvbQpmb3J1bS5pZHNhbS5jb20KLmlkdi50dwpp -ZWFzeW5ld3MubmV0Ci5pZWQyay5uZXQKfHxpZi1ub3QtdHJ1ZS10aGVuLWZhbHNl -LmNvbQppZmFucWlhbmcuY29tCi5pZmFuci5jb20vODU3Ci5pZmNzcy5vcmcKfHxp -ZmNzcy5vcmcKaWZqYy5vcmcKIS0tY3lkaWEuaWZ1Y2tnZncuY29tCiEtLXx8Y3lk -aWEuaWZ1Y2tnZncuY29tCnx8YW50aWRybS5ocGcuaWcuY29tLmJyCnx8aWdmdy5u -ZXQKfHxpZ25pdGVkZXRyb2l0Lm5ldAp8fGloYWtrYS5uZXQKfHxpaWNucy5jb20K -fHxpbGx1c2lvbmZhY3RvcnkuY29tCnx8aWxvdmU4MC5iZQp8fGltLnR2CkBAfHxt -eXZsb2cuaW0udHYKfHxpbTg4LnR3Cnx8aW1hZ2VmbGVhLmNvbQppbWFnZXNoYWNr -LnVzCnx8aW1hZ2V2ZW51ZS5jb20KfHxpbWFnZXppbGxhLm5ldAohLS0uaW1kYi5j -b20KIS0tfGh0dHA6Ly9pbWRiLmNvbQp8aHR0cDovL3d3dy5pbWRiLmNvbS9uYW1l -L25tMDQ4MjczMAouaW1nLmx5Cnx8aW1nLmx5Ci5pbWtldi5jb20KfHxpbWtldi5j -b20KLmltbGl2ZS5jb20KaW1taWdyYXRpb24uZ292LnR3CnxodHRwOi8vdGVjaDIu -aW4uY29tL3ZpZGVvLwp8fGluY3JlZGlib3guZnIKLmlubWVkaWFoay5uZXQKfHxp -bm1lZGlhaGsubmV0Cnx8aW5uZXJtb25nb2xpYS5vcmcKfHxpbnRlcmZhY2VhZGRp -Y3Rpb24uY29tCnx8aW50ZXJuYXRpb25hbHJpdmVycy5vcmcKfGh0dHA6Ly9pbnRl -cm5ldC5vcmcvCmludGVybmV0ZGVmZW5zZWxlYWd1ZS5vcmcKaW50ZXJuZXRmcmVl -ZG9tLm9yZwp8fGludGVybmV0cG9wY3VsdHVyZS5jb20KaW54aWFuLmNvbQp8fGlu -eGlhbi5jb20KfHxpcGhvbmVoYWNrcy5jb20KfHxpcGhvbml4LmZyCnx8aXBpY3R1 -cmUucnUKaXBvYmFyLmNvbQp8fGlwcG90di5jb20KfGh0dHBzOi8vKi5pcHRvcnJl -bnRzLmNvbQp8aHR0cHM6Ly9pcHRvcnJlbnRzLmNvbQp8fGlwdmFuaXNoLmNvbQpp -cmVkbWFpbC5vcmcKfHxpcm9uaWNzb2Z0d2FyZS5jb20KfHxpcm9uYmlnZm9vbHMu -Y29tcHl0aG9uLm5ldAp8fGlyb25weXRob24ubmV0Ci5iZXRhLmlzZXQuY29tLnR3 -L2ZvcnVtCmh0dHA6Ly9iZXRhLmlzZXQuY29tLnR3L2ZvcnVtCmZvcnVtLmlzZXQu -Y29tLnR3Ci5pc2xhbS5vcmcuaGsKLmlzYWFjbWFvLmNvbQp8fCEtLWlzYWFjbWFv -LmNvbQp8fGlzZ3JlYXQub3JnCnx8aXNtcHJvZmVzc2lvbmFsLm5ldAppc29odW50 -LmNvbQp8fGlzcmFib3guY29tCmJsb2cuaXN0ZWYuaW5mby8yMDA3LzEwLzIxL215 -ZW50dW5uZWwKLmlzdG9ja3Bob3RvLmNvbQppc3VuYWZmYWlycy5jb20KaXN1bnR2 -LmNvbQppdGFib28uaW5mbwp8fGl0YWJvby5pbmZvCml0aGVscC5pdGhvbWUuY29t -LnR3Cnx8aXRzaGlkZGVuLmNvbQouaXR3ZWV0Lm5ldAp8aHR0cDovL2l0d2VldC5u -ZXQKLml1NDUuY29tCi5pemFvYmFvLnVzCnx8Z21vem9tZy5pemlob3N0Lm9yZwou -aXpsZXMubmV0CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1pVHVuZXMtLS0tLS0tLS0t -LS0tLS0tLS0tLQppdHVuZXMuYXBwbGUuKjI4NTY4ODkzNAppdHVuZXMuYXBwbGUu -KjM1ODgwMTI4NAppdHVuZXMuYXBwbGUuKjM3NTU4NDY3NwppdHVuZXMuYXBwbGUu -KjM4Mzk0OTA4OQppdHVuZXMuYXBwbGUuKjMxOTI5NTMzMgppdHVuZXMuYXBwbGUu -KjQxODk4Nzc3NQppdHVuZXMuYXBwbGUuY29tL3VzKmlkNDQ3MTE5NjM0Ci5hcHBs -ZS4qaXN1bmFmZmFpcnMKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUpKLS0tLS0tLS0t -LS0tLS0tLS0tLS0KfHxqLm1wCmJsb2cuamFja2ppYS5jb20KamJ0YWxrcy5jYwpq -YnRhbGtzLmNvbQpqYnRhbGtzLm15CmplYW55aW0uY29tCnx8amdvb2RpZXMuY29t -Cnx8amlhb3lvdTguY29tCi5qaWVodWEuY3oKfHxoay5qaWVwYW5nLmNvbQp8fHR3 -LmppZXBhbmcuY29tCmppZXNoaWJhb2Jhby5jb20KLmppbW9wYXJ0eS5jb20KfGh0 -dHA6Ly9qaW1vcGFydHkuY29tCmppbmJ1c2hlLm9yZwp8fGppbmJ1c2hlLm9yZwp6 -aGFvLmppbmhhaS5kZQpqaW5ncGluLm9yZwp8fGppbmdwaW4ub3JnCmFjLmppcnVh -bi5uZXQKfHxqaXRvdWNoLmNvbQpqa2ZvcnVtLm5ldApyZXNlYXJjaC5qbXNjLmhr -dS5oay9zb2NpYWwKfHxqb2FjaGltcy5vcmcKfHxqb2Jzby50dgp8fGpvZWVkZWxt -YW4uY29tCnx8am91cm5hbG9mZGVtb2NyYWN5Lm9yZwpqcG9wZm9ydW0ubmV0Cnx8 -anVsaWVyZXljLmNvbQp8fGp1bmF1emEuY29tCi5qdW5lZm91cnRoLTIwLm5ldAp8 -fGp1bmVmb3VydGgtMjAubmV0Cmp1c3RmcmVldnBuLmNvbQohLS0uanVzdGluLnR2 -CnpoLXR3Lmp1c3Rpbi50dgpqdXN0dHJpc3Rhbi5jb20KanV6aXl1ZS5jb20KfHxq -dXppeXVlLmNvbQp8fGp3bXVzaWMub3JnCkBAfHxtdXNpYy5qd211c2ljLm9yZwou -anl4Zi5uZXQKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUtLLS0tLS0tLS0tLS0tLS0t -LS0tLS0KfHxrYS13YWkuY29tCi5rYWd5dW9mZmljZS5vcmcudHcKfHxrYWd5dW9m -ZmljZS5vcmcudHcKLmthaXl1YW4uZGUKa2FuemhvbmdndW8uY29tCmthbnpob25n -Z3VvLmV1Cnx8a2FyYXlvdS5jb20KfHxrY3NvZnR3YXJlcy5jb20KLmtlY2hhcmEu -Y29tCi5rZWVwYW5kc2hhcmUuY29tL3Zpc2l0L3Zpc2l0X3BhZ2UucGhwP2k9Njg4 -MTU0Ci5rZW5kaW5jb3MubmV0Ci5rZW5lbmdiYS5jb20KfHxrZW5lbmdiYS5jb20K -d2lraS5rZXNvLmNuL0hvbWUKLmtobXVzaWMuY29tLnR3CmJicy5raW15LmNvbS50 -dwpraW5nZG9tc2FsdmF0aW9uLm9yZwpraW5naG9zdC5jb20KLmtpbmdzdG9uZS5j -b20udHcKa2lsbHdhbGwuY29tCnx8a2lsbHdhbGwuY29tCi5raXNzYmJhby5jbgou -a25vd2xlZGdlcnVzaC5jb20va3IvZW5jeWNsb3BlZGlhCnx8a29kaW5nZW4uY29t -CkBAfHx3d3cua29kaW5nZW4uY29tCnx8a29tcG96ZXIubmV0Cnx8a29vbHNvbHV0 -aW9ucy5jb20KLmtvb3Juay5jb20KfHxrb29ybmsuY29tCi5rdWkubmFtZS9ldmVu -dAprdW4uaW0KfHxrdXJ0bXVuZ2VyLmNvbQprdXNvY2l0eS5jb20Ka3dvbmd3YWgu -Y29tLm15Cmt5b2hrLm5ldAoua3plbmcuaW5mbwp8fGt6ZW5nLmluZm8KCiEtLS0t -LS0tLS0tLS0tLS0tLS0tLUxMLS0tLS0tLS0tLS0tLS0tLS0tLS0KbGEtZm9ydW0u -b3JnCmxhZGJyb2tlcy5jb20KfHxsYWJpZW5uYWxlLm9yZwpsYWdyYW5lcG9jYS5j -b20KLmxhbHVsYWx1LmNvbQpsYW9nYWkub3JnCnx8bGFvZ2FpLm9yZwpsYW9taXUu -Y29tCi5sYW95YW5nLmluZm8KfGh0dHA6Ly9sYW95YW5nLmluZm8KfHxsYXB0b3Bs -b2NrZG93bi5jb20KLmxhcWluZ2Rhbi5uZXQKfHxsYXJzZ2VvcmdlLmNvbQp8fGxh -c3RmbS5lcwpsYXRlbGluZW5ld3MuY29tCnx8bGF6YXJzZWFybHltdXNpYy5jb20K -fHxsZWVjaGV1a3lhbi5vcmcKfHxsZW53aGl0ZS5jb20KbGVyb3N1YS5vcmcKfHxs -ZXJvc3VhLm9yZwpibG9nLmxlc3Rlcjg1MC5pbmZvCmxldHNjb3JwLm5ldAp8fGxl -dHNjb3JwLm5ldApsaWFuc2kub3JnCi5saWFueXVlLm5ldAp8fGxpYW93YW5neGl6 -YW5nLm5ldAoubGlhb3dhbmd4aXphbmcubmV0Cnx8bGliZXJhbC5vcmcuaGsKbGli -ZXJ0eXRpbWVzLmNvbS50dwoubGlkZWNoZW5nLmNvbS9ibG9nL2Z1Y2tpbmctZ2Z3 -CmxpbWlhby5uZXQKYWJpdG5vLmxpbnBpZS5jb20vdXNlLWlwdjYtdG8tZnVjay1n -ZncKLmxpbmdsaW5nZmEuY29tCi5saW5raWRlby5jb20KfHxhcGkubGlua3NhbHBo -YS5jb20KfHxhcGlkb2NzLmxpbmtzYWxwaGEuY29tCnx8d3d3LmxpbmtzYWxwaGEu -Y29tCnx8aGVscC5saW5rc2FscGhhLmNvbQp8fGxpbnV4LWVuZ2luZWVyLm5ldAp8 -fGxpbnV4Y29uZmlnLm9yZwp8fGxpbnV4cmV2aWV3cy5vcmcKbGludXh0b3kub3Jn -L2FyY2hpdmVzL2luc3RhbGxpbmctd2VzdC1jaGFtYmVyLW9uLXVidW50dQoubGlw -dW1hbi5jb20KfHxsaXN0ZW50b3lvdXR1YmUuY29tCmxpc3RvcmlvdXMuY29tCnx8 -bGl1ZGVqdW4uY29tCi5saXVoYW55dS5jb20KLmxpdWppYW5zaHUuY29tCnx8bGl1 -amlhbnNodS5jb20KbGl1eGlhb3RvbmcuY29tCnx8bGl1eGlhb3RvbmcuY29tCmxp -dS5sdQoubGl2ZWxlYWsuY29tCnx8bGl2ZWxlYWsuY29tCi5saXZlc3RhdGlvbi5j -b20KbGl2ZXN0cmVhbS5jb20KfHxsaXZlc3RyZWFtLmNvbQp8fGxpdmluZ29ubGlu -ZS51cwp8fGxpdmluZ3N0cmVhbS5jb20KfHxsaXZldmlkZW8uY29tCi5saXZldmlk -ZW8uY29tCmxpemhpemh1YW5nYmkuY29tCmxrY24ubmV0Cnx8bG9ja2Rvd24uY29t -Cnx8bG9ja2VzdGVrLmNvbQpsb2dib3QubmV0Cnx8bG9naXF4LmNvbQp8fGxvZ21p -a2UuY29tCi5sb25naGFpci5oawp8fGxvbmd0ZXJtbHkubmV0Ci5sb29rYXRnYW1l -LmNvbQp8aHR0cDovL2xvb2thdGdhbWUuY29tCnx8bG9va2luZ2dsYXNzdGhlYXRy -ZS5vcmcKfHxsb29rcGljLmNvbQpoa3JlcG9ydGVyLmxvdmVkLmhrCnx8bHJmei5j -b20KLmxzZC5vcmcuaGsKfHxsc2Qub3JnLmhrCmxzZm9ydW0ubmV0Cnx8bHNtLm9y -Zwp8fGxzbWNoaW5lc2Uub3JnCnx8bHNta29yZWFuLm9yZwoubHVwbS5vcmcKfHxs -dXBtLm9yZwpsdmhhaS5vcmcKfHxsdmhhaS5vcmcKCiEtLS0tLS0tLS0tLS0tLS0t -LS0tLU1NLS0tLS0tLS0tLS0tLS0tLS0tLS0KfHxtaDR1Lm9yZwptLXRlYW0uY2Mv -Zm9ydW0Kd3d3Lm1hY3JvdnBuLmNvbQp8fG1hZC1hci5jaAp8fG1hcmMuaW5mbwpt -YXJndWVyaXRlLnN1Cnx8bWFydGluY2FydG9vbnMuY29tCi5tYWlpby5uZXQKbWFp -bC1hcmNoaXZlLmNvbQptYWxheXNpYWtpbmkuY29tL2NuCnx8bWFrZW15bW9vZC5j -b20KfHxtYXJpbmVzLm1pbAptYXJrbWFpbC5vcmcqbWVzc2FnZQp8fG1hcnRhdS5j -b20KbWFydXRhLmJlL2ZvcmdldAoubWFyeGlzdC5jb20KfHxtYXJ4aXN0Lm5ldAou -bWFyeGlzdHMub3JnL2NoaW5lc2UKbWFzaGFibGUuY29tCnx8bWFzaGFibGUuY29t -Cnx8bWF0YWluamEuY29tCnx8bWF0aGlldy1iYWRpbW9uLmNvbQp8fG1hdHN1c2hp -bWFrYWVkZS5jb20KbWF5aW1heWkuY29tCnx8bWNhZGZvcnVtcy5jb20KbWNmb2cu -Y29tCi5tZC10Lm9yZwp8fG1kLXQub3JnCi5tZWRpYWZpcmUuY29tLz8KfHxtZWV0 -dXAuY29tCm1lZmVlZGlhLmNvbQpsaWNoMzU1Lm1lZ2FieWV0Lm5ldC8lRTclQkQl -OTElRTclQkIlOUMlRTclQTUlOUUlRTUlODUlQkQlRTUlOEYlQTQlRTklQjglQkQl -RTglQkYlODElRTclQTclQkIlRTglQUUlQjAKLm1lZ2Fwb3JuLmNvbQp8fG1lZ2Fy -b3RpYy5jb20KbWVnYXZpZGVvLmNvbQp8fG1lZ3VyaW5lbHVrYS5jb20KbWVpcml4 -aWFvY2hhby5jb20KfHxtZWxvbi1wZWFjaC5jb20KbWVtZWRpYS5jbgptZXJpdC10 -aW1lcy5jb20udHcKLm1lc290dy5jb20vYmJzCi5tZXRhY2FmZS5jb20KfHxtZXRl -b3JzaG93ZXJzb25saW5lLmNvbQp8fG1ldHJvbGlmZS5jYQptZ29vbi5jb20KfHxt -Z3N0YWdlLmNvbQptaHJhZGlvLm9yZwp8aHR0cDovL21pY2hhZWxhbnRpLmNvbQp8 -fG1pY2hhZWxtYXJrZXRsLmNvbQptaWRkbGUtd2F5Lm5ldAoubWloay5oay9mb3J1 -bQptaWh1YS5vcmcKLm1pbWl2aXAuY29tCm1pbmdodWkub3JnCnx8bWluZ2h1aS5v -cmcKbWluZ2h1aS1zY2hvb2wub3JnCi5taW5namluZ2xpc2hpLmNvbQp8fG1pbmdq -aW5nbGlzaGkuY29tCm1pbmdqaW5nbmV3cy5jb20KbWluZ3Bhby5jb20KLm1pbmdw -YW9tb250aGx5LmNvbQptaW5ncGFvbmV3cy5jb20KLm1pbmdwYW9ueS5jb20KLm1p -bmdwYW9zZi5jb20KLm1pbmdwYW90b3IuY29tCi5taW5ncGFvdmFuLmNvbQoubWlu -aW5vdmEub3JnL3Rvci8yNTkzNTAzCi5taW56aHVodWEubmV0Cnx8bWluemh1aHVh -Lm5ldAptaW56aHV6aG9uZ2d1by5vcmcKfHxtaXJvZ3VpZGUuY29tCm1pcnJvcmJv -b2tzLmNvbQptaXRiYnMuY29tCi5taXhlcm8uY29tCnx8bWl4ZXJvLmNvbQptaXhw -b2QuY29tCi5taXh4LmNvbQp8fG1peHguY29tCnx8bWl6em1vbmEuY29tCi5tazUw -MDAuY29tCi5tbGNvb2wuY29tCnx8bW1hYXh4LmNvbQpwbHVya3RvcC5tbWRheXMu -Y29tCi5tbW1jYS5jb20KfHxtb2JhdGVrLm5ldAoubW9iaWxlMDEuY29tCnx8bW9i -aWxld2F5cy5kZQoubW9ieXBpY3R1cmUuY29tCnxodHRwOi8vbW9ieS50bwp3aWtp -Lm1vZWdpcmwub3JnCnx8bW9nLmNvbQptb2xpaHVhLm9yZwp8fG1vbmRleC5vcmcK -fGh0dHA6Ly93d3cubW9ubGFtaXQub3JnCmMxNTIyLm1vb28uY29tCnx8bW9uaXRv -cmNoaW5hLm9yZwpiYnMubW9yYmVsbC5jb20KfHxtb3JuaW5nc3VuLm9yZwp8fG1v -dmFibGV0eXBlLmNvbQp8fG1vdmllZmFwLmNvbQp8fHd3dy5tb3p0dy5vcmcKbXAz -eWUuZXUKfHxtcC8KfHxtcGV0dGlzLmNvbQptcGZpbmFuY2UuY29tCm1waW5ld3Mu -Y29tCm1ydHdlZXQuY29tCnx8bXJ0d2VldC5jb20KbmV3cy5tc24uY29tLnR3Ci5t -c2d1YW5jaGEuY29tCnx8bXRocnVmLmNvbQp8fG11bHRpcGx5LmNvbQptdWx0aXBy -b3h5Lm9yZwpmb3J1bS5teW1hamkuY29tCm11bHRpdXBsb2FkLmNvbQp8fG11b3Vq -dS5jb20KfHxtdXNlbGlua3MuY28uanAKfHxtdXppLmNvbQp8fG11emkubmV0Cnx8 -bXg5ODEuY29tCi5teS1wcm94eS5jb20KZm9ydW0ubXk5MDMuY29tCm15YWN0aW1l -cy5jb20KfHxteWF1ZGlvY2FzdC5jb20KLm15YXYuY29tLnR3L2Jicwp8fGJicy5t -eWNoYXQudG8KfHxteWNoaW5hbXlob21lLmNvbQoubXljaGluYW15aG9tZS5jb20K -fHx3d3cubXljb3VsZC5jb20KfHxteWVjbGlwc2VpZGUuY29tCi5teWZvcnVtLmNv -bS5oawp8fG15Zm9ydW0uY29tLmhrCnx8bXlmb3J1bS5jb20udWsKLm15ZnJlc2hu -ZXQuY29tCnx8bXlwYXJhZ2xpZGluZy5jb20KfHxteXBvcGVzY3UuY29tCm15c2lu -YWJsb2cuY29tCi5teXNwYWNlLmNvbQohLS0uYmxvZ3MubXlzcGFjZS5jb20KIS0t -fHxibG9ncy5teXNwYWNlLmNvbQohLS12aWRzLm15c3BhY2UuY29tL2luZGV4LmNm -bT9mdXNlYWN0aW9uPXZpZHMuCiEtLXZpZXdtb3JlcGljcy5teXNwYWNlLmNvbQoK -IS0tLS0tLS0tLS0tLS0tLS0tLS0tTk4tLS0tLS0tLS0tLS0tLS0tLS0tLQp8fG5h -YWNvYWxpdGlvbi5vcmcKb2xkLm5hYmJsZS5jb20KfHxuYWl0aWsubmV0Cnx8bmFt -c2lzaS5jb20KbmFueWFuZy5jb20KfHxuYW55YW5nLmNvbQoubmFueWFuZ3Bvc3Qu -Y29tCnx8bmFueWFuZ3Bvc3QuY29tCi5uYW56YW8uY29tCnx8bmF2aWNhdC5jb20K -Lm5ha2lkby5jb20KfHxuYWtpZG8uY29tCi5uYW9sLmNhCmN5YmVyZ2hvc3QubmF0 -YWRvLmNvbQp8fG5hdnkubWlsCm5jY3dhdGNoLm9yZy50dwoubmNoLmNvbS50dwou -bmNuLm9yZwp8fG5jbi5vcmcvCnx8ZXRvb2xzLm5jb2wuY29tCnd3dy5uZWQub3Jn -Cnx8bmVrb3Nsb3Zha2lhLm5ldAp0Lm5lb2xlZS5jbgpuZXRjb2xvbnkuY29tCmJv -bGluLm5ldGZpcm1zLmNvbQp6aC5uZXRsb2cuY29tCm5ldG1lLmNjCm5ldHdvcmtl -ZGJsb2dzLmNvbQpuZXZlcmZvcmdldDg5NjQub3JnCm5ldy0zbHVuY2gubmV0Ci5u -ZXctYWtpYmEuY29tCi5uZXdjZW50dXJ5bWMuY29tCnxodHRwOi8vbmV3Y2VudHVy -eW1jLmNvbQpuZXdjZW50dXJ5bmV3cy5jb20KfHxuZXdjaGVuLmNvbQoubmV3Y2hl -bi5jb20KLm5ld2dyb3VuZHMuY29tCm5ld2xhbmRtYWdhemluZS5jb20uYXUKbmV3 -czEwMC5jb20udHcKLm5ld3Njbi5vcmcKfHxuZXdzY24ub3JnCnx8bmV3c21pbmVy -LmNvbQpuZXdzcGVhay5jYy9zdG9yeQoubmV3c2FuY2FpLmNvbQoubmV3dGFpd2Fu -LmNvbS50dwpuZXd0YWxrLnR3Cnx8bmV3dGFsay50dwpuZXd5b3JrdGltZXMuY29t -CmhrKi5uZXh0bWVkaWEuY29tCnR3Ki5uZXh0bWVkaWEuY29tCnN0YXRpYy5hcHBs -ZS5uZXh0bWVkaWEuY29tCnx8bmV4dG9uLW5ldC5qcApuZXh0dHYuY29tLnR3Cnx8 -bmdhLm1pbApuZ2Vuc2lzLmNvbQoubmljb3ZpZGVvLmpwL3dhdGNoLwohLS18fG5p -Y292aWRlby5qcAp8fG5pZ2hvc3Qub3JnCm5pbnRlbmRpdW0uY29tCi5kYXlhYXJt -b25nb2wubmluZy5jb20KfGh0dHA6Ly9kYXlhYXJtb25nb2wubmluZy5jb20KdGFp -d2FueWVzLm5pbmcuY29tCnx8bmphY3RiLm9yZwpuanVpY2UuY29tCnx8bmp1aWNl -LmNvbQpubGZyZWV2cG4uY29tCiEtLW5vLWlwLmNvbQohLS0ubm9iZWxwcml6ZS5v -cmcKIS0tfGh0dHA6Ly9ub2JlbHByaXplLm9yZwpub2JlbHByaXplLm9yZy9ub2Jl -bF9wcml6ZXMvcGVhY2UvbGF1cmVhdGVzLzIwMTAKbm9ib2R5Y2Fuc3RvcC51cwp8 -fG5vYm9keWNhbnN0b3AudXMKfHxub2tvZ2lyaS5vcmcKfHxub2tvbGEuY29tCnx8 -bm9vYmJveC5jb20KfHxub3ZlbGFzaWEuY29tCnx8bm93bmV3cy5jb20KLm5vd3Rv -cnJlbnRzLmNvbQoubm95cGYuY29tCnx8bm95cGYuY29tCnx8bnBhLmdvLmpwCi5u -cHMuZ292Ci5ucmsubm8KfHxucmsubm8KfHxuc2MuZ292LnR3Cm50ZHR2LmNvCm50 -ZHR2LmNhCm50ZHR2Lm9yZwpudGR0di5ydQp8fGNicy5udHUuZWR1LnR3Cnx8bnVl -eHBvLmNvbQp8fG51cmdvLXNvZnR3YXJlLmNvbQoubnV2aWQuY29tCm51emNvbS5j -b20KLm55ZHVzLmNhCnx8bnl0LmNvbQp8fG55dGNvLmNvbQoubnl0aW1lcy5jb20K -fHxueXRpbWVzLmNvbQpueXNpbmd0YW8uY29tCnx8bnpjaGluZXNlLm5ldC5uegoK -IS0tLS0tLS0tLS0tLS0tLS0tLS0tT08tLS0tLS0tLS0tLS0tLS0tLS0tLQpvYnNl -cnZlY2hpbmEubmV0Cnx8b2N0b2Jlci1yZXZpZXcub3JnCm9mZmJlYXRjaGluYS5j -b20KfHxvZ2FvZ2Eub3JnCnR3dHIyc3JjLm9nYW9nYS5vcmcKLm9pa29zLmNvbS50 -dy92NAoub2lrdHYuY29tCm9pem9ibG9nLmNvbQoub2theWZyZWVkb20uY29tCm9s -ZC1jYXQubmV0Cnx8b2x1bXBvLmNvbQoub2x5bXBpY3dhdGNoLm9yZwpvbWdpbGku -Y29tCm9tbml0YWxrLmNvbQpmb3J1bS5vbXkuc2cKbmV3cy5vbXkuc2cKc2hvd2Jp -ei5vbXkuc2cKdGhlLXN1bi5vbi5jYwp0di5vbi5jYwoub25seWxhZHkuY24Kb25t -b29uLm5ldApvbm1vb24uY29tCi5vb3BzZm9ydW0uY29tCm9wZW4uY29tLmhrCm9w -ZW5kZW1vY3JhY3kubmV0Cm15b3BlbmlkLmNvbQp8fG15b3BlbmlkLmNvbQpvcGVu -aWQubmV0Cnx8b3BlbmlkLm5ldAp8fGJsb2cub3Blbmlua3BvdC5vcmcKLm9wZW5s -ZWFrcy5vcmcKfHxvcGVubGVha3Mub3JnCm9wZW52cG4ubmV0Cnx8b3BlbnZwbi5u -ZXQKfHxvcGVud2Vic3Rlci5jb20KbXkub3BlcmEuY29tL2RhaGVtYQp8fGRlbW8u -b3BlcmEtbWluaS5uZXQKb3BuaXIuY29tLzIxNS9teWVudHVubmVsLXNzaC1hdXRv -cHJveHktY3Jvc3MtZ2Z3Cnd3dy5vcmNoaWRiYnMuY29tCnx8b3JpZW50LWRvbGwu -Y29tCm9yaWVudGFsZGFpbHkuY29tLm15Cnx8b3JpZW50YWxkYWlseS5jb20ubXkK -b3JpZW50YWxkYWlseS5vbi5jYwp8fG9ybi5qcAp0Lm9yemRyZWFtLmNvbQp8fHQu -b3J6ZHJlYW0uY29tCnR1aS5vcnpkcmVhbS5jb20KfHxvcnppc3RpYy5vcmcKfHxv -c2Zvb3JhLmNvbQptLm91bG92ZS5vcmcKfHxvdXJkZWFyYW15LmNvbQpvdXJzb2dv -LmNvbQpvdXJzdGVwcy5jb20uYXUKeGlucWltZW5nLm92ZXItYmxvZy5jb20Kc2hh -cmUub3ZpLmNvbS9tZWRpYQp8aHR0cDovL293bC5saQp8aHR0cDovL2h0Lmx5Cnxo -dHRwOi8vaHRsLmxpCnxodHRwOi8vbWFzaC50bwp3d3cub3dpbmQuY29tCnxodHRw -Oi8vd3d3Lm94aWQuaXQKb3lheC5jb20KLm96Y2hpbmVzZS5jb20vYmJzCnx8b3cu -bHkKYmJzLm96Y2hpbmVzZS5jb20KLm96eW95by5jb20KCiEtLS0tLS0tLS0tLS0t -LS0tLS0tLVBQLS0tLS0tLS0tLS0tLS0tLS0tLS0KLnBhY2lmaWNwb2tlci5jb20K -LnBhY2tldGl4Lm5ldApwYWdlMnJzcy5jb20KfHxwYWdvZGFib3guY29tCgohLS1H -b2RhZGR5IEZyZWUgSG9zdGluZwp8fHBhaW50Lm5ldAp8fGNvdmVyaW5nd2ViLmNv -bQoucGFsYWNlbW9vbi5jb20KZm9ydW0ucGFsbWlzbGlmZS5jb20KIS0tU2FtZSBJ -UAp8fHBhcGVyLXJlcGxpa2EuY29tCnx8ZXJpdmVyc29mdC5jb20KcGFwZXIubGkK -cGFwZXJiLnVzCi5wYW5sdWFuLm5ldAp8fHBhbmx1YW4ubmV0Ci5wYW5vcmFtaW8u -Y29tCi5wYXJhZGUuY29tL2RpY3RhdG9ycy8yMDA5CnBhc3RlYmluLmNvbQoucGFz -dGllLm9yZwp8fHBhc3RpZS5vcmcKfHxibG9nLnBhdGh0b3NoYXJlcG9pbnQuY29t -CnBicy5vcmcvd2diaC9wYWdlcy9mcm9udGxpbmUvZ2F0ZQpwYnMub3JnL3dnYmgv -cGFnZXMvZnJvbnRsaW5lL3RhbmttYW4KCiEtLVBid2lraQpwYndpa2kuY29tCnx8 -cGJ3b3Jrcy5jb20KfHxkZXZlbG9wZXJzLmJveC5uZXQKfHx3aWtpLm9hdXRoLm5l -dAp8fHdpa2kucGhvbmVnYXAuY29tCnx8d2lraS5qcXVlcnl1aS5jb20KCnx8cGJ4 -ZXMuY29tCnx8cGJ4ZXMub3JnCi5wY2Rpc2N1c3MuY29tCnBjZHZkLmNvbS50dwou -cGNob21lLmNvbS50dwp8fHBjdC5vcmcudHcKcGRldGFpbHMuY29tCnx8cGRwcm94 -eS5jb20KcGVhY2VmaXJlLm9yZwpwZWFjZWhhbGwuY29tCi5wZWVhc2lhbi5jb20K -LnBla2luZ2R1Y2sub3JnCnx8cGVraW5nZHVjay5vcmcKcGVuY2hpbmVzZS5jb20K -fHxwZW5jaGluZXNlLm5ldAoucGVuY2hpbmVzZS5uZXQKcGVuZ3l1bG9uZy5jb20K -fHxibG9nLnBlbnRhbG9naWMubmV0Ci5wZW50aG91c2UuY29tCi5wZW9wby5vcmcK -fHxwZW9wby5vcmcKLnBlcmN5LmluCnBlcmZlY3R2cG4ubmV0CnBlcmZzcG90LmNv -bQp8fHBlcmxob3d0by5jb20KcGhpbGx5LmNvbQp8fHBob3RvZm9jdXMuY29tCnx8 -cGh1cXVvY3NlcnZpY2VzLmNvbQoucGljaWRhZS5uZXQKfHxpbWcqLnBpY3R1cmVk -aXAuY29tCnBpY3R1cmVzb2NpYWwuY29tCi5waWRvd24uY29tCi5waWduLm5ldApi -bG9nLnBpbG90bW9vbi5jb20KLnBpbjYuY29tCnx8cGluNi5jb20KLnBpbmcuZm0K -fHxwaW5nLmZtLwp8fHBpbm95LW4uY29tCi5waXJpbmcuY29tCnx8cGl4ZWxxaS5j -b20KfHxjc3MucGl4bmV0LmluCnx8cGl4bmV0Lm5ldAoucGl4bmV0Lm5ldAoucGsu -Y29tCnx8cGxhY2VtaXguY29tCi5wbGFuZXRzdXp5Lm9yZwp8aHR0cDovL3BpY3R1 -cmVzLnBsYXlib3kuY29tCnx8cGxheWJveS5jb20KcGxheXMuY29tLnR3Cnx8bS5w -bGl4aS5jb20KcGxtLm9yZy5oawpwbHVuZGVyLmNvbQoucGx1czI4LmNvbQoucGx1 -c2JiLmNvbQoucG1hdGVzLmNvbQp8fHBvMmIuY29tCnx8cG9kaWN0aW9uYXJ5LmNv -bQoucG9rZXJzdGFycy5jb20KfHxwb2tlcnN0YXJzLmNvbQp6aC5wb2tlcnN0cmF0 -ZWd5LmNvbQpwb2xpdGljYWxjaGluYS5vcmcKfHxwb3B1bGFycGFnZXMubmV0CnBv -cHlhcmQuY29tCnx8cG9weWFyZC5vcmcKLnBvcm4uY29tCi5wb3JuMi5jb20KLnBv -cm5iYXNlLm9yZwoucG9ybmh1Yi5jb20KfHxwb3JubW0ubmV0Ci5wb3Jub3hvLmNv -bQoucG9ybnJhcGlkc2hhcmUuY29tCnx8cG9ybnJhcGlkc2hhcmUuY29tCi5wb3Ju -c3RhcmNsdWIuY29tCi5wb3JudHViZS5jb20KLnBvcm52aXNpdC5jb20KcG9zdGFk -dWx0LmNvbQp8fHBvd2VyY3guY29tCnx8d3d3LnBvd2VycG9pbnRuaW5qYS5jb20K -fHxwdHMub3JnLnR3CnB1ZmZpbmJyb3dzZXIuY29tCgohLS0tLS0tLS0tLS0tLVBv -c3Rlcm91cy0tLS0tCnxodHRwOi8vcG9zdC5seQoucG9zdGVyb3VzLmNvbQp8aHR0 -cDovL3Bvc3Rlcm91cy5jb20KfHxwb3N0LmFueXUub3JnCnx8YnJhbGlvLmNvbQp8 -fGNhbGViZWxzdG9uLmNvbQohLXx8YmxvZy5kYWJyLmNvLnVrCnx8ZGVzaWduZXJv -bC5jb20KfHxibG9nLmZpenppay5jb20KfHxuZi5pZC5hdQp8fG1hcmttaWxpYW4u -Y29tCnx8bG9nLnJpa3UubWUKfHxzb2dyYWR5Lm1lCnx8dmF0bi5vcmcKfHx2ZWVt -cGlpcmUuY29tCnx8d3d3LnZlZ29ycGVkZXJzZW4uY29tCnx8dmVudHVyZXN3ZWxs -LmNvbQp8fHdlYmZlZS50awp8fHdoZXJlaXN3ZXJuZXIuY29tCnx8YmlsbC56aG9u -Zy5wcC5ydQoKLnBvd2VyLmNvbQp8fHBvd2VyLmNvbQpwb3dlcmFwcGxlLmNvbQp8 -fGFiYy5wcC5ydQpoZWl4LnBwLnJ1Cnx8cHJheWZvcmNoaW5hLm5ldAp8fHByZW1l -Zm9yd2luZG93czcuY29tCnx8cHJlc2VudGF0aW9uemVuLmNvbQp8fHByZXN0aWdl -LWF2LmNvbQpwcmlzb25lci1zdGF0ZS1zZWNyZXQtam91cm5hbC1wcmVtaWVyCnx8 -cHJpdmFjeWJveC5kZQp8fHByaXZhdGVpbnRlcm5ldGFjY2Vzcy5jb20KcHJpdmF0 -ZXBhc3RlLmNvbQp8fHByaXZhdGVwYXN0ZS5jb20KcHJpdmF0ZXR1bm5lbC5jb20K -fHxwcml2YXRldHVubmVsLmNvbQp8fHByb2NvcHl0aXBzLmNvbQpwcm92aWRlb2Nv -YWxpdGlvbi5jb20KfHxwcm9zaWJlbi5kZQpwcm94aWZpZXIuY29tCmFwaS5wcm94 -bGV0LmNvbQp8fHByb3hvbWl0cm9uLmluZm8KcHJveHkub3JnCi5wcm94eXB5Lm5l -dAp8fHByb3h5cHkubmV0CnByb3h5cm9hZC5jb20KcHJvenoubmV0CnBzYmxvZy5u -YW1lCnx8cHNibG9nLm5hbWUKcHNpcGhvbi5jYQoucHR0LmNjCi5wdWZmc3RvcmUu -Y29tCnx8cHVsbGZvbGlvLmNvbQp8fHB1cmVjb25jZXB0cy5uZXQKfHxwdXJlcGRm -LmNvbQp8fHB1cmV2cG4uY29tCi5wdXRsb2NrZXIuY29tL2ZpbGUKcHduZWQuY29t -CnB5dGhvbi5jb20KLnB5dGhvbi5jb20udHcKfGh0dHA6Ly9weXRob24uY29tLnR3 -CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1RUS0tLS0tLS0tLS0tLS0tLS0tLS0tCi5x -YW5vdGUuY29tCnx8cWFub3RlLmNvbQpxaS1nb25nLm1lCi5xaWVua3Vlbi5vcmcK -fHxxaWVua3Vlbi5vcmcKcWl4aWFuZ2x1LmNuCmJicy5xbXpkZC5jb20KLnFrc2hh -cmUuY29tCnFvb3MuY29tCnx8cW9vcy5jb20KYmxvZy5xb296YS5oaypkYWZlbmdx -aXhpCnx8ZWZrc29mdC5jb20KfHxxc3RhdHVzLmNvbQp8fHF0d2VldGVyLmNvbQp8 -fHF0cmFjLmV1CiEtLXF1YWRlZGdlCnx8cXVhZGVkZ2UuY29tCnx8d3d3LmdldHlv -dXJhbS5jb20KfHxoaWl0Y2guY29tCnF1c2k4Lm5ldAoucXZvZHp5Lm9yZwpuZW1l -c2lzMi5xeC5uZXQqcGFnZXMqTXlFblR1bm5lbApxeGJicy5vcmcKCiEtLS0tLS0t -LS0tLS0tLS0tLS0tLVJSLS0tLS0tLS0tLS0tLS0tLS0tLS0KcmFkaW9hdXN0cmFs -aWEubmV0LmF1Cm9wbWwucmFkaW90aW1lLmNvbQp8fHJhZGlvdmF0aWNhbmEub3Jn -Cnx8cmFpZGNhbGwuY29tLnR3CnJhbmd6ZW4ub3JnCnJhbnl1bmZlaS5jb20KfHxy -YW55dW5mZWkuY29tCi5yYXBidWxsLm5ldAohLS5yYXBpZHNoYXJlLmNvbQohLXxo -dHRwOi8vcmFwaWRzaGFyZS5jb20KfHxyYXBpZHNoYXJlOC5jb20KLnJhcGlkc2hh -cmVkYXRhLmNvbQohLS0ucmF5Zm1lLmNvbS9iYnMKcmNpbmV0LmNhCi5yZWFkMTAw -LmNvbQoucmVhZGluZ3RpbWVzLmNvbS50dwp8fHJlYWRpbmd0aW1lcy5jb20udHcK -LnJlYWxyYXB0YWxrLmNvbQoucmVjb3JkaGlzdG9yeS5vcmcKYmxvZy5yZWRyZW4u -Y29tLzIwMDkvMDEvamFwLWxldC15b3UtdXNlLW9ubGluZS1zdGVhbHRoCi5yZWR0 -dWJlLmNvbQpyZWZlcmVyLnVzCnx8cmVmZXJlci51cwp8fHJlZmxlY3RpdmVjb2Rl -LmNvbQpyZWxheGJicy5jb20KcmVubWluYmFvLmNvbQoucmVueXVyZW5xdWFuLm9y -Zwp8fHJlbnl1cmVucXVhbi5vcmcKc3ViYWNtZS5yZXJvdXRlZC5vcmcKY24ucmV1 -dGVycy5jb20KLnJldmxlZnQuY29tCnJldHdlZXRpc3QuY29tCnx8cmV0d2VldHJh -bmsuY29tCmNvbm5lY3RlZGNoaW5hLnJldXRlcnMuY29tCnxodHRwOi8vd3d3LnJl -dXRlcnMuY29tL25ld3MvdmlkZW8KcmV2dmVyLmNvbQoucmZhLm9yZwoucmZhY2hp -bmEuY29tCi5yZmFtb2JpbGUub3JnCnx8cmZlcmwub3JnCi5yZmkuZnIKfHxyZmku -ZnIKfGh0dHA6Ly9yZmkubXkvCi5yaGNsb3VkLmNvbQoucmlsZXlndWlkZS5jb20K -cmlrdS5tZS8KLnJsd2x3LmNvbQp8fHJsd2x3LmNvbQpjaGluZXNlLnJudy5ubAou -cm53Lm5sCnJvYnRleC5jb20KfHxyb2J1c3RuZXNzaXNrZXkuY29tCnx8cm9jbXAu -b3JnCnx8cm9qby5jb20KfHxyb25qb25lc3dyaXRlci5jb20KLnJvb2RvLmNvbQoh -LS18fHJvb3NvbmcuY24KLnJzZi5vcmcKfHxyc2Yub3JnLwoucnNmLWNoaW5lc2Uu -b3JnCnx8cnNmLWNoaW5lc2Uub3JnCi5yc3NtZW1lLmNvbQp8fHJzc21lbWUuY29t -Ci5ydGhrLmhrCnxodHRwOi8vcnRoay5oawoucnRoay5vcmcuaGsKfGh0dHA6Ly9y -dGhrLm9yZy5oawpydGkub3JnLnR3Ci5ydWFueWlmZW5nLmNvbS9ibG9nKnNvbWVf -d2F5c190b19icmVha190aGVfZ3JlYXRfZmlyZXdhbGwKLnJ1c2hiZWUuY29tCnJ1 -dHViZS5ydQoucnV5aXNlZWsuY29tCi5yeGhqLm5ldAoKIS0tLS0tLS0tLS0tLS0t -LS0tLS0tU1MtLS0tLS0tLS0tLS0tLS0tLS0tLQpibG9nLnMxMzUuY29tL2dvb2ds -ZV9zc2wKfHxzMWhlbmcuY29tCnx8czhmb3J1bS5jb20Kc2Fjb20uaGsKfHxzYWNv -bS5oawp8fHNhZHBhbmRhLnVzCi5zYWlxLm1lCnx8c2FpcS5tZS8KLnNhbHZhdGlv -bi5vcmcuaGsKfHxzYWx2YXRpb24ub3JnLmhrCi5zYW1haXIucnUvcHJveHkvdHlw -ZS0wMQpzYW1teWpzLm9yZwpzYW5kbm9ibGUuY29tL2Jvb2tTZWFyY2gvaXNibklu -cXVpcnkuYXNwCnx8c2Fua2Fpem9rLmNvbQouc2FubWluLmNvbS50dwpzYXBpa2Fj -aHUubmV0CnNhdmVtZWRpYS5jb20Kc2F2ZXRpYmV0Lm9yZwpzYXZldmlkLmNvbQp8 -fHNheTIuaW5mbwouc2NtcC5jb20KLnNjbXBjaGluZXNlLmNvbQouc2NyaWJkLmNv -bQp8fHNjcmlwdHNwb3QuY29tCnNlYXB1ZmYuY29tCmRvbWFpbmhlbHAuc2VhcmNo -LmNvbQpzZWNyZXRjaGluYS5jb20KfHxzZWNyZXRnYXJkZW4ubm8KfHxkZWZhdWx0 -LnNlY3VyZXNlcnZlci5uZXQKc2VjdXJpdHlraXNzLmNvbQpzZWVzbWljLmNvbQp8 -fHNlZXZwbi5jb20KfHxzZWV6b25lLm5ldApzZWppZS5jb20KLnNlbmRzcGFjZS5j -b20vZmlsZQp8aHR0cDovL3R3ZWV0cy5zZXJhcGgubWUvCnNlc2F3ZS5uZXQKfHxz -ZXNhd2UubmV0Ci5zZXNhd2Uub3JnCnx8c2V0aHdrbGVpbi5uZXQKZm9ydW0uc2V0 -dHkuY29tLnR3Ci5zZXZlbmxvYWQuY29tCnx8c2V2ZW5sb2FkLmNvbQouc2V4LmNv -bQouc2V4LTExLmNvbQouc2V4OC5jYwouc2V4YW5kc3VibWlzc2lvbi5jb20KLnNl -eGh1LmNvbQouc2V4aHVhbmcuY29tCnNleGluc2V4Lm5ldAp8fHNleGluc2V4Lm5l -dAohLS1JUCBvZiBTZXhJblNleAo2Ny4yMjAuOTEuMTgKNjcuMjIwLjkxLjIzCi5z -ZmlsZXlkeS5jb20Kc2hhZG93Lm1hCnx8c2hhZG93c29ja3Mub3JnCi5zaGFuZ2Zh -bmcub3JnCnx8c2hhbmdmYW5nLm9yZwpzaGFwZXNlcnZpY2VzLmNvbQouc2hhcmVi -ZWUuY29tCnx8c2hhcmVjb29sLm9yZwp8fHNoYXJrZG9scGhpbi5jb20Kc2hhcnBk -YWlseS5jb20uaGsKfHxzaGFycGRhaWx5LmNvbS5oawouc2hhcnBkYWlseS5oawou -c2hhdW50aGVzaGVlcC5jb20KfHxzaGF1bnRoZXNoZWVwLmNvbQp8fHNoZWxsbWl4 -LmNvbQpzaGVuc2hvdS5vcmcKc2hlbnl1bnBlcmZvcm1pbmdhcnRzLm9yZwpzaGVu -emhvdWZpbG0uY29tCnx8c2hlbnpob3VmaWxtLmNvbQpzaGlueWNoYW4uY29tCi5z -aGl0YW90di5vcmcKfHxzaGl4aWFvLm9yZwp8fHNoaXpoYW8ub3JnCi5zaGl6aGFv -Lm9yZwpzaGtzcHIubW9iaS9kYWJyCnx8c2hvZGFuaHEuY29tCi5zaG9wcGluZy5j -b20KLnNob3d0aW1lLmpwCmNoLnNodm9vbmcuY29tCi5zaHdjaHVyY2gzLmNvbQp8 -aHR0cDovL3Nod2NodXJjaDMuY29tCnNpbXBsZWNkLm9yZwp8fHNpbXBsZWNkLm9y -ZwpAQHx8c2ltcGxlY2QubWUKc2ltcGxlcHJvZHVjdGl2aXR5YmxvZy5jb20KYmJz -LnNpbmEuY29tLwpiYnMuc2luYS5jb20lMkYKYmxvZy5zaW5hLmNvbS50dwpkYWls -eW5ld3Muc2luYS5jb20vCmRhaWx5bmV3cy5zaW5hLmNvbSUyRgpmb3J1bS5zaW5h -LmNvbS5oawpob21lLnNpbmEuY29tCnx8bWFnYXppbmVzLnNpbmEuY29tLnR3Cm5l -d3Muc2luYS5jb20uaGsKbmV3cy5zaW5hLmNvbS50dwpzaW5ndGFvLmNvbQp8fHNp -bmd0YW8uY29tCm5ld3Muc2luZ3Rhby5jYQp8fGNkcC5zaW5pY2EuZWR1LnR3CnNp -bm8tbW9udGhseS5jb20KfHxzaW5vY2FzdC5jb20Kc2lub2Npc20uY29tCnNpbm9t -b250cmVhbC5jYQouc2lub25ldC5jYQouc2lub3BpdHQuaW5mbwouc2lub2FudHMu -Y29tCnx8c2lub2FudHMuY29tCnNpbm9xdWViZWMuY29tCnx8c2l0ZTkwLm5ldAou -c2l0ZWJyby50dwp8fHNpdGVrcy51ay50bwp8fHNpdGVtYXBzLm9yZwpzaXRldGFn -LnVzCnNpcy54eHgKfHxzaXMwMDEuY29tCnNpczAwMS51cwp8fHNqdW0uY24vCnx8 -c2tpbXR1YmUuY29tCnx8c2t5YmV0LmNvbQp8aHR0cDovL3NreWhpZ2hwcmVtaXVt -LmNvbS8KYmJzLnNreWtpd2kuY29tCnxodHRwOi8vd3d3LnNreXBlLmNvbS9pbnRs -LwpzaGFyZS5za3lwZS5jb20vc2l0ZXMvZW4vMjAwOC8xMC9za3lwZV9wcmVzaWRl -bnRfYWRkcmVzc2VzX2NoaW4KfGh0dHA6Ly93d3cuc2t5cGUuY29tL3poLUhhbnQK -Lnhza3l3YWxrZXIuY29tCnx8eHNreXdhbGtlci5jb20KbS5zbGFuZHIubmV0Cnx8 -c2xhdmFzb2Z0LmNvbQp8fHNsaGVuZy5jb20KLnNsaWRlc2hhcmUubmV0CmZvcnVt -LnNsaW1lLmNvbS50dwouc2x1dGxvYWQuY29tCnNtaHJpYy5vcmcKfHxzby1nYS5u -ZXQKLnNvLWdhLm5ldAp8fHNvLW5ld3MuY29tCi5zby1uZXdzLmNvbQpob21lLnNv -LW5ldC5uZXQudHcveWlzYV90c2FpCnx8c29jLm1pbC8KfHxzb2Nrc2xpc3QubmV0 -Ci5zb2QuY28uanAKLnNvZnRldGhlci5vcmcKfHxzb2Z0ZXRoZXIub3JnCnx8c29n -Y2x1Yi5jb20Kc29oY3JhZGlvLmNvbQp8fHNvaGNyYWRpby5jb20KfHx3d3cuc29t -ZWUuY29tCnx8c29ydGluZy1hbGdvcml0aG1zLmNvbQouc291bW8uaW5mbwp8fHNv -dXAuaW8vCkBAfHxzdGF0aWMuc291cC5pbwouc2xpbmtzZXQuY29tCnx8c2xpY2t2 -cG4uY29tCi5zbmFwdHUuY29tCnx8c25hcHR1LmNvbQpzbmVha21lLm5ldAp8fHNu -b29wZXIuY28udWsKLnNvYmVlcy5jb20KfHxzb2JlZXMuY29tCnNvY2lhbHdoYWxl -LmNvbQouc29mdGV0aGVyLmNvLmpwCnx8c29mdHdhcmVieWNodWNrLmNvbQpibG9n -LnNvZ29vLm9yZwpzb2gudHcKfHxzb2gudHcKc29oZnJhbmNlLm9yZwp8fHNvaGZy -YW5jZS5vcmcKY2hpbmVzZS5zb2lmaW5kLmNvbQpzb2thbW9ubGluZS5jb20KfHxz -b21lZS5jb20KLnNvbmdqaWFuanVuLmNvbQp8fHNvbmdqaWFuanVuLmNvbQouc29w -Y2FzdC5jb20KLnNvcGNhc3Qub3JnCnx8c291bmRjbG91ZC5jb20KIS0tfGh0dHBz -Oi8vc291bmRjbG91ZC5jb20vcHVua2dvZApzb3VuZG9maG9wZS5vcmcKfHxzb3Vu -ZG9maG9wZS5vcmcKfHxzb3Vwb2ZtZWRpYS5jb20KLnNvdXJjZWZvcmdlLm5ldAoh -LXxodHRwOi8vc291cmNlZm9yZ2UubmV0CnNvdXRobmV3cy5jb20udHcKc293ZXJz -Lm9yZy5oawp8fHdseC5zb3dpa2kubmV0Cnx8c3BhY2Utc2NhcGUuY29tCi5zcGFu -a3dpcmUuY29tCi5zcGIuY29tL2JsYWNrYmVycnktc29mdHdhcmUvdHYvZG93bmxv -YWQKfGh0dHA6Ly9zcGIuY29tL2JsYWNrYmVycnktc29mdHdhcmUvdHYvZG93bmxv -YWQKLnNwYi5jb20vcG9ja2V0cGMtc29mdHdhcmUvdHYvZG93bmxvYWQKfGh0dHA6 -Ly9zcGIuY29tL3BvY2tldHBjLXNvZnR3YXJlL3R2L2Rvd25sb2FkCi5zcGIuY29t -L3N5bWJpYW4tc29mdHdhcmUvdHYvZG93bmxvYWQKfGh0dHA6Ly9zcGIuY29tL3N5 -bWJpYW4tc29mdHdhcmUvdHYvZG93bmxvYWQKLnNwZWVkcGx1c3Mub3JnCnx8c3Bl -bmNlcnRpcHBpbmcuY29tCnNwaW5lanMuY29tCnx8c3Byb3V0Y29yZS5jb20Kc3F1 -YXJlc3BhY2UuY29tCnx8c3NoOTEuY29tCnxodHRwOi8vY2RuLnNzdGF0aWMubmV0 -Lwp3d3cuc3RhY2tmaWxlLmNvbS9mcmVlZHVyCnVzaW5mby5zdGF0ZS5nb3YKLnN0 -YXJwMnAuY29tCnx8c3RhcnAycC5jb20KLnN0YXRlMTY4LmNvbQp8fHN0ZWVsLXN0 -b3JtLmNvbQpzdGhvby5jb20KfHxzdGhvby5jb20KLnN0aWNrYW0uY29tCnN0aWNr -ZXJhY3Rpb24uY29tL3Nlc2F3ZQp8fHN0b25lZ2FtZXMubmV0Cnx8c3RvbmVpcC5p -bmZvCnx8c3RvcmFnZW5ld3NsZXR0ZXIuY29tCi5zdG9wdGliZXRjcmlzaXMubmV0 -Cnx8c3RvcHRpYmV0Y3Jpc2lzLm5ldAp8fHN0b3dlYm95ZC5jb20KfHxzdHJlYW1p -bmd0aGUubmV0CmNuLnN0cmVldHZvaWNlLmNvbS9hcnRpY2xlCmNuLnN0cmVldHZv -aWNlLmNvbS9kaWFyeQpjbjIuc3RyZWV0dm9pY2UuY29tCnR3LnN0cmVldHZvaWNl -LmNvbQp8fHN0cm9uZ3Zwbi5jb20KLnN0dWRlbnQudHcvZGIKc3R1cGlkdmlkZW9z -LmNvbQpzdWZlbmcub3JnCnx8c3VmZW5nLm9yZwouc3VnYXJzeW5jLmNvbQp8fHN1 -Z2Fyc3luYy5jb20Kc3VtbWlmeS5jb20KLnN1b2x1by5vcmcKYXBpLnN1cGVydHdl -ZXQubmV0Cnd3dy5zdXBlcnR3ZWV0Lm5ldAouc3VyZmVhc3kuY29tLmF1CnN1cHBv -cnQveW91dHViZS9iaW4vcmVxdWVzdC5weT9jb250YWN0X3R5cGU9YWJ1c2UmCi9z -dXBwb3J0L3lvdXR1YmUvYmluL3N0YXRpYy5weT9wYWdlPXN0YXJ0LmNzJgp8fHN2 -d2luZC5jb20KfHxzd2V1eC5jb20KfHxzd2lmdC10b29scy5uZXQKLnN5ZG5leXRv -ZGF5LmNvbQp8fHN5bmNiYWNrLmNvbQp8fHN5c2FkbWluMTEzOC5uZXQKc3lzcmVz -Y2NkLm9yZwouc3l0ZXMubmV0CmJsb2cuc3l4ODYuY29tLzIwMDkvMDkvcHVmZgpi -bG9nLnN5eDg2LmNuLzIwMDkvMDkvcHVmZgouc3piYnMubmV0Cnx8c3pldG93YWgu -b3JnLmhrCgohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1UVC0tLS0tLS0tLS0t -LS0tLS0tLS0tLS0tLS0tCi50MzUuY29tCi50NjZ5LmNvbQp8fHQ2NnkuY29tCi50 -YWEtdXNhLm9yZwp8aHR0cDovL3RhYS11c2Eub3JnCnRhYnR0ZXIuanAKLnRhY2Vt -Lm9yZwp8fHRhZmF3YXJkLmNvbQp0YWd3YWxrLmNvbQp8fHRhZ3dhbGsuY29tCnRh -aXBlaS5nb3YudHcKLnRhaXBlaXNvY2lldHkub3JnCnx8dGFpcGVpc29jaWV0eS5v -cmcKLnRhaXdhbmRhaWx5Lm5ldAp8fHRhaXdhbnR0Lm9yZy50dwp8fHRhaXdhbmRh -aWx5Lm5ldAp0YWl3YW5raXNzLmNvbQp0YWl3YW5uYXRpb24uY29tCnRhaXdhbm5h -dGlvbi5jb20udHcKfHx0YWl3YW5uZXdzLmNvbS50dwp0YWl3YW51cy5uZXQKdGFp -d2FueWVzLmNvbQp0YWl3YW4tc2V4LmNvbQp8fHRhbWlhb2RlLnRrCnRhbmdiZW4u -Y29tCi50YW9sdW4uaW5mbwp8fHRhb2x1bi5pbmZvCmJsb2cudGFyYWdhbmEuY29t -Ci50YXdlZXQuY29tCnx8dGF3ZWV0LmNvbQp8fHRicGljLmluZm8KdGNocmQub3Jn -CnRjbm8ubmV0KmRvYyp0b3IKfHx0ZWFtc2Vlc21pYy5jb20KLnRlYXNoYXJrLmNv -bS9kb3dubG9hZC5odG1sCnx8dGVjaGxpZmV3ZWIuY29tCiEtLXRlY2hub3JhdGku -Y29tCnx8dGVjaHBhcmFpc28uY29tCnx8dGVjay5pbi8KLnRlbGVjb21zcGFjZS5j -b20KLnRlbmFjeS5jb20KfHx0aGVhbXBmYWN0b3J5LmNvbQp8fHRoZWFwcGxlYmxv -Zy5jb20KfHx0aGVhdHJ1bS1iZWxsaS5jb20KfHx0aGVib2R5c2hvcC11c2EuY29t -CnRoZWJsZW1pc2guY29tCnx8dGhlYmNvbXBsZXguY29tCi50aGVjaGluYWJlYXQu -b3JnCnx8dGhlZGllbGluZS5jb20KfHx0aGVkdy51cwp8fHRoZWdhdGVzbm90ZXMu -Y29tCnRoZWhvdXNlbmV3cy5jb20KfHx0aGVodW4ubmV0Cnx8dGhlbGlmZXlvdWNh -bnNhdmUuY29tCnx8dGhlbGl1cy5vcmcKdGhlcGlyYXRlYmF5Lm9yZwp8fHRoZXBp -cmF0ZWJheS5zZQp0aGVxaWkuaW5mby9ibG9nCnRoZXJlYWxsb3ZlLmtyCnx8dGhl -c2FydG9yaWFsaXN0LmNvbQp0aGVzcGVlZGVyLmNvbQp8fHRoZXRpYmV0cG9zdC5j -b20KdGhldHJvdHNreW1vdmllLmNvbS8KdGhldml2ZWtzcG90LmNvbQoudGhpc2F2 -LmNvbQp8aHR0cDovL3RoaXNhdi5jb20KdGhrcGhvdG8uY29tCnx8dGhvbWFzYmVy -bmhhcmQub3JnCnRocmVhdGNoYW9zLmNvbQp8fHRocm91Z2huaWdodHNmaXJlLmNv -bQoudGh1bWJ6aWxsYS5jb20KdGlhbmFubWVubW90aGVyLm9yZwp8fHRpYW5kaXhp -bmcub3JnCi50aWFuaHVheXVhbi5jb20KdGlhbnRpYm9va3Mub3JnCi50aWFuemh1 -Lm9yZwoudGliZXQuY29tCnx8dGliZXQuY29tCi50aWJldC5uZXQKfHx0aWJldC5u -ZXQKdGliZXQub3JnLnR3CnRpYmV0YWxrLmNvbQoudGliZXRhbnlvdXRoY29uZ3Jl -c3Mub3JnCnx8dGliZXRhbnlvdXRoY29uZ3Jlc3Mub3JnCnRpYmV0ZnVuZC5vcmcK -dGliZXRvbmxpbmUuY29tCnx8dGliZXRvbmxpbmUuY29tCnx8dGliZXRvbmxpbmUu -dHYKLnRpYmV0b25saW5lLnR2Cnx8dGliZXR3cml0ZXMub3JnCi50aW1lLmNvbS90 -aW1lL3RpbWUxMDAvbGVhZGVycy9wcm9maWxlL3JlYmVsCi50aW1lLmNvbS90aW1l -L3NwZWNpYWxzL3BhY2thZ2VzL2FydGljbGUvMCwyODgwNAoudGltZS5jb20vdGlt -ZS9tYWdhemluZQp8fGJsb2cudGluZXkuY29tCnRpbnljaGF0LmNvbQp8fHRpbnlw -YXN0ZS5jb20KfHx0aWR5cmVhZC5jb20KLnRpc3RvcnkuY29tCnx8dGtjcy1jb2xs -aW5zLmNvbQp8fHRrZm9ydW0udGsKY24udG1hZ2F6aW5lLmNvbQp8aHR0cDovL3Rt -aS5tZQoudG5hZmxpeC5jb20KfHx0bmFmbGl4LmNvbQp0b2dldHRlci5jb20KLnRv -a3lvLTI0Ny5jb20KdG9reW8taG90LmNvbQp8fHRva3lvY24uY29tCnRvbnl5YW4u -bmV0Ci50b29kb2MuY29tCnRvb25lbC5uZXQKLnRvcG5ld3MuaW4KfHx0b3BzaGFy -ZS51cwoudG9wc2hhcmV3YXJlLmNvbQp8fHRvcHN0eWxlNC5jb20KfHx0b3BzeS5j -b20KdG9wc3kuY29tCnRvcmEudG8KLnRvcnByb2plY3Qub3JnCnx8dG9ycHJvamVj -dC5vcmcKdG9ycmVudGNyYXp5LmNvbQp8fHRvcnJlbnRjcmF6eS5jb20KfHx0b3J2 -cG4uY29tCnRvdWNoOTkuY29tCnx8dG91dGZyLmNvbQoudHBpLm9yZy50dwp8fHRw -aS5vcmcudHcKfHx0cmFuc2dyZXNzaW9uaXNtLm9yZwp8fHRyYXZlbGlubG9jYWwu -Y29tCnRyZW5kc21hcC5jb20KfHx0cmVuZHNtYXAuY29tCi50cmlhbG9mY2NwLm9y -Zwp8fHRyaWFsb2ZjY3Aub3JnCnx8dHJpcG9kLmNvbQpAQHx8d3d3LnRyaXBvZC5j -b20KdHJ0Yy5jb20udHcKdHJ1bHllcmdvbm9taWMuY29tCnx8dHJ1c3RlZGJpLmNv -bQoudHJ1dGgxMDEuY28udHYKfGh0dHA6Ly90cnV0aDEwMS5jby50dgp8fHRydXRo -Y24uY29tCi50cnV2ZW8uY29tCi50c2VtdHVsa3UuY29tCnRzcXVhcmUudHYKdHN1 -bmFnYXJ1bW9uLmNvbQoudHNjdHYubmV0Cnx8dHQxMDY5LmNvbQp8fHR0dGFuLmNv -bQoudHR0YW4uY29tCmJiLnR0di5jb20udHcvYmIKLnR1YW56dC5jb20KLnR1YmUu -Y29tCnR1YmU4LmNvbQp8fHR1YmU4LmNvbQp0dWJlY2FvLmNvbQp8fHR1YmV3b2xm -LmNvbQp0dWlkYW5nLm5ldAp0dWlkYW5nLm9yZwpiYnMudHVpdHVpLmluZm8KfHx0 -dW11dGFuemkuY29tCi50dW5laW4uY29tCnxodHRwOi8vdHVuZWluLmNvbQp8fHR1 -bm5lbGJlYXIuY29tCi50dXJib2JpdC5uZXQKfGh0dHA6Ly90dXJib2JpdC5uZXQK -fHx0dXJuaW5ndG9yc28uY29tCnx8dHV4dHJhaW5pbmcuY29tCgoKIS0tLS0tLS0t -LS0tLS1UdW1ibHItLS0tLQohLS18fHR1bWJsci5jb20KIS0tQEB8fGFzc2V0cy50 -dW1ibHIuY29tCiEtLUBAfHxkYXRhLnR1bWJsci5jb20KIS0tQEB8fG1lZGlhLnR1 -bWJsci5jb20KIS0tQEB8fHN0YXRpYy50dW1ibHIuY29tCiEtLUBAfHx3d3cudHVt -YmxyLmNvbQp8fDMwMXdvcmtzLm9yZwp8fDM2NXNpbmdsZXMuY29tLmFyCnx8YWxs -LXRoYXQtaXMtaW50ZXJlc3RpbmcuY29tCnx8YXJ0LW9yLXBvcm4uY29tCnx8bmV3 -cy5hdGViaXRzLmNvbQp8fHR1bWJsci5hd2ZsYXNoZXIuY29tCnx8YmFkYXNzanMu -Y29tCnx8YmFzZXRpbWVzaGVpZ2h0ZGl2aWRlZGJ5Mi5jb20KfHxiZW5qYW1pbnN0 -ZS5pbgp8fGJsb2cuYmlyZGhvdXNlYXBwLmNvbQp8fGJvYnVsYXRlLmNvbQp8fGJv -bmpvdXJsZXNnZWVrcy5jb20KfHxib29rc2hlbGZwb3JuLmNvbQp8fGJsb2cuYm94 -Y2FyLmlvCnx8YmxvZy5iaXRseS5jb20KfHxjaGV2cm9ud3A3LmNvbQp8fGNsaWVu -dHNmcm9taGVsbC5uZXQKfHxjb2RlYm94YXBwLmNvbQp8fGNvb2tpbmd0b3RoZWdv -b2RsaWZlLmNvbQp8fGN1YmljbGUxNy5jb20KfHxwaG90b3MuZGFpbHltZS5jb20K -fHxkYXZpZHNsb2cuY29tCnx8YmxvZy5kYXZpZHppZWdsZXIubmV0Cnx8YmxvZy5k -YXlvbmVhcHAuY29tCnx8ZHJld29sYW5vZmYuY29tCnx8YmxvZy5kcmliYmJsZS5j -b20KfHxjaGFvcy5lLXNwYWN5LmNvbQp8fGVhbW9ubmJyZW5uYW4uY29tCnx8ZXZl -cnlkYXktY2FycnkuY29tCnx8ZXllc3Bpcml0LmluZm8KfHxsaWZlLmZseTRldmVy -Lm1lCnx8ZnJlZHdpbHNvbi52Ywp8fGZ1Y2tnZncuY29tCnx8Z2Vla21hZGUuY28u -dWsKfHxnZW5lcmVzaXMuY29tCnx8bmV3cy5naG9zdGVyeS5jb20KfHxnaXZlbWVz -b21ldGhpbmd0b3JlYWQuY29tCnx8YmxvZy5nb3dhbGxhLmNvbQp8fGhlaXlvLmlu -Zm8KfHxoZWxsb25ld3lvcmsudXMKfHxibG9nLmhvdHBvdGF0by5jb20KfHxpYWxt -b3N0bGF1Z2guY29tCnx8YmxvZy5pZnR0dC5jb20KfHxibG9nLmluc3RhZ3JhbS5j -b20KfHxibG9nLmluc3RhcGFwZXIuY29tCnx8aW50ZXJlc3RpbmdsYXVnaC5jb20K -fHxibG9nLmlwaG9uZS1kZXYub3JnCnx8amF5cGFya2luc29ubWQuY29tCnx8Ymxv -Zy5qb2V5cm9iZXJ0Lm9yZwp8fGt0Lmtjb21lLm9yZwp8fG15Lmtlc28uY24KfHxi -bG9nLmtpY2tzdGFydGVyLmNvbQp8fGJsb2cua2wuYW0KfHxibG9nLmtsaXAubWUK -fHx0Lmt1bi5pbQp8fGJsb2cubGlnaHRib3guY29tCnx8bGl0dGxlYmlnZGV0YWls -cy5jb20KfHxsb3ZlcXVpY2tzaWx2ZXIuY29tCnx8bHlyaWNzcXVvdGUuY29tCnx8 -bWFkbWVudW5idXR0b25lZC5jb20KfHxtYXJjby5vcmcKfHxtaW5pbWFsbWFjLmNv -bQp8fG1peGVkbWVkaWFsYWJzLmNvbQp8fG1vZGZldGlzaC5jb20KfHxibG9nLm1v -bmdvZGIub3JnCnx8bmF2aWdlYXRlcnMuY29tCnx8bG9uZG9uLm5laWdoYm9yaG9v -ZHIuY29tCnx8YmxvZy5wYXRoLmNvbQp8fHBhcmlzbGVtb24uY29tCnx8YmxvZy5w -aWtjaHVyLmNvbQp8fGJsb2cucm9ja21lbHQuY29tCnx8YmxvZy5yb21hbmFuZHJl -Zy5jb20KfHxzb2xvem9ycm8udGsKfHxibG9nLnNwYXJyb3dtYWlsYXBwLmNvbQp8 -fHN0dWZmaW1yZWFkaW5nLmNvbQp8fGJsb2cuc3VtbWlmeS5jb20KfHx0aGVkYWls -eXdoLmF0Cnx8dGhlaW50ZXJuZXR3aXNobGlzdC5jb20KfHx0aGlzaXN3aHl5b3Vh -cmVmYXQuY29tCnx8d3d3LnRpZmZhbnlhcm1lbnQuY29tCnx8dGpob2xvd2F5Y2h1 -ay5jb20KfHx0b21zYy5jb20KfHxibG9nLnRvcGlmeS5jb20KfHx0aGVodW5ncnlk -dWRlcy5jb20KfHx0dW1ibHdlZWQub3JnCnx8c3RhdHVzLnR3aGlybC5vcmcKIS18 -fHN0YXR1cy50d2l0dGVyLmNvbQp8fGJsb2cudXNhLmdvdgp8fHBob3RvLnV0b20u -dXMKfHx2LXN0YXRlLm9yZwp8fHdlbGxwbGFjZWRwaXhlbHMuY29tCnx8d2h5ZGlk -eW91YnV5bWV0aGF0LmNvbQp8fHdvcmRib25lci5jb20KfHx3b3Jkc2FuZHR1cmRz -LmNvbQp8fHdvcnN0dGhpbmdpZXZlcmF0ZS5jb20KfHx4bXVzaWMuZm0KfHx4dXpo -dW9lci5jb20KfHxiZC56aGUubGEKfHxjb2NvYS56b25ibGUubmV0CgoudHYuY29t -Cnx8d3d3LnR2LmNvbQp8aHR0cDovL3R2LmNvbQp8fHR2LWludHJvcy5jb20KdHZh -bnRzLmNvbQpmb3J1bS50dmIuY29tLwp0dmJveG5vdy5jb20KdHZpZGVyLmNvbQp8 -fHR2dW5ldHdvcmtzLmNvbQp0d2Euc2gKdHdhcHBlcmtlZXBlci5jb20KfHx0d2Fw -cGVya2VlcGVyLmNvbQp8fHR3YXVkLmlvCi50d2F1ZC5pbwoudHdiYnMubmV0LnR3 -CnR3YmJzLm9yZwp0d2Jicy50dwp8fHR3YmxvZ2dlci5jb20KdHdlZXBtYWcuY29t -Ci50d2VlcG1sLm9yZwp8fHR3ZWVwbWwub3JnCi50d2VldGJhY2t1cC5jb20KfHx0 -d2VldGJhY2t1cC5jb20KdHdlZXRib2FyZC5jb20KfHx0d2VldGJvYXJkLmNvbQou -dHdlZXRib25lci5iaXoKfHx0d2VldGJvbmVyLmJpegoudHdlZXRkZWNrLmNvbQp8 -fHR3ZWV0ZGVjay5jb20KfGh0dHA6Ly9kZWNrLmx5Cnx8dHdlZXRlLm5ldAptLnR3 -ZWV0ZS5uZXQKfHxtdHcudGwKfHx0d2VldGVkdGltZXMuY29tCnR3ZWV0bWVtZS5j -b20KfHx0d2VldG15bGFzdC5mbQp0d2VldHBob3RvLmNvbQp8fHR3ZWV0cGhvdG8u -Y29tCnx8dHdlZXRyYW5zLmNvbQp0d2VldHJlZS5jb20KfHx0d2VldHJlZS5jb20K -fHx0d2VldHdhbGx5LmNvbQp0d2VldHltYWlsLmNvbQp8fHR3ZnRwLm9yZwp0d2li -YXNlLmNvbQoudHdpYmJsZS5kZQp8fHR3aWJibGUuZGUKdHdpYmJvbi5jb20KfHx0 -d2licy5jb20KdHdpY3N5LmNvbQoudHdpZmFuLmNvbQp8aHR0cDovL3R3aWZhbi5j -b20KdHdpZmZvLmNvbQp8fHR3aWZmby5jb20KdHdpbG9nLm9yZwp0d2ltYm93LmNv -bQp8fHR3aW1ib3cuY29tCnx8dHdpbmRleHguY29tCnR3aXBwbGUuanAKfHx0d2lw -cGxlLmpwCnx8dHdpcC5tZS8KdHdpc3Rhci5jYwp0d2lzdGVybm93LmNvbQp0d2lz -dG9yeS5uZXQKdHdpdGJyb3dzZXIubmV0Cnx8dHdpdGNhdXNlLmNvbQp8fHR3aXRn -ZXRoZXIuY29tCnx8dHdpZ2dpdC5vcmcKdHdpdGdvby5jb20KdHdpdGlxLmNvbQp8 -fHR3aXRpcS5jb20KLnR3aXRsb25nZXIuY29tCnx8dHdpdGxvbmdlci5jb20KfGh0 -dHA6Ly90bC5nZC8KdHdpdG9hc3Rlci5jb20KfHx0d2l0b2FzdGVyLmNvbQp8fHR3 -aXRvbm1zbi5jb20KLnR3aXRwaWMuY29tCnx8dHdpdHBpYy5jb20KdHdpdHJlZmVy -cmFsLmNvbQohLS1TYW1lIElQCi50d2l0MmQuY29tCnx8dHdpdDJkLmNvbQoudHdp -dHN0YXQuY29tCnx8dHdpdHN0YXQuY29tCnx8ZG90aGV5Zm9sbG93ZWFjaG90aGVy -LmNvbQp8fGZpcnN0Zml2ZWZvbGxvd2Vycy5jb20KfHxyZXR3ZWV0ZWZmZWN0LmNv -bQp8fHR3ZWVwbGlrZS5tZQp8fHR3ZWVwZ3VpZGUuY29tCnx8dHVyYm90d2l0dGVy -LmNvbQoudHdpdHZpZC5jb20KfHx0d2l0dmlkLmNvbQoKMTk5LjU5LjE0OC4yMAp8 -aHR0cDovL3QuY28KfGh0dHBzOi8vdC5jbwp8aHR0cDovL3R3dC50bAp8fHR3aW1n -LmNvbQp0d2l0dGJvdC5uZXQKdHdpdHRlci5jb20KfHx0d2l0dGVyLmNvbQp8fHR3 -aXR0ZXIuanAKfHx0d3R0ci5jb20KL15odHRwcz86XC9cL1teXC9dK3R3aXR0ZXJc -LmNvbS8KCnx8dHdpdHRlcjRqLm9yZwoudHdpdHRlcmNvdW50ZXIuY29tCnx8dHdp -dHRlcmNvdW50ZXIuY29tCnR3aXR0ZXJmZWVkLmNvbQoudHdpdHRlcmdhZGdldC5j -b20KfHx0d2l0dGVyZ2FkZ2V0LmNvbQoudHdpdHRlcmtyLmNvbQp8fHR3aXR0ZXJr -ci5jb20KfHx0d2l0dGVybWFpbC5jb20KdHdpdHRlcnRpbS5lcwp8fHR3aXR0ZXJ0 -aW0uZXMKdHdpdHRoYXQuY29tCi50d2l0dHVybHkuY29tCnx8dHdpdHR1cmx5LmNv -bQoudHdpdHphcC5jb20KdHdpeWlhLmNvbQoudHdyZWcuaW5mbwp8fHR3cmVnLmlu -Zm8KfHx0d3N0YXIubmV0CgoudHd0a3IuY29tCnxodHRwOi8vdHd0a3IuY29tCnx8 -dHdpbWcuY29tCnR3dHJsYW5kLmNvbQp0d3VybC5ubAoudHd5YWMub3JnCnx8dHd5 -YWMub3JnCi50eWNvb2wuY29tCnx8dHljb29sLmNvbQp0eW5zb2Uub3JnCnx8dHph -bmdtcy5jb20KCiEtLXR5cGVwYWQKfHx0eXBlcGFkLmNvbQpAQHx8d3d3LnR5cGVw -YWQuY29tCkBAfHxzdGF0aWMudHlwZXBhZC5jb20KfHxibG9nLmV4cG9mdXR1cmVz -LmNvbQp8fGxlZ2FsdGVjaC5sYXcuY29tCnx8d3d3LmxvaWNsZW1ldXIuY29tCnx8 -bGF0aW1lc2Jsb2dzLmxhdGltZXMuY29tCnx8YmxvZy5wYWxtLmNvbQohLXx8Ymxv -Zy5zZWVzbWljLmNvbQp8fGJsb2dzLnRhbXBhYmF5LmNvbQp8fGNvbnRlc3RzLnR3 -aWxpby5jb20KIS1sYXdwcm9mZXNzb3JzLnR5cGVwYWQuY29tL2NoaW5hX2xhd19w -cm9mCgohLS0tLS0tLS0tLS0tLVR3aXRlc2UtLS0tLQplbWJyLmluCnx8ZW1ici5p -bgpndW9taW4udXMvbG9naW4KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVVV -LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLnNyY2YudWNhbS5vcmcvc2Fsb24v -Cnx8dWNkYzE5OTgub3JnCnx8dWRlcnpvLml0Cnx8dWRuLmNvbQoudWRuLmNvbQoh -LWFsYnVtLnVkbi5jb20KIS1ibG9nLnVkbi5jb20KIS1ib29rbWFyay51ZG4uY29t -L2Jvb2ttYXJrCiEtY2l0eS51ZG4uY29tCiEtZGlnbmV3cy51ZG4uY29tL2ZvcnVt -LwohLWZvcnVtLnVkbi5jb20KdWZyZWV2cG4uY29tCi51Z28uY29tCnVocnAub3Jn -CnVpZ2h1cmJpei5uZXQKLnVsaWtlLm5ldAp8aHR0cDovL3d3dy51a2NoaW5lc2Uu -Y29tL3d3dy8yMi8yMDA5LTAzLzI4NDIuaHRtbAp1a2xpZmVyYWRpby5jby51awp8 -fHVrbGlmZXJhZGlvLmNvLnVrCnVsdHJhdnBuLmZyCnx8dWx0cmF2cG4uZnIKdWx0 -cmF4cy5jb20KfHx1bmJsb2NrLmNuLmNvbQp1bmN5Y2xvbWVkaWEub3JnCnVuY3lj -bG9wZWRpYS5pbmZvCnx8dW5ob2x5a25pZ2h0LmNvbQoudW5pLmNjCnVuaWNvZGUu -b3JnCi51bml0ZWRkYWlseS5jb20ubXkvaW5kZXgucGhwPwoudW5peDEwMC5jb20K -fHx1bmtub3duc3BhY2Uub3JnCnVucG8ub3JnCnx8dW9jbi5vcmcKdG9yLnVwZGF0 -ZXN0YXIuY29tCi51cGxvYWQ0dS5pbmZvCi51cGxvYWRlZC50by9maWxlCnxodHRw -Oi8vdXBsb2FkZWQudG8vZmlsZQoudXBsb2Fkc3RhdGlvbi5jb20vZmlsZQp3d3cu -dXJiYW5vdXRmaXR0ZXJzLmNvbQpteXNoYXJlLnVybC5jb20udHcvCnx8dXJsYm9y -Zy5jb20KfHx1cmxwYXJzZXIuY29tCnVzLnRvCnx8dXNhY24uY29tCmJldGEudXNl -anVtcC5jb20KfHx1c2ZrLm1pbAplYXJ0aHF1YWtlLnVzZ3MuZ292L2VxY2VudGVy -L3JlY2VudGVxc3d3L01hcHMvMTAvMTA1XzMwLnBocAp8fHVzbWMubWlsCi51c3Ry -ZWFtLnR2Cnx8dXN0cmVhbS50dgoudXVzaGFyZS5jb20KfGh0dHA6Ly91dXNoYXJl -LmNvbQoudXdhbnRzLmNvbQoudXdhbnRzLm5ldAp8fHV5Z2h1cmNvbmdyZXNzLm9y -Zwp1eWd1ci5vcmcKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVZWLS0tLS0t -LS0tLS0tLS0tLS0tLS0tLS0tLS0KdjcwLnVzCnx8dmFheW9vLmNvbQp8fHZhbHVl -LWRvbWFpbi5jb20KLnZhbjY5OC5jb20KLnZhbmVtdS5jbgoudmFuaWxsYS1qcC5j -b20KdmFuc2t5LmNvbQp8fHZhcHVybC5jb20KfHx2Y2Ytb25saW5lLm9yZwp8fHZj -ZmJ1aWxkZXIub3JnCi52ZWxrYWVwb2NoYS5zawp2ZW9oLmNvbQoudmVyaXpvbi5u -ZXQKfHx2ZXJ5YnMuY29tCi52ZnQuY29tLnR3CnZpZGVvYmFtLmNvbQp8fHZpZGVv -YmFtLmNvbQoudmlkZW9tby5jb20KfHx2aWRvZW1vLmNvbQp8fHZpa2kuY29tCnZp -bWVvLmNvbQp8fHZpbWdvbGYuY29tCnx8dmltcGVyYXRvci5vcmcKfHx2aW5jbmQu -Y29tCnx8dmlubmlldi5jb20KdmlkZW8udGlzY2FsaS5pdC9jYW5hbGkvdHJ1dmVv -Cnx8dm1peGNvcmUuY29tCmNuLnZvYS5tb2JpCnR3LnZvYS5tb2JpCi52b2FjaGlu -ZXNlYmxvZy5jb20KfHx2b2FjaGluZXNlYmxvZy5jb20KIS0tdm9hY2hpbmVzZWJs -b2cuY29tL2hlcWluZ2xpYW4Kdm9hZ2QuY29tCnZvYWNhbnRvbmVzZS5jb20KfHx2 -b2FjYW50b25lc2UuY29tCnZvYWNoaW5lc2UuY29tCnx8dm9hY2hpbmVzZS5jb20K -dm9hdGliZXRhbi5jb20KfHx2b2F0aWJldGFuLmNvbQp2b2FuZXdzLmNvbS9jaGlu -ZXNlCnZvY24udHYKLnZvdC5vcmcKfHx2b3Qub3JnCnd3dy52b3kuY29tCnx8d3d3 -LnZwbmN1cC5jb20KdnBuYm9vay5jb20KdnBuZmlyZS5jb20KLnZwbmdhdGUubmV0 -Cnx8dnBuZ2F0ZS5uZXQKfHx2cG5wb3AuY29tCnx8dnBucHJvbmV0LmNvbQp8fHZ0 -dW5uZWwuY29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1XVy0tLS0tLS0t -LS0tLS0tLS0tLS0tLS0tLS0tCmxpc3RzLnczLm9yZy9hcmNoaXZlcy9wdWJsaWMK -fHx3YWZmbGUxOTk5LmNvbQouanl6ai53YXFuLmNvbQp8fGp5emoud2Fxbi5jb20K -LndhaGFzLmNvbQoud2FpZ2FvYnUuY29tCndhaWtldW5nLm9yZy9waHBfd2luZAou -d2Fpd2FpZXIuY29tCnxodHRwOi8vd2Fpd2FpZXIuY29tCndhbGxvcm5vdC5vcmcK -fHx3YWxscGFwZXJjYXNhLmNvbQp8fHd3dy53YW4tcHJlc3Mub3JnCnx8d2FuZGVy -aW5naG9yc2UubmV0Cnx8d2FuZ2FmdS5uZXQKfHx3YW5namluYm8ub3JnCi53YW5n -amluYm8ub3JnCndhbmdsaXhpb25nLmNvbQp3YW5ncnVvc2h1aS5uZXQKd3d3Lndh -bmdydW93YW5nLm9yZwp3YW50LWRhaWx5LmNvbQp3YXBlZGlhLm1vYmkvemhzaW1w -Ci5tYWt6aG91LndhcmVob3VzZTMzMy5jb20Kd2FzaGVuZy5uZXQKLndhdHRwYWQu -Y29tCi53ZWFybi5jb20KfHx3ZWFybi5jb20KfHxodWRhdG9yaXEud2ViLmlkCnx8 -d2ViMnByb2plY3QubmV0CndlYmJhbmcubmV0CndlYmxhZ3UuY29tCndlYnMtdHYu -bmV0CndlYnNob3RzLmNvbQp3ZWJzaXRlcHVsc2UuY29tL2hlbHAvdGVzdHRvb2xz -LmNoaW5hLXRlc3QuaHRtbAp3ZWJ3b3JrZXJkYWlseS5jb20Kd2VlZXdvb28ubmV0 -L2hzcy9ob3RzcG90X2NuCi53ZWVrbWFnLmluZm8KLndlZm9uZy5jb20Kd2VpYm9s -ZWFrLmNvbQp3ZWlqaW5nc2hlbmcub3JnCi53ZWltaW5nLmluZm8Kd2VpcXVhbndh -bmcub3JnCndlbmdld2FuZy5jb20KLndlbmdld2FuZy5vcmcKfHx3ZW5nZXdhbmcu -b3JnCi53ZW5odWkuY2gKfHx3ZW5rdS5jb20Kd2VueHVlY2l0eS5jb20KLndlbnl1 -bmNoYW8uY29tCnx8d2VueXVuY2hhby5jb20Kd2VzdGNhLmNvbQp8fHdlc3RjYS5j -b20KfHx3ZXN0ZXJud29sdmVzLmNvbQpoa2cud2VzdGtpdC5uZXQKd3d3LndldDEy -My5jb20KfHx3ZXBuLmluZm8Kd2V0cHVzc3lnYW1lcy5jb20Kd2V4aWFvYm8ub3Jn -Cnx8d2V4aWFvYm8ub3JnCndlemhpeW9uZy5vcmcKfHx3ZXpvbmUubmV0Ci53Zm9y -dW0uY29tCnx8d2ZvcnVtLmNvbS8KLndoYXRibG9ja2VkLmNvbQp8fHdoYXRibG9j -a2VkLmNvbQoud2hpcHBlZGFzcy5jb20Kd2h5bG92ZXIuY29tCnx8d2h5eC5vcmcK -ZXZjaGsud2lraWEuY29tL3dpa2kvJUU1JUE0JUE3JUU3JUI0JTgwJUU1JTg1JTgz -JUU2JTk5JTgyJUU1JUEwJUIxCmNuLnVuY3ljbG9wZWRpYS53aWtpYS5jb20Kemgu -dW5jeWNsb3BlZGlhLndpa2lhLmNvbQp8fHdpa2lsZWFrcy5jaAp8fHdpa2lsZWFr -cy5kZQp8fHdpa2lsZWFrcy5ldQp8fHdpa2lsZWFrcy5sdQoud2lraWxlYWtzLm9y -Zwp8fHdpa2lsZWFrcy5vcmcKfHx3aWtpbGVha3MucGwKfHxjb2xsYXRlcmFsbXVy -ZGVyLmNvbQp8fGNvbGxhdGVyYWxtdXJkZXIub3JnCndpa2lsaXZyZXMuaW5mby93 -aWtpLyVFOSU5QiVCNiVFNSU4NSVBQiVFNSVBRSVBQSVFNyVBQiVBMAp8fHdpa2lt -YXBpYS5vcmcKfHxzZWN1cmUud2lraW1lZGlhLm9yZwp8fHdpa2ltZWRpYS5vcmcu -bW8Kemgud2lraW5ld3Mub3JnCnx8d2lraXdpa2kuanAKfHxzcG9ydHMud2lsbGlh -bWhpbGwuY29tCnx8d2lsbHcubmV0Cnx8d2luZG93c3Bob25lbWUuY29tCndpbndo -aXNwZXJzLmluZm8KfHx3aXJlZGJ5dGVzLmNvbQp8fHdpcmVkcGVuLmNvbQoud2lz -ZXZpZC5jb20KfHx3aXNldmlkLmNvbQoud2l0b3BpYS5uZXQKLndvLnRjCnx8d29l -c2VyLmNvbQp3b2xmYXguY29tCnx8d29sZmF4LmNvbQoud29tZW5zcmlnaHRzb2Zj -aGluYS5vcmcKfHx3b21lbnNyaWdodHNvZmNoaW5hLm9yZwp3b29waWUuanAKfHx3 -b29waWUuanAKd29vcGllLnR2Cnx8d29vcGllLnR2Cnx8d29ya2F0cnVuYS5jb20K -LndvcmxkY2F0Lm9yZwp3b3JsZGpvdXJuYWwuY29tCgohLS0tLS0tLS0tLS0tLVdv -cmRwcmVzcyBCbG9nLS0tLS0KIS18fHRlY2guYmxvZy5ha25pbi5uYW1lCiEtfHxh -dXRvbWF0dGljLmNvbQohLXx8Ymhvcm93aXR6LmNvbQohLXx8YmxvZy5iaXR0b3Jy -ZW50LmNvbQohLXx8YmxvZ21hdmVyaWNrLmNvbQohLXx8YnJlYWtpbmduZXdzd29y -bGQub3JnCiEtfHxibG9ncy5jbm4uY29tCiEtfHxibG9nLmRyYWtlbmdyZW4uY29t -CiEtfHxibG9nLmZlZWRseS5jb20KIS18fGZvdXJ3YWxsc2FuZGFyb29mLmNvbQoh -LXx8aGVyYnN1dHRlci5jb20KIS18fGhpdmVtaW5kcy5jby51awohLXx8aG9wYXJv -dW5kdGhlZ2xvYmUuY29tCiEtfHxodW5idWxpbi5jb20KIS18fGljYW5oYXNjaGVl -emJ1cmdlci5jb20KIS18fHN1cHBvcnQuaW50ZW5zZWRlYmF0ZS5jb20KIS18fGJs -b2cubGlua2VkaW4uY29tCiEtfHxtZW5yby5tZQohLXx8bWljaGFlbGRlaGFhbi5u -ZXQKIS18fG15bm9raWFibG9nLmNvbQohLXx8bmFuZGFsYWxhLmNvbQohLXx8cDJ0 -aGVtZS5jb20KIS18fHBpeGVsYnJlYWQuY29tCiEtfHxibG9nLnBpeGVscGlwZS5j -b20KIS18fGJsb2cucG9sbGRhZGR5LmNvbQohLXx8cmF3Zm9vZHNvcy5jb20KIS18 -fHJheW91cy5jb20KIS18fHNlbWljb2xvbmFwcHMuY29tCiEtfHxzaGFycGluc2Fu -ZGllZ28uY29tCiEtfHxzbWVkaW8uY29tCiEtfHxzdGV2ZWJsYW5rLmNvbQohLXx8 -YmxvZy5zeW1iaWFuLm9yZwohLXx8dGhlYnJpZ2FkZS5jb20KIS18fGJsb2cudGhp -bmdsYWJzLmNvbQohLXx8Y2hpbmEuYmxvZ3MudGltZS5jb20KIS18fGJsb2cudGlu -eXBpYy5jb20KIS18fGJsb2cudHlwZWtpdC5jb20KIS18fGJsb2cud2Frb29wYS5j -b20KIS18fHdhdHRzdXB3aXRodGhhdC5jb20KIS18fHdlYm1pbmsuY29tCiEtemhl -bnhpYW5nLndvcmRwcmVzcy5jb20KLndvcmRwcmVzcy5jb20KfHx3b3JkcHJlc3Mu -Y29tCiEtfGh0dHA6Ly93cC5jb20vCiEtQEB8aHR0cDovL3dvcmRwcmVzcy5jb20K -IS1AQHxodHRwczovL3dvcmRwcmVzcy5jb20KIS1AQHx8ZmlsZXMud29yZHByZXNz -LmNvbQohLXx8YW5kcm9pZC53b3JkcHJlc3Mub3JnCiEtfHxpb3Mud29yZHByZXNz -Lm9yZwohLXx8d29ybXNjdWxwdG9yLmNvbQp3b3hpbmdodWlndW8uY29tCndvdy1s -aWZlLm5ldAohLXx8d3AubWUKCi53cG9mb3J1bS5jb20KfHx3cG9mb3J1bS5jb20K -LndxbGh3LmNvbQoud3F5ZC5vcmcKfHx3cXlkLm9yZwp3cmV0Y2guY2MKIS1jbi53 -c2ouY29tL2diLzIwMTMwMjE1L3RlYzExMzg1My5hc3AKY24ud3NqLmNvbQoud3Rm -cGVvcGxlLmNvbQoud3VhbGEuY29tCnd1ZXJrYWl4aS5jb20Kd3VmaS5vcmcudHcK -d3VqaWUubmV0Cnd1amllbGl1bGFuLmNvbQp8fHd1amllbGl1bGFuLmNvbQp3dWth -bmdydWkubmV0Cnd3aXR2LmNvbQp3enlib3kuaW0vcG9zdC8xNjAKCiEtLS0tLS0t -LS0tLS0tLS0tLS0tLS0tLS0tLVhYLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K -fGh0dHA6Ly93d3cueC1iZXJyeS5jb20vZ29hZ2VudAp8aHR0cDovL3gtYXJ0LmNv -bQp8fHgtd2FsbC5vcmcKeDE5NDl4LmNvbQp4MzY1eC5jb20KeGFuZ2EuY29tCi54 -Ym9va2NuLmNvbQp8fHhib29rY24uY29tCngueGNpdHkuanAKLnhjcml0aWMuY29t -CmRlc3RpbnkueGZpbGVzLnRvL3ViYnRocmVhZHMKLnhmbS5wcC5ydQp4aDRuLmNu -L2Jsb2cKeGhhbXN0ZXIuY29tCm9uZS54dGhvc3QuaW5mbwoueGlhb2NodW5jbmpw -LmNvbQpzLnhpYW9kLmluCi54aWFvaGV4aWUuY29tCnx8eGlhb21hLm9yZwp8fHhp -YW9oZXhpZS5jb20KeGllemh1YS5jb20KLnhpbmcuY29tCnx8eGluZy5jb20KLnhp -bm1pYW8uY29tLmhrCnx8eGlubWlhby5jb20uaGsKeGluc2hlbmcubmV0CnhpbnNo -aWp1ZS5jb20KeGluaHVhbmV0Lm9yZwp4aXphbmctemhpeWUub3JnCnhqcC5jYwp8 -fHhqcC5jYwp8fHhtbC10cmFpbmluZy1ndWlkZS5jb20KeG1vdmllcy5jb20KfHx4 -bnh4LmNvbQp4cGRvLm5ldAp8fHhwdWQub3JnCnx8azIueHJlYS5jb20KfHx4dHVi -ZS5jb20KYmxvZy54dWl0ZS5uZXQKdmxvZy54dWl0ZS5uZXQKeHV6aGl5b25nLm5l -dAp8fHh1Y2hhby5vcmcKeHVjaGFvLm5ldAp8fHh1Y2hhby5uZXQKeHZlZGlvcy5j -b20KLnh2aWRlb3MuY29tCi54eGJieC5jb20KfHx4eHh4LmNvbS5hdQp4eXMub3Jn -Cnh5c2Jsb2dzLm9yZwoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tWVktLS0t -LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpwYWdlLmJpZC55YWhvby5jb20KYmxvZ3Mu -eWFob28uY28uanAKYnV5LnlhaG9vLmNvbS50dy9nZHNhbGUKaGsueWFob28uY29t -CmhrLmtub3dsZWRnZS55YWhvby5jb20KaGsubXlibG9nLnlhaG9vLmNvbQpoay5u -ZXdzLnlhaG9vLmNvbQpoay5yZC55YWhvby5jb20KaGsuc2VhcmNoLnlhaG9vLmNv -bS9zZWFyY2gKaGsudmlkZW8ubmV3cy55YWhvby5jb20vdmlkZW8KbWVtZS55YWhv -by5jb20KdHcueWFob28uY29tCnR3Lm15YmxvZy55YWhvby5jb20KdHcubmV3cy55 -YWhvby5jb20KcHVsc2UueWFob28uY29tCnVwY29taW5nLnlhaG9vLmNvbQp2aWRl -by55YWhvby5jb20KfHx5YWhvby5jb20uaGsKeWFtLmNvbQp8fHlhbS5jb20KeWFz -bmkuY28udWsKfHx5YXN1a3VuaS5vci5qcAoueWR5LmNvbQp8fHllZWxvdS5jb20K -eWVleWkuY29tCnllZ2xlLm5ldAp8fHllZ2xlLm5ldAp5ZnJvZy5jb20KfHx5aGN3 -Lm5ldAoueWkub3JnCi55aWRpby5jb20KfHx5aWRpby5jb20KeWlsdWJicy5jb20K -eGEueWltZy5jb20KLnlpcHViLmNvbQp8fHlpcHViLmNvbQoueW9naWNoZW4ub3Jn -Cnx8eW9naWNoZW4ub3JnCnlvbmcuaHUKLnlvcmtiYnMuY2EKfHx5b3V4dS5pbmZv -Ci55eWlpLm9yZwp8fHl5aWkub3JnCi55enprLmNvbQp8fHl6emsuY29tCi55b3Vq -aXp6LmNvbQp8fHlvdWppenouY29tCnlvdW1ha2VyLmNvbQp5b3VwYWkub3JnCnx8 -eW91cGFpLm9yZwoueW91ci1mcmVlZG9tLm5ldAoueW91c2VuZGl0LmNvbQp8fHlv -dXNlbmRpdC5jb20KeW91dGhiYW8uY29tCi55b3V0aG5ldHJhZGlvLm9yZy90bWl0 -L2ZvcnVtCmJsb2cueW91dGh3YW50LmNvbS50dwpzaGFyZS55b3V0aHdhbnQuY29t -LnR3CnRvcGljLnlvdXRod2FudC5jb20udHcKLnlvdXBvcm4uY29tCnx8eW91cG9y -bi5jb20KeW91dHUuYmUKLnlvdXR1YmUuY29tCnx8eW91dHViZS5jb20KIS0tL15o -dHRwcz86XC9cL1teXC9dK3lvdXR1YmVcLmNvbS8KfHx5b3V0dWJlLW5vY29va2ll -LmNvbQoueW91dHViZWNuLmNvbQp5b3V2ZXJzaW9uLmNvbQp8fHlvdXZlcnNpb24u -Y29tCmJsb2cueW91eHUuaW5mby8yMDEwLzAzLzE0L3dlc3QtY2hhbWJlcgohLVlv -dXR1YmUgQ0ROCnx8eXRpbWcuY29tCnl0aHQubmV0Cnl1YW5taW5nLm5ldAp8fHl1 -bmNoYW8ubmV0Cnx8eXZlc2dlbGV5bi5jb20KeXg1MS5uZXQKfHx5eW1heWEuY29t -CgohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1aWi0tLS0tLS0tLS0tLS0tLS0t -LS0tLS0tLS0tCnphY2Vib29rLmNvbQp8fHphbm5lbC5jb20KfHx0YXAxMS5jb20K -bHVudGFuLnphb2Jhby5jb20KLnphb2Jhby5jb20uc2cKfHx6YW9iYW8uY29tLnNn -Ci56YW96b24uY29tCnx8emFyaWFzLmNvbQp3d3cuemF1cnVzLm9yZy51awouemRu -ZXQuY29tLnR3L25ld3Mvc29mdHdhcmUvMCwyMDAwMDg1Njc4LDIwMTExMTg3LDAw -Ci56ZW5namlueWFuLm9yZwp8fHpldXRjaC5jb20Kd3d3LnpmcmVldC5jb20vcG9z -dC91c2VqdW1wLWJyb3ducy5odG1sCnpnemNqai5uZXQKLnpoYW5iaW4ubmV0Cnx8 -emhhbmJpbi5uZXQKemhlbmdodWkub3JnCnpoZW5saWJ1LmluZm8KfHx6aGVubGli -dS5pbmZvCi56aGluZW5nbHV5b3UuY29tCnx8emhvbmdndW90ZXNlLm5ldAp8fHpo -b25nbWVuZy5vcmcKfHx6aHJlYWRlci5jb20Kemh1aWNoYWd1b2ppLm9yZwp8fHpo -dWljaGFndW9qaS5vcmcKLnppZGR1LmNvbS9kb3dubG9hZAp8fHppbGxpb25rLmNv -bQp6aW5pby5jb20KfHx6aW5pby5jb20KfHx6aXBsaWIuY29tCi56a2FpcC5jb20K -fHx6a2FpcC5jb20KfHx6bGliLm5ldC8Kem13LmNuCnpvbW9iby5uZXQKLnpvbmFl -dXJvcGEuY29tCnx8em9uYWV1cm9wYS5jb20KfHx6b290b29sLmNvbQouem9vemxl -Lm5ldAp3cml0ZXIuem9oby5jb20KLnpzaGFyZS5uZXQvZG93bmxvYWQKLnpzcmhh -by5jb20KLnp1by5sYQp8fHp1by5sYQouenVvbGEuY29tCnx8enVvbGEuY29tCnx8 -enZlcmVmZi5jb20Kenl6YzkuY29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t -LS1PdGhlci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIS0tZmFsdW4KZnJlZW5ldApx -PWZyZWVkb20KcSUzRGZyZWVkb20KcmVtZW1iZXJpbmdfdGlhbmFubWVuXzIwX3ll -YXJzCnNlYXJjaCpzYWZld2ViCnE9dHJpYW5nbGUKcSUzRFRyaWFuZ2xlCnVsdHJh -cmVhY2gKdWx0cmFzdXJmCnpoZW5namlhbgoKIS0tQmEgS2UKJUU3JUJEJUEyJUU4 -JUFGJUJFCiEtLUJhbyBUb25nCi5nb29nbGUuKiVFOSVCMiU4RCVFNSVCRCVBNAou -Z29vZ2xlLiolRTklQUUlOTElRTUlQkQlQTQKIS0tQm8gWHVuCnNlYXJjaColRTUl -OEQlOUElRTglQUUlQUYKIS0tRGEgSmkgWXVhbgpzZWFyY2gqJUU1JUE0JUE3JUU3 -JUJBJUFBJUU1JTg1JTgzCiEtLURpYW8gWXUgRGFvCnNlYXJjaColRTklOTIlOTMl -RTklQjElQkMlRTUlQjIlOUIKIS0tZG9uZyB0YWkgd2FuZwolRTUlOEElQTglRTYl -ODAlODElRTclQkQlOTEKIS0tRHVvIFdlaSAoaGFucy9oYW50KQpzZWFyY2gqJUU1 -JUE0JTlBJUU3JUI2JUFECnNlYXJjaColRTUlQTQlOUElRTclQkIlQjQKc2VhcmNo -KmZyZWVnYXRlCiEtLShMaSkgRmEgSHVpCnNlYXJjaColRTYlQjMlOTUlRTQlQkMl -OUEKIS0tZmEgbHVuIGRhIGZhCiVFNiVCMyU5NSVFOCVCRCVBRSVFNSVBNCVBNyVF -NiVCMyU5NQohLS1GYSBMdW4gR29uZzogVHJhZGl0aW9uYWwgQ2hpbmVzZQolRTYl -QjMlOTUlRTglQkMlQUElRTUlOEElOUYKIS0tRmEgTHVuIEdvbmc6IFNpbXBsaWZp -ZWQgQ2hpbmVzZQolRTYlQjMlOTUlRTglQkQlQUUlRTUlOEElOUYKIS0tSHUgSGFp -IEZlbmcKJUU4JTgzJUExJUU2JUI1JUI3JUU1JUIzJUIwCiEtLUh1IEhhaSBRaW5n -CiVFOCU4MyVBMSVFNiVCNSVCNyVFNiVCOCU4NQohLS1IdWEgSHVhIEdvbmcgWmkK -c2VhcmNoKiVFOCU4QSVCMSVFOCU4QSVCMSVFNSU4NSVBQyVFNSVBRCU5MAohLS1K -aSBZdWFuCnNlYXJjaColQkMlQ0QlRDQlQUEKIS0tSmlhIE1pIERhaSBMaSAoR0Iv -VTgpCnNlYXJjaColQkMlRDMlQzMlREMlQjQlRkElQzAlRUQKc2VhcmNoKiVFNSU4 -QSVBMCVFNSVBRiU4NiVFNCVCQiVBMyVFNyU5MCU4NgohLS1KaWFuZyBMaXUgTWFu -ZwpzZWFyY2gqJUU2JUIxJTlGJUU2JUI1JTgxJUU2JUIwJTkzCiEtLUthbiBaaG9u -ZyBHdW8Kc2VhcmNoKiVFNyU5QyU4QiVFNCVCOCVBRCVFNSU5QiVCRAohLS1MaXUg -U2kKc2VhcmNoKiVFNSU4NSVBRCVFNSU5QiU5QgohLS1MaXUgWGlhbyBCbwolRTUl -ODglOTglRTYlOTklOTMlRTYlQjMlQTIKIS0tTWVpIEd1byBaaGkgWWluCiVFNyVC -RSU4RSVFNSU5QiVCRCVFNCVCOSU4QiVFOSU5RiVCMwohLS1NaW4gSmluIERhbmcK -JUU2JUIwJTkxJUU4JUJGJTlCJUU1JTg1JTlBCiEtLShOb25nKSBNaW4gWXVuIChE -b25nIEh1aSkKJUU2JUIwJTkxJUU4JUJGJTkwCiEtLVNlIFFpbmcKc2VhcmNoKiVF -OCU4OSVCMiVFNiU4MyU4NQohLS1XYW5nIERhbgolRTclOEUlOEIlRTQlQjglQjkK -IS0tV2FuZyBUZQpzZWFyY2gqJUU3JUJEJTkxJUU3JTg5JUI5CiEtLVdhbmcgWGkg -WmhlCnNlYXJjaColRTclOEUlOEIlRTUlQjglOEMlRTUlOTMlQjIKIS0tV2VpIEpp -bmcgU2hlbmcKc2VhcmNoKiVFOSVBRCU4RiVFNCVCQSVBQyVFNyU5NCU5RgohLS1X -ZW4gWmkgWXUKc2VhcmNoKiVFNiU5NiU4NyVFNSVBRCU5NyVFNyU4QiVCMQohLS1X -byBEZSBGZW4gRG91CnNlYXJjaColRTYlODglOTElRTclOUElODQlRTUlQTUlOEIl -RTYlOTYlOTcKIS0tV3UgSmllCnNlYXJjaColRTYlOTclQTAlRTclOTUlOEMKIS0t -WGllIEUKc2VhcmNoKiVFOSU4MiVBQSVFNiU4MSVCNgohLS1YaSBOYW8Kc2VhcmNo -KiVFNiVCNCU5NyVFOCU4NCU5MQohLS1YaW4gVGFuZyBSZW4Kc2VhcmNoKiVFNiU5 -NiVCMCVFNSU5NCU5MCVFNCVCQSVCQQohLS1YaW4gWXUgU2kKc2VhcmNoKiVFNiU5 -NiVCMCVFOCVBRiVBRCVFNCVCOCU5RAohLS1YdWUgWXVuCnNlYXJjaColRTUlQUQl -QTYlRTglQkYlOTAKIS0tWmhvbmcgR29uZwpzZWFyY2gqJUU0JUI4JUFEJUU1JThB -JTlGCiEtLVpob25nIEd1byBMdW4gVGFuCnNlYXJjaColRTQlQjglQUQlRTUlOUIl -QkQlRTglQUUlQkElRTUlOUQlOUIKIS0tWmhvbmcgWHVhbiBCdQpzZWFyY2gqJUU0 -JUI4JUFEJUU1JUFFJUEzJUU5JTgzJUE4CgohLS0tLS0tLS0tLS0tLVdpa2lwZWRp -YS0tLS0tLS0tLS0tLS0tLS0KfGh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcK -fGh0dHBzOi8vKi53aWtpcGVkaWEub3JnCi53aWtpcGVkaWEub3JnL3dpa2kvRGFs -YWlfTGFtYQoud2lraXBlZGlhLm9yZy93aWtpL0RhbGFpLUxhbWEKYXIud2lraXBl -ZGlhLm9yZyolRDglQUYlRDglQTclRDklODQlRDglQTclRDklOEFfJUQ5JTg0JUQ4 -JUE3JUQ5JTg1JUQ4JUE3CnpoLXl1ZS53aWtpcGVkaWEub3JnL3dpa2kvJUU1JThB -JTg5JUU2JTlCJTg5JUU2JUIzJUEyCgohLS0tLS0tLS0tLS0tLWVuLldpa2lwZWRp -YS0tLS0tLS0tLS0tLS0KZW4ud2lraXBlZGlhLm9yZy93aWtpL0FudGktY29tbXVu -aXNtCmVuLndpa2lwZWRpYS5vcmcvd2lraS9Cb29rX2J1cm5pbmcKZW4ud2lraXBl -ZGlhLm9yZy93aWtpL0NlbnNvcnNoaXBfaW5fdGhlX1Blb3BsZSUyN3NfUmVwdWJs -aWNfb2ZfQ2hpbmEKZW4ud2lraXBlZGlhLm9yZy93aWtpL0NoYXJ0ZXJfMDgKZW4u -d2lraXBlZGlhLm9yZy93aWtpL0NoZW5fR3VhbmdjaGVuZwplbi53aWtpcGVkaWEu -b3JnL3dpa2kvRGVlcF9wYWNrZXRfaW5zcGVjdGlvbgplbi53aWtpcGVkaWEub3Jn -L3dpa2kvRnJlZWdhdGUKZW4ud2lraXBlZGlhLm9yZy93aWtpL0dvbGRlbl9TaGll -bGRfUHJvamVjdAplbi53aWtpcGVkaWEub3JnL3dpa2kvR3JlYXRfRmlyZXdhbGxf -b2ZfQ2hpbmEKZW4ud2lraXBlZGlhLm9yZy93aWtpL0hvbmdfS29uZwplbi53aWtp -cGVkaWEub3JnL3dpa2kvSHVhbmdfUWkKZW4ud2lraXBlZGlhLm9yZy93aWtpL0lu -dGVybmV0X2NlbnNvcnNoaXAKZW4ud2lraXBlZGlhLm9yZy93aWtpL0phdmFfQW5v -bl9Qcm94eQplbi53aWtpcGVkaWEub3JnL3dpa2kvTGl1X1hpYW9ibwplbi53aWtp -cGVkaWEub3JnL3dpa2kvU2hpX1Rhbwplbi53aWtpcGVkaWEub3JnL3dpa2kvVGFu -a19tYW4KZW4ud2lraXBlZGlhLm9yZy93aWtpL1RpYW5hbm1lbl9QYXBlcnMKZW4u -d2lraXBlZGlhLm9yZy93aWtpL1RpYW5hbm1lbl9TcXVhcmVfcHJvdGVzdHNfb2Zf -MTk4OQplbi53aWtpcGVkaWEub3JnL3dpa2kvVGliZXRhbl9pbmRlcGVuZGVuY2Vf -bW92ZW1lbnQKCiEtLS0tLS0tLS0tLS0temguV2lraXBlZGlhLS0tLS0tLS0tLQp6 -aC53aWtpcGVkaWEub3JnL3dpa2kvV2lraXBlZGlhOiVFOSVBMCU4MSVFOSU5RCVB -MiVFNSVBRCU5OCVFNSVCQiVBMiVFOCVBOCU4RSVFOCVBQiU5Ngp6aC5tLndpa2lw -ZWRpYS5vcmcKemgud2lraXNvdXJjZS5vcmcKIS0tMjAxMiBOaWFuIFpob25nIEh1 -YSBSZW4gTWluIEdvbmcgSGUgR3VvIEZ1IEJhaSBBbiBKaWFuCnpoLndpa2lwZWRp -YS5vcmcqMjAxMiVFNSVCOSVCNCVFNCVCOCVBRCVFNSU4RCU4RSVFNCVCQSVCQSVF -NiVCMCU5MSVFNSU4NSVCMSVFNSU5MiU4QyVFNSU5QiVCRCVFOCU4NSU5MCVFOCVC -NCVBNSVFNiVBMSU4OCVFNCVCQiVCNgohLS01MTIgRGEgRGkgWmhlbgp6aC53aWtp -cGVkaWEub3JnKjUxMiVFNSVBNCVBNyVFNSU5QyVCMCVFOSU5QyU4NwohLS0wOCBY -aWFuIFpoYW5nCnpoLndpa2lwZWRpYS5vcmcqMDglRTUlQUUlQUElRTclQUIlQTAK -IS0tMTk1OSBOaWFuCnpoLndpa2lwZWRpYS5vcmcqMTk1OSVFNSVCOSVCNAohLS0x -OTg5IE5pYW4Kemgud2lraXBlZGlhLm9yZyoxOTg5JUU1JUI5JUI0CiEtLTYxMCBC -YW4gR29uZyBTaGkKemgud2lraXBlZGlhLm9yZyo2MTAlRTglQkUlQTYlRTUlODUl -QUMlRTUlQUUlQTQKIS0tQW50aS1DTk4Kemgud2lraXBlZGlhLm9yZypBbnRpLUNO -TgohLS1BIERpIFhpYQp6aC53aWtpcGVkaWEub3JnKiVFOSU5OCVCRiVFNSVCQSU5 -NSVFNSVCMyVCRAohLS1BIFBlaSBBIFdhbmcgSmluIE1laQp6aC53aWtpcGVkaWEu -b3JnKiVFOSU5OCVCRiVFNiVCMiU5QiVDMiVCNyVFOSU5OCVCRiVFNiU5NyVCQSVF -NiU5OSU4QiVFNyVCRSU4RQohLS1BaSBXZWkgV2VpCnpoLndpa2lwZWRpYS5vcmcq -JUU4JTg5JUJFJUU2JTlDJUFBJUU2JTlDJUFBCiEtLUJhIEppdSBYdWUgWXVuCnpo -Lndpa2lwZWRpYS5vcmcqJUU1JTg1JUFCJUU0JUI5JTlEJUU1JUFEJUE2JUU4JUJG -JTkwCiEtLUJhIFNpIEJhCnpoLndpa2lwZWRpYS5vcmcqJUU1JTg1JUFCJUU2JTgw -JTlEJUU1JUI3JUI0CiEtLUJhbiBDaGFuCnpoLndpa2lwZWRpYS5vcmcqJUU3JThG -JUFEJUU3JUE2JTg1CiEtLUJhbyBUb25nCnpoLndpa2lwZWRpYS5vcmcqJUU5JUIy -JThEJUU1JUJEJUE0CnpoLndpa2lwZWRpYS5vcmcqJUU5JUFFJTkxJUU1JUJEJUE0 -CiEtLUJlaSBKaW5nIEdhbyBYaWFvIFh1ZSBTaGVuZyBaaSBaaGkgTGlhbiBIZSBI -dWkKemgud2lraXBlZGlhLm9yZyolRTUlOEMlOTclRTQlQkElQUMlRTklQUIlOTgl -RTYlQTAlQTElRTUlQUQlQTYlRTclOTQlOUYlRTglODclQUElRTYlQjIlQkIlRTgl -ODElOTQlRTUlOTAlODglRTQlQkMlOUEKIS0tQmVpIEppbmcgWmhpIENodW4Kemgu -d2lraXBlZGlhLm9yZyolRTUlOEMlOTclRTQlQkElQUMlRTQlQjklOEIlRTYlOTgl -QTUKIS0tQm8gWGkgTGFpCnpoLndpa2lwZWRpYS5vcmcqJUU4JTk2JTg0JUU3JTg2 -JTk5JUU2JTlEJUE1CiEtLUJvIFh1bgp6aC53aWtpcGVkaWEub3JnKiVFNSU4RCU5 -QSVFOCVBRSVBRgohLS1CdSBMYSBHZSBaaGkgQ2h1bgp6aC53aWtpcGVkaWEub3Jn -KiVFNSVCOCU4MyVFNiU4QiU4OSVFNiVBMCVCQyVFNCVCOSU4QiVFNiU5OCVBNQoh -LS1DYWkgTGluZwp6aC53aWtpcGVkaWEub3JnKiVFNiU5RiVCNCVFNyU4RSVCMgoh -LS1DYW5nIFlhbmcgSmlhIEN1bwp6aC53aWtpcGVkaWEub3JnKiVFNCVCQiU5MyVF -NSVBNCVBRSVFNSU5OCU4OSVFNiU4RSVBQQohLS1DYW8gQ2hhbmcgUWluZwp6aC53 -aWtpcGVkaWEub3JnKiVFNiU5QiVCOSVFOSU5NSVCNyVFOSU5RCU5MgohLS1DaGVu -IEd1YW5nIENoZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU5JTk5JTg4JUU1JTg1JTg5 -JUU4JUFGJTlBCiEtLUNodSBCdSBTaQp6aC53aWtpcGVkaWEub3JnKiVFNiVBNSU5 -QSVFNSVCOCU4MyVFNSVBRiVCQQohLS1EYSBDYW4gS2FvIChXYW5nIEx1byBaYSBa -aGkpCnpoLndpa2lwZWRpYS5vcmcqJWU1JWE0JWE3JWU1JThmJTgyJWU4JTgwJTgz -XyglZTclYmQlOTElZTclYmIlOWMlZTYlOWQlODIlZTUlYmYlOTcpCiEtLURhIEpp -IFl1YW4Kemgud2lraXBlZGlhLm9yZyolRTUlQTQlQTclRTclQjQlODAlRTUlODUl -ODMKIS0tRGEgSmkgWXVhbiBTaGkgQmFvICh6aC1oYW5zKQp6aC53aWtpcGVkaWEu -b3JnKiVFNSVBNCVBNyVFNyVCQSVBQSVFNSU4NSU4MyVFNiU5NyVCNiVFNiU4QSVB -NQohLS1EYSBMYWkgTGEgTWEKemgud2lraXBlZGlhLm9yZyolRTglQkUlQkUlRTgl -QjUlOTYlRTUlOTYlODclRTUlOTglOUIKIS0tRGEgTGFuIFNhIExhCnpoLndpa2lw -ZWRpYS5vcmcqJUU4JUJFJUJFJUU1JTg1JUIwJUU4JTkwJUE4JUU2JThCJTg5CiEt -LURhIExhbiBTaGEgTGEKemgud2lraXBlZGlhLm9yZyolRTklODElOTQlRTglOTgl -QUQlRTglOTYlQTklRTYlOEIlODkKIS0tRGEgRXIgSGFuIEh1byBGbwp6aC53aWtp -cGVkaWEub3JnKiVFOCVCRSVCRSVFNSVCMCU5NCVFNyVCRCU5NSVFNiVCNCVCQiVF -NCVCRCU5QgohLS1EYSBTaGUgR3VvIEpJCnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0 -JUE3JUU4JUI1JUE2JUU1JTlCJUJEJUU5JTk5JTg1CnpoLndpa2lwZWRpYS5vcmcq -JUU1JUE0JUE3JUU4JUI1JUE2JUU1JTlDJThCJUU5JTlBJTlCCiEtLURhIFR1IFNo -YSBMaWUgQmlhbwp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVBNyVFNSVCMSVBMCVF -NiU5RCU4MCVFNSU4OCU5NyVFOCVBMSVBOAohLS1EYSBaYW5nIFNpCnpoLndpa2lw -ZWRpYS5vcmcqJUU1JUE0JUE3JUU4JTk3JThGJUU1JUFGJUJBCiEtLURhIFpoYW8g -U2kKemgud2lraXBlZGlhLm9yZyolRTUlQTQlQTclRTYlOTglQUQlRTUlQUYlQkEK -IS0tRGFuIFplbmcgSmlhIEN1bwp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVCOSVF -NSVBMiU5RSVFNSU5OCU4OSVFNiU4RSVBQQohLS1EaW5nIFppIExpbgp6aC53aWtp -cGVkaWEub3JnKiVFNCVCOCU4MSVFNSVBRCU5MCVFOSU5QyU5NgohLS1Eb25nIEZl -bmcgLSAyMSBaaG9uZyBDaGVuZyBEYW4gRGFvIERhbyBEYW4Kemgud2lraXBlZGlh -Lm9yZyolRTQlQjglOUMlRTklQTMlOEUtMjElRTQlQjglQUQlRTclQTglOEIlRTUl -QkMlQjklRTklODElOTMlRTUlQUYlQkMlRTUlQkMlQjkgCiEtLURvbmcgRmVuZyAt -IDMxIFpob3UgSmkgRGFuIERhbyBEYW8gRGFuCnpoLndpa2lwZWRpYS5vcmcqJUU2 -JTlEJUIxJUU5JUEyJUE4LTMxJUU2JUI0JUIyJUU5JTlBJTlCJUU1JUJEJTg4JUU5 -JTgxJTkzJUU1JUIwJThFJUU1JUJEJTg4CiEtLURvbmcgVHUgSnVlKHpoLUhhbnQp -CnpoLndpa2lwZWRpYS5vcmcqJUU2JTlEJUIxJUU3JUFBJTgxJUU1JThFJUE1CiEt -LURvbmcgVHUgSnVlIFNpIFRhbgp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCU5QyVF -NyVBQSU4MSVFNSU4RSVBNSVFNiU5NiVBRiVFNSU5RCVBNgohLS1EdW8gV2VpCnpo -Lndpa2lwZWRpYS5vcmcqJUU1JUE0JTlBJUU3JUJCJUI0CnpoLndpa2lwZWRpYS5v -cmcqJUU1JUE0JTlBJUU3JUI2JUFECiEtLUUgTHVvIFNpICh6aC1oYW50KQp6aC53 -aWtpcGVkaWEub3JnKiVFNCVCRiU4NCVFNyVCRSU4NSVFNiU5NiVBRgohLS1GYW4g -SHVhIFNoaSBMaQp6aC53aWtpcGVkaWEub3JnKiVFNSU4RiU4RCVFNSU4RCU4RSVF -NSU4QSVCRiVFNSU4QSU5QgohLS1GYW5nIEh1byBDaGFuZyBDaGVuZwp6aC53aWtp -cGVkaWEub3JnKiVFOSU5OCVCMiVFNyU4MSVBQiVFOSU5NSVCRiVFNSU5RiU4RQoh -LS1GYW5nIExpIFpoaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVCOSVFNSU4QSVC -MSVFNCVCOSU4Qgp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVCOSVFNSU4QiVCNSVF -NCVCOSU4QgohLS1GYW5nIFpob3UgWmkKemgud2lraXBlZGlhLm9yZyolRTYlOTYl -QjklRTglODglOUYlRTUlQUQlOTAKIS0tRmVuIFFpbmcKemgud2lraXBlZGlhLm9y -ZyolRTYlODQlQTQlRTklOUQlOTIKIS0tRmVuZyBDb25nIERlCnpoLndpa2lwZWRp -YS5vcmcqJUU1JUIwJTgxJUU0JUJCJThFJUU1JUJFJUI3CnpoLndpa2lwZWRpYS5v -cmcqJUU1JUIwJTgxJUU1JUJFJTlFJUU1JUJFJUI3CiEtLUZlbmcgWmhlbmcgSHUK -emgud2lraXBlZGlhLm9yZyolRTUlODYlQUYlRTYlQUQlQTMlRTglOTklOEUKIS0t -RnUgVGllIFNoYW4Kemgud2lraXBlZGlhLm9yZyolRTUlODIlODUlRTklOTMlODEl -RTUlQjElQjEKIS0tR2EgTHVuIENoaSBCYQp6aC53aWtpcGVkaWEub3JnKiVFNSU5 -OSVCNiVFNSU4MCVBQiVFOCVCNSVBNCVFNSVCNyVCNAohLS1HYW8gWmhpIFNoZW5n -CnpoLndpa2lwZWRpYS5vcmcqJUU5JUFCJTk4JUU2JTk5JUJBJUU2JTk5JTlGCiEt -LURpIFNoaSBZaSBTaGkgQmFuIENoYW4gRXIgRXIgRGUgTmkgR2VuZyBEZW5nIFF1 -ZSBKaSBOaSBNYQp6aC53aWtpcGVkaWEub3JnKiVFNiU5QiVCNCVFNyU5OSVCQiVF -NyVBMiVCQSVFNSU5MCU4OSVFNSVCMCVCQyVFNyU5MSVBQQohLS1HYSBKdSBQYWkK -emgud2lraXBlZGlhLm9yZyolRTUlOTklQjYlRTQlQjglQkUlRTYlQjQlQkUKIS0t -R2FpIEdlIExpIENoZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU2JTk0JUI5JUU5JTlE -JUE5JUU1JThFJTg2JUU3JUE4JThCCiEtLUdhbiBEYW4gU2kKemgud2lraXBlZGlh -Lm9yZyolRTclOTQlOTglRTQlQjglQjklRTUlQUYlQkEKIS0tR2FvIFhpbmcgSmlh -bgp6aC53aWtpcGVkaWEub3JnKiVFOSVBQiU5OCVFOCVBMSU4QyVFNSU4MSVBNQoh -LS1HZSBEYW5nIFBhaQp6aC53aWtpcGVkaWEub3JnKiVFNSU5OSVCNiVFNSVCRCU5 -MyVFNiVCNCVCRQohLS1HZSBMdSBQYWkKemgud2lraXBlZGlhLm9yZyolRTYlQTAl -QkMlRTklQjIlODElRTYlQjQlQkUKIS0tR0ZXCnpoLndpa2lwZWRpYS5vcmcqR0ZX -CiEtLUdvbmcgR29uZyBaaGkgU2hpIEZlbiBaaQp6aC53aWtpcGVkaWEub3JnKiVF -NSU4NSVBQyVFNSU4NSVCMSVFNyU5RiVBNSVFOCVBRiU4NiVFNSU4OCU4NiVFNSVB -RCU5MAohLS1Hb29nbGUgU2hlbiBDaGEKemgud2lraXBlZGlhLm9yZypHb29nbGUl -RTUlQUUlQTElRTYlOUYlQTUKIS0tR3UgR2UgVHVpIENodSBaaG9uZyBHdW8gU2hp -IEppYW4gKEdvb2dsZSkKemgud2lraXBlZGlhLm9yZy96aC1jbi8lRTglQjAlQjcl -RTYlQUQlOEMlRTklODAlODAlRTUlODclQkElRTQlQjglQUQlRTUlOUIlQkQlRTQl -QkElOEIlRTQlQkIlQjYKemgud2lraXBlZGlhLm9yZy93aWtpLyVFOCVCMCVCNyVF -NiVBRCU4QyVFOSU4MCU4MCVFNSU4NyVCQSVFNCVCOCVBRCVFNSU5QiVCRCVFNCVC -QSU4QiVFNCVCQiVCNgohLS1HdWFuZyBaaG91IFNoaSBYaW4gVGFuZyBTaGkgSmlh -bgp6aC53aWtpcGVkaWEub3JnL3dpa2kvJUU1JUI5JUJGJUU1JUI3JTlFJUU1JUI4 -JTgyJUU2JTk2JUIwJUU1JUExJTk4JUU0JUJBJThCJUU0JUJCJUI2CiEtLUd1byBC -YW8Kemgud2lraXBlZGlhLm9yZyolRTUlOUIlQkQlRTQlQkYlOUQKIS0tR3VvIEJv -IFhpb25nCnpoLndpa2lwZWRpYS5vcmcqJUU5JTgzJUFEJUU0JUJDJUFGJUU5JTlC -JTg0CiEtLUd1byBKaSBUZSBTaGUgWnUgWmhpCnpoLndpa2lwZWRpYS5vcmcqJUU1 -JTlCJUJEJUU5JTk5JTg1JUU3JTg5JUI5JUU4JUI1JUE2JUU3JUJCJTg0JUU3JUJC -JTg3CiEtLUd1byBOZWkgQW4gUXVhbiBCYW8gV2VpIFpoaSBEdWkKemgud2lraXBl -ZGlhLm9yZyolRTUlOUIlQkQlRTUlODYlODUlRTUlQUUlODklRTUlODUlQTglRTQl -QkYlOUQlRTUlOEQlQUIlRTYlOTQlQUYlRTklOTglOUYKIS0tR3VvIFd1IFl1YW4g -RmFuZyBGYW4gSGUgQ2h1IExpIFhpZSBKaWFvIFdlbiBUaSBCYW4gR29uZyBTaGkK -emgud2lraXBlZGlhLm9yZyolRTUlOUMlOEIlRTUlOEIlOTklRTklOTklQTIlRTkl -OTglQjIlRTclQUYlODQlRTUlOTIlOEMlRTglOTklOTUlRTclOTAlODYlRTklODIl -QUElRTYlOTUlOTklRTUlOTUlOEYlRTklQTElOEMlRTglQkUlQTYlRTUlODUlQUMl -RTUlQUUlQTQKIS0tSGFuIERvbmcgRmFuZwp6aC53aWtpcGVkaWEub3JnKiVFOSU5 -RiVBOSVFNCVCOCU5QyVFNiU5NiVCOQohLS1IZSBHdW8gUWlhbmcKemgud2lraXBl -ZGlhLm9yZyolRTglQjQlQkElRTUlOUIlQkQlRTUlQkMlQkEKIS0tSGUgSnVuIFJl -bgp6aC53aWtpcGVkaWEub3JnKiVFNCVCRCU5NSVFNCVCRiU4QSVFNCVCQiU4MQoh -LS1IZSBTaGFuZwp6aC53aWtpcGVkaWEub3JnKiVFNiVCMiVCMyVFNiVBRSU4Nwoh -LS1Ib25nIFpoZSBTaGVuZwp6aC53aWtpcGVkaWEub3JnKiVFNiVCNCVBQSVFNSU5 -MyVCMiVFNSU4QiU5RAohLS1Ib3UgRGUgSmlhbgp6aC53aWtpcGVkaWEub3JnKiVF -NCVCRSVBRiVFNSVCRSVCNyVFNSVCQiVCQQp6aC53aWtpcGVkaWEub3JnKiVFNCVC -RSVBRiVFOCVCNSU5QiVFNSU5QiVBMCVFNiVCMSU5Rgp6aC53aWtpcGVkaWEub3Jn -KiVFNCVCRSVBRiVFNSVCRSVCNyVFNSU4MSVBNQohLS1IdSBKaWEgKFNoZSBIdWkg -SHVvIERvbmcgSmlhKSAoK1JlZGlyKQp6aC53aWtpcGVkaWEub3JnKiVFOCU4MyVB -MSVFNCVCRCVCM18lMjgxOTczJUU1JUI5JUI0JTI5CnpoLndpa2lwZWRpYS5vcmcq -JUU4JTgzJUExJUU0JUJEJUIzXyUyOCVFNyVBNCVCRSVFNiVCNCVCQiVFNSU4QiU5 -NSVFNSVBRSVCNiUyOQp6aC53aWtpcGVkaWEub3JnKiVFOCU4MyVBMSVFNCVCRCVC -M18lMjglRTclQTQlQkUlRTYlOUMlODMlRTYlQjQlQkIlRTUlOEIlOTUlRTUlQUUl -QjYlMjkKIS0tSHUgSmluZyBUYW8Kemgud2lraXBlZGlhLm9yZyolRTglODMlQTEl -RTklOTQlQTYlRTYlQjYlOUIKIS0tSHUgUGluZyAoWnVvIEppYSkKemgud2lraXBl -ZGlhLm9yZyolRTglODMlQTElRTUlQjklQjNfJTI4JUU0JUJEJTlDJUU1JUFFJUI2 -JTI5CiEtLUh1IFR1IEtlIFR1CnpoLndpa2lwZWRpYS5vcmcqJUU1JTkxJUJDJUU1 -JTlDJTk2JUU1JTg1JThCJUU1JTlDJTk2CiEtLUh1IFdlbiBUaSBaaGkgKFdobyZX -ZW4gOkQpCnpoLndpa2lwZWRpYS5vcmcqJUU4JTgzJUExJUU2JUI4JUE5JUU0JUJE -JTkzJUU1JTg4JUI2CiEtLUh1IFlhbyBCYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU4 -JTgzJUExJUU4JTgwJTgwJUU5JTgyJUE2CiEtLUh1YSBHdW8gRmVuZyAoemgtaGFu -cy9oYW50KQp6aC53aWtpcGVkaWEub3JnKiVFNSU4RCU4RSVFNSU5QiVCRCVFOSU5 -NCU4Qgp6aC53aWtpcGVkaWEub3JnKiVFOCU4RiVBRiVFNSU5QyU4QiVFOSU4QiU5 -MgohLS1IdWEgWGlhIFdlbiBaaGFpCnpoLndpa2lwZWRpYS5vcmcqJUU1JThEJThF -JUU1JUE0JThGJUU2JTk2JTg3JUU2JTkxJTk4CiEtLUh1YSBZdWFuIFJ1YW4gSmlh -bgp6aC53aWtpcGVkaWEub3JnKiVFOCU4QSVCMSVFNSU5QiVBRCVFOCVCRCVBRiVF -NCVCQiVCNgohLS1IdWEgWXVhbiBXYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU4JThB -JUIxJUU1JTlCJUFEJUU3JUJEJTkxCiEtLUh1YW5nIFFpCnpoLndpa2lwZWRpYS5v -cmcqJUU5JUJCJTg0JUU3JTkwJUE2CnpoLndpa2lwZWRpYS5vcmcqJUU5JUJCJTgz -JUU3JTkwJUE2CiEtLUh1YW5nIFF1ZSBYaW5nIERvbmcKemgud2lraXBlZGlhLm9y -ZyolRTklQkIlODMlRTklOUIlODAlRTglQTElOEMlRTUlOEIlOTUKIS0tSHVhbmcg -V2FuIExpCnpoLndpa2lwZWRpYS5vcmcqJUU5JUJCJTg0JUU0JUI4JTg3JUU5JTg3 -JThDCiEtLUh1YW5nIFhpYW8gTWluCnpoLndpa2lwZWRpYS5vcmcqJUU5JUJCJTgz -JUU2JTlCJTg5JUU2JTk1JThGCiEtLUh1aSBMaWFuZyBZdQp6aC53aWtpcGVkaWEu -b3JnKiVFNSU5QiU5RSVFOCU4OSVBRiVFNyU4RSU4OQohLS1IdW8gWWluZyBEb25n -CnpoLndpa2lwZWRpYS5vcmcqJUU5JTlDJThEJUU4JThCJUIxJUU2JTlEJUIxCiEt -LUppIEh1CnpoLndpa2lwZWRpYS5vcmcqJUU1JUFGJTgyJUU4JUFEJUI3CiEtLUpp -IExpdSBaaG9uZyBHdW8Kemgud2lraXBlZGlhLm9yZyolRTYlQkYlODAlRTYlQjUl -ODElRTQlQjglQUQlRTUlOUIlQkQKIS0tSmlhIEppbmcKemgud2lraXBlZGlhLm9y -ZyolRTUlOTglODklRTklOUQlOTYKIS0tSmlhIExlIEZ1CnpoLndpa2lwZWRpYS5v -cmcqJUU1JUFFJUI2JUU0JUI5JTkwJUU3JUE2JThGCiEtLUppYSBRaW5nIExpbgp6 -aC53aWtpcGVkaWEub3JnKiVFOCVCMyU4OCVFNiU4NSVCNiVFNiU5RSU5Nwp6aC53 -aWtpcGVkaWEub3JnKiVFOCVCNCVCRSVFNSVCQSU4NiVFNiU5RSU5NwohLS1KaWFu -IEd1byBNZW4gU2hpIEppYW4Kemgud2lraXBlZGlhLm9yZyolRTUlQkIlQkElRTUl -OUIlQkQlRTklOTclQTglRTQlQkElOEIlRTQlQkIlQjYKIS0tSmlhbmcgV2VpIFBp -bmcKemgud2lraXBlZGlhLm9yZyolRTUlQTclOUMlRTclQkIlQjQlRTUlQjklQjMK -IS0tSmlhbmcgWmUgTWluICh6aC1oYW5zL2hhbnQpCnpoLndpa2lwZWRpYS5vcmcq -JUU2JUIxJTlGJUU2JUIzJUJEJUU2JUIwJTkxCnpoLndpa2lwZWRpYS5vcmcqJUU2 -JUIxJTlGJUU2JUJFJUE0JUU2JUIwJTkxCiEtLUppbiBEdW4gR29uZyBDaGVuZwp6 -aC53aWtpcGVkaWEub3JnKiVFOSU4NyU5MSVFNyU5QiVCRSVFNSVCNyVBNSVFNyVB -OCU4QgohLS1KaW4gRHVuIEdvbmcgQ2hlbmcgPwp6aC53aWtpcGVkaWEub3JnKiVC -RCVGMCVCNiVEQyVCOSVBNCVCMyVDQwohLS1KaXUgUGluZyBHb25nIENoYW4gRGFu -Zwp6aC53aWtpcGVkaWEub3JnKiVFNCVCOSU5RCVFOCVBRiU4NCVFNSU4NSVCMSVF -NCVCQSVBNyVFNSU4NSU5QQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOSU5RCVFOCVB -OSU5NSVFNSU4NSVCMSVFNyU5NCVBMiVFOSVCQiVBOAohLS1KdSBMYW5nIDIgWGlu -ZyBRaWFuIFNoZSBEYW4gRGFvIERhbyBEYW4Kemgud2lraXBlZGlhLm9yZyolRTUl -QjclQTglRTYlQjUlQUEyJUU1JTlFJThCJUU2JUJEJTlDJUU1JUIwJTg0JUU1JUJD -JUI5JUU5JTgxJTkzJUU1JUFGJUJDJUU1JUJDJUI5CiEtLUp1ZSBOYW5nIFBhaQp6 -aC53aWtpcGVkaWEub3JnKiVFOCVBNiVCQSVFNSU5QiU4QSVFNiVCNCVCRQohLS1K -dWUgU2hpCnpoLndpa2lwZWRpYS5vcmcqJUU3JUJCJTlEJUU5JUEzJTlGCiEtLUxh -IEJ1IExlbmcgU2kKemgud2lraXBlZGlhLm9yZyolRTYlOEIlODklRTUlOEQlOUMl -RTYlQTUlOUUlRTUlQUYlQkEKIS0tTGEgU2EKemgud2lraXBlZGlhLm9yZyolRTYl -OEIlODklRTglOTAlQTgKIS0tTGkgQW4gWW91CnpoLndpa2lwZWRpYS5vcmcqJUU5 -JUJCJThFJUU1JUFFJTg5JUU1JThGJThCCiEtLUxpIENoYW5nIENodW4gKHpoLWhh -bnMvaGFudCkKemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTklOTUlQkYlRTYl -OTglQTUKemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTklOTUlQjclRTYlOTgl -QTUKIS0tTGkgSG9uZyBaaGkKemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTYl -QjQlQUElRTUlQkYlOTcKIS0tTGkgS2UgUWlhbmcKemgud2lraXBlZGlhLm9yZyol -RTYlOUQlOEUlRTUlODUlOEIlRTUlQkMlQkEKIS0tTGkgUGVuZy9MaSBQZW5nIEh1 -aS9MaSBQZW5nICoKemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTklQjUlQUMK -emgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTklQjklOEYKIS0tTGkgUnVpIEh1 -YW4gKHpoLWhhbnMvaGFudCkKemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTcl -OTElOUUlRTclOEUlQUYKemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTclOTEl -OUUlRTclOTIlQjAKIS0tTGkgU2hlbiBaaGkKemgud2lraXBlZGlhLm9yZyolRTYl -OUQlOEUlRTYlODUlOEUlRTQlQjklOEIKIS0tTGkgU2hpIERlIFNoYW5nIEtvdQp6 -aC53aWtpcGVkaWEub3JnKiVFNSU4RSU4NiVFNSU4RiVCMiVFNyU5QSU4NCVFNCVC -QyVBNCVFNSU4RiVBMwohLS1MaSBZaW5nIEhhbwp6aC53aWtpcGVkaWEub3JnKiVF -NiU5RCU4RSVFOCU4QiVCMSVFNiVCNSVBOQohLS1MaSBZdWFuIENoYW8Kemgud2lr -aXBlZGlhLm9yZyolRTYlOUQlOEUlRTYlQkElOTAlRTYlQkQlQUUKIS0tTGkgWmh1 -byBSZW4Kemgud2lraXBlZGlhLm9yZyolRTYlOUQlOEUlRTUlOEQlOTMlRTQlQkEl -QkEKIS0tTGlhbyBZaSBXdQp6aC53aWtpcGVkaWEub3JnKiVFNSVCQiU5NiVFNCVC -QSVBNiVFNiVBRCVBNgohLS1MaWFuIEh1YSBTaGVuZwp6aC53aWtpcGVkaWEub3Jn -KiVFOCU5MyVBRSVFOCU4QSVCMSVFNyU5NCU5RgohLS1MaWFuZyBHdW8gWGlvbmcK -emgud2lraXBlZGlhLm9yZyolRTYlQTIlODElRTUlOUIlQkQlRTklOUIlODQKIS0t -TGluIEd1byBYaW9uZwp6aC53aWtpcGVkaWEub3JnKiVFNiVBMiU4MSVFNSU5QyU4 -QiVFOSU5QiU4NAohLS1MaW5nIEJhIFhpYW4gWmhhbmcKemgud2lraXBlZGlhLm9y -ZyolRTklOUIlQjYlRTUlODUlQUIlRTUlQUUlQUElRTclQUIlQTAKIS0tTGluZyBH -dQp6aC53aWtpcGVkaWEub3JnKiVFNCVCQiVBNCVFOCVCMCVCNwohLS1MaW5nIEpp -IEh1YQp6aC53aWtpcGVkaWEub3JnKiVFNCVCQiVBNCVFOCVBRSVBMSVFNSU4OCU5 -MgohLS1MaXUgQmluIFlhbgp6aC53aWtpcGVkaWEub3JnKiVFNSU4OCU5OCVFNSVB -RSVCRSVFOSU5QiU4MQohLS1MaXUgR2FuZwp6aC53aWtpcGVkaWEub3JnKiVFNSU4 -QSU4OSVFNSU4OSU5Ql8oJUU2JUIwJTkxJUU5JTgxJThCJUU0JUJBJUJBJUU1JUEz -JUFCKQohLS1MaXUgSHVpIFFpbmcKemgud2lraXBlZGlhLm9yZyolRTUlODglOTgl -RTYlODUlQTclRTUlOEQlQkYKIS0tTGl1IEh1aSBRaW5nICh6aC1oYW50KQp6aC53 -aWtpcGVkaWEub3JnKiVFNSU4QSU4OSVFNiU4NSVBNyVFNSU4RCVCRgohLS1MaXUg -UWkKemgud2lraXBlZGlhLm9yZyolRTUlODglOTglRTYlQjclODcKIS0tTGl1IFNp -IChHZSBRdSAvIFNoaSBKaSAvIFNoaSBKaWFuKQp6aC53aWtpcGVkaWEub3JnKiVF -NSU4NSVBRCVFNSU5QiU5QgohLS1MaXUgU2kgU2hpIEppYW4KemgteXVlLndpa2lw -ZWRpYS5vcmcqJUU1JTg1JUFEJUU1JTlCJTlCJUU0JUJBJThCJUU0JUJCJUI2CiEt -LUxpdSBYaWFvIEJvCnpoLndpa2lwZWRpYS5vcmcqJUU1JThBJTg5JUU2JTlCJTg5 -JUU2JUIzJUEyCiEtLUxpdSBZYW4gRG9uZwp6aC53aWtpcGVkaWEub3JnKiVFNSU4 -OCU5OCVFNSVCQiVCNiVFNCVCOCU5QwohLS1MaXUgWXVuIFNoYW4Kemgud2lraXBl -ZGlhLm9yZyolRTUlODglOTglRTQlQkElOTElRTUlQjElQjEKIS0tTHVvIEdhbgp6 -aC53aWtpcGVkaWEub3JnKiVFNyVCRSU4NSVFNSVCOSVCOQp6aC53aWtpcGVkaWEu -b3JnKiVFNyVCRSU4NSVFNSVCOSVCMgohLS1MdW8gU2FuZyBTZW4gR2UKemgud2lr -aXBlZGlhLm9yZyolRTYlQjQlOUIlRTYlQTElOTElRTYlQTMlQUUlRTYlQTAlQkMK -IS0tTHYgQmEgSHVhIEppIEh1IEhhbmcKemgud2lraXBlZGlhLm9yZyolRTclQjYl -QTAlRTUlQTMlQTklQzIlQjclRTglOEElQjElRTUlQUQlQTMlRTglQUQlQjclRTgl -ODglQUEKemgud2lraXBlZGlhLm9yZyolRTclQkIlQkYlRTUlOUQlOUQlQzIlQjcl -RTglOEElQjElRTUlQUQlQTMlRTYlOEElQTQlRTglODglQUEKIS0tTHYgQmEgTmlh -bmcKemgud2lraXBlZGlhLm9yZy93aWtpLyVlNyViYiViZiVlNSU5ZCU5ZCVlNSVh -OCU5OAohLS1NYSBTYW4gSmlhIE52IFppIExhbyBKaWFvIFN1bwp6aC53aWtpcGVk -aWEub3JnKiVFOSVBNiVBQyVFNCVCOCU4OSVFNSVBRSVCNiVFNSVBNSVCMyVFNSVB -RCU5MCVFNSU4QiU5RSVFNiU5NSU5OSVFNiU4OSU4MAohLS1NYSBZaW5nIEppdQp6 -aC53aWtpcGVkaWEub3JnKiVFOSVBNiVBQyVFOCU4QiVCMSVFNCVCOSU5RAohLS1N -ZWkgR3VvIEd1byBKaWEgTWluIFpodSBKaSBKaW4gSHVpCnpoLndpa2lwZWRpYS5v -cmcqJUU3JUJFJThFJUU1JTlCJUJEJUU1JTlCJUJEJUU1JUFFJUI2JUU2JUIwJTkx -JUU0JUI4JUJCJUU1JTlGJUJBJUU5JTg3JTkxJUU0JUJDJTlBCiEtLU1pbiBHYW4g -UmVuIFNoaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NSU4RiVFNiU4NCU5RiVFNCVC -QSVCQSVFNSVBMyVBQgohLS1NaW4gSmlhbiBSZW4gUXVhbiBaaGVuIFhpYW4Kemgu -d2lraXBlZGlhLm9yZyolRTYlQjAlOTElRTklOTYlOTMlRTQlQkElQkElRTYlQUMl -OEElRTklOTklQTMlRTclQjclOUEKIS0tTWluIFpodSBMaW4gU2kKemgud2lraXBl -ZGlhLm9yZyolRTYlOTUlOEYlRTclOEYlQTAlRTYlOUUlOTclRTUlQUYlQkEKIS0t -TWluIFpodSBOdiBTaGVuCnpoLndpa2lwZWRpYS5vcmcqJUU2JUIwJTkxJUU0JUI4 -JUJCJUU1JUE1JUIzJUU3JUE1JTlFCiEtLU1pbiBaaHUgRGFuZyBfIFhpYW5nIEdh -bmcKemgud2lraXBlZGlhLm9yZyolRTYlQjAlOTElRTQlQjglQkIlRTklQkIlQThf -KCVFOSVBNiU5OSVFNiVCOCVBRikKIS0tTWluIFpodSBHZSBTaGVuZyBYaWFuIFpo -b25nIEh1YQp6aC53aWtpcGVkaWEub3JnKiVFNiVCMCU5MSVFNCVCOCVCQiVFNiVB -RCU4QyVFOCU4MSVCMiVFNyU4RCVCQiVFNCVCOCVBRCVFOCU4RiVBRgohLS1NbyBM -aSBIdWEgR2UgTWluZwp6aC53aWtpcGVkaWEub3JnKiVFOCU4QyU4OSVFOCU4RSU4 -OSVFOCU4QSVCMSVFOSU5RCVBOSVFNSU5MSVCRAohLS1OYW4gRmFuZyBEdSBTaGkg -QmFvIChBbikKemgud2lraXBlZGlhLm9yZyolRTUlOEQlOTclRTYlOTYlQjklRTkl -ODMlQkQlRTUlQjglODIlRTYlOEElQTUqCiEtLU5laSBNZW5nIEd1IEthbmcgWWkK -emgud2lraXBlZGlhLm9yZy93aWtpLyVFNSU4NiU4NSVFOCU5MiU5OSVFNSU4RiVB -NCVFNiU4QSU5NyVFOCVBRSVBRQp6aC53aWtpcGVkaWEub3JnL3poLWhrLyVFNSU4 -NiU4NSVFOCU5MiU5OSVFNSU4RiVBNCVFNiU4QSU5NyVFOCVBRSVBRQp6aC53aWtp -cGVkaWEub3JnL3poLXR3LyVFNSU4NiU4NSVFOCU5MiU5OSVFNSU4RiVBNCVFNiU4 -QSU5NyVFOCVBRSVBRQohLS1OZWkgTWVuZyBHdSBSZW4gTWluIERhbmcKemgud2lr -aXBlZGlhLm9yZyolRTUlODYlODUlRTglOTIlOTklRTUlOEYlQTQlRTQlQkElQkEl -RTYlQjAlOTElRTUlODUlOUEKemgud2lraXBlZGlhLm9yZyolRTUlODUlQTclRTgl -OTIlOTklRTUlOEYlQTQlRTQlQkElQkElRTYlQjAlOTElRTklQkIlQTgKIS0tTmlu -ZyBNYSBQYWkKemgud2lraXBlZGlhLm9yZyolRTUlQUUlODElRTclOEUlOUIlRTYl -QjQlQkUKIS0tTml1IEJvIFdhbmctLQp6aC53aWtpcGVkaWEub3JnKiVFNyU4OSU5 -QiVFNSU4RCU5QSVFNyVCRCU5MQohLS1OdW8gQmVpIEVyIEhlIFBpbmcgSmlhbmcK -emgud2lraXBlZGlhLm9yZyolRTglQUYlQkElRTglQjQlOUQlRTUlQjAlOTQlRTUl -OTIlOEMlRTUlQjklQjMlRTUlQTUlOTYKIS0tTnVvIFdlaQp6aC53aWtpcGVkaWEu -b3JnKiVFNiU4QyVBQSVFNSVBOCU4MQohLS1QYW4gR3UgWXVlIER1aQp6aC53aWtp -cGVkaWEub3JnKiVFNyU5QiU5OCVFNSU4RiVBNCVFNCVCOSU5MCVFOSU5OCU5Rgoh -LS1QZW5nIExpIFl1YW4Kemgud2lraXBlZGlhLm9yZyolRTUlQkQlQUQlRTQlQjgl -QkQlRTUlQUElOUIKIS0tUG8gV2FuZwp6aC53aWtpcGVkaWEub3JnKiVFNyVBMCVC -NCVFNyVCRCU5MQohLS1QdSBaaGkgUWlhbmcKemgud2lraXBlZGlhLm9yZyolRTYl -QjUlQTYlRTUlQkYlOTclRTUlQkMlQkEKIS0tUWkgWWkgWW91IFhpbmcKemgud2lr -aXBlZGlhLm9yZyolRTQlQjglODMlRTQlQjglODAlRTklODElOEElRTglQTElOEMK -IS0tUWluIENoZW5nIEppYW4gWXUKemgud2lraXBlZGlhLm9yZyolRTclQTclQTYl -RTUlOUYlOEUlRTclOUIlOTElRTclOEIlQjEKIS0tUWluZyBDaGFvCnpoLndpa2lw -ZWRpYS5vcmcqJUU2JUI4JTg1JUU2JTlDJTlECiEtLVF1YW4gUWl1IFphbmcgUmVu -IFRlIEJpZSBEYSBIdWkKemgud2lraXBlZGlhLm9yZyolRTUlODUlQTglRTclOTAl -ODMlRTglOTclOEYlRTQlQkElQkElRTclODklQjklRTUlODglQUIlRTUlQTQlQTcl -RTQlQkMlOUEKIS0tUmFuIFNoYW8gUGluZyAoR0IrVVRGOCkKemgud2lraXBlZGlh -Lm9yZyolQzglQkMlQzklRDUlQzYlQkYKemgud2lraXBlZGlhLm9yZyolRTclODcl -ODMlRTclODMlQTclRTclOTMlQjYKIS0tUmUgQmkgWWEKemgud2lraXBlZGlhLm9y -ZyolRTclODMlQUQlRTYlQUYlOTQlRTUlQTglODUKemgud2lraXBlZGlhLm9yZyol -RTclODYlQjElRTYlQUYlOTQlRTUlQTklQUQKIS0tUnVpIERpYW4Kemgud2lraXBl -ZGlhLm9yZyolRTclOTElOUUlRTUlODUlQjgKIS0tU2EgSmlhIFBhaQp6aC53aWtp -cGVkaWEub3JnKiVFOCU5MCVBOCVFOCVCRiVBNiVFNiVCNCVCRQohLS1TYW4gTmlh -biBaaSBSYW4gWmFpIEhhaQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCU4OSVFNSVC -OSVCNCVFOCU4NyVBQSVFNyU4NCVCNiVFNyU4MSVCRSVFNSVBRSVCMwohLS1TYW4g -VHVpCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JTg5JUU5JTgwJTgwCiEtLVNlIExh -IFNpCnpoLndpa2lwZWRpYS5vcmcqJUU4JTg5JUIyJUU2JThCJTg5JUU1JUFGJUJB -CiEtLVNoZW5nIFhpb25nIEdhbiBEaQp6aC53aWtpcGVkaWEub3JnKiVFNSU5QyVB -MyVFOSU5QiU4NCVFNyU5NCU5OCVFNSU5QyVCMAohLS1TaGVuZyBYdWUKemgud2lr -aXBlZGlhLm9yZyolRTclOUIlOUIlRTklOUIlQUEKIS0tU2hpIEppZSBHZSBaaGVu -ZyBRdWFuIFNob3UgQ2hlbmcgUmVuIFpodWFuZyBLdWFuZyBMaWUgQmlhbwp6aC53 -aWtpcGVkaWEub3JnL3poLWNuLyVFNCVCOCU5NiVFNyU5NSU4QyVFNSU5MCU4NCVF -NiU5NCVCRiVFNiU5RCU4MyVFNSU4RiU5NyVFNiU4OSVCRiVFOCVBRSVBNCVFNyU4 -QSVCNiVFNSU4NiVCNSVFNSU4OCU5NyVFOCVBMSVBOAohLS1TaGkgSmllIEppbmcg -SmkgRGFvIEJhbwp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCU5NiVFNyU5NSU4QyVF -NyVCQiU4RiVFNiVCNSU4RSVFNSVBRiVCQyVFNiU4QSVBNQohLS1TaGkgSmllIFdl -aSBXdSBFciBEYSBIdWkKemgud2lraXBlZGlhLm9yZyolRTQlQjglOTYlRTclOTUl -OEMlRTclQkIlQjQlRTUlOTAlQkUlRTUlQjAlOTQlRTUlQTQlQTclRTQlQkMlOUEh -LS1TaGkgSmllIFdlaSBXdSBFciBRaW5nIE5pYW4gRGFpIEJpYW8gRGEgSHVpCnpo -Lndpa2lwZWRpYS5vcmcqJUU0JUI4JTk2JUU3JTk1JThDJUU3JUJCJUI0JUU1JTkw -JUJFJUU1JUIwJTk0JUU5JTlEJTkyJUU1JUI5JUI0JUU0JUJCJUEzJUU4JUExJUE4 -JUU1JUE0JUE3JUU0JUJDJTlBCiEtLVNoaSBKaWUgV2VpIFd1IEVyIERhaSBCaWFv -IERhIEh1aQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCU5NiVFNyU5NSU4QyVFNyVC -NiVBRCVFNSU5MCVCRSVFNyU4OCVCRSVFNCVCQiVBMyVFOCVBMSVBOCVFNSVBNCVB -NyVFNiU5QyU4MwohLS1TaGkgU2kgU2hpIERhIExhaQp6aC53aWtpcGVkaWEub3Jn -KiVFNSU4RCU4MSVFNSU5QiU5QiVFNCVCOCU5NiVFOCVCRSVCRSVFOCVCNSU5Ngoh -LS1TaGkgVGFvCnpoLndpa2lwZWRpYS5vcmcqJUU1JUI4JTg4JUU2JUI2JTlCCnpo -Lndpa2lwZWRpYS5vcmcqJUU1JUI4JUFCJUU2JUJGJUE0CiEtLVNoaSBYaW5nIFl1 -bgp6aC53aWtpcGVkaWEub3JnKiVFOSU4NyU4QSVFNiU5OCU5RiVFNCVCQSU5MQoh -LS1TaSBUdSBIdWEgKHpoLWhhbnMvaGFudCkKemgud2lraXBlZGlhLm9yZyolRTUl -OEYlQjglRTUlQkUlOTIlRTUlOEQlOEUKemgud2lraXBlZGlhLm9yZyolRTUlOEYl -QjglRTUlQkUlOTIlRTglOEYlQUYKIS0tU2kgV3UgWGluZyBEb25nCnpoLndpa2lw -ZWRpYS5vcmcqJUU1JTlCJTlCJUU0JUJBJTk0JUU4JUExJThDJUU1JThCJTk1CiEt -LVNvbmcgQmluZyBCaW5nCnpoLndpa2lwZWRpYS5vcmcqJUU1JUFFJThCJUU1JUJE -JUFDJUU1JUJEJUFDCiEtLVNvbmcgUmVuIFFpb25nICh6aC1oYW5zL2hhbnQpCnpo -Lndpa2lwZWRpYS5vcmcqJUU1JUFFJThCJUU0JUJCJUJCJUU3JUE5JUI3CnpoLndp -a2lwZWRpYS5vcmcqJUU1JUFFJThCJUU0JUJCJUJCJUU3JUFBJUFFCiEtLVN1IEpp -YSBUdW4gU2hpIEppYW4Kemgud2lraXBlZGlhLm9yZyolRTglOEIlOEYlRTUlQUUl -QjYlRTUlQjElQUYlRTQlQkElOEIlRTQlQkIlQjYKIS0tU3VuIFdlbiBHdWFuZwp6 -aC53aWtpcGVkaWEub3JnKiVFNSVBRCU5OSVFNiU5NiU4NyVFNSVCOSVCRgohLS1U -YSBFciBTaQp6aC53aWtpcGVkaWEub3JnKiVFNSVBMSU5NCVFNSVCMCU5NCVFNSVB -RiVCQQohLS1UYWkgV2FuIER1IExpIEppYW4gR3VvIExpYW4gTWVuZwp6aC53aWtp -cGVkaWEub3JnKiVFNSU4RiVCMCVFNyU4MSVBMyVFNyU4RCVBOCVFNyVBQiU4QiVF -NSVCQiVCQSVFNSU5QyU4QiVFOCU4MSVBRiVFNyU5QiU5RgohLS1UYWkgWmkgRGFu -Zwp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVBQSVFNSVBRCU5MCVFNSU4NSU5QQp6 -aC53aWtpcGVkaWEub3JnKiVFNSVBNCVBQSVFNSVBRCU5MCVFNSU4NSU5QQp6aC53 -aWtpcGVkaWEub3JnL3poLWNuLyVFNSVBNCVBQSVFNSVBRCU5MCVFNSU4NSU5QQoh -LS1UYW4gWnVvIFJlbgp6aC53aWtpcGVkaWEub3JnKiVFOCVCMCVBRCVFNCVCRCU5 -QyVFNCVCQSVCQQohLS1UYW5nIEJvIFFpYW8Kemgud2lraXBlZGlhLm9yZyolRTUl -OTQlOTAlRTYlOUYlOEYlRTYlQTElQTUKIS0tVGFvIFNpIEp1CnpoLndpa2lwZWRp -YS5vcmcvemgvJUU5JTk5JUI2JUU5JUE5JUI3JUU5JUE5JUI5CiEtLVRpYW4gQW4g -TWVuIEd1YW5nIENoYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE5JUU1JUFF -JTg5JUU5JTk3JUE4JUU1JUI5JUJGJUU1JTlDJUJBCiEtLVRpYW4gQW4gTWVuIE11 -IFFpbiBZdW4gRG9uZwp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVBOSVFNSVBRSU4 -OSVFOSU5NyVBOCVFNiVBRiU4RCVFNCVCQSVCMiVFOCVCRiU5MCVFNSU4QSVBOAoh -LS1UaWFuIEFuIE1lbiBTaGkgSmlhbgp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVB -OSVFNSVBRSU4OSVFOSU5NiU4MCVFNCVCQSU4QiVFNCVCQiVCNgohLS1UaWFuIEFu -IE1lbiBXZW4gSmlhbgp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVBOSVFNSVBRSU4 -OSVFOSU5NyVBOCVFNiU5NiU4NyVFNCVCQiVCNgp6aC53aWtpcGVkaWEub3JnKiVF -NSVBNCVBOSVFNSVBRSU4OSVFOSU5NiU4MCVFNiU5NiU4NyVFNCVCQiVCNgohLS1U -aWFuIEFuIE1lbiBaaSBGZW4gU2hpIEppYW4Kemgud2lraXBlZGlhLm9yZyolRTUl -QTQlQTklRTUlQUUlODklRTklOTclQTglRTglODclQUElRTclODQlOUElRTQlQkEl -OEIlRTQlQkIlQjYKIS0tVGlhbiBaYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0 -JUE5JUU4JTkxJUFDCiEtLVRvcgp6aC53aWtpcGVkaWEub3JnL3poLWNuL1Rvcgoh -LS1Ud2l0dGVyCnpoLndpa2lwZWRpYS5vcmcvemgtaGsvVHdpdHRlcgohLS1XYW4g -TGkKemgud2lraXBlZGlhLm9yZyolRTQlQjglODclRTklODclOEMKIS0tV2FuZyBK -dW4gVGFvCnpoLndpa2lwZWRpYS5vcmcqJUU3JThFJThCJUU1JTg2JTlCJUU2JUI2 -JTlCCiEtLVdhbmcgTGUgUXVhbgp6aC53aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVF -NiVBOCU4MiVFNiVCMyU4OQohLS1XYW5nIExpIEp1bigqL1NoaSBKaWFuKQp6aC53 -aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVFNyVBQiU4QiVFNSU4NiU5QgohLS1XYW5n -IFFpIFNoYW4Kemgud2lraXBlZGlhLm9yZyolRTclOEUlOEIlRTUlQjIlOTAlRTUl -QjElQjEKIS0tV2FuZyBRaWFuIFl1YW4Kemgud2lraXBlZGlhLm9yZyolRTclOEUl -OEIlRTUlOEQlODMlRTYlQkElOTAKIS0tV2FuZyBXZWkgTGluCnpoLndpa2lwZWRp -YS5vcmcqJUU3JThFJThCJUU3JUJCJUI0JUU2JTlFJTk3CiEtLVdhbmcgWW91IENh -aQp6aC53aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVFNiU5QyU4OSVFNiU4OSU4RAoh -LS1XZWkgSmluZyBTaGVuZwp6aC53aWtpcGVkaWEub3JnKiVFOSVBRCU4RiVFNCVC -QSVBQyVFNyU5NCU5RgohLS1XZW4gQ2h1YW4gRGEgRGkgWmhlbgp6aC53aWtpcGVk -aWEub3JnKiVFNiVCMSVCNiVFNSVCNyU5RCVFNSVBNCVBNyVFNSU5QyVCMCVFOSU5 -QyU4NwohLS1XYW5nIEJpbmcgWmhhbmcKemgud2lraXBlZGlhLm9yZyolRTclOEUl -OEIlRTclODIlQjMlRTclQUIlQTAKIS0tV2FuZyBMZSBRdWFuCnpoLndpa2lwZWRp -YS5vcmcqJUU3JThFJThCJUU0JUI5JTkwJUU2JUIzJTg5CiEtLVdhbmcgTGkgWGlv -bmcKemgud2lraXBlZGlhLm9yZyolRTclOEUlOEIlRTUlOEElOUIlRTklOUIlODQK -IS0tV2FuZyBMdW8gUGluZyBMdW4gWXVhbgp6aC53aWtpcGVkaWEub3JnKiVFNyVC -RCU5MSVFNyVCQiU5QyVFOCVBRiU4NCVFOCVBRSVCQSVFNSU5MSU5OAohLS1XYW5n -IFhpbmcKemgud2lraXBlZGlhLm9yZy93aWtpLyVFNyU4RSU4QiVFNSVBNyU5Mwoh -LS1XYW5nIFlhbmcKemgud2lraXBlZGlhLm9yZyolRTYlQjElQUElRTYlQjQlOEIK -IS0tV2FuZyBaaGFvIEd1bwp6aC53aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVFNSU4 -NSU4NiVFNSU5QiVCRAohLS1XZWkgU2UKemgud2lraXBlZGlhLm9yZyolRTUlOTQl -QUYlRTglODklQjIKIS0tV2VpIFNoaSBGdSBCYWkgQW4Kemgud2lraXBlZGlhLm9y -ZyolRTUlQTglODElRTglQTclODYlRTglODUlOTAlRTglQjQlQTUlRTYlQTElODgK -IS0tV2VuIENodWFuIERpIFpoZW4Kemgud2lraXBlZGlhLm9yZyolRTYlQjElQjYl -RTUlQjclOUQlRTUlOUMlQjAlRTklOUMlODcKIS0tV2VuIEppYSBCYW8Kemgud2lr -aXBlZGlhLm9yZyolRTYlQjglQTklRTUlQUUlQjYlRTUlQUUlOUQKIS0tV2VuIFl1 -biBTb25nCnpoLndpa2lwZWRpYS5vcmcqJUU2JUI4JUE5JUU0JUJBJTkxJUU2JTlE -JUJFCiEtLVdlbiBaaSBZdSAoemgtaGFucy9oYW50KQp6aC53aWtpcGVkaWEub3Jn -L3dpa2kvJUU2JTk2JTg3JUU1JUFEJTk3JUU3JThCJUIxCnpoLndpa2lwZWRpYS5v -cmcvd2lraS8lRTYlOTYlODclRTUlQUQlOTclRTclOEQlODQKIS0tV3UgQmFuZyBH -dW8Kemgud2lraXBlZGlhLm9yZyolRTUlOTAlQjQlRTklODIlQTYlRTUlOUIlQkQK -IS0tV28gRGUgRmVuIERvdQp6aC53aWtpcGVkaWEub3JnKiVFNiU4OCU5MSVFNyU5 -QSU4NCVFNSVBNSU4QiVFNiU5NiU5NwohLS1XdSBFciBLYWkgWGkKemgud2lraXBl -ZGlhLm9yZyolRTUlOTAlQkUlRTUlQjAlOTQlRTUlQkMlODAlRTUlQjglOEMKemgu -d2lraXBlZGlhLm9yZyolRTUlOTAlQkUlRTclODglQkUlRTklOTYlOEIlRTUlQjgl -OEMKIS0tV3UgR3VvIEppZSBKaSBaaGUKemgud2lraXBlZGlhLm9yZyolRTYlOTcl -QTAlRTUlOUIlQkQlRTclOTUlOEMlRTglQUUlQjAlRTglODAlODUKIS0tV3UgSG9u -ZyBEYQp6aC53aWtpcGVkaWEub3JnKiVFNSU5MCVCNCVFNSVCQyU5OCVFOCVCRSVC -RQohLS1XdSBKaWUKemgud2lraXBlZGlhLm9yZyolRTYlOTclQTAlRTclOTUlOEMK -IS0tV3UgS2FuIFNoaSBKaWFuCnpoLndpa2lwZWRpYS5vcmcqJUU3JTgzJThGJUU1 -JTlEJThFJUU0JUJBJThCJUU0JUJCJUI2CiEtLVd1IEx1IE11IFFpIFFpIFd1IEJh -byBMaSBTaGkgSmlhbgp6aC53aWtpcGVkaWEub3JnKiVFNCVCOSU4QyVFOSVCMiU4 -MSVFNiU5QyVBOCVFOSVCRCU5MCVFNCVCOCU4MyVDMiVCNyVFNCVCQSU5NCVFNiU5 -QSVCNCVFNSU4QSU5QiVFNCVCQSU4QiVFNCVCQiVCNgohLS1XdSBNYW8gRGFuIFNo -aSBKaWFuCnpoLndpa2lwZWRpYS5vcmcqJUU0JUJBJTk0JUU2JUFGJTlCJUU4JTlC -JThCJUU0JUJBJThCJUU0JUJCJUI2CiEtLVhpIERhbiBNaW4gWmh1IFFpYW5nCnpo -Lndpa2lwZWRpYS5vcmcqJUU4JUE1JUJGJUU1JThEJTk1JUU2JUIwJTkxJUU0JUI4 -JUJCJUU1JUEyJTk5CiEtLVhpIEppbiBQaW5nICh6aC1oYW50KQp6aC53aWtpcGVk -aWEub3JnKiVFNyVCRiU5MiVFOCVCRiU5MSVFNSVCOSVCMwohLS1YaSBKaW4gUGlu -Zwp6aC53aWtpcGVkaWEub3JnKiVFNCVCOSVBMCVFOCVCRiU5MSVFNSVCOSVCMwoh -LS1YaSBYaWFuZyBKaSBIdWEKemgud2lraXBlZGlhLm9yZyolRTglQTUlQkYlRTUl -OEUlQTIlRTglQUUlQTElRTUlODglOTIKIS0tWGkgWmFuZwp6aC53aWtpcGVkaWEu -b3JnKiVFOCVBNSVCRiVFOCU5NyU4RgohLS1YaSBaaG9uZyBYdW4Kemgud2lraXBl -ZGlhLm9yZyolRTQlQjklQTAlRTQlQkIlQjIlRTUlOEIlOEIKIS0tWGlhIE1hIEJh -CnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JThGJUU3JTkxJUFBJUU1JUI3JUI0CiEt -LVhpYW5nIEdhbmcgRHUgTGkgWXVuIERvbmcKemgud2lraXBlZGlhLm9yZyolRTkl -QTYlOTklRTYlQjglQUYlRTclOEQlQTglRTclQUIlOEIlRTklODElOEIlRTUlOEIl -OTUKIS0tWGlhbmcgR2FuZyBNaW4gWmh1IERhbmcKemgud2lraXBlZGlhLm9yZyol -RTklQTYlOTklRTYlQjglQUYlRTYlQjAlOTElRTQlQjglQkIlRTklQkIlQTgKIS0t -WGlhbmcgR2FuZyBNaW4gWmh1IFBhaQp6aC53aWtpcGVkaWEub3JnKiVFOSVBNiU5 -OSVFNiVCOCVBRiolRTYlQjAlOTElRTQlQjglQkIlRTYlQjQlQkUKIS0tWGlhbyBa -aGFvIFNpCnpoLndpa2lwZWRpYS5vcmcqJUU1JUIwJThGJUU2JTk4JUFEJUU1JUFG -JUJBCiEtLVhpZSBZYW4gRmVpCnpoLndpa2lwZWRpYS5vcmcqJUU4JUIwJUEyJUU1 -JUJEJUE2JUU5JUEzJTlFCiEtLVhpbiBIYW8gTmlhbgp6aC53aWtpcGVkaWEub3Jn -KiVFOCVCRSU5QiVFNyU4MSU4RiVFNSVCOSVCNAohLS1YaW4gSmlhbmcgRHUgTGkg -Kih6aC1jbi96aC1IYW5zKQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVCMCVFNyU5 -NiU4NiVFNyU4QiVBQyVFNyVBQiU4Qgp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVC -MCVFNyU5NiU4NiVFNyU4RCVBOCVFNyVBQiU4QgohLS1YaW4gVGFuZyBSZW4gRGlh -biBTaGkgVGFpCnpoLndpa2lwZWRpYS5vcmcqJUU2JTk2JUIwJUU1JTk0JTkwJUU0 -JUJBJUJBJUU5JTlCJUJCJUU4JUE2JTk2JUU1JThGJUIwCiEtLVhpbiBXZW4gWmkg -WW91IEx1ZSBEdW8gWmhlCnpoLndpa2lwZWRpYS5vcmcqJUU2JTk2JUIwJUU5JTk3 -JUJCJUU4JTg3JUFBJUU3JTk0JUIxJUU2JThFJUEwJUU1JUE0JUJBJUU4JTgwJTg1 -CiEtLVhpbmcgWXVuIEZhIFNoaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5OCU5RiVF -NCVCQSU5MSVFNiVCMyU5NSVFNSVCOCU4OAohLS1YaW9uZyBZYW4Kemgud2lraXBl -ZGlhLm9yZyolRTclODYlOEElRTclODQlQjEKIS0tWHUgQ2FpIEhvdQp6aC53aWtp -cGVkaWEub3JnKiVFNSVCRSU5MCVFNiU4OSU4RCVFNSU4RSU5QQohLS1YdSBKaWEg -VHVuCnpoLndpa2lwZWRpYS5vcmcqJUU4JUFFJUI4JUU1JUFFJUI2JUU1JUIxJUFG -CiEtLVh1ZSBTaGFuIFNoaSBaaSBRaQp6aC53aWtpcGVkaWEub3JnKiVFOSU5QiVB -QSVFNSVCMSVCMSVFNyU4RCU4NSVFNSVBRCU5MCVFNiU5NyU5NwohLS1YdW4gV2Vu -IENodQp6aC53aWtpcGVkaWEub3JnKiVFOCVBOSVBMiVFNSU5NSU4RiVFOCU5OSU5 -NQohLS1ZYW4gSmlhIFFpCnpoLndpa2lwZWRpYS5vcmcqJUU1JTlBJUI0JUU1JUFF -JUI2JUU1JTg1JUI2CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUE1JUU1JUFFJUI2 -JUU1JTg1JUI2CiEtLVlhbiBNaW5nIEZ1CnpoLndpa2lwZWRpYS5vcmcqJUU5JTk4 -JThFJUU2JTk4JThFJUU1JUE0JThECiEtLVlhbmcgSmlhIFhpIEppbmcgQW4Kemgu -d2lraXBlZGlhLm9yZyolRTYlOUQlQTglRTQlQkQlQjMlRTglQTIlQUQlRTglQUQl -QTYlRTYlQTElODgKIS0tWWFuZyBKaWFuIExpCnpoLndpa2lwZWRpYS5vcmcqJUU2 -JUE1JThBJUU1JUJCJUJBJUU1JTg4JUE5CiEtLVlpIExpIFNoZW4Kemgud2lraXBl -ZGlhLm9yZyolRTglOUElODElRTUlOEElOUIlRTclQTUlOUUKIS0tWW9uZyBIZSBH -b25nCnpoLndpa2lwZWRpYS5vcmcqJUU5JTlCJThEJUU1JTkyJThDJUU1JUFFJUFC -CiEtLVlvdSBMaW5nIFdhbmcKemgud2lraXBlZGlhLm9yZyolRTUlQjklQkQlRTcl -ODElQjUlRTclQkQlOTEKIS0tWXUgSmllCnpoLndpa2lwZWRpYS5vcmcqJUU0JUJE -JTk5JUU2JTlEJUIwCiEtLVl1IExpIFBpbmcKemgud2lraXBlZGlhLm9yZyolRTQl -QkYlOUUlRTQlQjglQkQlRTglOTAlOEQKIS0tWXUgWmhlbmcgU2hlbmcKemgud2lr -aXBlZGlhLm9yZyolRTQlQkYlOUUlRTYlQUQlQTMlRTUlQTMlQjAKIS0tWXVhbiBI -b25nIEJpbmcKemgud2lraXBlZGlhLm9yZyolRTglQTIlODElRTclQkElQTIlRTUl -ODYlQjAKemgud2lraXBlZGlhLm9yZyolRTglQTIlODElRTclQjQlODUlRTUlODYl -QjAKIS0tWmFuZyBDaHVhbiBGbyBKaWFvCnpoLndpa2lwZWRpYS5vcmcqJUU4JTk3 -JThGJUU0JUJDJUEwJUU0JUJEJTlCJUU2JTk1JTk5CiEtLVpoYSBTaGkgTHVuIEJ1 -IFNpCnpoLndpa2lwZWRpYS5vcmcqJUU2JTg5JThFJUU0JUJCJTgwJUU0JUJDJUE2 -JUU1JUI4JTgzJUU1JUFGJUJBCiEtLVpoYW5nIERlIEppYW5nCnpoLndpa2lwZWRp -YS5vcmcqJUU1JUJDJUEwJUU1JUJFJUI3JUU2JUIxJTlGCiEtLVpoYW5nIEdhbyBM -aQp6aC53aWtpcGVkaWEub3JnKiVFNSVCQyVBMCVFOSVBQiU5OCVFNCVCOCVCRAoh -LS1aaGFuZyBKaWEgSHUgVHUgS2UgVHUKemgud2lraXBlZGlhLm9yZyolRTclQUIl -QTAlRTUlOTglODklRTUlOTElQkMlRTUlOUIlQkUlRTUlODUlOEIlRTUlOUIlQkUK -IS0tWmhhbmcgTGkgQ2hhbmcKemgud2lraXBlZGlhLm9yZyolRTUlQkMlQTAlRTcl -QUIlOEIlRTYlOTglOEMKIS0tWmhhbmcgUGVpIExpCnpoLndpa2lwZWRpYS5vcmcq -JUU1JUJDJUEwJUU1JTlGJUI5JUU4JThFJTg5CiEtLVpoYW5nIFdlbiBHdWFuZwp6 -aC53aWtpcGVkaWEub3JnKiVFNSVCQyVCNSVFNiU5NiU4NyVFNSU4NSU4OQohLS1a -aGFuZyBZaSBIZSAoemgtaGFucy9oYW50KQp6aC53aWtpcGVkaWEub3JnKiVFNyVB -QiVBMCVFOCVBOSU5MiVFNSU5MiU4Qwp6aC53aWtpcGVkaWEub3JnKiVFNyVBQiVB -MCVFOCVBRiU5MiVFNSU5MiU4QwohLS1aaGFuZyBZdQp6aC53aWtpcGVkaWEub3Jn -KiVFNSVCQyVBMCVFOSU5MiVCMAohLS1aaGFuZyBZdSAoemgtaGFudCkKemgud2lr -aXBlZGlhLm9yZyolRTUlQkMlQjUlRTklODglQkEKIS0tWmhhbyBaaSBZYW5nICh6 -aC1oYW5zL3poLWhhbnQpCnpoLndpa2lwZWRpYS5vcmcqJUU4JUI1JUI1JUU3JUI0 -JUFCJUU5JTk4JUIzCnpoLndpa2lwZWRpYS5vcmcqJUU4JUI2JTk5JUU3JUI0JUFC -JUU5JTk5JUJECiEtLVpoZSBCdSBadW4gRGFuIEJhIEh1IFR1IEtlIFR1CnpoLndp -a2lwZWRpYS5vcmcqJUU1JTkzJUIyJUU1JUI4JTgzJUU1JUIwJThBJUU0JUI4JUI5 -JUU1JUI3JUI0JUU1JTkxJUJDJUU1JTlCJUJFJUU1JTg1JThCJUU1JTlCJUJFCiEt -LVpoZW4gU2hhbiBSZW4Kemgud2lraXBlZGlhLm9yZyolRTclOUMlOUYlRTUlOTYl -ODQlRTUlQkYlOEQKIS0tWmhvbmcgR29uZyBaaG9uZyBZYW5nIFh1YW4gQ2h1YW4g -QnUKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlODUlQjElRTQlQjglQUQl -RTUlQTQlQUUlRTUlQUUlQTMlRTQlQkMlQTAlRTklODMlQTgKIS0tWmhvbmcgR3Vv -CnpoLndpa2lwZWRpYS5vcmcvd2lraS8lRTQlQjglQUQlRTUlOUIlQkQKIS0tWmhv -bmcgR3VvIENoaSBCdSBUb25nIFpoZW5nIEppYW4gWmhlIE1pbmcgRGFuCnpoLndp -a2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlDJThCJUU2JThDJTgxJUU0JUI4JThE -JUU1JTkwJThDJUU2JTk0JUJGJUU4JUE2JThCJUU4JTgwJTg1JUU1JTkwJThEJUU1 -JTk2JUFFCiEtLVpob25nIEd1byBEYSBMdSBGZW5nIFN1byBXZWkgSmkgTWVpIFRp -IFNoaSBKaWFuICh6aC1oYW5zL2hhbnQpCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4 -JUFEJUU1JTlCJUJEJUU1JUE0JUE3JUU5JTk5JTg2JUU1JUIwJTgxJUU5JTk0JTgx -JUU3JUJCJUI0JUU1JTlGJUJBJUU1JUFBJTkyJUU0JUJEJTkzJUU0JUJBJThCJUU0 -JUJCJUI2CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU1JUE0 -JUE3JUU5JTk5JTg2JUU1JUIwJTgxJUU5JTk0JTgxJUU3JUJCJUI0JUU1JTlGJUJB -JUU3JTk5JUJFJUU3JUE3JTkxJUU0JUJBJThCJUU0JUJCJUI2CiEtLVpob25nIEd1 -byBEYSBMdSBXYW5nIEx1byBGZW5nIFN1bwp6aC53aWtpcGVkaWEub3JnKiVFNCVC -OCVBRCVFNSU5QyU4QiVFNSVBNCVBNyVFOSU5OSVCOCVFNyVCNiVCMiVFOCVCNyVB -RiVFNSVCMCU4MSVFOSU4RSU5NgohLS1aaG9uZyBHdW8gRGlhbiBTaGkgU2hlbiBD -aGEKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlOUIlQkQlRTclOTQlQjUl -RTglQTclODYlRTUlQUUlQTElRTYlOUYlQTUKIS0tWmhvbmcgR3VvIEZhbiBMYW4g -TGlhbiBNZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU2 -JUIzJTlCJUU4JTkzJTlEJUU4JTgxJTk0JUU3JTlCJTlGCiEtLVpob25nIEd1byBH -b25nIENoYW4gRGFuZyhaaGVuZyBaaGkgWXVuIERvbmcoTGllIEJpYW8pKS8oWmhv -bmcgWWFuZyBKdW4gU2hpIFdlaSBZdWFuIEh1aSkuLi4Kemgud2lraXBlZGlhLm9y -ZyolRTQlQjglQUQlRTUlOUIlQkQlRTUlODUlQjElRTQlQkElQTclRTUlODUlOUEK -IS0tWmhvbmcgR3VvIEdvbmcgQ2hhbiBEYW5nICh6aC1oYW50KQp6aC53aWtpcGVk -aWEub3JnKiVFNCVCOCVBRCVFNSU5QyU4QiVFNSU4NSVCMSVFNyU5NCVBMiVFOSVC -QgohLS1aaG9uZyBHdW8gSmkgRHUgSmlhbyBYaWUgSHVpCnpoLndpa2lwZWRpYS5v -cmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU1JTlGJUJBJUU3JTlEJUEzJUU2JTk1JTk5 -JUU1JThEJThGJUU0JUJDJTlBCiEtLVpob25nIEd1byBKaWEgSmlhbyBYaWUgSHVp -CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU1JUFFJUI2JUU1 -JUJBJUFEJUU2JTk1JTk5JUU0JUJDJTlBCiEtLVpob25nIEd1byBMaWFuIEJhbmcg -Wmh1IFlpCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlDJThCJUU4JTgx -JUFGJUU5JTgyJUE2JUU0JUI4JUJCJUU3JUJFJUE5CiEtLVpob25nIEd1byBNaW4g -Wmh1IERhbmcKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlOUIlQkQlRTYl -QjAlOTElRTQlQjglQkIlRTUlODUlOUEKIS0tWmhvbmcgR3VvIE1pbiBaaHUgWXVu -IERvbmcoemgtSGFucy96aC1IYW50KQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVB -RCVFNSU5QiVCRCVFNiVCMCU5MSVFNCVCOCVCQiVFOCVCRiU5MCVFNSU4QSVBOAp6 -aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5QyU4QiVFNiVCMCU5MSVFNCVC -OCVCQiVFOSU4MSU4QiVFNSU4QiU5NQohLS1aaG9uZyBHdW8gTW8gTGkgSHVhIEdl -IE1pbmcKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlOUMlOEIlRTglOEMl -ODklRTglOEUlODklRTglOEElQjElRTklOUQlQTklRTUlOTElQkQKIS0tWmhvbmcg -KEh1YSBSZW4gTWluIEdvbmcgSGUpIEd1byBSZW4gUXVhbgp6aC53aWtpcGVkaWEu -b3JnKiVFNCVCOCVBRColRTUlOUIlQkQlRTQlQkElQkElRTYlOUQlODMKIS0tWmhv -bmcgR3VvIFdhbmcgTHVvIFJ1YW4gSmlhbiBHdW8gTHYgR3VhbiBKaWFuIFppIExp -ZSBCaWFvCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU3JUJE -JTkxJUU3JUJCJTlDJUU4JUJEJUFGJUU0JUJCJUI2JUU4JUJGJTg3JUU2JUJCJUE0 -JUU1JTg1JUIzJUU5JTk0JUFFJUU1JUFEJTk3JUU1JTg4JTk3JUU4JUExJUE4CiEt -LVpob25nIEd1byBXYW5nIEx1byBTaGVuIENoYQp6aC53aWtpcGVkaWEub3JnKiVF -NCVCOCVBRCVFNSU5QiVCRCVFNyVCRCU5MSVFNyVCQiU5QyVFNSVBRSVBMSVFNiU5 -RiVBNQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5QyU4QiVFNyVCNiVC -MiVFOCVCNyVBRiVFNSVBRiVBOSVFNiU5RiVBNQohLS1aaG9uZyBIdWEgUmVuIE1p -biBHb25nIEhlIEd1byBSZW4gUXVhbgp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVB -RCVFOCU4RiVBRiVFNCVCQSVCQSVFNiVCMCU5MSVFNSU4NSVCMSVFNSU5MiU4QyVF -NSU5QyU4QiVFNCVCQSVCQSVFNiVBQyU4QQohLS1aaG9uZyBIdWEgUmVuIE1pbiBH -b25nIEhlIEd1byBTaGVuIENoYSBDaSBIdWkgTGllIEJpYW8Kemgud2lraXBlZGlh -Lm9yZyolRTQlQjglQUQlRTglOEYlQUYlRTQlQkElQkElRTYlQjAlOTElRTUlODUl -QjElRTUlOTIlOEMlRTUlOUMlOEIlRTUlQUYlQTklRTYlOUYlQTUlRTglQkUlQUQl -RTUlQkQlOTklRTUlODglOTclRTglQTElQTgKIS0tWmhvbmcgSHVhIFJlbiBNaW4g -R29uZyBIZSBHdW8gWGlhbiBGYQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVF -NSU4RCU4RSVFNCVCQSVCQSVFNiVCMCU5MSVFNSU4NSVCMSVFNSU5MiU4QyVFNSU5 -QiVCRCVFNSVBRSVBQSVFNiVCMyU5NQohLS1aaG9uZyBIdWEgTWluIEd1byBHdW8g -TWluIERhIEh1aQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFOCU4RiVBRiVF -NiVCMCU5MSVFNSU5QyU4QiVFNSU5QyU4QiVFNiVCMCU5MSVFNSVBNCVBNyVFNiU5 -QyU4MwohLS1aaG9uZyBIdWEgTWluIEd1byBaaGkgWmFuZyBMaSBTaGkKemgud2lr -aXBlZGlhLm9yZyolRTQlQjglQUQlRTglOEYlQUYlRTYlQjAlOTElRTUlOUMlOEIl -RTYlQjIlQkIlRTglOTclOEYlRTYlQUQlQjclRTUlOEYlQjIKIS0tWmhvbmcgSHVh -IE1pbiBHdW8gWm9uZyBUb25nIEZ1CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFE -JUU4JThGJUFGJUU2JUIwJTkxJUU1JTlDJThCJUU3JUI4JUJEJUU3JUI1JUIxJUU1 -JUJBJTlDCiEtLVpob25nIEh1YSBSZW4gTWluIEdvbmcgSGUgR3VvIFdhbmcgTHVv -IFNoZW4gQ2hhCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JThEJThFJUU0 -JUJBJUJBJUU2JUIwJTkxJUU1JTg1JUIxJUU1JTkyJThDJUU1JTlCJUJEJUU3JUJE -JTkxJUU3JUJCJTlDJUU1JUFFJUExJUU2JTlGJUE1CnpoLndpa2lwZWRpYS5vcmcq -JUU0JUI4JUFEJUU4JThGJUFGJUU0JUJBJUJBJUU2JUIwJTkxJUU1JTg1JUIxJUU1 -JTkyJThDJUU1JTlDJThCJUU3JUI2JUIyJUU3JUI1JUExJUU1JUFGJUE5JUU2JTlG -JUE1CiEtLVpob25nIEh1YSBSZW4gTWluIEdvbmcgSGUgR3VvIE1pbiBaaHUgWXVu -IERvbmcKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTglOEYlQUYlRTQlQkEl -QkElRTYlQjAlOTElRTUlODUlQjElRTUlOTIlOEMlRTUlOUMlOEIlRTYlQjAlOTEl -RTQlQjglQkIlRTklODElOEIlRTUlOEIlOTUKIS0tWmhvbmcgSHVhIFJlbiBNaW4g -R29uZyBHZSBHdW8gWm9uZyBKaWFvCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFE -JUU4JThGJUFGJUU0JUJBJUJBJUU2JUIwJTkxJUU1JTg1JUIxJUU1JTkyJThDJUU1 -JTlDJThCJUU1JUFFJTk3JUU2JTk1JTk5CiEtLVpob25nIFdlbiBXZWkgSmkgQmFp -IEtlCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU2JTk2JTg3JUU3JUJCJUI0 -JUU1JTlGJUJBJUU3JTk5JUJFJUU3JUE3JTkxCiEtLVpob25nIFlhbmcgSmluZyBX -ZWkgSnUKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlQTQlQUUlRTglQUQl -QTYlRTglQTElOUIlRTUlQjElODAKIS0tWmhvbmcgWWFuZyBXZW4gSHVhIEdlIE1p -bmcgWGlhbyBadQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSVBNCVBRSVF -NiU5NiU4NyVFNSU4QyU5NiVFOSU5RCVBOSVFNSU5MSVCRCVFNSVCMCU4RiVFNyVC -QiU4NAohLS1aaG9uZyBZaW5nIFh1IERpbmcgWmFuZyBZaW4gVGlhbyBZdWUKemgu -d2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTglOEIlQjElRTclQkElOEMlRTglQTgl -ODIlRTglOTclOEYlRTUlOEQlQjAlRTYlQTIlOUQlRTclQjQlODQKIS0tWmhvdSBC -aW4Kemgud2lraXBlZGlhLm9yZyolRTUlOTElQTglRTYlQkIlQTgKIS0tWmhvdSBZ -b25nIEthbmcKemgud2lraXBlZGlhLm9yZyolRTUlOTElQTglRTYlQjAlQjglRTUl -QkElQjcKIS0tWmh1YW4gRmEgTHVuCnpoLndpa2lwZWRpYS5vcmcqJUU4JUJEJUFD -JUU2JUIzJTk1JUU4JUJEJUFFCiEtLVppIFlvdSBNZW4Kemgud2lraXBlZGlhLm9y -ZyolRTglODclQUElRTclOTQlQjElRTklOTclQTgKIS0tWmkgWW91IFlhIFpob3UK -emgud2lraXBlZGlhLm9yZyolRTglODclQUElRTclOTQlQjElRTQlQkElOUElRTYl -QjQlQjIKIS0tWm9uZyBHZSBCYQp6aC53aWtpcGVkaWEub3JnKiVFNSVBRSU5NyVF -NSU5NiU4MCVFNSVCNyVCNAoKIS0tLS0tLS0tLS0tLS0tLU90aGVyIFdpa2ktLS0t -LS0tLS0tLS0tLS0KIS0tVHUgUG8gV2FuZyBMdW8gU2hlbiBDaGEtLVdpa2lib29r -cwp6aC53aWtpYm9va3Mub3JnKiVFNyVBQSU4MSVFNyVBMCVCNCVFNyVCRCU5MSVF -NyVCQiU5QyVFNSVBRSVBMSVFNiU5RiVBNQohLS1MaW5nIEJhIFhpYW4gWmhhbmct -LVdpa2lTb3VyY2UKIS0temgud2lraXNvdXJjZS5vcmcvd2lraS8lRTklOUIlQjYl -RTUlODUlQUIlRTUlQUUlQUElRTclQUIlQTAKCiEtLS0tLS0tLS0tLS1UVyBHb3Yt -LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmdvdi50dwpAQHx8dGF4Lm5hdC5nb3Yu -dHcKQEB8fG1vZS5nb3YudHcKQEB8fGN3Yi5nb3YudHcKQEB8fG5wbS5nb3YudHcK -QEB8fHlhdHNlbi5nb3YudHcKQEB8fGFlYy5nb3YudHcKQEB8fG12ZGlzLmdvdi50 -dwpAQHx8c3RkdGltZS5nb3YudHcKQEB8fG5tbWJhLmdvdi50dwpAQHx8bnRkbWgu -Z292LnR3CkBAfHxncmIuZ292LnR3CkBAfHx0cGRlLmFpZGUuZ292LnR3CkBAfHxt -YXRzdS1uZXdzLmdvdi50dwpAQHx8bmVyaGwuZ292LnR3CkBAfHxkYXB1LWhvdXNl -Lmdvdi50dwpAQHx8dmdodGMuZ292LnR3CkBAfHxhaWRlLmdvdi50dwpAQHx8aGNo -Y2MuZ292LnR3CkBAfHxudHVoLmdvdi50dwpAQHx8bmhyaS5nb3YudHcKQEB8fG5z -dG0uZ292LnR3CkBAfHxudHNlYy5nb3YudHcKQEB8fG5lci5nb3YudHcKQEB8fG5t -dGwuZ292LnR3CkBAfHxudGwuZ292LnR3CkBAfHxwZXQuZ292LnR3CkBAfHxraGNj -Lmdvdi50dwpAQHx8bm1tYmEuZ292LnR3CkBAfHxraG1zLmdvdi50dwpAQHx8d2Fu -ZmFuZy5nb3YudHcKQEB8fG5pY3QuZ292LnR3CkBAfHxhcnRlLmdvdi50dwpAQHx8 -bm1oLmdvdi50dwpAQHx8bm1wLmdvdi50dwpAQHx8dHBoY2MuZ292LnR3CkBAfHxp -bmVyLmdvdi50dwpAQHx8dG5jc2VjLmdvdi50dwpAQHx8bnNwby5nb3YudHcKQEB8 -fGFpZGUuZ292LnR3CkBAfHxuY3JlZS5nb3YudHcKQEB8fHZnaGtzLmdvdi50dwpA -QHx8dGNoYi5nb3YudHcKQEB8fHBhYnAuZ292LnR3CkBAfHxpdHJjLmdvdi50dwpA -QHx8ZGYuZ292LnR3CkBAfHx3b21lbmJ1c2luZXNzLm55Yy5nb3YudHcKQEB8fGdz -bi1jZXJ0Lm5hdC5nb3YudHcKQEB8fGtrLmdvdi50dwpAQHx8dGhic3RjLmdvdi50 -dwpAQHx8Y29tbmV3cy5naW8uZ292LnR3CkBAfHxjb21uZXdzLmdpby5nb3YudHcK -QEB8fGtsY2NhYi5nb3YudHcKQEB8fHl2dGMuZ292LnR3CkBAfHxhZnR5Z2guZ292 -LnR3CkBAfHxrbHJhLmdvdi50dwpAQHx8bHVuZ3RhbmhyLmdvdi50dwpAQHx8dGFv -eXVhbi5nb3YudHcKQEB8fGhjYy5nb3YudHcKQEB8fG52cmkuZ292LnR3CkBAfHxu -bXZ0dGMuZ292LnR3CkBAfHxrbWguZ292LnR3CkBAfHxwYXRlaHIuZ292LnR3CkBA -fHxuZXJjaC5nb3YudHcKQEB8fGttc2VoLmdvdi50dwpAQHx8bmVydHQuZ292LnR3 -CkBAfHxjeWNhYi5nb3YudHcKQEB8fGNodWt1YW5nLmdvdi50dwpAQHx8Z3lzZC5u -eWMuZ292LnR3CkBAfHxjcC1ob3VzZS5nb3YudHcKQEB8fHZnaHRwZS5nb3YudHcK -QEB8fGV0cmFpbmluZy5nb3YudHcKQEB8fHN0YWcuZ292LnR3CkBAfHxiZGhyLmdv -di50dwpAQHx8dGNzYWMuZ292LnR3CkBAfHxpbWFnZXNibG9nLmdpby5nb3YudHcK -QEB8fGFydGUuZ292LnR3CkBAfHxkbXRpcC5nb3YudHcKQEB8fGNoY2NjLmdvdi50 -dwpAQHx8aGVuZ2NodWVuLmdvdi50dwpAQHx8aHNpbmNodS1jYy5nb3YudHcKQEB8 -fDkyMS5nb3YudHcKQEB8fG5jZHIubmF0Lmdvdi50dwpAQHx8NHBwcGMuZ292LnR3 -CkBAfHxrbHNpby5nb3YudHcKQEB8fG5pY2kubmF0Lmdvdi50dwpAQHx8Y3JvbW90 -Yy5uYXQuZ292LnR3CkBAfHx0YWl0dW5nLWhvdXNlLmdvdi50dwoKIS0tLS0tSVAt -LS0tLQoxNzQuMTQyLjEwNS4xNTMKNjkuNjUuMTkuMTYwCgohLS0tLS1XaGl0ZWxp -c3QtLS0tLQpAQHx8YWxpeXVuLmNvbQpAQHx8YmFpZHUuY29tCiEtLUBAfHxiaW5n -LmNvbQpAQHx8ZHVja2R1Y2tnby5jb20KQEB8fGppa2UuY29tCkBAfHxwYW5ndXNv -LmNvbQpAQHx8cXEuY29tCkBAfHxzaW5hLmNuCkBAfHxzaW5hLmNvbS5jbgpAQHx8 -c29nb3UuY29tCkBAfHxzby5jb20KQEB8fHNvc28uY29tCkBAfHx5YWhvby5jbgpA -QHx8eW91ZGFvLmNvbQpAQHx8emhvbmdzb3UuY29tCkBAfGh0dHBzOi8vYXV0b3By -b3h5Lm9yZwpAQHxodHRwOi8vaW1lLmJhaWR1LmpwCiEtLS0tLS0tLS0tLS0tLS0t -RU9GLS0tLS0tLS0tLS0tLS0tLQo= +dmlkZW8uY29tCiEtLXxodHRwczovL2FwaXMuZ29vZ2xlLmNvbQoKZ29zcGVsaGVy +YWxkLmNvbQp8fGdvc3BlbGhlcmFsZC5jb20KfGh0dHA6Ly9oay5ncmFkY29ubmVj +dGlvbi5jb20vCnx8Z3JheWxvZzIub3JnCmdyZWF0ZmlyZS5vcmcKfHxncmVhdGZp +cmUub3JnCmdyZWF0ZmlyZXdhbGxvZmNoaW5hLm9yZwp8fGdyZWF0cm9jLnR3Cnx8 +Z3N0YXRpYy5jb20KLnRoZWd1YXJkaWFuLmNvKgpndWlzaGFuLm9yZwp8fGd1aXNo +YW4ub3JnCnx8Z3Vuc2FtZXJpY2EuY29tCi5neWFsd2FyaW5wb2NoZS5jb20KCiEt +LS0tLS0tLS0tLS0tLS0tLS0tLUhILS0tLS0tLS0tLS0tLS0tLS0tLS0KfHxoLWNo +aW5hLm9yZwpoMW4xY2hpbmEub3JnCi5oYWNrZW4uY2MvYmJzCnx8aGFja3RoYXRw +aG9uZS5uZXQKaGFobG8uY29tCnx8aGFra2F0di5vcmcudHcKLmhhbnVueWkuY29t +Cnx8aGFyZHNleHR1YmUuY29tCnx8aGFzYW93YWxsLmNvbQpoYXZlOC5jb20KQEB8 +fGhheWdvLmNvbQp8fGhkdHZiLm5ldAp8fGhlYXJ0eWl0LmNvbQouaGVjYWl0b3Uu +bmV0Cnx8aGVjYWl0b3UubmV0Ci5oZWNoYWppLmNvbQp8fGhlY2hhamkuY29tCnx8 +aGVscGxpbmZlbi5jb20KfHxoZWxsb2FuZHJvaWQuY29tCnx8aGVsbG9xdWVlci5j +b20KaGVsbG90eHQuY29tCnx8aGVsbG90eHQuY29tCnx8aHR4dC5pdC8KLmhlbGxv +dWsub3JnL2ZvcnVtL2xvZml2ZXJzaW9uCi5oZWxwZWFjaHBlb3BsZS5jb20KfHxo +ZWxwZWFjaHBlb3BsZS5jb20KLmhlbHB6aHVsaW5nLm9yZwoKISMjIyMjIyMjIyMj +LS1IZXJva3UtLSMjIyMjIyMjIyMKfHxkYXRlLmZtCnx8ZmxpZ2h0Y2FzdGVyLmNv +bQp8fGJyYW5jaC5jb20KfHxhd2FyZHdpbm5pbmdmam9yZHMuY29tCnx8ZnV0dXJl +bWUub3JnCnx8Z2V0Y2xvdWRhcHAuY29tCnx8Y2wubHkKQEB8fGYuY2wubHkKfHxn +ZXRzbWFydGxpbmtzLmNvbQp8fGdpdC1zY20uY29tCnx8bGVzc2Nzcy5vcmcKfHxs +aXN0Lmx5Cnx8bWF4Z2lmLmNvbQp8fG92ZXJsYXByLmNvbQp8fHBlZXJwb25nLmNv +bQp8fHBvc2UuY29tCiEtLXx8cnVieWluc3RhbGxlci5vcmcKfHxzYW1zb2ZmLmVz +Cnx8c2VuZG9pZC5jb20KfHxzcGVja2xlYXBwLmNvbQp8fHN0dWZmaW1yZWFkaW5n +Lm5ldAp8fHRvbWF5a28uY29tCnx8dHd0LmZtCnx8dmlld3MuZm0KCmhlcWluZ2xp +YW4ubmV0CmhlcmU0bmV3cy5jb20KfHxoZXVuZ2tvbmdkaXNjdXNzLmNvbQphcHAu +aGV5d2lyZS5jb20KLmhnc2Vhdi5jb20KaGlkZGVuLWFkdmVudC5vcmcKfHxoaWRk +ZW4tYWR2ZW50Lm9yZwpoaWRlY2xvdWQuY29tL2Jsb2cvMjAwOC8wNy8yOS9mdWNr +LWJlaWppbmctb2x5bXBpY3MuaHRtbAouaGlkZW15YXNzLmNvbQp8fGhpZGVteWFz +cy5jb20KfHxoaWRlaXB2cG4uY29tCi5oaWhpZm9ydW0uY29tCnxodHRwOi8vaGlo +aWZvcnVtLmNvbQp8fGhpaGlzdG9yeS5uZXQKLmhpZ2Z3LmNvbQp8fGhpZ2hyb2Nr +bWVkaWEuY29tCnx8aGlraW5nZ2Z3Lm9yZwouaGltZW1peC5jb20KfHxoaW1lbWl4 +LmNvbQouaGltZW1peC5uZXQKdGltZXMuaGluZXQubmV0Ci5oamNsdWIuaW5mbwou +aGstcHViLmNvbS9mb3J1bQp8aHR0cDovL2hrLXB1Yi5jb20KLmhrMzIxNjguY29t +Cnx8aGszMjE2OC5jb20KYXBwLmhrYXR2bmV3cy5jb20vdjMKaGtiYy5uZXQKLmhr +YmYub3JnCi5oa2NodXJjaC5vcmcKaGtkYXkubmV0Ci5oa2RhaWx5bmV3cy5jb20u +aGsvY2hpbmEucGhwCi5oa2VqLmNvbQouaGtlcGMuY29tL2ZvcnVtL3ZpZXd0aHJl +YWQucGhwP3RpZD0xMTUzMzIyCmdsb2JhbC5oa2VwYy5jb20qZm9ydW0KaGtmcm9u +dC5vcmcKaGtnb2xkZW4uY29tCi5oa2dyZWVucmFkaW8ub3JnL2hvbWUKLmhraGVh +ZGxpbmUuY29tKmJsb2cKLmhraGVhZGxpbmUuY29tL2luc3RhbnRuZXdzCmhraGto +ay5jb20KaGtqYy5jb20KLmhranAub3JnCmhrcHR1Lm9yZwouaGtyZXBvcnRlci5j +b20KfHxoa3JlcG9ydGVyLmNvbQouaGt3Y2Mub3JnLmhrCnx8aGt6b25lLm9yZwph +cHBzLmhsb2xpLm5ldC9nZnd0dWJlCmhuamhqLmNvbQp8fGhuamhqLmNvbQp8fGhv +bGEuY29tCmhvbHlzcGlyaXRzcGVha3Mub3JnCnx8aG9seXNwaXJpdHNwZWFrcy5v +cmcKfHxkZXJla2hzdS5ob21laXAubmV0CnxodHRwOi8vaG9tZXNlcnZlcnNob3cu +Y29tCmhvbmdtZWltZWkuY29tCnx8aG9uZ3poaS5saQpob290c3VpdGUuY29tCnx8 +aG9vdHN1aXRlLmNvbQpob3RmaWxlLmNvbS9kbApob3Rwb3QuaGsKLmhvdHNoYW1l +LmNvbQp8fGhvdHNwb3RzaGllbGQuY29tCnx8aG91Z2FpZ2UuY29tCnx8aG93dG9m +b3JnZS5jb20KLmhxY2RwLm9yZwp8fGhxY2RwLm9yZwouaHJjaXIuY29tCi5ocmlj +aGluYS5vcmcKfHxocmljaGluYS5vcmcKLmhydy5vcmcKfHxocncub3JnCnx8aHNq +cC5uZXQKfHxoc3NlbGl0ZS5jb20KLmh0a291Lm5ldAp8fGh0bWxkb2cuY29tCmh1 +YWdsYWQuY29tCi5odWFuZ2h1YWdhbmcub3JnCnx8aHVhbmdodWFnYW5nLm9yZwou +aHVhcmVuLnVzCmh1YXhpYS1uZXdzLmNvbQpodWF4aW4ucGgKaHVhLXl1ZS5uZXQK +fHxodWdvcm95LmV1CnQuaHVoYWl0YWkuY29tCnx8aHVuZy15YS5jb20KfHxodW5n +ZXJzdHJpa2Vmb3JhaWRzLm9yZwp8fGh1cGluZy5uZXQKfHxodXRpYW55aS5uZXQK +aHV0b25nOS5uZXQKfHxod2luZm8uY29tCnx8aHlwZXNoZWxsLmNvbQp8fGh5cGVy +cmF0ZS5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUlJLS0tLS0tLS0tLS0tLS0t +LS0tLS0KfHxpMS5oawp8fGkycDIuZGUvCnx8aTJydW5uZXIuY29tCmlhc2suY2EK +fHxpYXNrLmNhCmlhc2suYnoKfHxpYXNrLmJ6CmliaWJsaW8ub3JnL3B1Yi9wYWNr +YWdlcy9jY2ljCnx8aWJsb2dzZXJ2LWYubmV0CnxodHRwOi8vY24uaWJ0aW1lcy5j +b20KYmxvZ3MuaWNlcm9ja2V0LmNvbS90YWcKLmljaWoub3JnCnx8aWNsLWZpLm9y +Zwp8fGljb25wYXBlci5vcmcKdy5pZGFpd2FuLmNvbS9mb3J1bQppZGVtb2NyYWN5 +LmFzaWEKLmlkZW50aS5jYQp8fGlkZW50aS5jYQp8fGlkaW9tY29ubmVjdGlvbi5j +b20KfGh0dHA6Ly93d3cuaWRsY295b3RlLmNvbQouaWRvdWdhLmNvbQpmb3J1bS5p +ZHNhbS5jb20KLmlkdi50dwppZWFzeW5ld3MubmV0Ci5pZWQyay5uZXQKaWZhbnFp +YW5nLmNvbQouaWZhbnIuY29tLzg1NwouaWZjc3Mub3JnCnx8aWZjc3Mub3JnCmlm +amMub3JnCnx8YW50aWRybS5ocGcuaWcuY29tLmJyCnx8aWdmdy5uZXQKfHxpZ25p +dGVkZXRyb2l0Lm5ldAp8fGlndml0YS5jb20KfHxpaGFra2EubmV0Cnx8aWljbnMu +Y29tCnx8aWxsdXNpb25mYWN0b3J5LmNvbQp8fGlsb3ZlODAuYmUKfHxpbS50dgpA +QHx8bXl2bG9nLmltLnR2Cnx8aW04OC50dwp8fGltYWdlZmxlYS5jb20KaW1hZ2Vz +aGFjay51cwp8fGltYWdldmVudWUuY29tCnx8aW1hZ2V6aWxsYS5uZXQKIS0tLmlt +ZGIuY29tCiEtLXxodHRwOi8vaW1kYi5jb20KfGh0dHA6Ly93d3cuaW1kYi5jb20v +bmFtZS9ubTA0ODI3MzAKLmltZy5seQp8fGltZy5seQouaW1rZXYuY29tCnx8aW1r +ZXYuY29tCi5pbWxpdmUuY29tCmltbWlncmF0aW9uLmdvdi50dwp8aHR0cDovL3Rl +Y2gyLmluLmNvbS92aWRlby8KfHxpbmNyZWRpYm94LmZyCi5pbml0aWF0aXZlc2Zv +cmNoaW5hLm9yZwouaW5tZWRpYWhrLm5ldAp8fGlubWVkaWFoay5uZXQKfHxpbm5l +cm1vbmdvbGlhLm9yZwppbnN0YWdyYW0uY29tCnx8aW50ZXJmYWNlYWRkaWN0aW9u +LmNvbQp8fGludGVybmF0aW9uYWxyaXZlcnMub3JnCnxodHRwOi8vaW50ZXJuZXQu +b3JnLwppbnRlcm5ldGRlZmVuc2VsZWFndWUub3JnCmludGVybmV0ZnJlZWRvbS5v +cmcKIS0tfHxpbnRlcnBvbC5pbnQKfHxpbnRlcm5ldHBvcGN1bHR1cmUuY29tCmlu +eGlhbi5jb20KfHxpbnhpYW4uY29tCnx8aXBob25laGFja3MuY29tCnx8aXBob25p +eC5mcgp8fGlwaWN0dXJlLnJ1Cmlwb2Jhci5jb20KfHxpcHBvdHYuY29tCnxodHRw +czovLyouaXB0b3JyZW50cy5jb20KfGh0dHBzOi8vaXB0b3JyZW50cy5jb20KfHxp +cHZhbmlzaC5jb20KaXJlZG1haWwub3JnCnx8aXJvbmljc29mdHdhcmUuY29tCnx8 +aXJvbmJpZ2Zvb2xzLmNvbXB5dGhvbi5uZXQKfHxpcm9ucHl0aG9uLm5ldAouYmV0 +YS5pc2V0LmNvbS50dy9mb3J1bQpodHRwOi8vYmV0YS5pc2V0LmNvbS50dy9mb3J1 +bQpmb3J1bS5pc2V0LmNvbS50dwouaXNsYW0ub3JnLmhrCi5pc2xhbWljaXR5LmNv +bQouaXNhYWNtYW8uY29tCnx8IS0taXNhYWNtYW8uY29tCnx8aXNncmVhdC5vcmcK +fHxpc21wcm9mZXNzaW9uYWwubmV0Cmlzb2h1bnQuY29tCnx8aXNyYWJveC5jb20K +YmxvZy5pc3RlZi5pbmZvLzIwMDcvMTAvMjEvbXllbnR1bm5lbAouaXN0b2NrcGhv +dG8uY29tCmlzdW5hZmZhaXJzLmNvbQppc3VudHYuY29tCml0YWJvby5pbmZvCnx8 +aXRhYm9vLmluZm8KaXRoZWxwLml0aG9tZS5jb20udHcKfHxpdHNoaWRkZW4uY29t +Ci5pdHdlZXQubmV0CnxodHRwOi8vaXR3ZWV0Lm5ldAouaXU0NS5jb20KfHxpeHF1 +aWNrLmNvbQouaXphb2Jhby51cwp8fGdtb3pvbWcuaXppaG9zdC5vcmcKLml6bGVz +Lm5ldAoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tSkotLS0tLS0tLS0tLS0tLS0tLS0t +LQp8fGoubXAKYmxvZy5qYWNramlhLmNvbQp8fGphcGFuLXdob3Jlcy5jb20KamJ0 +YWxrcy5jYwpqYnRhbGtzLmNvbQpqYnRhbGtzLm15CmplYW55aW0uY29tCnx8amdv +b2RpZXMuY29tCnx8amlhb3lvdTguY29tCi5qaWVodWEuY3oKfHxoay5qaWVwYW5n +LmNvbQp8fHR3LmppZXBhbmcuY29tCmppZXNoaWJhb2Jhby5jb20KLmppbW9wYXJ0 +eS5jb20KfGh0dHA6Ly9qaW1vcGFydHkuY29tCmppbmJ1c2hlLm9yZwp8fGppbmJ1 +c2hlLm9yZwp6aGFvLmppbmhhaS5kZQpqaW5ncGluLm9yZwp8fGppbmdwaW4ub3Jn +CmFjLmppcnVhbi5uZXQKfHxqaXRvdWNoLmNvbQpqa2ZvcnVtLm5ldApyZXNlYXJj +aC5qbXNjLmhrdS5oay9zb2NpYWwKfHxqb2FjaGltcy5vcmcKfHxqb2Jzby50dgp8 +fGpvZWVkZWxtYW4uY29tCnx8am91cm5hbG9mZGVtb2NyYWN5Lm9yZwpqcG9wZm9y +dW0ubmV0Cnx8anVsaWVyZXljLmNvbQp8fGp1bmF1emEuY29tCi5qdW5lZm91cnRo +LTIwLm5ldAp8fGp1bmVmb3VydGgtMjAubmV0Cmp1c3RmcmVldnBuLmNvbQohLS0u +anVzdGluLnR2CnpoLXR3Lmp1c3Rpbi50dgpqdXN0dHJpc3Rhbi5jb20KanV6aXl1 +ZS5jb20KfHxqdXppeXVlLmNvbQp8fGp3bXVzaWMub3JnCkBAfHxtdXNpYy5qd211 +c2ljLm9yZwouanl4Zi5uZXQKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUtLLS0tLS0t +LS0tLS0tLS0tLS0tLS0KfHxrYS13YWkuY29tCi5rYWd5dW9mZmljZS5vcmcudHcK +fHxrYWd5dW9mZmljZS5vcmcudHcKLmthaXl1YW4uZGUKfHxrYWthby5jb20Ka2Fu +emhvbmdndW8uY29tCmthbnpob25nZ3VvLmV1Cnx8a2FyYXlvdS5jb20KfHxrY3Nv +ZnR3YXJlcy5jb20KLmtlY2hhcmEuY29tCi5rZWVwYW5kc2hhcmUuY29tL3Zpc2l0 +L3Zpc2l0X3BhZ2UucGhwP2k9Njg4MTU0Ci5rZW5kaW5jb3MubmV0Ci5rZW5lbmdi +YS5jb20KfHxrZW5lbmdiYS5jb20KfHxrZW9udGVjaC5uZXQKd2lraS5rZXNvLmNu +L0hvbWUKLmtobXVzaWMuY29tLnR3CmJicy5raW15LmNvbS50dwpraW5nZG9tc2Fs +dmF0aW9uLm9yZwpraW5naG9zdC5jb20KLmtpbmdzdG9uZS5jb20udHcKa2lsbHdh +bGwuY29tCnx8a2lsbHdhbGwuY29tCi5raXNzYmJhby5jbgoua25vd2xlZGdlcnVz +aC5jb20va3IvZW5jeWNsb3BlZGlhCnx8a29kaW5nZW4uY29tCkBAfHx3d3cua29k +aW5nZW4uY29tCnx8a29tcG96ZXIubmV0Cnx8a29vbHNvbHV0aW9ucy5jb20KLmtv +b3Juay5jb20KfHxrb29ybmsuY29tCi5rdWkubmFtZS9ldmVudAprdW4uaW0KfHxr +dXJ0bXVuZ2VyLmNvbQprdXNvY2l0eS5jb20Ka3dvbmd3YWguY29tLm15Cmt5b2hr +Lm5ldAoua3plbmcuaW5mbwp8fGt6ZW5nLmluZm8KCiEtLS0tLS0tLS0tLS0tLS0t +LS0tLUxMLS0tLS0tLS0tLS0tLS0tLS0tLS0KbGEtZm9ydW0ub3JnCmxhZGJyb2tl +cy5jb20KfHxsYWJpZW5uYWxlLm9yZwpsYWdyYW5lcG9jYS5jb20KLmxhbHVsYWx1 +LmNvbQpsYW9nYWkub3JnCnx8bGFvZ2FpLm9yZwpsYW9taXUuY29tCi5sYW95YW5n +LmluZm8KfGh0dHA6Ly9sYW95YW5nLmluZm8KfHxsYXB0b3Bsb2NrZG93bi5jb20K +LmxhcWluZ2Rhbi5uZXQKfHxsYXJzZ2VvcmdlLmNvbQp8fGxhc3RmbS5lcwpsYXRl +bGluZW5ld3MuY29tCnx8bGF6YXJzZWFybHltdXNpYy5jb20KfHxsZWVjaGV1a3lh +bi5vcmcKfHxsZW1hdGluLmNoCi5sZW1vbmRlLmZyCnx8bGVud2hpdGUuY29tCmxl +cm9zdWEub3JnCnx8bGVyb3N1YS5vcmcKYmxvZy5sZXN0ZXI4NTAuaW5mbwp8fGxl +c29pci5iZQpsZXRzY29ycC5uZXQKfHxsZXRzY29ycC5uZXQKbGlhbnNpLm9yZwou +bGlhbnl1ZS5uZXQKfHxsaWFvd2FuZ3hpemFuZy5uZXQKLmxpYW93YW5neGl6YW5n +Lm5ldAp8fGxpYmVyYWwub3JnLmhrCmxpYmVydHl0aW1lcy5jb20udHcKLmxpZGVj +aGVuZy5jb20vYmxvZy9mdWNraW5nLWdmdwpsaW1pYW8ubmV0CmFiaXRuby5saW5w +aWUuY29tL3VzZS1pcHY2LXRvLWZ1Y2stZ2Z3Cnx8bGluZS5tZQoubGluZ2xpbmdm +YS5jb20KLmxpbmtpZGVvLmNvbQp8fGFwaS5saW5rc2FscGhhLmNvbQp8fGFwaWRv +Y3MubGlua3NhbHBoYS5jb20KfHx3d3cubGlua3NhbHBoYS5jb20KfHxoZWxwLmxp +bmtzYWxwaGEuY29tCnx8bGludXgtZW5naW5lZXIubmV0Cnx8bGludXhjb25maWcu +b3JnCnx8bGludXhyZXZpZXdzLm9yZwpsaW51eHRveS5vcmcvYXJjaGl2ZXMvaW5z +dGFsbGluZy13ZXN0LWNoYW1iZXItb24tdWJ1bnR1Ci5saXB1bWFuLmNvbQp8fGxp +c3RlbnRveW91dHViZS5jb20KbGlzdG9yaW91cy5jb20KfHxsaXVkZWp1bi5jb20K +LmxpdWhhbnl1LmNvbQoubGl1amlhbnNodS5jb20KfHxsaXVqaWFuc2h1LmNvbQps +aXV4aWFvdG9uZy5jb20KfHxsaXV4aWFvdG9uZy5jb20KbGl1Lmx1Ci5saXZlbGVh +ay5jb20KfHxsaXZlbGVhay5jb20KLmxpdmVzdGF0aW9uLmNvbQpsaXZlc3RyZWFt +LmNvbQp8fGxpdmVzdHJlYW0uY29tCnx8bGl2aW5nb25saW5lLnVzCnx8bGl2aW5n +c3RyZWFtLmNvbQp8fGxpdmV2aWRlby5jb20KLmxpdmV2aWRlby5jb20KbGl6aGl6 +aHVhbmdiaS5jb20KbGtjbi5uZXQKfGh0dHA6Ly9sb2NhbHByZXNzaGsuY29tCnx8 +bG9ja2Rvd24uY29tCnx8bG9ja2VzdGVrLmNvbQpsb2dib3QubmV0Cnx8bG9naXF4 +LmNvbQp8fGxvZ21pa2UuY29tCi5sb25naGFpci5oawp8fGxvbmd0ZXJtbHkubmV0 +Ci5sb29rYXRnYW1lLmNvbQp8aHR0cDovL2xvb2thdGdhbWUuY29tCnx8bG9va2lu +Z2dsYXNzdGhlYXRyZS5vcmcKfHxsb29rcGljLmNvbQoubG90dXNsaWdodC5vcmcu +dHcKaGtyZXBvcnRlci5sb3ZlZC5oawp8fGxyZnouY29tCnxodHRwOi8vbHJpcC5v +cmcvCi5sc2Qub3JnLmhrCnx8bHNkLm9yZy5oawpsc2ZvcnVtLm5ldAp8fGxzbS5v +cmcKfHxsc21jaGluZXNlLm9yZwp8fGxzbWtvcmVhbi5vcmcKLmx1cG0ub3JnCnx8 +bHVwbS5vcmcKfHxsdXNoc3Rvcmllcy5jb20KbHZoYWkub3JnCnx8bHZoYWkub3Jn +CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1NTS0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8 +bWg0dS5vcmcKbS10ZWFtLmNjL2ZvcnVtCnd3dy5tYWNyb3Zwbi5jb20KfHxtYWQt +YXIuY2gKfGh0dHA6Ly9tYWlwbHVzLmNvbQp8fG1hcmMuaW5mbwptYXJndWVyaXRl +LnN1Cnx8bWFydGluY2FydG9vbnMuY29tCi5tYWlpby5uZXQKbWFpbC1hcmNoaXZl +LmNvbQptYWxheXNpYWtpbmkuY29tL2NuCnx8bWFrZW15bW9vZC5jb20KfHxtYXJp +bmVzLm1pbAptYXJrbWFpbC5vcmcqbWVzc2FnZQp8fG1hcnRhdS5jb20KbWFydXRh +LmJlL2ZvcmdldAoubWFyeGlzdC5jb20KfHxtYXJ4aXN0Lm5ldAoubWFyeGlzdHMu +b3JnL2NoaW5lc2UKIS0tbWFzaGFibGUuY29tCiEtLXx8bWFzaGFibGUuY29tCnx8 +bWF0YWluamEuY29tCnx8bWF0aGlldy1iYWRpbW9uLmNvbQp8fG1hdHN1c2hpbWFr +YWVkZS5jb20KbWF5aW1heWkuY29tCnx8bWNhZGZvcnVtcy5jb20KbWNmb2cuY29t +Ci5tZC10Lm9yZwp8fG1kLXQub3JnCi5tZWRpYWZpcmUuY29tLz8KfHxtZWV0dXAu +Y29tCm1lZmVlZGlhLmNvbQpsaWNoMzU1Lm1lZ2FieWV0Lm5ldC8lRTclQkQlOTEl +RTclQkIlOUMlRTclQTUlOUUlRTUlODUlQkQlRTUlOEYlQTQlRTklQjglQkQlRTgl +QkYlODElRTclQTclQkIlRTglQUUlQjAKLm1lZ2Fwb3JuLmNvbQp8fG1lZ2Fyb3Rp +Yy5jb20KbWVnYXZpZGVvLmNvbQp8fG1lZ3VyaW5lbHVrYS5jb20KbWVpcml4aWFv +Y2hhby5jb20KfHxtZWxvbi1wZWFjaC5jb20KbWVtZWRpYS5jbgoubWVtcmlqdHRt +Lm9yZwptZXJpdC10aW1lcy5jb20udHcKLm1lc290dy5jb20vYmJzCi5tZXRhY2Fm +ZS5jb20KfHxtZXRlb3JzaG93ZXJzb25saW5lLmNvbQp8fG1ldHJvbGlmZS5jYQpt +Z29vbi5jb20KfHxtZ3N0YWdlLmNvbQptaHJhZGlvLm9yZwp8aHR0cDovL21pY2hh +ZWxhbnRpLmNvbQp8fG1pY2hhZWxtYXJrZXRsLmNvbQptaWRkbGUtd2F5Lm5ldAou +bWloay5oay9mb3J1bQptaWh1YS5vcmcKLm1pbWl2aXAuY29tCm1pbmdodWkub3Jn +Cnx8bWluZ2h1aS5vcmcKbWluZ2h1aS1zY2hvb2wub3JnCi5taW5namluZ2xpc2hp +LmNvbQp8fG1pbmdqaW5nbGlzaGkuY29tCm1pbmdqaW5nbmV3cy5jb20KbWluZ3Bh +by5jb20KLm1pbmdwYW9jYW5hZGEuY29tCi5taW5ncGFvbW9udGhseS5jb20KbWlu +Z3Bhb25ld3MuY29tCi5taW5ncGFvbnkuY29tCi5taW5ncGFvc2YuY29tCi5taW5n +cGFvdG9yLmNvbQoubWluZ3Bhb3Zhbi5jb20KLm1pbmlub3ZhLm9yZy90b3IvMjU5 +MzUwMwoubWluemh1aHVhLm5ldAp8fG1pbnpodWh1YS5uZXQKbWluemh1emhvbmdn +dW8ub3JnCnx8bWlyb2d1aWRlLmNvbQptaXJyb3Jib29rcy5jb20KbWl0YmJzLmNv +bQoubWl4ZXJvLmNvbQp8fG1peGVyby5jb20KbWl4cG9kLmNvbQoubWl4eC5jb20K +fHxtaXh4LmNvbQp8fG1penptb25hLmNvbQoubWs1MDAwLmNvbQoubWxjb29sLmNv +bQp8fG1tYWF4eC5jb20KcGx1cmt0b3AubW1kYXlzLmNvbQoubW1tY2EuY29tCnx8 +bW9iYXRlay5uZXQKLm1vYmlsZTAxLmNvbQp8fG1vYmlsZXdheXMuZGUKLm1vYnlw +aWN0dXJlLmNvbQp8aHR0cDovL21vYnkudG8KfHxtcmRvb2IuY29tCndpa2kubW9l +Z2lybC5vcmcKfHxtb2cuY29tCm1vbGlodWEub3JnCnx8bW9uZGV4Lm9yZwp8aHR0 +cDovL3d3dy5tb25sYW1pdC5vcmcKYzE1MjIubW9vby5jb20KfHxtb25pdG9yY2hp +bmEub3JnCmJicy5tb3JiZWxsLmNvbQp8fG1vcm5pbmdzdW4ub3JnCnx8bW92YWJs +ZXR5cGUuY29tCnx8bW92aWVmYXAuY29tCnx8d3d3Lm1venR3Lm9yZwptcDN5ZS5l +dQp8fG1wLwp8fG1wZXR0aXMuY29tCm1wZmluYW5jZS5jb20KbXBpbmV3cy5jb20K +bXJ0d2VldC5jb20KfHxtcnR3ZWV0LmNvbQpuZXdzLm1zbi5jb20udHcKLm1zZ3Vh +bmNoYS5jb20KfHxtdGhydWYuY29tCnx8bXVsdGlwbHkuY29tCm11bHRpcHJveHku +b3JnCmZvcnVtLm15bWFqaS5jb20KbXVsdGl1cGxvYWQuY29tCnx8bXVvdWp1LmNv +bQp8fG11c2VsaW5rcy5jby5qcAp8fG11emkuY29tCnx8bXV6aS5uZXQKfHxteDk4 +MS5jb20KLm15LXByb3h5LmNvbQpmb3J1bS5teTkwMy5jb20KbXlhY3RpbWVzLmNv +bQp8fG15YXVkaW9jYXN0LmNvbQoubXlhdi5jb20udHcvYmJzCnx8YmJzLm15Y2hh +dC50bwp8fG15Y2hpbmFteWhvbWUuY29tCi5teWNoaW5hbXlob21lLmNvbQp8fHd3 +dy5teWNvdWxkLmNvbQp8fG15ZWNsaXBzZWlkZS5jb20KLm15Zm9ydW0uY29tLmhr +Cnx8bXlmb3J1bS5jb20uaGsKfHxteWZvcnVtLmNvbS51awoubXlmcmVzaG5ldC5j +b20KfHxteXBhcmFnbGlkaW5nLmNvbQp8fG15cG9wZXNjdS5jb20KbXlzaW5hYmxv +Zy5jb20KLm15c3BhY2UuY29tCiEtLS5ibG9ncy5teXNwYWNlLmNvbQohLS18fGJs +b2dzLm15c3BhY2UuY29tCiEtLXZpZHMubXlzcGFjZS5jb20vaW5kZXguY2ZtP2Z1 +c2VhY3Rpb249dmlkcy4KIS0tdmlld21vcmVwaWNzLm15c3BhY2UuY29tCgohLS0t +LS0tLS0tLS0tLS0tLS0tLS1OTi0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8bmFhY29h +bGl0aW9uLm9yZwpvbGQubmFiYmxlLmNvbQp8fG5haXRpay5uZXQKfHxuYW1zaXNp +LmNvbQpuYW55YW5nLmNvbQp8fG5hbnlhbmcuY29tCi5uYW55YW5ncG9zdC5jb20K +fHxuYW55YW5ncG9zdC5jb20KLm5hbnphby5jb20KL15odHRwOlwvXC9bXlwvXSts +aW5lXC5uYXZlclwuanAvCnx8bmF2aWNhdC5jb20KLm5ha2lkby5jb20KfHxuYWtp +ZG8uY29tCi5uYW9sLmNhCmN5YmVyZ2hvc3QubmF0YWRvLmNvbQp8fG5hdGlvbmFs +LWxvdHRlcnkuY28udWsKfHxuYXZ5Lm1pbApuY2N3YXRjaC5vcmcudHcKLm5jaC5j +b20udHcKLm5jbi5vcmcKfHxuY24ub3JnLwp8fGV0b29scy5uY29sLmNvbQoubmRl +LmRlCi5uZHIuZGUKd3d3Lm5lZC5vcmcKfHxuZWtvc2xvdmFraWEubmV0CnQubmVv +bGVlLmNuCm5ldGNvbG9ueS5jb20KYm9saW4ubmV0ZmlybXMuY29tCnpoLm5ldGxv +Zy5jb20KbmV0bWUuY2MKbmV0d29ya2VkYmxvZ3MuY29tCm5ldmVyZm9yZ2V0ODk2 +NC5vcmcKbmV3LTNsdW5jaC5uZXQKLm5ldy1ha2liYS5jb20KLm5ld2NlbnR1cnlt +Yy5jb20KfGh0dHA6Ly9uZXdjZW50dXJ5bWMuY29tCm5ld2NlbnR1cnluZXdzLmNv +bQp8fG5ld2NoZW4uY29tCi5uZXdjaGVuLmNvbQoubmV3Z3JvdW5kcy5jb20KbmV3 +bGFuZG1hZ2F6aW5lLmNvbS5hdQpuZXdzMTAwLmNvbS50dwoubmV3c2NuLm9yZwp8 +fG5ld3Njbi5vcmcKfHxuZXdzbWluZXIuY29tCm5ld3NwZWFrLmNjL3N0b3J5Ci5u +ZXdzYW5jYWkuY29tCnx8bmV3c3RhcGEub3JnCi5uZXd0YWl3YW4uY29tLnR3Cm5l +d3RhbGsudHcKfHxuZXd0YWxrLnR3Cm5ld3lvcmt0aW1lcy5jb20KaGsqLm5leHRt +ZWRpYS5jb20KdHcqLm5leHRtZWRpYS5jb20Kc3RhdGljLmFwcGxlLm5leHRtZWRp +YS5jb20KfHxuZXh0b24tbmV0LmpwCm5leHR0di5jb20udHcKfHxuZ2EubWlsCm5n +ZW5zaXMuY29tCi5uaWNvdmlkZW8uanAvd2F0Y2gvCiEtLXx8bmljb3ZpZGVvLmpw +Cnx8bmlnaG9zdC5vcmcKbmludGVuZGl1bS5jb20KLmRheWFhcm1vbmdvbC5uaW5n +LmNvbQp8aHR0cDovL2RheWFhcm1vbmdvbC5uaW5nLmNvbQp0YWl3YW55ZXMubmlu +Zy5jb20KfHxuamFjdGIub3JnCm5qdWljZS5jb20KfHxuanVpY2UuY29tCm5sZnJl +ZXZwbi5jb20KIS0tbm8taXAuY29tCnx8bm9iZWwuc2UKIS0tLm5vYmVscHJpemUu +b3JnCiEtLXxodHRwOi8vbm9iZWxwcml6ZS5vcmcKbm9iZWxwcml6ZS5vcmcvbm9i +ZWxfcHJpemVzL3BlYWNlL2xhdXJlYXRlcy8yMDEwCm5vYm9keWNhbnN0b3AudXMK +fHxub2JvZHljYW5zdG9wLnVzCnx8bm9rb2dpcmkub3JnCnx8bm9rb2xhLmNvbQp8 +fG5vb2Jib3guY29tCnx8bm92ZWxhc2lhLmNvbQp8fG5vd25ld3MuY29tCi5ub3d0 +b3JyZW50cy5jb20KLm5veXBmLmNvbQp8fG5veXBmLmNvbQp8fG5wYS5nby5qcAou +bnBzLmdvdgoubnJrLm5vCnx8bnJrLm5vCnx8bnNjLmdvdi50dwpudGR0di5jbwpu +dGR0di5jYQpudGR0di5vcmcKbnRkdHYucnUKfHxjYnMubnR1LmVkdS50dwp8fG51 +ZXhwby5jb20KfHxudXJnby1zb2Z0d2FyZS5jb20KLm51dmlkLmNvbQpudXpjb20u +Y29tCi5udnF1YW4ub3JnCi5ueWR1cy5jYQp8fG55dC5jb20KfHxueXRjby5jb20K +Lm55dGltZXMuY29tCnx8bnl0aW1lcy5jb20KfHxueXRpbWcuY29tCm55c2luZ3Rh +by5jb20KfHxuemNoaW5lc2UubmV0Lm56CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1P +Ty0tLS0tLS0tLS0tLS0tLS0tLS0tCm9ic2VydmVjaGluYS5uZXQKb2NscC5oawp8 +fG9jdG9iZXItcmV2aWV3Lm9yZwpvZmZiZWF0Y2hpbmEuY29tCnx8b2dhb2dhLm9y +Zwp0d3RyMnNyYy5vZ2FvZ2Eub3JnCi5vaWtvcy5jb20udHcvdjQKLm9pa3R2LmNv +bQpvaXpvYmxvZy5jb20KLm9rYXlmcmVlZG9tLmNvbQpvbGQtY2F0Lm5ldAp8fG9s +dW1wby5jb20KLm9seW1waWN3YXRjaC5vcmcKb21naWxpLmNvbQpvbW5pdGFsay5j +b20KZm9ydW0ub215LnNnCm5ld3Mub215LnNnCnNob3diaXoub215LnNnCi5vbi5j +Ywp8aHR0cHM6Ly9vbmVkcml2ZS5saXZlLmNvbS8KLm9ubHlsYWR5LmNuCm9ubW9v +bi5uZXQKb25tb29uLmNvbQoub29wc2ZvcnVtLmNvbQpvcGVuLmNvbS5oawpvcGVu +ZGVtb2NyYWN5Lm5ldApteW9wZW5pZC5jb20KfHxteW9wZW5pZC5jb20Kb3Blbmlk +Lm5ldAp8fG9wZW5pZC5uZXQKfHxibG9nLm9wZW5pbmtwb3Qub3JnCi5vcGVubGVh +a3Mub3JnCnx8b3BlbmxlYWtzLm9yZwpvcGVudnBuLm5ldAp8fG9wZW52cG4ubmV0 +Cnx8b3BlbndlYnN0ZXIuY29tCnxodHRwOi8vaGVscC5vcGVyYS5jb20KbXkub3Bl +cmEuY29tL2RhaGVtYQp8fGRlbW8ub3BlcmEtbWluaS5uZXQKb3BuaXIuY29tLzIx +NS9teWVudHVubmVsLXNzaC1hdXRvcHJveHktY3Jvc3MtZ2Z3Cnd3dy5vcmNoaWRi +YnMuY29tCnx8b3JpZW50LWRvbGwuY29tCm9yaWVudGFsZGFpbHkuY29tLm15Cnx8 +b3JpZW50YWxkYWlseS5jb20ubXkKIS0tb3JpZW50YWxkYWlseS5vbi5jYwp8fG9y +bi5qcAp0Lm9yemRyZWFtLmNvbQp8fHQub3J6ZHJlYW0uY29tCnR1aS5vcnpkcmVh +bS5jb20KfHxvcnppc3RpYy5vcmcKfHxvc2Zvb3JhLmNvbQptLm91bG92ZS5vcmcK +fHxvdXJkZWFyYW15LmNvbQpvdXJzb2dvLmNvbQpvdXJzdGVwcy5jb20uYXUKeGlu +cWltZW5nLm92ZXItYmxvZy5jb20Kc2hhcmUub3ZpLmNvbS9tZWRpYQp8aHR0cDov +L293bC5saQp8aHR0cDovL2h0Lmx5CnxodHRwOi8vaHRsLmxpCnxodHRwOi8vbWFz +aC50bwp3d3cub3dpbmQuY29tCnxodHRwOi8vd3d3Lm94aWQuaXQKb3lheC5jb20K +Lm96Y2hpbmVzZS5jb20vYmJzCnx8b3cubHkKYmJzLm96Y2hpbmVzZS5jb20KLm96 +eW95by5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLVBQLS0tLS0tLS0tLS0tLS0t +LS0tLS0KLnBhY2lmaWNwb2tlci5jb20KLnBhY2tldGl4Lm5ldApwYWdlMnJzcy5j +b20KfHxwYWdvZGFib3guY29tCgohLS1Hb2RhZGR5IEZyZWUgSG9zdGluZwp8fHBh +aW50Lm5ldAp8fGNvdmVyaW5nd2ViLmNvbQoucGFsYWNlbW9vbi5jb20KZm9ydW0u +cGFsbWlzbGlmZS5jb20KIS0tU2FtZSBJUAp8fHBhcGVyLXJlcGxpa2EuY29tCnx8 +ZXJpdmVyc29mdC5jb20KfHxwYW5vcmFtaW8uY29tCnBhcGVyLmxpCnBhcGVyYi51 +cwoucGFubHVhbi5uZXQKfHxwYW5sdWFuLm5ldAoucGFub3JhbWlvLmNvbQp8fHBh +by1wYW8ubmV0Ci5wYXJhZGUuY29tL2RpY3RhdG9ycy8yMDA5CnBhc3RlYmluLmNv +bQoucGFzdGllLm9yZwp8fHBhc3RpZS5vcmcKfHxibG9nLnBhdGh0b3NoYXJlcG9p +bnQuY29tCnBicy5vcmcvd2diaC9wYWdlcy9mcm9udGxpbmUvZ2F0ZQpwYnMub3Jn +L3dnYmgvcGFnZXMvZnJvbnRsaW5lL3RhbmttYW4KCiEtLVBid2lraQpwYndpa2ku +Y29tCnx8cGJ3b3Jrcy5jb20KfHxkZXZlbG9wZXJzLmJveC5uZXQKfHx3aWtpLm9h +dXRoLm5ldAp8fHdpa2kucGhvbmVnYXAuY29tCnx8d2lraS5qcXVlcnl1aS5jb20K +Cnx8cGJ4ZXMuY29tCnx8cGJ4ZXMub3JnCi5wY2Rpc2N1c3MuY29tCnBjZHZkLmNv +bS50dwoucGNob21lLmNvbS50dwp8aHR0cDovL3BjaWoub3JnLwp8fHBjdC5vcmcu +dHcKcGRldGFpbHMuY29tCnx8cGRwcm94eS5jb20KcGVhY2VmaXJlLm9yZwpwZWFj +ZWhhbGwuY29tCi5wZWVhc2lhbi5jb20KLnBla2luZ2R1Y2sub3JnCnx8cGVraW5n +ZHVjay5vcmcKcGVuY2hpbmVzZS5jb20KfHxwZW5jaGluZXNlLm5ldAoucGVuY2hp +bmVzZS5uZXQKcGVuZ3l1bG9uZy5jb20KfHxibG9nLnBlbnRhbG9naWMubmV0Ci5w +ZW50aG91c2UuY29tCi5wZW9wby5vcmcKfHxwZW9wby5vcmcKLnBlcmN5LmluCnBl +cmZlY3R2cG4ubmV0CnBlcmZzcG90LmNvbQp8fHBlcmxob3d0by5jb20KcGhpbGx5 +LmNvbQp8fHBob3RvZm9jdXMuY29tCnx8cGh1cXVvY3NlcnZpY2VzLmNvbQoucGlj +aWRhZS5uZXQKfHxpbWcqLnBpY3R1cmVkaXAuY29tCnBpY3R1cmVzb2NpYWwuY29t +Ci5waWRvd24uY29tCi5waWduLm5ldApibG9nLnBpbG90bW9vbi5jb20KLnBpbjYu +Y29tCnx8cGluNi5jb20KLnBpbmcuZm0KfHxwaW5nLmZtLwp8fHBpbm95LW4uY29t +Ci5waXJpbmcuY29tCnx8cGl4ZWxxaS5jb20KfHxjc3MucGl4bmV0LmluCnx8cGl4 +bmV0Lm5ldAoucGl4bmV0Lm5ldAoucGsuY29tCnx8cGxhY2VtaXguY29tCiEtLS5w +bGFuZXRzdXp5Lm9yZwp8aHR0cDovL3BpY3R1cmVzLnBsYXlib3kuY29tCnx8cGxh +eWJveS5jb20KcGxheXMuY29tLnR3Cnx8bS5wbGl4aS5jb20KcGxtLm9yZy5oawpw +bHVuZGVyLmNvbQoucGx1czI4LmNvbQoucGx1c2JiLmNvbQoucG1hdGVzLmNvbQp8 +fHBvMmIuY29tCnx8cG9kaWN0aW9uYXJ5LmNvbQoucG9rZXJzdGFycy5jb20KfHxw +b2tlcnN0YXJzLmNvbQp6aC5wb2tlcnN0cmF0ZWd5LmNvbQpwb2xpdGljYWxjaGlu +YS5vcmcKIS0tfHxwb3B1bGFycGFnZXMubmV0CnBvcHlhcmQuY29tCnx8cG9weWFy +ZC5vcmcKLnBvcm4uY29tCi5wb3JuMi5jb20KLnBvcm5iYXNlLm9yZwoucG9ybmh1 +Yi5jb20KfHxwb3JubW0ubmV0Ci5wb3Jub3hvLmNvbQoucG9ybnJhcGlkc2hhcmUu +Y29tCnx8cG9ybnJhcGlkc2hhcmUuY29tCi5wb3Juc3RhcmNsdWIuY29tCi5wb3Ju +dHViZS5jb20KLnBvcm52aXNpdC5jb20KcG9zdGFkdWx0LmNvbQp8fHBvd2VyY3gu +Y29tCnx8d3d3LnBvd2VycG9pbnRuaW5qYS5jb20KfHxjZG4ucHJpbnRmcmllbmRs +eS5jb20KfHxwdHMub3JnLnR3CnB1YnUuY29tLnR3CnB1ZmZpbmJyb3dzZXIuY29t +CgohLS0tLS0tLS0tLS0tLVBvc3Rlcm91cy0tLS0tCnxodHRwOi8vcG9zdC5seQou +cG9zdGVyb3VzLmNvbQp8aHR0cDovL3Bvc3Rlcm91cy5jb20KfHxwb3N0LmFueXUu +b3JnCnx8YnJhbGlvLmNvbQp8fGNhbGViZWxzdG9uLmNvbQohLXx8YmxvZy5kYWJy +LmNvLnVrCnx8ZGVzaWduZXJvbC5jb20KfHxibG9nLmZpenppay5jb20KfHxuZi5p +ZC5hdQp8fG1hcmttaWxpYW4uY29tCnx8bG9nLnJpa3UubWUKfHxzb2dyYWR5Lm1l +Cnx8dmF0bi5vcmcKfHx2ZWVtcGlpcmUuY29tCnx8d3d3LnZlZ29ycGVkZXJzZW4u +Y29tCnx8dmVudHVyZXN3ZWxsLmNvbQp8fHdlYmZlZS50awp8fHdoZXJlaXN3ZXJu +ZXIuY29tCnx8YmlsbC56aG9uZy5wcC5ydQoKLnBvd2VyLmNvbQp8fHBvd2VyLmNv +bQpwb3dlcmFwcGxlLmNvbQp8fGFiYy5wcC5ydQpoZWl4LnBwLnJ1Cnx8cHJheWZv +cmNoaW5hLm5ldAp8fHByZW1lZm9yd2luZG93czcuY29tCnx8cHJlc2VudGF0aW9u +emVuLmNvbQp8fHByZXN0aWdlLWF2LmNvbQpwcmlzb25lci1zdGF0ZS1zZWNyZXQt +am91cm5hbC1wcmVtaWVyCnx8cHJpdmFjeWJveC5kZQp8fHByaXZhdGVpbnRlcm5l +dGFjY2Vzcy5jb20KcHJpdmF0ZXBhc3RlLmNvbQp8fHByaXZhdGVwYXN0ZS5jb20K +cHJpdmF0ZXR1bm5lbC5jb20KfHxwcml2YXRldHVubmVsLmNvbQp8fHByb2NvcHl0 +aXBzLmNvbQpwcm92aWRlb2NvYWxpdGlvbi5jb20KfHxwcm9zaWJlbi5kZQpwcm94 +aWZpZXIuY29tCmFwaS5wcm94bGV0LmNvbQp8fHByb3hvbWl0cm9uLmluZm8KcHJv +eHkub3JnCi5wcm94eXB5Lm5ldAp8fHByb3h5cHkubmV0CnByb3h5cm9hZC5jb20K +cHJvenoubmV0CnBzYmxvZy5uYW1lCnx8cHNibG9nLm5hbWUKcHNpcGhvbi5jYQou +cHR0LmNjCi5wdWZmc3RvcmUuY29tCnx8cHVsbGZvbGlvLmNvbQp8fHB1cmVjb25j +ZXB0cy5uZXQKfHxwdXJlcGRmLmNvbQp8fHB1cmV2cG4uY29tCi5wdXRsb2NrZXIu +Y29tL2ZpbGUKcHduZWQuY29tCnB5dGhvbi5jb20KLnB5dGhvbi5jb20udHcKfGh0 +dHA6Ly9weXRob24uY29tLnR3CgohLS0tLS0tLS0tLS0tLS0tLS0tLS1RUS0tLS0t +LS0tLS0tLS0tLS0tLS0tCi5xYW5vdGUuY29tCnx8cWFub3RlLmNvbQpxaS1nb25n +Lm1lCi5xaWRpYW4uY2EKLnFpZW5rdWVuLm9yZwp8fHFpZW5rdWVuLm9yZwp8fHFp +d2VuLmx1CnFpeGlhbmdsdS5jbgpiYnMucW16ZGQuY29tCi5xa3NoYXJlLmNvbQpx +b29zLmNvbQp8fHFvb3MuY29tCmJsb2cucW9vemEuaGsqZGFmZW5ncWl4aQp8fGVm +a3NvZnQuY29tCnx8cXN0YXR1cy5jb20KfHxxdHdlZXRlci5jb20KfHxxdHJhYy5l +dQohLS1xdWFkZWRnZQp8fHF1YWRlZGdlLmNvbQp8fHd3dy5nZXR5b3VyYW0uY29t +Cnx8aGlpdGNoLmNvbQpxdXNpOC5uZXQKLnF2b2R6eS5vcmcKbmVtZXNpczIucXgu +bmV0KnBhZ2VzKk15RW5UdW5uZWwKcXhiYnMub3JnCgohLS0tLS0tLS0tLS0tLS0t +LS0tLS1SUi0tLS0tLS0tLS0tLS0tLS0tLS0tCi5yYWRpY2FscGFydHkub3JnCnJh +ZGlvYXVzdHJhbGlhLm5ldC5hdQpvcG1sLnJhZGlvdGltZS5jb20KfHxyYWRpb3Zh +dGljYW5hLm9yZwp8fHJhZGlvdm5jci5jb20KfHxyYWlkY2FsbC5jb20udHcKcmFu +Z3plbi5vcmcKfGh0dHA6Ly9ibG9nLnJhbnhpYW5nLmNvbS8KcmFueXVuZmVpLmNv +bQp8fHJhbnl1bmZlaS5jb20KLnJhcGJ1bGwubmV0CiEtLnJhcGlkc2hhcmUuY29t +CiEtfGh0dHA6Ly9yYXBpZHNoYXJlLmNvbQp8fHJhcGlkc2hhcmU4LmNvbQoucmFw +aWRzaGFyZWRhdGEuY29tCiEtLS5yYXlmbWUuY29tL2JicwpyY2luZXQuY2EKLnJl +YWQxMDAuY29tCi5yZWFkaW5ndGltZXMuY29tLnR3Cnx8cmVhZGluZ3RpbWVzLmNv +bS50dwp8fHJlYWRtb28uY29tCi5yZWFscmFwdGFsay5jb20KLnJlY29yZGhpc3Rv +cnkub3JnCnJlZGNoaW5hY24ub3JnCi5yZWR0dWJlLmNvbQpyZWZlcmVyLnVzCnx8 +cmVmZXJlci51cwp8fHJlZmxlY3RpdmVjb2RlLmNvbQpyZWxheGJicy5jb20KcmVu +bWluYmFvLmNvbQoucmVueXVyZW5xdWFuLm9yZwp8fHJlbnl1cmVucXVhbi5vcmcK +c3ViYWNtZS5yZXJvdXRlZC5vcmcKIS0tY24ucmV1dGVycy5jb20KLnJldmxlZnQu +Y29tCnJldHdlZXRpc3QuY29tCnx8cmV0d2VldHJhbmsuY29tCmNvbm5lY3RlZGNo +aW5hLnJldXRlcnMuY29tCnxodHRwOi8vd3d3LnJldXRlcnMuY29tL25ld3Mvdmlk +ZW8KcmV2dmVyLmNvbQoucmZhLm9yZwoucmZhY2hpbmEuY29tCi5yZmFtb2JpbGUu +b3JnCnx8cmZlcmwub3JnCi5yZmkuZnIKfHxyZmkuZnIKfGh0dHA6Ly9yZmkubXkv +Ci5yaGNsb3VkLmNvbQohLS1FZGdlY2FzdAp8aHR0cDovL3Zkcy5yaWdodHN0ZXIu +Y29tLwoucmlsZXlndWlkZS5jb20KcmlrdS5tZS8KLnJsd2x3LmNvbQp8fHJsd2x3 +LmNvbQoucm1qZHcuY29tCmNoaW5lc2Uucm53Lm5sCi5ybncubmwKcm9idGV4LmNv +bQp8fHJvYnVzdG5lc3Npc2tleS5jb20KfHxyb2NtcC5vcmcKfHxyb2pvLmNvbQp8 +fHJvbmpvbmVzd3JpdGVyLmNvbQoucm9vZG8uY29tCiEtLXx8cm9vc29uZy5jbgou +cm90dGVuLmNvbQoucnNmLm9yZwp8fHJzZi5vcmcvCi5yc2YtY2hpbmVzZS5vcmcK +fHxyc2YtY2hpbmVzZS5vcmcKLnJzc21lbWUuY29tCnx8cnNzbWVtZS5jb20KLnJ0 +aGsuaGsKfGh0dHA6Ly9ydGhrLmhrCi5ydGhrLm9yZy5oawp8aHR0cDovL3J0aGsu +b3JnLmhrCnJ0aS5vcmcudHcKLnJ1YW55aWZlbmcuY29tL2Jsb2cqc29tZV93YXlz +X3RvX2JyZWFrX3RoZV9ncmVhdF9maXJld2FsbAoucnVzaGJlZS5jb20KcnV0dWJl +LnJ1Ci5ydXlpc2Vlay5jb20KLnJ4aGoubmV0CgohLS0tLS0tLS0tLS0tLS0tLS0t +LS1TUy0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8czFoZW5nLmNvbQp8fHM4Zm9ydW0u +Y29tCnNhY29tLmhrCnx8c2Fjb20uaGsKfHxzYWRwYW5kYS51cwouc2FpcS5tZQp8 +fHNhaXEubWUvCi5zYWx2YXRpb24ub3JnLmhrCnx8c2FsdmF0aW9uLm9yZy5oawou +c2FtYWlyLnJ1L3Byb3h5L3R5cGUtMDEKc2FtbXlqcy5vcmcKc2FuZG5vYmxlLmNv +bS9ib29rU2VhcmNoL2lzYm5JbnF1aXJ5LmFzcAp8fHNhbmthaXpvay5jb20KLnNh +bm1pbi5jb20udHcKc2FwaWthY2h1Lm5ldApzYXZlbWVkaWEuY29tCnNhdmV0aWJl +dC5kZQpzYXZldGliZXQuZnIKc2F2ZXRpYmV0Lm5sCnNhdmV0aWJldC5vcmcKc2F2 +ZXRpYmV0LnJ1CnNhdmV2aWQuY29tCnx8c2F5Mi5pbmZvCi5zY21wLmNvbQouc2Nt +cGNoaW5lc2UuY29tCi5zY3JpYmQuY29tCnx8c2NyaXB0c3BvdC5jb20Kc2VhcHVm +Zi5jb20KZG9tYWluaGVscC5zZWFyY2guY29tCnNlY3JldGNoaW5hLmNvbQp8fHNl +Y3JldGdhcmRlbi5ubwp8fGRlZmF1bHQuc2VjdXJlc2VydmVyLm5ldApzZWN1cml0 +eWtpc3MuY29tCnNlZXNtaWMuY29tCnx8c2VldnBuLmNvbQp8fHNlZXpvbmUubmV0 +CnNlamllLmNvbQouc2VuZHNwYWNlLmNvbS9maWxlCnxodHRwOi8vdHdlZXRzLnNl +cmFwaC5tZS8Kc2VzYXdlLm5ldAp8fHNlc2F3ZS5uZXQKLnNlc2F3ZS5vcmcKfHxz +ZXRod2tsZWluLm5ldApmb3J1bS5zZXR0eS5jb20udHcKLnNldmVubG9hZC5jb20K +fHxzZXZlbmxvYWQuY29tCi5zZXguY29tCi5zZXgtMTEuY29tCnx8c2V4My5jb20K +LnNleDguY2MKLnNleGFuZHN1Ym1pc3Npb24uY29tCi5zZXhodS5jb20KLnNleGh1 +YW5nLmNvbQpzZXhpbnNleC5uZXQKfHxzZXhpbnNleC5uZXQKIS0tSVAgb2YgU2V4 +SW5TZXgKNjcuMjIwLjkxLjE4CjY3LjIyMC45MS4yMwp8aHR0cDovLyouc2YubmV0 +Ci5zZmlsZXlkeS5jb20Kc2hhZG93Lm1hCnx8c2hhZG93c29ja3Mub3JnCnNoYWhh +bWF0LWVuZ2xpc2guY29tCi5zaGFuZ2Zhbmcub3JnCnx8c2hhbmdmYW5nLm9yZwpz +aGFwZXNlcnZpY2VzLmNvbQouc2hhcmViZWUuY29tCnx8c2hhcmVjb29sLm9yZwp8 +fHNoYXJrZG9scGhpbi5jb20Kc2hhcnBkYWlseS5jb20uaGsKfHxzaGFycGRhaWx5 +LmNvbS5oawouc2hhcnBkYWlseS5oawouc2hhdW50aGVzaGVlcC5jb20KfHxzaGF1 +bnRoZXNoZWVwLmNvbQpzaGVpa3llcm1hbWkuY29tCnx8c2hlbGxtaXguY29tCnNo +ZW5zaG91Lm9yZwpzaGVueXVucGVyZm9ybWluZ2FydHMub3JnCnNoZW56aG91Zmls +bS5jb20KfHxzaGVuemhvdWZpbG0uY29tCnNoaW55Y2hhbi5jb20KLnNoaXRhb3R2 +Lm9yZwp8fHNoaXhpYW8ub3JnCnx8c2hpemhhby5vcmcKLnNoaXpoYW8ub3JnCnNo +a3Nwci5tb2JpL2RhYnIKfHxzaG9kYW5ocS5jb20KLnNob3BwaW5nLmNvbQouc2hv +d3RpbWUuanAKY2guc2h2b29uZy5jb20KLnNod2NodXJjaDMuY29tCnxodHRwOi8v +c2h3Y2h1cmNoMy5jb20Kc2ltcGxlY2Qub3JnCnx8c2ltcGxlY2Qub3JnCkBAfHxz +aW1wbGVjZC5tZQpzaW1wbGVwcm9kdWN0aXZpdHlibG9nLmNvbQpiYnMuc2luYS5j +b20vCmJicy5zaW5hLmNvbSUyRgpibG9nLnNpbmEuY29tLnR3CmRhaWx5bmV3cy5z +aW5hLmNvbS8KZGFpbHluZXdzLnNpbmEuY29tJTJGCmZvcnVtLnNpbmEuY29tLmhr +CmhvbWUuc2luYS5jb20KfHxtYWdhemluZXMuc2luYS5jb20udHcKbmV3cy5zaW5h +LmNvbS5oawpuZXdzLnNpbmEuY29tLnR3CnNpbmd0YW8uY29tCnx8c2luZ3Rhby5j +b20KbmV3cy5zaW5ndGFvLmNhCnx8Y2RwLnNpbmljYS5lZHUudHcKc2luby1tb250 +aGx5LmNvbQp8fHNpbm9jYXN0LmNvbQpzaW5vY2lzbS5jb20Kc2lub21vbnRyZWFs +LmNhCi5zaW5vbmV0LmNhCi5zaW5vcGl0dC5pbmZvCi5zaW5vYW50cy5jb20KfHxz +aW5vYW50cy5jb20Kc2lub3F1ZWJlYy5jb20KfHxzaXRlOTAubmV0Ci5zaXRlYnJv +LnR3Cnx8c2l0ZWtzLnVrLnRvCnx8c2l0ZW1hcHMub3JnCnNpdGV0YWcudXMKc2lz +Lnh4eAp8fHNpczAwMS5jb20Kc2lzMDAxLnVzCnx8c2p1bS5jbi8KfHxza2ltdHVi +ZS5jb20KfHxza3liZXQuY29tCnxodHRwOi8vc2t5aGlnaHByZW1pdW0uY29tLwpi +YnMuc2t5a2l3aS5jb20KfGh0dHA6Ly93d3cuc2t5cGUuY29tL2ludGwvCnxodHRw +Oi8vd3d3LnNreXBlLmNvbS96aC1IYW50Cnx8c2t5dmVnYXMuY29tCi54c2t5d2Fs +a2VyLmNvbQp8fHhza3l3YWxrZXIuY29tCm0uc2xhbmRyLm5ldAp8fHNsYXZhc29m +dC5jb20KfHxzbGhlbmcuY29tCi5zbGlkZXNoYXJlLm5ldApmb3J1bS5zbGltZS5j +b20udHcKLnNsdXRsb2FkLmNvbQpzbWhyaWMub3JnCnx8c25kY2RuLmNvbQp8fHNv +LWdhLm5ldAouc28tZ2EubmV0Cnx8c28tbmV3cy5jb20KLnNvLW5ld3MuY29tCmhv +bWUuc28tbmV0Lm5ldC50dy95aXNhX3RzYWkKfHxzb2MubWlsLwp8fHNvY2tzbGlz +dC5uZXQKLnNvZC5jby5qcAouc29mdGV0aGVyLm9yZwp8fHNvZnRldGhlci5vcmcK +LnNvZnRldGhlci1kb3dubG9hZC5jb20KfHxzb2Z0ZXRoZXItZG93bmxvYWQuY29t +Cnx8c29nY2x1Yi5jb20Kc29oY3JhZGlvLmNvbQp8fHNvaGNyYWRpby5jb20KfHx3 +d3cuc29tZWUuY29tCnx8c29ydGluZy1hbGdvcml0aG1zLmNvbQouc291bW8uaW5m +bwp8fHNvdXAuaW8vCkBAfHxzdGF0aWMuc291cC5pbwouc2xpbmtzZXQuY29tCnx8 +c2xpY2t2cG4uY29tCnx8c25hcGNoYXQuY29tCi5zbmFwdHUuY29tCnx8c25hcHR1 +LmNvbQpzbmVha21lLm5ldAp8fHNub29wZXIuY28udWsKLnNvYmVlcy5jb20KfHxz +b2JlZXMuY29tCnNvY2lhbHdoYWxlLmNvbQouc29mdGV0aGVyLmNvLmpwCnx8c29m +dHdhcmVieWNodWNrLmNvbQpibG9nLnNvZ29vLm9yZwpzb2gudHcKfHxzb2gudHcK +c29oZnJhbmNlLm9yZwp8fHNvaGZyYW5jZS5vcmcKY2hpbmVzZS5zb2lmaW5kLmNv +bQpzb2thbW9ubGluZS5jb20KfHxzb21lZS5jb20KLnNvbmdqaWFuanVuLmNvbQp8 +fHNvbmdqaWFuanVuLmNvbQouc29uaWRvZGVsYWVzcGVyYW56YS5vcmcKLnNvcGNh +c3QuY29tCi5zb3BjYXN0Lm9yZwp8fHNvdW5kY2xvdWQuY29tCiEtLXxodHRwczov +L3NvdW5kY2xvdWQuY29tL3B1bmtnb2QKLnNvdW5kb2Zob3BlLmtyCnNvdW5kb2Zo +b3BlLm9yZwp8fHNvdW5kb2Zob3BlLm9yZwp8fHNvdXBvZm1lZGlhLmNvbQouc291 +cmNlZm9yZ2UubmV0CiEtfGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQKc291dGhuZXdz +LmNvbS50dwpzb3dlcnMub3JnLmhrCnx8d2x4LnNvd2lraS5uZXQKfHxzcGFjZS1z +Y2FwZS5jb20KLnNwYW5rd2lyZS5jb20KfHxzcGIuY29tCnx8c3BlbmNlcnRpcHBp +bmcuY29tCnNwaW5lanMuY29tCnx8c3Byb3V0Y29yZS5jb20Kc3F1YXJlc3BhY2Uu +Y29tCnx8c3NoOTEuY29tCiEtLXxodHRwOi8vY2RuLnNzdGF0aWMubmV0Lwp3d3cu +c3RhY2tmaWxlLmNvbS9mcmVlZHVyCnx8c3RhbmR1cGZvcnRpYmV0Lm9yZwp1c2lu +Zm8uc3RhdGUuZ292Ci5zdGFycDJwLmNvbQp8fHN0YXJwMnAuY29tCnx8c3RhcnRw +YWdlLmNvbQouc3RhdGUxNjguY29tCnx8c3RlZWwtc3Rvcm0uY29tCnN0aG9vLmNv +bQp8fHN0aG9vLmNvbQouc3RpY2thbS5jb20Kc3RpY2tlcmFjdGlvbi5jb20vc2Vz +YXdlCnx8c3RvbmVnYW1lcy5uZXQKfHxzdG9uZWlwLmluZm8KfHxzdG9yYWdlbmV3 +c2xldHRlci5jb20KLnN0b3B0aWJldGNyaXNpcy5uZXQKfHxzdG9wdGliZXRjcmlz +aXMubmV0Cnx8c3Rvd2Vib3lkLmNvbQp8fHN0cmVhbWluZ3RoZS5uZXQKY24uc3Ry +ZWV0dm9pY2UuY29tL2FydGljbGUKY24uc3RyZWV0dm9pY2UuY29tL2RpYXJ5CmNu +Mi5zdHJlZXR2b2ljZS5jb20KdHcuc3RyZWV0dm9pY2UuY29tCnx8c3Ryb25ndnBu +LmNvbQouc3R1ZGVudC50dy9kYgpzdHVwaWR2aWRlb3MuY29tCi5zdWdhcnN5bmMu +Y29tCnx8c3VnYXJzeW5jLmNvbQpzdW1taWZ5LmNvbQpzdW4xOTExLmNvbQouc3Vv +bHVvLm9yZwphcGkuc3VwZXJ0d2VldC5uZXQKd3d3LnN1cGVydHdlZXQubmV0Ci5z +dXJmZWFzeS5jb20uYXUKc3VwcG9ydC95b3V0dWJlL2Jpbi9yZXF1ZXN0LnB5P2Nv +bnRhY3RfdHlwZT1hYnVzZSYKL3N1cHBvcnQveW91dHViZS9iaW4vc3RhdGljLnB5 +P3BhZ2U9c3RhcnQuY3MmCnx8c3Z3aW5kLmNvbQp8fHN3ZXV4LmNvbQp8fHN3aWZ0 +LXRvb2xzLm5ldAouc3lkbmV5dG9kYXkuY29tCi5zeWxmb3VuZGF0aW9uLm9yZwp8 +fHN5bmNiYWNrLmNvbQp8fHN5c2FkbWluMTEzOC5uZXQKc3lzcmVzY2NkLm9yZwou +c3l0ZXMubmV0CmJsb2cuc3l4ODYuY29tLzIwMDkvMDkvcHVmZgpibG9nLnN5eDg2 +LmNuLzIwMDkvMDkvcHVmZgouc3piYnMubmV0Cnx8c3pldG93YWgub3JnLmhrCgoh +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1UVC0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tCi50MzUuY29tCi50NjZ5LmNvbQp8fHQ2NnkuY29tCi50YWEtdXNhLm9y +Zwp8aHR0cDovL3RhYS11c2Eub3JnCnRhYnR0ZXIuanAKLnRhY2VtLm9yZwp8fHRh +ZmF3YXJkLmNvbQp0YWd3YWxrLmNvbQp8fHRhZ3dhbGsuY29tCnRhaXBlaS5nb3Yu +dHcKLnRhaXBlaXNvY2lldHkub3JnCnx8dGFpcGVpc29jaWV0eS5vcmcKLnRhaXdh +bmRhaWx5Lm5ldAp8fHRhaXdhbnR0Lm9yZy50dwp8fHRhaXdhbmRhaWx5Lm5ldAp0 +YWl3YW5raXNzLmNvbQp0YWl3YW5uYXRpb24uY29tCnRhaXdhbm5hdGlvbi5jb20u +dHcKfHx0YWl3YW5uZXdzLmNvbS50dwp0YWl3YW51cy5uZXQKdGFpd2FueWVzLmNv +bQp0YWl3YW4tc2V4LmNvbQp8fHRhbWlhb2RlLnRrCnx8dGFuYy5vcmcKdGFuZ2Jl +bi5jb20KLnRhb2x1bi5pbmZvCnx8dGFvbHVuLmluZm8KYmxvZy50YXJhZ2FuYS5j +b20KLnRhd2VldC5jb20KfHx0YXdlZXQuY29tCnx8dGJwaWMuaW5mbwp8fHRic2Vj +Lm9yZwp8fHRic24ub3JnCi50YnNzZWF0dGxlLm9yZwp0Y2hyZC5vcmcKdGNuby5u +ZXQqZG9jKnRvcgp8fHRlYW1zZWVzbWljLmNvbQoudGVhc2hhcmsuY29tL2Rvd25s +b2FkLmh0bWwKfHx0ZWNobGlmZXdlYi5jb20KIS0tdGVjaG5vcmF0aS5jb20KfHx0 +ZWNocGFyYWlzby5jb20KfHx0ZWNrLmluLwoudGVsZWNvbXNwYWNlLmNvbQp8fHRl +bGVncmFwaC5jby51awoudGVuYWN5LmNvbQp8fHRoZWFtcGZhY3RvcnkuY29tCnx8 +dGhlYXBwbGVibG9nLmNvbQp8fHRoZWF0cnVtLWJlbGxpLmNvbQp8fHRoZWJvZHlz +aG9wLXVzYS5jb20KdGhlYmxlbWlzaC5jb20KfHx0aGViY29tcGxleC5jb20KLnRo +ZWNoaW5hYmVhdC5vcmcKfHx0aGVkaWVsaW5lLmNvbQp8fHRoZWR3LnVzCnx8dGhl +Z2F0ZXNub3Rlcy5jb20KfGh0dHA6Ly90aGVnaW9pdGluaG9jLnZuLwp0aGVob3Vz +ZW5ld3MuY29tCnx8dGhlaHVuLm5ldAp8fHRoZWxpZmV5b3VjYW5zYXZlLmNvbQp8 +fHRoZWxpdXMub3JnCnRoZXBpcmF0ZWJheS5vcmcKfHx0aGVwaXJhdGViYXkuc2UK +dGhlcWlpLmluZm8vYmxvZwp0aGVyZWFsbG92ZS5rcgp8fHRoZXNhcnRvcmlhbGlz +dC5jb20KdGhlc3BlZWRlci5jb20KfHx0aGV0aWJldHBvc3QuY29tCnRoZXRyb3Rz +a3ltb3ZpZS5jb20vCnRoZXZpdmVrc3BvdC5jb20KfHx0aGV3Z28ub3JnCi50aGlz +YXYuY29tCnxodHRwOi8vdGhpc2F2LmNvbQp0aGtwaG90by5jb20KfHx0aG9tYXNi +ZXJuaGFyZC5vcmcKdGhyZWF0Y2hhb3MuY29tCnx8dGhyb3VnaG5pZ2h0c2ZpcmUu +Y29tCi50aHVtYnppbGxhLmNvbQp8fHRoeXdvcmRzLmNvbQp0aWFuYW5tZW5tb3Ro +ZXIub3JnCnx8dGlhbmFubWVudW5pdi5jb20KfHx0aWFuYW5tZW51bml2Lm5ldAp8 +fHRpYW5kaXhpbmcub3JnCi50aWFuaHVheXVhbi5jb20KdGlhbnRpYm9va3Mub3Jn +Ci50aWFuemh1Lm9yZwoudGliZXQuYXQKLnRpYmV0LmNvbQp8fHRpYmV0LmNvbQou +dGliZXQubmV0Cnx8dGliZXQubmV0CnRpYmV0Lm9yZy50dwp0aWJldGFsay5jb20K +LnRpYmV0YW55b3V0aGNvbmdyZXNzLm9yZwp8fHRpYmV0YW55b3V0aGNvbmdyZXNz +Lm9yZwoudGliZXRjb3Jwcy5vcmcKdGliZXRmdW5kLm9yZwoudGliZXRqdXN0aWNl +Lm9yZwp0aWJldG9mZmljZS5vcmcKdGliZXRvbmxpbmUuY29tCnx8dGliZXRvbmxp +bmUuY29tCnx8dGliZXRvbmxpbmUudHYKLnRpYmV0b25saW5lLnR2Ci50aWJldHN1 +bi5jb20KfHx0aWJldHdyaXRlcy5vcmcKLnRpbWUuY29tL3RpbWUvdGltZTEwMC9s +ZWFkZXJzL3Byb2ZpbGUvcmViZWwKLnRpbWUuY29tL3RpbWUvc3BlY2lhbHMvcGFj +a2FnZXMvYXJ0aWNsZS8wLDI4ODA0Ci50aW1lLmNvbS90aW1lL21hZ2F6aW5lCnx8 +YmxvZy50aW5leS5jb20KdGlueWNoYXQuY29tCnx8dGlueXBhc3RlLmNvbQp8fHRp +ZHlyZWFkLmNvbQoudGlzdG9yeS5jb20KfHx0a2NzLWNvbGxpbnMuY29tCnx8dGtm +b3J1bS50awoudG1hZ2F6aW5lLmNvbQp8fHRtYWdhemluZS5jb20KfGh0dHA6Ly90 +bWkubWUKLnRuYWZsaXguY29tCnx8dG5hZmxpeC5jb20KdG9nZXR0ZXIuY29tCi50 +b2t5by0yNDcuY29tCnRva3lvLWhvdC5jb20KfHx0b2t5b2NuLmNvbQoudG9uby1v +a2EuanAKdG9ueXlhbi5uZXQKLnRvb2RvYy5jb20KdG9vbmVsLm5ldAoudG9wbmV3 +cy5pbgp8fHRvcHNoYXJlLnVzCi50b3BzaGFyZXdhcmUuY29tCnx8dG9wc3R5bGU0 +LmNvbQp8fHRvcHN5LmNvbQp0b3BzeS5jb20KdG9yYS50bwoudG9ycHJvamVjdC5v +cmcKfHx0b3Jwcm9qZWN0Lm9yZwp0b3JyZW50Y3JhenkuY29tCnx8dG9ycmVudGNy +YXp5LmNvbQp8fHRvcnZwbi5jb20KdG91Y2g5OS5jb20KfHx0b3V0ZnIuY29tCi50 +cGkub3JnLnR3Cnx8dHBpLm9yZy50dwp8fHRyYW5zZ3Jlc3Npb25pc20ub3JnCnx8 +dHJhbnNwYXJlbmN5Lm9yZwp8fHRyYXZlbGlubG9jYWwuY29tCnRyZW5kc21hcC5j +b20KfHx0cmVuZHNtYXAuY29tCi50cmlhbG9mY2NwLm9yZwp8fHRyaWFsb2ZjY3Au +b3JnCnx8dHJpcG9kLmNvbQpAQHx8d3d3LnRyaXBvZC5jb20KLnRyb3V3Lm5sCi50 +cnQubmV0LnRyCnRydGMuY29tLnR3CnRydWx5ZXJnb25vbWljLmNvbQp8fHRydXN0 +ZWRiaS5jb20KLnRydXRoMTAxLmNvLnR2CnxodHRwOi8vdHJ1dGgxMDEuY28udHYK +fHx0cnV0aGNuLmNvbQoudHJ1dmVvLmNvbQoudHNlbXR1bGt1LmNvbQp0c3F1YXJl +LnR2CnRzdW5hZ2FydW1vbi5jb20KfGh0dHA6Ly93d3cudHN1cnUtYmlyZC5uZXQv +Ci50c2N0di5uZXQKfHx0dDEwNjkuY29tCnx8dHR0YW4uY29tCi50dHRhbi5jb20K +YmIudHR2LmNvbS50dy9iYgoudHVhbnp0LmNvbQoudHViZS5jb20KdHViZTguY29t +Cnx8dHViZTguY29tCnR1YmVjYW8uY29tCnx8dHViZXdvbGYuY29tCnR1aWRhbmcu +bmV0CnR1aWRhbmcub3JnCmJicy50dWl0dWkuaW5mbwp8fHR1bXV0YW56aS5jb20K +LnR1bmVpbi5jb20KfGh0dHA6Ly90dW5laW4uY29tCnx8dHVubmVsYmVhci5jb20K +LnR1cmJvYml0Lm5ldAp8aHR0cDovL3R1cmJvYml0Lm5ldAp8fHR1cm5pbmd0b3Jz +by5jb20KfHx0dXh0cmFpbmluZy5jb20KCgohLS0tLS0tLS0tLS0tLVR1bWJsci0t +LS0tCiEtLXx8dHVtYmxyLmNvbQohLS1AQHx8YXNzZXRzLnR1bWJsci5jb20KIS0t +QEB8fGRhdGEudHVtYmxyLmNvbQohLS1AQHx8bWVkaWEudHVtYmxyLmNvbQohLS1A +QHx8c3RhdGljLnR1bWJsci5jb20KIS0tQEB8fHd3dy50dW1ibHIuY29tCnx8MzAx +d29ya3Mub3JnCnx8MzY1c2luZ2xlcy5jb20uYXIKfHxhbGwtdGhhdC1pcy1pbnRl +cmVzdGluZy5jb20KfHxhcnQtb3ItcG9ybi5jb20KfHxuZXdzLmF0ZWJpdHMuY29t +Cnx8dHVtYmxyLmF3Zmxhc2hlci5jb20KfHxiYWRhc3Nqcy5jb20KfHxiYXNldGlt +ZXNoZWlnaHRkaXZpZGVkYnkyLmNvbQp8fGJlbmphbWluc3RlLmluCnx8YmxvZy5i +aXJkaG91c2VhcHAuY29tCnx8Ym9idWxhdGUuY29tCnx8Ym9uam91cmxlc2dlZWtz +LmNvbQp8fGJvb2tzaGVsZnBvcm4uY29tCnx8YmxvZy5ib3hjYXIuaW8KfHxibG9n +LmJpdGx5LmNvbQp8fGNoZXZyb253cDcuY29tCnx8Y2xpZW50c2Zyb21oZWxsLm5l +dAp8fGNvZGVib3hhcHAuY29tCnx8Y29va2luZ3RvdGhlZ29vZGxpZmUuY29tCnx8 +Y3ViaWNsZTE3LmNvbQp8fHBob3Rvcy5kYWlseW1lLmNvbQp8fGRhdmlkc2xvZy5j +b20KfHxibG9nLmRhdmlkemllZ2xlci5uZXQKfHxibG9nLmRheW9uZWFwcC5jb20K +fHxkcmV3b2xhbm9mZi5jb20KfHxibG9nLmRyaWJiYmxlLmNvbQp8fGNoYW9zLmUt +c3BhY3kuY29tCnx8ZWFtb25uYnJlbm5hbi5jb20KfHxldmVyeWRheS1jYXJyeS5j +b20KfHxleWVzcGlyaXQuaW5mbwp8fGxpZmUuZmx5NGV2ZXIubWUKfHxmcmVkd2ls +c29uLnZjCnx8ZnVja2dmdy5jb20KfHxnZWVrbWFkZS5jby51awp8fGdlbmVyZXNp +cy5jb20KfHxuZXdzLmdob3N0ZXJ5LmNvbQp8fGdpdmVtZXNvbWV0aGluZ3RvcmVh +ZC5jb20KfHxibG9nLmdvd2FsbGEuY29tCnx8aGVpeW8uaW5mbwp8fGhlbGxvbmV3 +eW9yay51cwp8fGJsb2cuaG90cG90YXRvLmNvbQp8fGlhbG1vc3RsYXVnaC5jb20K +fHxibG9nLmlmdHR0LmNvbQp8fGJsb2cuaW5zdGFncmFtLmNvbQp8fGJsb2cuaW5z +dGFwYXBlci5jb20KfHxpbnRlcmVzdGluZ2xhdWdoLmNvbQp8fGJsb2cuaXBob25l +LWRldi5vcmcKfHxqYXlwYXJraW5zb25tZC5jb20KfHxibG9nLmpvZXlyb2JlcnQu +b3JnCnx8a3Qua2NvbWUub3JnCnx8bXkua2Vzby5jbgp8fGJsb2cua2lja3N0YXJ0 +ZXIuY29tCnx8YmxvZy5rbC5hbQp8fGJsb2cua2xpcC5tZQp8fHQua3VuLmltCnx8 +YmxvZy5saWdodGJveC5jb20KfHxsaXR0bGViaWdkZXRhaWxzLmNvbQp8fGxvdmVx +dWlja3NpbHZlci5jb20KfHxseXJpY3NxdW90ZS5jb20KfHxtYWRtZW51bmJ1dHRv +bmVkLmNvbQp8fG1hcmNvLm9yZwp8fG1pbmltYWxtYWMuY29tCnx8bWl4ZWRtZWRp +YWxhYnMuY29tCnx8bW9kZmV0aXNoLmNvbQp8fGJsb2cubW9uZ29kYi5vcmcKfHxu +YXZpZ2VhdGVycy5jb20KfHxsb25kb24ubmVpZ2hib3Job29kci5jb20KfHxibG9n +LnBhdGguY29tCnx8cGFyaXNsZW1vbi5jb20KfHxibG9nLnBpa2NodXIuY29tCnx8 +YmxvZy5yb2NrbWVsdC5jb20KfHxibG9nLnJvbWFuYW5kcmVnLmNvbQp8fHNvbG96 +b3Jyby50awp8fGJsb2cuc3BhcnJvd21haWxhcHAuY29tCnx8c3R1ZmZpbXJlYWRp +bmcuY29tCnx8YmxvZy5zdW1taWZ5LmNvbQp8fHRoZWRhaWx5d2guYXQKfHx0aGVp +bnRlcm5ldHdpc2hsaXN0LmNvbQp8fHRoaXNpc3doeXlvdWFyZWZhdC5jb20KfHx3 +d3cudGlmZmFueWFybWVudC5jb20KfHx0amhvbG93YXljaHVrLmNvbQp8fHRvbXNj +LmNvbQp8fGJsb2cudG9waWZ5LmNvbQp8fHRoZWh1bmdyeWR1ZGVzLmNvbQp8fHR1 +bWJsd2VlZC5vcmcKfHxzdGF0dXMudHdoaXJsLm9yZwohLXx8c3RhdHVzLnR3aXR0 +ZXIuY29tCnx8YmxvZy51c2EuZ292Cnx8cGhvdG8udXRvbS51cwp8fHYtc3RhdGUu +b3JnCnx8d2VsbHBsYWNlZHBpeGVscy5jb20KfHx3aHlkaWR5b3VidXltZXRoYXQu +Y29tCnx8d29yZGJvbmVyLmNvbQp8fHdvcmRzYW5kdHVyZHMuY29tCnx8d29yc3R0 +aGluZ2lldmVyYXRlLmNvbQp8fHhtdXNpYy5mbQp8fHh1emh1b2VyLmNvbQp8fGJk +LnpoZS5sYQp8fGNvY29hLnpvbmJsZS5uZXQKCi50di5jb20KfHx3d3cudHYuY29t +CnxodHRwOi8vdHYuY29tCnx8dHYtaW50cm9zLmNvbQp0dmFudHMuY29tCmZvcnVt +LnR2Yi5jb20vCnR2Ym94bm93LmNvbQp0dmlkZXIuY29tCnx8dHZ1bmV0d29ya3Mu +Y29tCi50dy1ucG8ub3JnCnR3YXBwZXJrZWVwZXIuY29tCnx8dHdhcHBlcmtlZXBl +ci5jb20KfHx0d2F1ZC5pbwoudHdhdWQuaW8KLnR3YmJzLm5ldC50dwp0d2Jicy5v +cmcKdHdiYnMudHcKfHx0d2Jsb2dnZXIuY29tCnR3ZWVwbWFnLmNvbQoudHdlZXBt +bC5vcmcKfHx0d2VlcG1sLm9yZwoudHdlZXRiYWNrdXAuY29tCnx8dHdlZXRiYWNr +dXAuY29tCnR3ZWV0Ym9hcmQuY29tCnx8dHdlZXRib2FyZC5jb20KLnR3ZWV0Ym9u +ZXIuYml6Cnx8dHdlZXRib25lci5iaXoKLnR3ZWV0ZGVjay5jb20KfHx0d2VldGRl +Y2suY29tCnxodHRwOi8vZGVjay5seQohLS0gT3BlcmF0aW9uIGRpc2NvbnRpbnVl +ZAohLS18fHR3ZWV0ZS5uZXQKIS0tbS50d2VldGUubmV0Cnx8bXR3LnRsCnx8dHdl +ZXRlZHRpbWVzLmNvbQohLS0gT3BlcmF0aW9uIGRpc2NvbnRpbnVlZAohLS10d2Vl +dG1lbWUuY29tCnx8dHdlZXRteWxhc3QuZm0KdHdlZXRwaG90by5jb20KfHx0d2Vl +dHBob3RvLmNvbQp8fHR3ZWV0cmFucy5jb20KdHdlZXRyZWUuY29tCnx8dHdlZXRy +ZWUuY29tCnx8dHdlZXR3YWxseS5jb20KdHdlZXR5bWFpbC5jb20KfHx0d2Z0cC5v +cmcKdHdpYmFzZS5jb20KLnR3aWJibGUuZGUKfHx0d2liYmxlLmRlCnR3aWJib24u +Y29tCnx8dHdpYnMuY29tCnR3aWNzeS5jb20KLnR3aWZhbi5jb20KfGh0dHA6Ly90 +d2lmYW4uY29tCnR3aWZmby5jb20KfHx0d2lmZm8uY29tCnR3aWxvZy5vcmcKdHdp +bWJvdy5jb20KfHx0d2ltYm93LmNvbQp8fHR3aW5kZXh4LmNvbQp0d2lwcGxlLmpw +Cnx8dHdpcHBsZS5qcAp8fHR3aXAubWUvCnR3aXN0YXIuY2MKdHdpc3Rlcm5vdy5j +b20KdHdpc3RvcnkubmV0CnR3aXRicm93c2VyLm5ldAp8fHR3aXRjYXVzZS5jb20K +fHx0d2l0Z2V0aGVyLmNvbQp8fHR3aWdnaXQub3JnCnR3aXRnb28uY29tCnR3aXRp +cS5jb20KfHx0d2l0aXEuY29tCi50d2l0bG9uZ2VyLmNvbQp8fHR3aXRsb25nZXIu +Y29tCnxodHRwOi8vdGwuZ2QvCnR3aXRvYXN0ZXIuY29tCnx8dHdpdG9hc3Rlci5j +b20KfHx0d2l0b25tc24uY29tCi50d2l0cGljLmNvbQp8fHR3aXRwaWMuY29tCnR3 +aXRyZWZlcnJhbC5jb20KIS0tU2FtZSBJUAoudHdpdDJkLmNvbQp8fHR3aXQyZC5j +b20KLnR3aXRzdGF0LmNvbQp8fHR3aXRzdGF0LmNvbQp8fGRvdGhleWZvbGxvd2Vh +Y2hvdGhlci5jb20KfHxmaXJzdGZpdmVmb2xsb3dlcnMuY29tCnx8cmV0d2VldGVm +ZmVjdC5jb20KfHx0d2VlcGxpa2UubWUKfHx0d2VlcGd1aWRlLmNvbQp8fHR1cmJv +dHdpdHRlci5jb20KLnR3aXR2aWQuY29tCnx8dHdpdHZpZC5jb20KCjE5OS41OS4x +NDguMjAKfGh0dHA6Ly90LmNvCnxodHRwczovL3QuY28KfGh0dHA6Ly90d3QudGwK +dHdpdHRib3QubmV0CnR3aXR0ZXIuY29tCnx8dHdpdHRlci5jb20KfHx0d2l0dGVy +LmpwCnx8dHd0dHIuY29tCi9eaHR0cHM/OlwvXC9bXlwvXSt0d2l0dGVyXC5jb20v +Cgp8fHR3aXR0ZXI0ai5vcmcKLnR3aXR0ZXJjb3VudGVyLmNvbQp8fHR3aXR0ZXJj +b3VudGVyLmNvbQp0d2l0dGVyZmVlZC5jb20KLnR3aXR0ZXJnYWRnZXQuY29tCnx8 +dHdpdHRlcmdhZGdldC5jb20KLnR3aXR0ZXJrci5jb20KfHx0d2l0dGVya3IuY29t +Cnx8dHdpdHRlcm1haWwuY29tCnR3aXR0ZXJ0aW0uZXMKfHx0d2l0dGVydGltLmVz +CnR3aXR0aGF0LmNvbQp8fHR3aXR0dXJrLmNvbQoudHdpdHR1cmx5LmNvbQp8fHR3 +aXR0dXJseS5jb20KLnR3aXR6YXAuY29tCnR3aXlpYS5jb20KLnR3cmVnLmluZm8K +fHx0d3JlZy5pbmZvCnx8dHdzdGFyLm5ldAoKLnR3dGtyLmNvbQp8aHR0cDovL3R3 +dGtyLmNvbQp8fHR3aW1nLmNvbQp0d3RybGFuZC5jb20KdHd1cmwubmwKLnR3eWFj +Lm9yZwp8fHR3eWFjLm9yZwoudHljb29sLmNvbQp8fHR5Y29vbC5jb20KdHluc29l +Lm9yZwp8fHR6YW5nbXMuY29tCgohLS10eXBlcGFkCnx8dHlwZXBhZC5jb20KQEB8 +fHd3dy50eXBlcGFkLmNvbQpAQHx8c3RhdGljLnR5cGVwYWQuY29tCnx8YmxvZy5l +eHBvZnV0dXJlcy5jb20KfHxsZWdhbHRlY2gubGF3LmNvbQp8fHd3dy5sb2ljbGVt +ZXVyLmNvbQp8fGxhdGltZXNibG9ncy5sYXRpbWVzLmNvbQp8fGJsb2cucGFsbS5j +b20KIS18fGJsb2cuc2Vlc21pYy5jb20KfHxibG9ncy50YW1wYWJheS5jb20KfHxj +b250ZXN0cy50d2lsaW8uY29tCiEtbGF3cHJvZmVzc29ycy50eXBlcGFkLmNvbS9j +aGluYV9sYXdfcHJvZgoKIS0tLS0tLS0tLS0tLS1Ud2l0ZXNlLS0tLS0KZW1ici5p +bgp8fGVtYnIuaW4KZ3VvbWluLnVzL2xvZ2luCgohLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS1VVS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8dWJlcnByb3h5 +Lm5ldAouc3JjZi51Y2FtLm9yZy9zYWxvbi8KfHx1Y2RjMTk5OC5vcmcKfGh0dHA6 +Ly9odW0qLnVjaGljYWdvLmVkdS9mYWN1bHR5L3l3YW5nL2hpc3RvcnkvCnx8dWRl +cnpvLml0Cnx8dWRuLmNvbQoudWRuLmNvbQp1ZnJlZXZwbi5jb20KLnVnby5jb20K +dWhycC5vcmcKdWlnaHVyYml6Lm5ldAoudWxpa2UubmV0CnVrbGlmZXJhZGlvLmNv +LnVrCnx8dWtsaWZlcmFkaW8uY28udWsKdWx0cmF2cG4uZnIKfHx1bHRyYXZwbi5m +cgp1bHRyYXhzLmNvbQp8fHVuYmxvY2suY24uY29tCnx8dW5ibG9ja3NpdC5lcwp1 +bmN5Y2xvbWVkaWEub3JnCnVuY3ljbG9wZWRpYS5pbmZvCnxodHRwOi8vdW5jeWNs +b3BlZGlhLnR3Cnx8dW5ob2x5a25pZ2h0LmNvbQoudW5pLmNjCnVuaWNvZGUub3Jn +Ci51bml0ZWRkYWlseS5jb20ubXkvaW5kZXgucGhwPwoudW5peDEwMC5jb20KfHx1 +bmtub3duc3BhY2Uub3JnCnVucG8ub3JnCnx8dW9jbi5vcmcKdG9yLnVwZGF0ZXN0 +YXIuY29tCi51cGxvYWQ0dS5pbmZvCi51cGxvYWRlZC50by9maWxlCnxodHRwOi8v +dXBsb2FkZWQudG8vZmlsZQoudXBsb2Fkc3RhdGlvbi5jb20vZmlsZQp3d3cudXJi +YW5vdXRmaXR0ZXJzLmNvbQpteXNoYXJlLnVybC5jb20udHcvCnx8dXJsYm9yZy5j +b20KfHx1cmxwYXJzZXIuY29tCnVzLnRvCnx8dXNhY24uY29tCmJldGEudXNlanVt +cC5jb20KfHx1c2ZrLm1pbAplYXJ0aHF1YWtlLnVzZ3MuZ292L2VxY2VudGVyL3Jl +Y2VudGVxc3d3L01hcHMvMTAvMTA1XzMwLnBocAp8fHVzbWMubWlsCi51c3RyZWFt +LnR2Cnx8dXN0cmVhbS50dgp1c3VzLmNjCi51dXNoYXJlLmNvbQp8aHR0cDovL3V1 +c2hhcmUuY29tCi51d2FudHMuY29tCi51d2FudHMubmV0Cnx8dXlnaHVyY29uZ3Jl +c3Mub3JnCnV5Z3VyLm9yZwoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYt +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp2NzAudXMKfGh0dHA6Ly92Nzk3Njg4 +OC5pbmZvLwp8fHZhYXlvby5jb20KfHx2YWx1ZS1kb21haW4uY29tCi52YW42OTgu +Y29tCi52YW5lbXUuY24KLnZhbmlsbGEtanAuY29tCnZhbnNreS5jb20KfHx2YXB1 +cmwuY29tCnx8dmNmLW9ubGluZS5vcmcKfHx2Y2ZidWlsZGVyLm9yZwoudmVsa2Fl +cG9jaGEuc2sKLnZlbmJicy5jb20KLnZlbmNoaW5hLmNvbQp2ZW9oLmNvbQoudmVy +aXpvbi5uZXQKfHx2ZXJ5YnMuY29tCi52ZnQuY29tLnR3CnZpZGVvYmFtLmNvbQp8 +fHZpZGVvYmFtLmNvbQoudmlkZW9tby5jb20KfHx2aWRvZW1vLmNvbQp8fHZpa2ku +Y29tCnZpbWVvLmNvbQp8fHZpbWdvbGYuY29tCnx8dmltcGVyYXRvci5vcmcKfHx2 +aW5jbmQuY29tCnx8dmlubmlldi5jb20KdmlkZW8udGlzY2FsaS5pdC9jYW5hbGkv +dHJ1dmVvCi52bGxjcy5vcmcKfHx2bWl4Y29yZS5jb20KY24udm9hLm1vYmkKdHcu +dm9hLm1vYmkKLnZvYWNoaW5lc2VibG9nLmNvbQp8fHZvYWNoaW5lc2VibG9nLmNv +bQohLS12b2FjaGluZXNlYmxvZy5jb20vaGVxaW5nbGlhbgp2b2FnZC5jb20Kdm9h +Y2FudG9uZXNlLmNvbQp8fHZvYWNhbnRvbmVzZS5jb20Kdm9hY2hpbmVzZS5jb20K +fHx2b2FjaGluZXNlLmNvbQp2b2F0aWJldGFuLmNvbQp8fHZvYXRpYmV0YW4uY29t +Ci52b2FuZXdzLmNvbQp2b2NuLnR2Ci52b3Qub3JnCnx8dm90Lm9yZwp3d3cudm95 +LmNvbQp8fHd3dy52cG5jdXAuY29tCnZwbmJvb2suY29tCnZwbmZpcmUuY29tCnx8 +dnBuZ2F0ZS5qcAoudnBuZ2F0ZS5uZXQKfHx2cG5nYXRlLm5ldAp8fHZwbnBvcC5j +b20KfHx2cG5wcm9uZXQuY29tCnx8dnR1bm5lbC5jb20KCiEtLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLVdXLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbGlzdHMu +dzMub3JnL2FyY2hpdmVzL3B1YmxpYwp8fHdhZmZsZTE5OTkuY29tCi5qeXpqLndh +cW4uY29tCnx8anl6ai53YXFuLmNvbQoud2FoYXMuY29tCi53YWlnYW9idS5jb20K +d2Fpa2V1bmcub3JnL3BocF93aW5kCi53YWl3YWllci5jb20KfGh0dHA6Ly93YWl3 +YWllci5jb20Kd2FsbG9ybm90Lm9yZwp8fHdhbGxwYXBlcmNhc2EuY29tCnx8d3d3 +Lndhbi1wcmVzcy5vcmcKfHx3YW5kZXJpbmdob3JzZS5uZXQKfHx3YW5nYWZ1Lm5l +dAp8fHdhbmdqaW5iby5vcmcKLndhbmdqaW5iby5vcmcKd2FuZ2xpeGlvbmcuY29t +CndhbmdydW9zaHVpLm5ldAp3d3cud2FuZ3J1b3dhbmcub3JnCndhbnQtZGFpbHku +Y29tCndhcGVkaWEubW9iaS96aHNpbXAKLndhdHRwYWQuY29tCnx8d2F0dHBhZC5j +b20KLm1ha3pob3Uud2FyZWhvdXNlMzMzLmNvbQp3YXNoZW5nLm5ldAoud2RmNS5j +b20KLndlYXJuLmNvbQp8fHdlYXJuLmNvbQp8fGh1ZGF0b3JpcS53ZWIuaWQKfHx3 +ZWIycHJvamVjdC5uZXQKd2ViYmFuZy5uZXQKd2VibGFndS5jb20KfHx3ZWJtcHJv +amVjdC5vcmcKd2Vicy10di5uZXQKd2Vic2hvdHMuY29tCndlYnNpdGVwdWxzZS5j +b20vaGVscC90ZXN0dG9vbHMuY2hpbmEtdGVzdC5odG1sCndlYndvcmtlcmRhaWx5 +LmNvbQp3ZWVld29vby5uZXQvaHNzL2hvdHNwb3RfY24KLndlZWttYWcuaW5mbwou +d2Vmb25nLmNvbQp3ZWlib2xlYWsuY29tCndlaWppbmdzaGVuZy5vcmcKLndlaW1p +bmcuaW5mbwp3ZWlxdWFud2FuZy5vcmcKfGh0dHA6Ly93ZWlzdW8ud3MKd2VuZ2V3 +YW5nLmNvbQoud2VuZ2V3YW5nLm9yZwp8fHdlbmdld2FuZy5vcmcKLndlbmh1aS5j +aAp8fHdlbmt1LmNvbQp8aHR0cDovL2Jsb2cud2Vud2VpcG8uY29tLwp3ZW54dWVj +aXR5LmNvbQoud2VueXVuY2hhby5jb20KfHx3ZW55dW5jaGFvLmNvbQp3ZXN0Y2Eu +Y29tCnx8d2VzdGNhLmNvbQp8fHdlc3Rlcm53b2x2ZXMuY29tCmhrZy53ZXN0a2l0 +Lm5ldAp3d3cud2V0MTIzLmNvbQp8fHdlcG4uaW5mbwp3ZXRwdXNzeWdhbWVzLmNv +bQoud2V0cGxhY2UuY29tCndleGlhb2JvLm9yZwp8fHdleGlhb2JvLm9yZwp3ZXpo +aXlvbmcub3JnCnx8d2V6b25lLm5ldAoud2ZvcnVtLmNvbQp8fHdmb3J1bS5jb20v +Ci53aGF0YmxvY2tlZC5jb20KfHx3aGF0YmxvY2tlZC5jb20KLndoaXBwZWRhc3Mu +Y29tCndoeWxvdmVyLmNvbQp8fHdoeXgub3JnCmV2Y2hrLndpa2lhLmNvbS93aWtp +LyVFNSVBNCVBNyVFNyVCNCU4MCVFNSU4NSU4MyVFNiU5OSU4MiVFNSVBMCVCMQpj +bi51bmN5Y2xvcGVkaWEud2lraWEuY29tCnpoLnVuY3ljbG9wZWRpYS53aWtpYS5j +b20KfHx3aWtpbGVha3MuY2gKfHx3aWtpbGVha3MuZGUKfHx3aWtpbGVha3MuZXUK +fHx3aWtpbGVha3MubHUKLndpa2lsZWFrcy5vcmcKfHx3aWtpbGVha3Mub3JnCnx8 +d2lraWxlYWtzLnBsCnx8Y29sbGF0ZXJhbG11cmRlci5jb20KfHxjb2xsYXRlcmFs +bXVyZGVyLm9yZwp3aWtpbGl2cmVzLmluZm8vd2lraS8lRTklOUIlQjYlRTUlODUl +QUIlRTUlQUUlQUElRTclQUIlQTAKfHx3aWtpbWFwaWEub3JnCnx8c2VjdXJlLndp +a2ltZWRpYS5vcmcKfHx3aWtpbWVkaWEub3JnLm1vCnpoLndpa2luZXdzLm9yZwp8 +fHdpa2l3aWtpLmpwCnx8c3BvcnRzLndpbGxpYW1oaWxsLmNvbQp8fHdpbGx3Lm5l +dAp8fHdpbmRvd3NwaG9uZW1lLmNvbQp3aW53aGlzcGVycy5pbmZvCnx8d2lyZWRi +eXRlcy5jb20KfHx3aXJlZHBlbi5jb20KLndpc2V2aWQuY29tCnx8d2lzZXZpZC5j +b20KLndpdG5lc3NsZWV0ZWFjaGluZy5jb20KLndpdG9waWEubmV0Ci53by50Ywp8 +fHdvZXNlci5jb20KfGh0dHA6Ly93b2VzZXJtaWRkbGUtd2F5Lm5ldC8Kd29sZmF4 +LmNvbQp8fHdvbGZheC5jb20KLndvbWVuc3JpZ2h0c29mY2hpbmEub3JnCnx8d29t +ZW5zcmlnaHRzb2ZjaGluYS5vcmcKd29vcGllLmpwCnx8d29vcGllLmpwCndvb3Bp +ZS50dgp8fHdvb3BpZS50dgp8fHdvcmthdHJ1bmEuY29tCi53b3JsZGNhdC5vcmcK +d29ybGRqb3VybmFsLmNvbQoKIS0tLS0tLS0tLS0tLS1Xb3JkcHJlc3MgQmxvZy0t +LS0tCiEtfHx0ZWNoLmJsb2cuYWtuaW4ubmFtZQohLXx8YXV0b21hdHRpYy5jb20K +IS18fGJob3Jvd2l0ei5jb20KIS18fGJsb2cuYml0dG9ycmVudC5jb20KIS18fGJs +b2dtYXZlcmljay5jb20KIS18fGJyZWFraW5nbmV3c3dvcmxkLm9yZwohLXx8Ymxv +Z3MuY25uLmNvbQohLXx8YmxvZy5kcmFrZW5ncmVuLmNvbQohLXx8YmxvZy5mZWVk +bHkuY29tCiEtfHxmb3Vyd2FsbHNhbmRhcm9vZi5jb20KIS18fGhlcmJzdXR0ZXIu +Y29tCiEtfHxoaXZlbWluZHMuY28udWsKIS18fGhvcGFyb3VuZHRoZWdsb2JlLmNv +bQohLXx8aHVuYnVsaW4uY29tCiEtfHxpY2FuaGFzY2hlZXpidXJnZXIuY29tCiEt +fHxzdXBwb3J0LmludGVuc2VkZWJhdGUuY29tCiEtfHxibG9nLmxpbmtlZGluLmNv +bQohLXx8bWVucm8ubWUKIS18fG1pY2hhZWxkZWhhYW4ubmV0CiEtfHxteW5va2lh +YmxvZy5jb20KIS18fG5hbmRhbGFsYS5jb20KIS18fHAydGhlbWUuY29tCiEtfHxw +aXhlbGJyZWFkLmNvbQohLXx8YmxvZy5waXhlbHBpcGUuY29tCiEtfHxibG9nLnBv +bGxkYWRkeS5jb20KIS18fHJhd2Zvb2Rzb3MuY29tCiEtfHxyYXlvdXMuY29tCiEt +fHxzZW1pY29sb25hcHBzLmNvbQohLXx8c2hhcnBpbnNhbmRpZWdvLmNvbQohLXx8 +c21lZGlvLmNvbQohLXx8c3RldmVibGFuay5jb20KIS18fGJsb2cuc3ltYmlhbi5v +cmcKIS18fHRoZWJyaWdhZGUuY29tCiEtfHxibG9nLnRoaW5nbGFicy5jb20KIS18 +fGNoaW5hLmJsb2dzLnRpbWUuY29tCiEtfHxibG9nLnRpbnlwaWMuY29tCiEtfHxi +bG9nLnR5cGVraXQuY29tCiEtfHxibG9nLndha29vcGEuY29tCiEtfHx3YXR0c3Vw +d2l0aHRoYXQuY29tCiEtfHx3ZWJtaW5rLmNvbQohLXpoZW54aWFuZy53b3JkcHJl +c3MuY29tCi53b3JkcHJlc3MuY29tCnx8d29yZHByZXNzLmNvbQohLXxodHRwOi8v +d3AuY29tLwohLUBAfGh0dHA6Ly93b3JkcHJlc3MuY29tCiEtQEB8aHR0cHM6Ly93 +b3JkcHJlc3MuY29tCiEtQEB8fGZpbGVzLndvcmRwcmVzcy5jb20KIS18fGFuZHJv +aWQud29yZHByZXNzLm9yZwohLXx8aW9zLndvcmRwcmVzcy5vcmcKIS18fHdvcm1z +Y3VscHRvci5jb20Kd294aW5naHVpZ3VvLmNvbQp3b3ctbGlmZS5uZXQKIS18fHdw +Lm1lCgoud3BvZm9ydW0uY29tCnx8d3BvZm9ydW0uY29tCi53cWxody5jb20KLndx +eWQub3JnCnx8d3F5ZC5vcmcKd3JjaGluYS5vcmcKd3JldGNoLmNjCiEtY24ud3Nq +LmNvbS9nYi8yMDEzMDIxNS90ZWMxMTM4NTMuYXNwCi53c2ouY29tCi53dGZwZW9w +bGUuY29tCi53dWFsYS5jb20Kd3VlcmthaXhpLmNvbQp3dWZpLm9yZy50dwp3dWpp +ZS5uZXQKd3VqaWVsaXVsYW4uY29tCnx8d3VqaWVsaXVsYW4uY29tCnd1a2FuZ3J1 +aS5uZXQKd3dpdHYuY29tCnd6eWJveS5pbS9wb3N0LzE2MAoKIS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tWFgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp8aHR0 +cDovL3d3dy54LWJlcnJ5LmNvbS9nb2FnZW50Cnx8eC1hcnQuY29tCnx8eC13YWxs +Lm9yZwp4MTk0OXguY29tCngzNjV4LmNvbQp4YW5nYS5jb20KfHx4YmFiZS5jb20K +Lnhib29rY24uY29tCnx8eGJvb2tjbi5jb20KfHx4Y2FmZS5pbgp4LnhjaXR5Lmpw +Ci54Y3JpdGljLmNvbQpkZXN0aW55LnhmaWxlcy50by91YmJ0aHJlYWRzCi54Zm0u +cHAucnUKeGdteWQuY29tCnhoNG4uY24vYmxvZwp4aGFtc3Rlci5jb20Kb25lLnh0 +aG9zdC5pbmZvCi54aWFvY2h1bmNuanAuY29tCnMueGlhb2QuaW4KLnhpYW9oZXhp +ZS5jb20KfHx4aWFvbWEub3JnCnx8eGlhb2hleGllLmNvbQp4aWV6aHVhLmNvbQou +eGluZy5jb20KfHx4aW5nLmNvbQoueGlubWlhby5jb20uaGsKfHx4aW5taWFvLmNv +bS5oawp4aW5zaGVuZy5uZXQKeGluc2hpanVlLmNvbQp4aW5odWFuZXQub3JnCnxo +dHRwOi8veGlueXViYnMubmV0CnhpemFuZy16aGl5ZS5vcmcKeGpwLmNjCnx8eGpw +LmNjCnx8eG1sLXRyYWluaW5nLWd1aWRlLmNvbQp4bW92aWVzLmNvbQp8fHhueHgu +Y29tCnhwZG8ubmV0Cnx8eHB1ZC5vcmcKfHxrMi54cmVhLmNvbQp8fHh0dWJlLmNv +bQpibG9nLnh1aXRlLm5ldAp2bG9nLnh1aXRlLm5ldAp4dXpoaXlvbmcubmV0Cnx8 +eHVjaGFvLm9yZwp4dWNoYW8ubmV0Cnx8eHVjaGFvLm5ldAp4dmVkaW9zLmNvbQou +eHZpZGVvcy5jb20KLnh4YmJ4LmNvbQp8fHh4eHguY29tLmF1Cnh5cy5vcmcKeHlz +YmxvZ3Mub3JnCnh5eTY5LmNvbQp4eXk2OS5pbmZvCgohLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS1ZWS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnBhZ2UuYmlk +LnlhaG9vLmNvbQpibG9ncy55YWhvby5jby5qcApidXkueWFob28uY29tLnR3L2dk +c2FsZQpoay55YWhvby5jb20KaGsua25vd2xlZGdlLnlhaG9vLmNvbQpoay5teWJs +b2cueWFob28uY29tCmhrLm5ld3MueWFob28uY29tCmhrLnJkLnlhaG9vLmNvbQpo +ay5zZWFyY2gueWFob28uY29tL3NlYXJjaApoay52aWRlby5uZXdzLnlhaG9vLmNv +bS92aWRlbwptZW1lLnlhaG9vLmNvbQp0dy55YWhvby5jb20KdHcubXlibG9nLnlh +aG9vLmNvbQp0dy5uZXdzLnlhaG9vLmNvbQpwdWxzZS55YWhvby5jb20KdXBjb21p +bmcueWFob28uY29tCnZpZGVvLnlhaG9vLmNvbQp8fHlhaG9vLmNvbS5oawp5YW0u +Y29tCnx8eWFtLmNvbQp5YXNuaS5jby51awp8fHlhc3VrdW5pLm9yLmpwCi55ZHku +Y29tCnx8eWVlbG91LmNvbQp5ZWV5aS5jb20KeWVnbGUubmV0Cnx8eWVnbGUubmV0 +Cnlmcm9nLmNvbQp8fHloY3cubmV0Ci55aS5vcmcKLnlpZGlvLmNvbQp8fHlpZGlv +LmNvbQp5aWx1YmJzLmNvbQp4YS55aW1nLmNvbQoueWlwdWIuY29tCnx8eWlwdWIu +Y29tCi55b2dpY2hlbi5vcmcKfHx5b2dpY2hlbi5vcmcKeW9uZy5odQoueW9ya2Ji +cy5jYQp8fHlvdXh1LmluZm8KLnl5aWkub3JnCnx8eXlpaS5vcmcKLnl6emsuY29t +Cnx8eXp6ay5jb20KLnlvdWppenouY29tCnx8eW91aml6ei5jb20KeW91bWFrZXIu +Y29tCnlvdXBhaS5vcmcKfHx5b3VwYWkub3JnCi55b3VyLWZyZWVkb20ubmV0Ci55 +b3VzZW5kaXQuY29tCnx8eW91c2VuZGl0LmNvbQp5b3V0aGJhby5jb20KLnlvdXRo +bmV0cmFkaW8ub3JnL3RtaXQvZm9ydW0KYmxvZy55b3V0aHdhbnQuY29tLnR3CnNo +YXJlLnlvdXRod2FudC5jb20udHcKdG9waWMueW91dGh3YW50LmNvbS50dwoueW91 +cG9ybi5jb20KfHx5b3Vwb3JuLmNvbQp8fHlvdXR1LmJlCi55b3V0dWJlLmNvbQp8 +fHlvdXR1YmUuY29tCiEtLS9eaHR0cHM/OlwvXC9bXlwvXSt5b3V0dWJlXC5jb20v +Cnx8eW91dHViZS1ub2Nvb2tpZS5jb20KLnlvdXR1YmVjbi5jb20KeW91dmVyc2lv +bi5jb20KfHx5b3V2ZXJzaW9uLmNvbQpibG9nLnlvdXh1LmluZm8vMjAxMC8wMy8x +NC93ZXN0LWNoYW1iZXIKIS1Zb3V0dWJlIENETgp8fHl0aW1nLmNvbQp5dGh0Lm5l +dAp5dWFubWluZy5uZXQKfHx5dW5jaGFvLm5ldAp8fHl2ZXNnZWxleW4uY29tCnl4 +NTEubmV0Cnx8eXltYXlhLmNvbQoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t +WlotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp6YWNlYm9vay5jb20KfHx6YW5u +ZWwuY29tCnx8dGFwMTEuY29tCmx1bnRhbi56YW9iYW8uY29tCi56YW9iYW8uY29t +LnNnCnx8emFvYmFvLmNvbS5zZwouemFvem9uLmNvbQp8fHphcmlhcy5jb20Kd3d3 +LnphdXJ1cy5vcmcudWsKLnpkbmV0LmNvbS50dy9uZXdzL3NvZnR3YXJlLzAsMjAw +MDA4NTY3OCwyMDExMTE4NywwMAouemVuZ2ppbnlhbi5vcmcKfHx6ZXV0Y2guY29t +Cnd3dy56ZnJlZXQuY29tL3Bvc3QvdXNlanVtcC1icm93bnMuaHRtbAp6Z3pjamou +bmV0Ci56aGFuYmluLm5ldAp8fHpoYW5iaW4ubmV0CnpoZW5naHVpLm9yZwp6aGVu +bGlidS5pbmZvCnx8emhlbmxpYnUuaW5mbwouemhpbmVuZ2x1eW91LmNvbQp8fHpo +b25nZ3VvdGVzZS5uZXQKfHx6aG9uZ21lbmcub3JnCnx8emhyZWFkZXIuY29tCnpo +dWljaGFndW9qaS5vcmcKfHx6aHVpY2hhZ3Vvamkub3JnCi56aWRkdS5jb20vZG93 +bmxvYWQKfHx6aWxsaW9uay5jb20KemluaW8uY29tCnx8emluaW8uY29tCnx8emlw +bGliLmNvbQouemthaXAuY29tCnx8emthaXAuY29tCnx8emxpYi5uZXQvCnptdy5j +bgp6b21vYm8ubmV0Ci56b25hZXVyb3BhLmNvbQp8fHpvbmFldXJvcGEuY29tCnx8 +em9vdG9vbC5jb20KLnpvb3psZS5uZXQKd3JpdGVyLnpvaG8uY29tCi56c2hhcmUu +bmV0L2Rvd25sb2FkCi56c3JoYW8uY29tCi56dW8ubGEKfHx6dW8ubGEKLnp1b2xh +LmNvbQp8fHp1b2xhLmNvbQp8fHp2ZXJlZmYuY29tCnp5emM5LmNvbQoKIS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tT3RoZXItLS0tLS0tLS0tLS0tLS0tLS0tLS0t +CiEtLWZhbHVuCmZyZWVuZXQKcT1mcmVlZG9tCnElM0RmcmVlZG9tCnJlbWVtYmVy +aW5nX3RpYW5hbm1lbl8yMF95ZWFycwpzZWFyY2gqc2FmZXdlYgpxPXRyaWFuZ2xl +CnElM0RUcmlhbmdsZQp1bHRyYXJlYWNoCnVsdHJhc3VyZgp6aGVuZ2ppYW4KCiEt +LUJhIEtlCiVFNyVCRCVBMiVFOCVBRiVCRQohLS1CYW8gVG9uZwohLS0uZ29vZ2xl +LiolRTklQjIlOEQlRTUlQkQlQTQKIS0tLmdvb2dsZS4qJUU5JUFFJTkxJUU1JUJE +JUE0CiEtLUJvIFh1bgpzZWFyY2gqJUU1JThEJTlBJUU4JUFFJUFGCiEtLURhIEpp +IFl1YW4Kc2VhcmNoKiVFNSVBNCVBNyVFNyVCQSVBQSVFNSU4NSU4MwohLS1EaWFv +IFl1IERhbwpzZWFyY2gqJUU5JTkyJTkzJUU5JUIxJUJDJUU1JUIyJTlCCiEtLWRv +bmcgdGFpIHdhbmcKJUU1JThBJUE4JUU2JTgwJTgxJUU3JUJEJTkxCiEtLUR1byBX +ZWkgKGhhbnMvaGFudCkKc2VhcmNoKiVFNSVBNCU5QSVFNyVCNiVBRApzZWFyY2gq +JUU1JUE0JTlBJUU3JUJCJUI0CnNlYXJjaCpmcmVlZ2F0ZQohLS0oTGkpIEZhIEh1 +aQpzZWFyY2gqJUU2JUIzJTk1JUU0JUJDJTlBCiEtLWZhIGx1biBkYSBmYQolRTYl +QjMlOTUlRTglQkQlQUUlRTUlQTQlQTclRTYlQjMlOTUKIS0tRmEgTHVuIEdvbmc6 +IFRyYWRpdGlvbmFsIENoaW5lc2UKJUU2JUIzJTk1JUU4JUJDJUFBJUU1JThBJTlG +CiEtLUZhIEx1biBHb25nOiBTaW1wbGlmaWVkIENoaW5lc2UKJUU2JUIzJTk1JUU4 +JUJEJUFFJUU1JThBJTlGCiEtLUh1IEhhaSBGZW5nCiVFOCU4MyVBMSVFNiVCNSVC +NyVFNSVCMyVCMAohLS1IdSBIYWkgUWluZwolRTglODMlQTElRTYlQjUlQjclRTYl +QjglODUKIS0tSHVhIEh1YSBHb25nIFppCnNlYXJjaColRTglOEElQjElRTglOEEl +QjElRTUlODUlQUMlRTUlQUQlOTAKIS0tSmkgWXVhbgpzZWFyY2gqJUJDJUNEJUQ0 +JUFBCiEtLUppYSBNaSBEYWkgTGkgKEdCL1U4KQpzZWFyY2gqJUJDJUQzJUMzJURD +JUI0JUZBJUMwJUVECnNlYXJjaColRTUlOEElQTAlRTUlQUYlODYlRTQlQkIlQTMl +RTclOTAlODYKIS0tSmlhbmcgTGl1IE1hbmcKc2VhcmNoKiVFNiVCMSU5RiVFNiVC +NSU4MSVFNiVCMCU5MwohLS1LYW4gWmhvbmcgR3VvCnNlYXJjaColRTclOUMlOEIl +RTQlQjglQUQlRTUlOUIlQkQKIS0tTGl1IFNpCnNlYXJjaColRTUlODUlQUQlRTUl +OUIlOUIKIS0tTGl1IFhpYW8gQm8KJUU1JTg4JTk4JUU2JTk5JTkzJUU2JUIzJUEy +CiEtLU1laSBHdW8gWmhpIFlpbgolRTclQkUlOEUlRTUlOUIlQkQlRTQlQjklOEIl +RTklOUYlQjMKIS0tTWluIEppbiBEYW5nCiVFNiVCMCU5MSVFOCVCRiU5QiVFNSU4 +NSU5QQohLS0oTm9uZykgTWluIFl1biAoRG9uZyBIdWkpCiVFNiVCMCU5MSVFOCVC +RiU5MAohLS1TZSBRaW5nCnNlYXJjaColRTglODklQjIlRTYlODMlODUKIS0tV2Fu +ZyBEYW4KJUU3JThFJThCJUU0JUI4JUI5CiEtLVdhbmcgVGUKc2VhcmNoKiVFNyVC +RCU5MSVFNyU4OSVCOQohLS1XYW5nIFhpIFpoZQpzZWFyY2gqJUU3JThFJThCJUU1 +JUI4JThDJUU1JTkzJUIyCiEtLVdlaSBKaW5nIFNoZW5nCnNlYXJjaColRTklQUQl +OEYlRTQlQkElQUMlRTclOTQlOUYKIS0tV2VuIFppIFl1CnNlYXJjaColRTYlOTYl +ODclRTUlQUQlOTclRTclOEIlQjEKIS0tV28gRGUgRmVuIERvdQpzZWFyY2gqJUU2 +JTg4JTkxJUU3JTlBJTg0JUU1JUE1JThCJUU2JTk2JTk3CiEtLVd1IEppZQpzZWFy +Y2gqJUU2JTk3JUEwJUU3JTk1JThDCiEtLVhpZSBFCnNlYXJjaColRTklODIlQUEl +RTYlODElQjYKIS0tWGkgTmFvCnNlYXJjaColRTYlQjQlOTclRTglODQlOTEKIS0t +WGluIFRhbmcgUmVuCnNlYXJjaColRTYlOTYlQjAlRTUlOTQlOTAlRTQlQkElQkEK +IS0tWGluIFl1IFNpCnNlYXJjaColRTYlOTYlQjAlRTglQUYlQUQlRTQlQjglOUQK +IS0tWHVlIFl1bgpzZWFyY2gqJUU1JUFEJUE2JUU4JUJGJTkwCiEtLVpob25nIEdv +bmcKc2VhcmNoKiVFNCVCOCVBRCVFNSU4QSU5RgohLS1aaG9uZyBHdW8gTHVuIFRh +bgpzZWFyY2gqJUU0JUI4JUFEJUU1JTlCJUJEJUU4JUFFJUJBJUU1JTlEJTlCCiEt +LVpob25nIFh1YW4gQnUKc2VhcmNoKiVFNCVCOCVBRCVFNSVBRSVBMyVFOSU4MyVB +OAoKIS0tLS0tLS0tLS0tLS1XaWtpcGVkaWEtLS0tLS0tLS0tLS0tLS0tCnxodHRw +czovL3VwbG9hZC53aWtpbWVkaWEub3JnCnxodHRwczovLyoud2lraXBlZGlhLm9y +Zwoud2lraXBlZGlhLm9yZy93aWtpL0RhbGFpX0xhbWEKLndpa2lwZWRpYS5vcmcv +d2lraS9EYWxhaS1MYW1hCmFyLndpa2lwZWRpYS5vcmcqJUQ4JUFGJUQ4JUE3JUQ5 +JTg0JUQ4JUE3JUQ5JThBXyVEOSU4NCVEOCVBNyVEOSU4NSVEOCVBNwp6aC15dWUu +d2lraXBlZGlhLm9yZy93aWtpLyVFNSU4QSU4OSVFNiU5QiU4OSVFNiVCMyVBMgoK +IS0tLS0tLS0tLS0tLS1lbi5XaWtpcGVkaWEtLS0tLS0tLS0tLS0tCmVuLndpa2lw +ZWRpYS5vcmcvd2lraS9BbnRpLWNvbW11bmlzbQplbi53aWtpcGVkaWEub3JnL3dp +a2kvQm9va19idXJuaW5nCmVuLndpa2lwZWRpYS5vcmcvd2lraS9DZW5zb3JzaGlw +X2luX3RoZV9QZW9wbGUlMjdzX1JlcHVibGljX29mX0NoaW5hCmVuLndpa2lwZWRp +YS5vcmcvd2lraS9DaGFydGVyXzA4CmVuLndpa2lwZWRpYS5vcmcvd2lraS9DaGVu +X0d1YW5nY2hlbmcKZW4ud2lraXBlZGlhLm9yZy93aWtpL0RlZXBfcGFja2V0X2lu +c3BlY3Rpb24KZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWVnYXRlCmVuLndpa2lw +ZWRpYS5vcmcvd2lraS9Hb2xkZW5fU2hpZWxkX1Byb2plY3QKZW4ud2lraXBlZGlh +Lm9yZy93aWtpL0dyZWF0X0ZpcmV3YWxsX29mX0NoaW5hCmVuLndpa2lwZWRpYS5v +cmcvd2lraS9Ib25nX0tvbmcKZW4ud2lraXBlZGlhLm9yZy93aWtpL0h1YW5nX1Fp +CmVuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlcm5ldF9jZW5zb3JzaGlwCmVuLndp +a2lwZWRpYS5vcmcvd2lraS9KYXZhX0Fub25fUHJveHkKZW4ud2lraXBlZGlhLm9y +Zy93aWtpL0xpdV9YaWFvYm8KZW4ud2lraXBlZGlhLm9yZy93aWtpL1NoaV9UYW8K +ZW4ud2lraXBlZGlhLm9yZy93aWtpL1RhbmtfbWFuCmVuLndpa2lwZWRpYS5vcmcv +d2lraS9UaWFuYW5tZW5fUGFwZXJzCmVuLndpa2lwZWRpYS5vcmcvd2lraS9UaWFu +YW5tZW5fU3F1YXJlX3Byb3Rlc3RzX29mXzE5ODkKZW4ud2lraXBlZGlhLm9yZy93 +aWtpL1RpYmV0YW5faW5kZXBlbmRlbmNlX21vdmVtZW50CgohLS0tLS0tLS0tLS0t +LXpoLldpa2lwZWRpYS0tLS0tLS0tLS0Kemgud2lraXBlZGlhLm9yZy93aWtpL1dp +a2lwZWRpYTolRTklQTAlODElRTklOUQlQTIlRTUlQUQlOTglRTUlQkIlQTIlRTgl +QTglOEUlRTglQUIlOTYKemgubS53aWtpcGVkaWEub3JnCnpoLndpa2lzb3VyY2Uu +b3JnCiEtLTIwMTIgTmlhbiBaaG9uZyBIdWEgUmVuIE1pbiBHb25nIEhlIEd1byBG +dSBCYWkgQW4gSmlhbgp6aC53aWtpcGVkaWEub3JnKjIwMTIlRTUlQjklQjQlRTQl +QjglQUQlRTUlOEQlOEUlRTQlQkElQkElRTYlQjAlOTElRTUlODUlQjElRTUlOTIl +OEMlRTUlOUIlQkQlRTglODUlOTAlRTglQjQlQTUlRTYlQTElODglRTQlQkIlQjYK +IS0tMjAxNCBOaWFuIEt1biBNaW5nIEh1byBDaGUgWmhhbiBCYW8gTGkgS29uZyBC +dSBYaSBKaSBTaGkgSmlhbgp6aC53aWtpcGVkaWEub3JnKjIwMTQlRTUlQjklQjQl +RTYlOTglODYlRTYlOTglOEUlRTclODElQUIlRTglQkQlQTYlRTclQUIlOTklRTYl +OUElQjQlRTUlOEElOUIlRTYlODElOTAlRTYlODAlOTYlRTglQTIlQUQlRTUlODcl +QkIlRTQlQkElOEIlRTQlQkIlQjYKIS0tNTEyIERhIERpIFpoZW4Kemgud2lraXBl +ZGlhLm9yZyo1MTIlRTUlQTQlQTclRTUlOUMlQjAlRTklOUMlODcKIS0tMDggWGlh +biBaaGFuZwp6aC53aWtpcGVkaWEub3JnKjA4JUU1JUFFJUFBJUU3JUFCJUEwCiEt +LTE5NTkgTmlhbgp6aC53aWtpcGVkaWEub3JnKjE5NTklRTUlQjklQjQKIS0tMTk4 +OSBOaWFuCnpoLndpa2lwZWRpYS5vcmcqMTk4OSVFNSVCOSVCNAohLS02MTAgQmFu +IEdvbmcgU2hpCnpoLndpa2lwZWRpYS5vcmcqNjEwJUU4JUJFJUE2JUU1JTg1JUFD +JUU1JUFFJUE0CiEtLUFudGktQ05OCnpoLndpa2lwZWRpYS5vcmcqQW50aS1DTk4K +IS0tQSBEaSBYaWEKemgud2lraXBlZGlhLm9yZyolRTklOTglQkYlRTUlQkElOTUl +RTUlQjMlQkQKIS0tQSBQZWkgQSBXYW5nIEppbiBNZWkKemgud2lraXBlZGlhLm9y +ZyolRTklOTglQkYlRTYlQjIlOUIlQzIlQjclRTklOTglQkYlRTYlOTclQkElRTYl +OTklOEIlRTclQkUlOEUKIS0tQWkgV2VpIFdlaQp6aC53aWtpcGVkaWEub3JnKiVF +OCU4OSVCRSVFNiU5QyVBQSVFNiU5QyVBQQohLS1CYSBKaXUgWHVlIFl1bgp6aC53 +aWtpcGVkaWEub3JnKiVFNSU4NSVBQiVFNCVCOSU5RCVFNSVBRCVBNiVFOCVCRiU5 +MAohLS1CYSBTaSBCYQp6aC53aWtpcGVkaWEub3JnKiVFNSU4NSVBQiVFNiU4MCU5 +RCVFNSVCNyVCNAohLS1CYW4gQ2hhbgp6aC53aWtpcGVkaWEub3JnKiVFNyU4RiVB +RCVFNyVBNiU4NQohLS1CYW8gVG9uZwp6aC53aWtpcGVkaWEub3JnKiVFOSVCMiU4 +RCVFNSVCRCVBNAp6aC53aWtpcGVkaWEub3JnKiVFOSVBRSU5MSVFNSVCRCVBNAoh +LS1CZWkgSmluZyBHYW8gWGlhbyBYdWUgU2hlbmcgWmkgWmhpIExpYW4gSGUgSHVp +CnpoLndpa2lwZWRpYS5vcmcqJUU1JThDJTk3JUU0JUJBJUFDJUU5JUFCJTk4JUU2 +JUEwJUExJUU1JUFEJUE2JUU3JTk0JTlGJUU4JTg3JUFBJUU2JUIyJUJCJUU4JTgx +JTk0JUU1JTkwJTg4JUU0JUJDJTlBCiEtLUJlaSBKaW5nIFpoaSBDaHVuCnpoLndp +a2lwZWRpYS5vcmcqJUU1JThDJTk3JUU0JUJBJUFDJUU0JUI5JThCJUU2JTk4JUE1 +CiEtLUJvIFhpIExhaQp6aC53aWtpcGVkaWEub3JnKiVFOCU5NiU4NCVFNyU4NiU5 +OSVFNiU5RCVBNQohLS1CbyBYdW4Kemgud2lraXBlZGlhLm9yZyolRTUlOEQlOUEl +RTglQUUlQUYKIS0tQnUgTGEgR2UgWmhpIENodW4Kemgud2lraXBlZGlhLm9yZyol +RTUlQjglODMlRTYlOEIlODklRTYlQTAlQkMlRTQlQjklOEIlRTYlOTglQTUKIS0t +Q2FpIExpbmcKemgud2lraXBlZGlhLm9yZyolRTYlOUYlQjQlRTclOEUlQjIKIS0t +Q2FuZyBZYW5nIEppYSBDdW8Kemgud2lraXBlZGlhLm9yZyolRTQlQkIlOTMlRTUl +QTQlQUUlRTUlOTglODklRTYlOEUlQUEKIS0tQ2FvIENoYW5nIFFpbmcKemgud2lr +aXBlZGlhLm9yZyolRTYlOUIlQjklRTklOTUlQjclRTklOUQlOTIKIS0tQ2hlbiBH +dWFuZyBDaGVuZwp6aC53aWtpcGVkaWEub3JnKiVFOSU5OSU4OCVFNSU4NSU4OSVF +OCVBRiU5QQohLS1DaHUgQnUgU2kKemgud2lraXBlZGlhLm9yZyolRTYlQTUlOUEl +RTUlQjglODMlRTUlQUYlQkEKIS0tRGEgQ2FuIEthbyAoV2FuZyBMdW8gWmEgWmhp +KQp6aC53aWtpcGVkaWEub3JnKiVlNSVhNCVhNyVlNSU4ZiU4MiVlOCU4MCU4M18o +JWU3JWJkJTkxJWU3JWJiJTljJWU2JTlkJTgyJWU1JWJmJTk3KQohLS1EYSBKaSBZ +dWFuCnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE3JUU3JUI0JTgwJUU1JTg1JTgz +CiEtLURhIEppIFl1YW4gU2hpIEJhbyAoemgtaGFucykKemgud2lraXBlZGlhLm9y +ZyolRTUlQTQlQTclRTclQkElQUElRTUlODUlODMlRTYlOTclQjYlRTYlOEElQTUK +IS0tRGEgTGFpIExhIE1hCnpoLndpa2lwZWRpYS5vcmcqJUU4JUJFJUJFJUU4JUI1 +JTk2JUU1JTk2JTg3JUU1JTk4JTlCCiEtLURhIExhbiBTYSBMYQp6aC53aWtpcGVk +aWEub3JnKiVFOCVCRSVCRSVFNSU4NSVCMCVFOCU5MCVBOCVFNiU4QiU4OQohLS1E +YSBMYW4gU2hhIExhCnpoLndpa2lwZWRpYS5vcmcqJUU5JTgxJTk0JUU4JTk4JUFE +JUU4JTk2JUE5JUU2JThCJTg5CiEtLURhIEVyIEhhbiBIdW8gRm8Kemgud2lraXBl +ZGlhLm9yZyolRTglQkUlQkUlRTUlQjAlOTQlRTclQkQlOTUlRTYlQjQlQkIlRTQl +QkQlOUIKIS0tRGEgU2hlIEd1byBKSQp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVB +NyVFOCVCNSVBNiVFNSU5QiVCRCVFOSU5OSU4NQp6aC53aWtpcGVkaWEub3JnKiVF +NSVBNCVBNyVFOCVCNSVBNiVFNSU5QyU4QiVFOSU5QSU5QgohLS1EYSBUdSBTaGEg +TGllIEJpYW8Kemgud2lraXBlZGlhLm9yZyolRTUlQTQlQTclRTUlQjElQTAlRTYl +OUQlODAlRTUlODglOTclRTglQTElQTgKIS0tRGEgWmFuZyBTaQp6aC53aWtpcGVk +aWEub3JnKiVFNSVBNCVBNyVFOCU5NyU4RiVFNSVBRiVCQQohLS1EYSBaaGFvIFNp +CnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE3JUU2JTk4JUFEJUU1JUFGJUJBCiEt +LURhbiBaZW5nIEppYSBDdW8Kemgud2lraXBlZGlhLm9yZyolRTQlQjglQjklRTUl +QTIlOUUlRTUlOTglODklRTYlOEUlQUEKIS0tRGluZyBaaSBMaW4Kemgud2lraXBl +ZGlhLm9yZyolRTQlQjglODElRTUlQUQlOTAlRTklOUMlOTYKIS0tRG9uZyBGZW5n +IC0gMjEgWmhvbmcgQ2hlbmcgRGFuIERhbyBEYW8gRGFuCnpoLndpa2lwZWRpYS5v +cmcqJUU0JUI4JTlDJUU5JUEzJThFLTIxJUU0JUI4JUFEJUU3JUE4JThCJUU1JUJD +JUI5JUU5JTgxJTkzJUU1JUFGJUJDJUU1JUJDJUI5IAohLS1Eb25nIEZlbmcgLSAz +MSBaaG91IEppIERhbiBEYW8gRGFvIERhbgp6aC53aWtpcGVkaWEub3JnKiVFNiU5 +RCVCMSVFOSVBMiVBOC0zMSVFNiVCNCVCMiVFOSU5QSU5QiVFNSVCRCU4OCVFOSU4 +MSU5MyVFNSVCMCU4RSVFNSVCRCU4OAohLS1Eb25nIFR1IEp1ZSh6aC1IYW50KQp6 +aC53aWtpcGVkaWEub3JnKiVFNiU5RCVCMSVFNyVBQSU4MSVFNSU4RSVBNQohLS1E +b25nIFR1IEp1ZSBTaSBUYW4Kemgud2lraXBlZGlhLm9yZyolRTQlQjglOUMlRTcl +QUElODElRTUlOEUlQTUlRTYlOTYlQUYlRTUlOUQlQTYKIS0tRHVvIFdlaQp6aC53 +aWtpcGVkaWEub3JnKiVFNSVBNCU5QSVFNyVCQiVCNAp6aC53aWtpcGVkaWEub3Jn +KiVFNSVBNCU5QSVFNyVCNiVBRAohLS1FIEx1byBTaSAoemgtaGFudCkKemgud2lr +aXBlZGlhLm9yZyolRTQlQkYlODQlRTclQkUlODUlRTYlOTYlQUYKIS0tIEZhIExh +IExpIFNoaSBKaWFuCnpoLndpa2lwZWRpYS5vcmcqJUU2JUIzJTk1JUU2JThCJTg5 +JUU1JTg4JUE5JUU0JUJBJThCJUU0JUJCJUI2CiEtLUZhbiBIdWEgU2hpIExpCnpo +Lndpa2lwZWRpYS5vcmcqJUU1JThGJThEJUU1JThEJThFJUU1JThBJUJGJUU1JThB +JTlCCiEtLUZhbmcgSHVvIENoYW5nIENoZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU5 +JTk4JUIyJUU3JTgxJUFCJUU5JTk1JUJGJUU1JTlGJThFCiEtLUZhbmcgTGkgWmhp +CnpoLndpa2lwZWRpYS5vcmcqJUU2JTk2JUI5JUU1JThBJUIxJUU0JUI5JThCCnpo +Lndpa2lwZWRpYS5vcmcqJUU2JTk2JUI5JUU1JThCJUI1JUU0JUI5JThCCiEtLUZh +bmcgWmhvdSBaaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVCOSVFOCU4OCU5RiVF +NSVBRCU5MAohLS1GZW4gUWluZwp6aC53aWtpcGVkaWEub3JnKiVFNiU4NCVBNCVF +OSU5RCU5MgohLS1GZW5nIENvbmcgRGUKemgud2lraXBlZGlhLm9yZyolRTUlQjAl +ODElRTQlQkIlOEUlRTUlQkUlQjcKemgud2lraXBlZGlhLm9yZyolRTUlQjAlODEl +RTUlQkUlOUUlRTUlQkUlQjcKIS0tRmVuZyBaaGVuZyBIdQp6aC53aWtpcGVkaWEu +b3JnKiVFNSU4NiVBRiVFNiVBRCVBMyVFOCU5OSU4RQohLS1GdSBUaWUgU2hhbgp6 +aC53aWtpcGVkaWEub3JnKiVFNSU4MiU4NSVFOSU5MyU4MSVFNSVCMSVCMQohLS1H +YSBMdW4gQ2hpIEJhCnpoLndpa2lwZWRpYS5vcmcqJUU1JTk5JUI2JUU1JTgwJUFC +JUU4JUI1JUE0JUU1JUI3JUI0CiEtLUdhbyBaaGkgU2hlbmcKemgud2lraXBlZGlh +Lm9yZyolRTklQUIlOTglRTYlOTklQkElRTYlOTklOUYKIS0tRGkgU2hpIFlpIFNo +aSBCYW4gQ2hhbiBFciBFciBEZSBOaSBHZW5nIERlbmcgUXVlIEppIE5pIE1hCnpo +Lndpa2lwZWRpYS5vcmcqJUU2JTlCJUI0JUU3JTk5JUJCJUU3JUEyJUJBJUU1JTkw +JTg5JUU1JUIwJUJDJUU3JTkxJUFBCiEtLUdhIEp1IFBhaQp6aC53aWtpcGVkaWEu +b3JnKiVFNSU5OSVCNiVFNCVCOCVCRSVFNiVCNCVCRQohLS1HYWkgR2UgTGkgQ2hl +bmcKemgud2lraXBlZGlhLm9yZyolRTYlOTQlQjklRTklOUQlQTklRTUlOEUlODYl +RTclQTglOEIKIS0tR2FuIERhbiBTaQp6aC53aWtpcGVkaWEub3JnKiVFNyU5NCU5 +OCVFNCVCOCVCOSVFNSVBRiVCQQohLS1HYW8gWGluZyBKaWFuCnpoLndpa2lwZWRp +YS5vcmcqJUU5JUFCJTk4JUU4JUExJThDJUU1JTgxJUE1CiEtLUdlIERhbmcgUGFp +CnpoLndpa2lwZWRpYS5vcmcqJUU1JTk5JUI2JUU1JUJEJTkzJUU2JUI0JUJFCiEt +LUdlIEx1IFBhaQp6aC53aWtpcGVkaWEub3JnKiVFNiVBMCVCQyVFOSVCMiU4MSVF +NiVCNCVCRQohLS1HRlcKemgud2lraXBlZGlhLm9yZypHRlcKIS0tR29uZyBHb25n +IFpoaSBTaGkgRmVuIFppCnpoLndpa2lwZWRpYS5vcmcqJUU1JTg1JUFDJUU1JTg1 +JUIxJUU3JTlGJUE1JUU4JUFGJTg2JUU1JTg4JTg2JUU1JUFEJTkwCiEtLUdvb2ds +ZSBTaGVuIENoYQp6aC53aWtpcGVkaWEub3JnKkdvb2dsZSVFNSVBRSVBMSVFNiU5 +RiVBNQohLS1HdSBHZSBUdWkgQ2h1IFpob25nIEd1byBTaGkgSmlhbiAoR29vZ2xl +KQp6aC53aWtpcGVkaWEub3JnL3poLWNuLyVFOCVCMCVCNyVFNiVBRCU4QyVFOSU4 +MCU4MCVFNSU4NyVCQSVFNCVCOCVBRCVFNSU5QiVCRCVFNCVCQSU4QiVFNCVCQiVC +Ngp6aC53aWtpcGVkaWEub3JnL3dpa2kvJUU4JUIwJUI3JUU2JUFEJThDJUU5JTgw +JTgwJUU1JTg3JUJBJUU0JUI4JUFEJUU1JTlCJUJEJUU0JUJBJThCJUU0JUJCJUI2 +CiEtLUd1YW5nIFpob3UgU2hpIFhpbiBUYW5nIFNoaSBKaWFuCnpoLndpa2lwZWRp +YS5vcmcvd2lraS8lRTUlQjklQkYlRTUlQjclOUUlRTUlQjglODIlRTYlOTYlQjAl +RTUlQTElOTglRTQlQkElOEIlRTQlQkIlQjYKIS0tR3VvIEJhbwp6aC53aWtpcGVk +aWEub3JnKiVFNSU5QiVCRCVFNCVCRiU5RAohLS1HdW8gQm8gWGlvbmcKemgud2lr +aXBlZGlhLm9yZyolRTklODMlQUQlRTQlQkMlQUYlRTklOUIlODQKIS0tR3VvIEpp +IFRlIFNoZSBadSBaaGkKemgud2lraXBlZGlhLm9yZyolRTUlOUIlQkQlRTklOTkl +ODUlRTclODklQjklRTglQjUlQTYlRTclQkIlODQlRTclQkIlODcKIS0tR3VvIE5l +aSBBbiBRdWFuIEJhbyBXZWkgWmhpIER1aQp6aC53aWtpcGVkaWEub3JnKiVFNSU5 +QiVCRCVFNSU4NiU4NSVFNSVBRSU4OSVFNSU4NSVBOCVFNCVCRiU5RCVFNSU4RCVB +QiVFNiU5NCVBRiVFOSU5OCU5RgohLS1HdW8gV3UgWXVhbiBGYW5nIEZhbiBIZSBD +aHUgTGkgWGllIEppYW8gV2VuIFRpIEJhbiBHb25nIFNoaQp6aC53aWtpcGVkaWEu +b3JnKiVFNSU5QyU4QiVFNSU4QiU5OSVFOSU5OSVBMiVFOSU5OCVCMiVFNyVBRiU4 +NCVFNSU5MiU4QyVFOCU5OSU5NSVFNyU5MCU4NiVFOSU4MiVBQSVFNiU5NSU5OSVF +NSU5NSU4RiVFOSVBMSU4QyVFOCVCRSVBNiVFNSU4NSVBQyVFNSVBRSVBNAohLS1I +YW4gRG9uZyBGYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU5JTlGJUE5JUU0JUI4JTlD +JUU2JTk2JUI5CiEtLUhlIEd1byBRaWFuZwp6aC53aWtpcGVkaWEub3JnKiVFOCVC +NCVCQSVFNSU5QiVCRCVFNSVCQyVCQQohLS1IZSBKdW4gUmVuCnpoLndpa2lwZWRp +YS5vcmcqJUU0JUJEJTk1JUU0JUJGJThBJUU0JUJCJTgxCiEtLUhlIFNoYW5nCnpo +Lndpa2lwZWRpYS5vcmcqJUU2JUIyJUIzJUU2JUFFJTg3CiEtLUhvbmcgWmhlIFNo +ZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU2JUI0JUFBJUU1JTkzJUIyJUU1JThCJTlE +CiEtLUhvdSBEZSBKaWFuCnpoLndpa2lwZWRpYS5vcmcqJUU0JUJFJUFGJUU1JUJF +JUI3JUU1JUJCJUJBCnpoLndpa2lwZWRpYS5vcmcqJUU0JUJFJUFGJUU4JUI1JTlC +JUU1JTlCJUEwJUU2JUIxJTlGCnpoLndpa2lwZWRpYS5vcmcqJUU0JUJFJUFGJUU1 +JUJFJUI3JUU1JTgxJUE1CiEtLUh1IEppYSAoU2hlIEh1aSBIdW8gRG9uZyBKaWEp +ICgrUmVkaXIpCnpoLndpa2lwZWRpYS5vcmcqJUU4JTgzJUExJUU0JUJEJUIzXyUy +ODE5NzMlRTUlQjklQjQlMjkKemgud2lraXBlZGlhLm9yZyolRTglODMlQTElRTQl +QkQlQjNfJTI4JUU3JUE0JUJFJUU2JUI0JUJCJUU1JThCJTk1JUU1JUFFJUI2JTI5 +CnpoLndpa2lwZWRpYS5vcmcqJUU4JTgzJUExJUU0JUJEJUIzXyUyOCVFNyVBNCVC +RSVFNiU5QyU4MyVFNiVCNCVCQiVFNSU4QiU5NSVFNSVBRSVCNiUyOQohLS1IdSBK +aW5nIFRhbwp6aC53aWtpcGVkaWEub3JnKiVFOCU4MyVBMSVFOSU5NCVBNiVFNiVC +NiU5QgohLS1IdSBQaW5nIChadW8gSmlhKQp6aC53aWtpcGVkaWEub3JnKiVFOCU4 +MyVBMSVFNSVCOSVCM18lMjglRTQlQkQlOUMlRTUlQUUlQjYlMjkKIS0tSHUgVHUg +S2UgVHUKemgud2lraXBlZGlhLm9yZyolRTUlOTElQkMlRTUlOUMlOTYlRTUlODUl +OEIlRTUlOUMlOTYKIS0tSHUgV2VuIFRpIFpoaSAoV2hvJldlbiA6RCkKemgud2lr +aXBlZGlhLm9yZyolRTglODMlQTElRTYlQjglQTklRTQlQkQlOTMlRTUlODglQjYK +IS0tSHUgWWFvIEJhbmcKemgud2lraXBlZGlhLm9yZyolRTglODMlQTElRTglODAl +ODAlRTklODIlQTYKIS0tSHVhIEd1byBGZW5nICh6aC1oYW5zL2hhbnQpCnpoLndp +a2lwZWRpYS5vcmcqJUU1JThEJThFJUU1JTlCJUJEJUU5JTk0JThCCnpoLndpa2lw +ZWRpYS5vcmcqJUU4JThGJUFGJUU1JTlDJThCJUU5JThCJTkyCiEtLUh1YSBYaWEg +V2VuIFpoYWkKemgud2lraXBlZGlhLm9yZyolRTUlOEQlOEUlRTUlQTQlOEYlRTYl +OTYlODclRTYlOTElOTgKIS0tSHVhIFl1YW4gUnVhbiBKaWFuCnpoLndpa2lwZWRp +YS5vcmcqJUU4JThBJUIxJUU1JTlCJUFEJUU4JUJEJUFGJUU0JUJCJUI2CiEtLUh1 +YSBZdWFuIFdhbmcKemgud2lraXBlZGlhLm9yZyolRTglOEElQjElRTUlOUIlQUQl +RTclQkQlOTEKIS0tSHVhbmcgUWkKemgud2lraXBlZGlhLm9yZyolRTklQkIlODQl +RTclOTAlQTYKemgud2lraXBlZGlhLm9yZyolRTklQkIlODMlRTclOTAlQTYKIS0t +SHVhbmcgUXVlIFhpbmcgRG9uZwp6aC53aWtpcGVkaWEub3JnKiVFOSVCQiU4MyVF +OSU5QiU4MCVFOCVBMSU4QyVFNSU4QiU5NQohLS1IdWFuZyBXYW4gTGkKemgud2lr +aXBlZGlhLm9yZyolRTklQkIlODQlRTQlQjglODclRTklODclOEMKIS0tSHVhbmcg +WGlhbyBNaW4Kemgud2lraXBlZGlhLm9yZyolRTklQkIlODMlRTYlOUIlODklRTYl +OTUlOEYKIS0tSHVpIExpYW5nIFl1CnpoLndpa2lwZWRpYS5vcmcqJUU1JTlCJTlF +JUU4JTg5JUFGJUU3JThFJTg5CiEtLUh1byBZaW5nIERvbmcKemgud2lraXBlZGlh +Lm9yZyolRTklOUMlOEQlRTglOEIlQjElRTYlOUQlQjEKIS0tSmkgSHUKemgud2lr +aXBlZGlhLm9yZyolRTUlQUYlODIlRTglQUQlQjcKIS0tSmkgTGl1IFpob25nIEd1 +bwp6aC53aWtpcGVkaWEub3JnKiVFNiVCRiU4MCVFNiVCNSU4MSVFNCVCOCVBRCVF +NSU5QiVCRAohLS1KaWEgSmluZwp6aC53aWtpcGVkaWEub3JnKiVFNSU5OCU4OSVF +OSU5RCU5NgohLS1KaWEgTGUgRnUKemgud2lraXBlZGlhLm9yZyolRTUlQUUlQjYl +RTQlQjklOTAlRTclQTYlOEYKIS0tSmlhIFFpbmcgTGluCnpoLndpa2lwZWRpYS5v +cmcqJUU4JUIzJTg4JUU2JTg1JUI2JUU2JTlFJTk3CnpoLndpa2lwZWRpYS5vcmcq +JUU4JUI0JUJFJUU1JUJBJTg2JUU2JTlFJTk3CiEtLUppYW4gR3VvIE1lbiBTaGkg +Smlhbgp6aC53aWtpcGVkaWEub3JnKiVFNSVCQiVCQSVFNSU5QiVCRCVFOSU5NyVB +OCVFNCVCQSU4QiVFNCVCQiVCNgohLS1KaWFuZyBXZWkgUGluZwp6aC53aWtpcGVk +aWEub3JnKiVFNSVBNyU5QyVFNyVCQiVCNCVFNSVCOSVCMwohLS1KaWFuZyBaZSBN +aW4gKHpoLWhhbnMvaGFudCkKemgud2lraXBlZGlhLm9yZyolRTYlQjElOUYlRTYl +QjMlQkQlRTYlQjAlOTEKemgud2lraXBlZGlhLm9yZyolRTYlQjElOUYlRTYlQkUl +QTQlRTYlQjAlOTEKIS0tSmluIER1biBHb25nIENoZW5nCnpoLndpa2lwZWRpYS5v +cmcqJUU5JTg3JTkxJUU3JTlCJUJFJUU1JUI3JUE1JUU3JUE4JThCCiEtLUppbiBE +dW4gR29uZyBDaGVuZyA/CnpoLndpa2lwZWRpYS5vcmcqJUJEJUYwJUI2JURDJUI5 +JUE0JUIzJUNDCiEtLUppdSBQaW5nIEdvbmcgQ2hhbiBEYW5nCnpoLndpa2lwZWRp +YS5vcmcqJUU0JUI5JTlEJUU4JUFGJTg0JUU1JTg1JUIxJUU0JUJBJUE3JUU1JTg1 +JTlBCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI5JTlEJUU4JUE5JTk1JUU1JTg1JUIx +JUU3JTk0JUEyJUU5JUJCJUE4CiEtLUp1IExhbmcgMiBYaW5nIFFpYW4gU2hlIERh +biBEYW8gRGFvIERhbgp6aC53aWtpcGVkaWEub3JnKiVFNSVCNyVBOCVFNiVCNSVB +QTIlRTUlOUUlOEIlRTYlQkQlOUMlRTUlQjAlODQlRTUlQkMlQjklRTklODElOTMl +RTUlQUYlQkMlRTUlQkMlQjkKIS0tSnVlIE5hbmcgUGFpCnpoLndpa2lwZWRpYS5v +cmcqJUU4JUE2JUJBJUU1JTlCJThBJUU2JUI0JUJFCiEtLUp1ZSBTaGkKemgud2lr +aXBlZGlhLm9yZyolRTclQkIlOUQlRTklQTMlOUYKIS0tTGEgQnUgTGVuZyBTaQp6 +aC53aWtpcGVkaWEub3JnKiVFNiU4QiU4OSVFNSU4RCU5QyVFNiVBNSU5RSVFNSVB +RiVCQQohLS1MYSBTYQp6aC53aWtpcGVkaWEub3JnKiVFNiU4QiU4OSVFOCU5MCVB +OAohLS1MaSBBbiBZb3UKemgud2lraXBlZGlhLm9yZyolRTklQkIlOEUlRTUlQUUl +ODklRTUlOEYlOEIKIS0tTGkgQ2hhbmcgQ2h1biAoemgtaGFucy9oYW50KQp6aC53 +aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFOSU5NSVCRiVFNiU5OCVBNQp6aC53aWtp +cGVkaWEub3JnKiVFNiU5RCU4RSVFOSU5NSVCNyVFNiU5OCVBNQohLS1MaSBIb25n +IFpoaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFNiVCNCVBQSVFNSVCRiU5 +NwohLS1MaSBLZSBRaWFuZwp6aC53aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFNSU4 +NSU4QiVFNSVCQyVCQQohLS1MaSBQZW5nL0xpIFBlbmcgSHVpL0xpIFBlbmcgKgp6 +aC53aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFOSVCNSVBQwp6aC53aWtpcGVkaWEu +b3JnKiVFNiU5RCU4RSVFOSVCOSU4RgohLS1MaSBSdWkgSHVhbiAoemgtaGFucy9o +YW50KQp6aC53aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFNyU5MSU5RSVFNyU4RSVB +Rgp6aC53aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFNyU5MSU5RSVFNyU5MiVCMAoh +LS1MaSBTaGVuIFpoaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5RCU4RSVFNiU4NSU4 +RSVFNCVCOSU4QgohLS1MaSBTaGkgRGUgU2hhbmcgS291CnpoLndpa2lwZWRpYS5v +cmcqJUU1JThFJTg2JUU1JThGJUIyJUU3JTlBJTg0JUU0JUJDJUE0JUU1JThGJUEz +CiEtLUxpIFlpbmcgSGFvCnpoLndpa2lwZWRpYS5vcmcqJUU2JTlEJThFJUU4JThC +JUIxJUU2JUI1JUE5CiEtLUxpIFl1YW4gQ2hhbwp6aC53aWtpcGVkaWEub3JnKiVF +NiU5RCU4RSVFNiVCQSU5MCVFNiVCRCVBRQohLS1MaSBaaHVvIFJlbgp6aC53aWtp +cGVkaWEub3JnKiVFNiU5RCU4RSVFNSU4RCU5MyVFNCVCQSVCQQohLS1MaWFvIFlp +IFd1CnpoLndpa2lwZWRpYS5vcmcqJUU1JUJCJTk2JUU0JUJBJUE2JUU2JUFEJUE2 +CiEtLUxpYW4gSHVhIFNoZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU4JTkzJUFFJUU4 +JThBJUIxJUU3JTk0JTlGCiEtLUxpYW5nIEd1byBYaW9uZwp6aC53aWtpcGVkaWEu +b3JnKiVFNiVBMiU4MSVFNSU5QiVCRCVFOSU5QiU4NAohLS1MaW4gR3VvIFhpb25n +CnpoLndpa2lwZWRpYS5vcmcqJUU2JUEyJTgxJUU1JTlDJThCJUU5JTlCJTg0CiEt +LUxpbmcgQmEgWGlhbiBaaGFuZwp6aC53aWtpcGVkaWEub3JnKiVFOSU5QiVCNiVF +NSU4NSVBQiVFNSVBRSVBQSVFNyVBQiVBMAohLS1MaW5nIEd1CnpoLndpa2lwZWRp +YS5vcmcqJUU0JUJCJUE0JUU4JUIwJUI3CiEtLUxpbmcgSmkgSHVhCnpoLndpa2lw +ZWRpYS5vcmcqJUU0JUJCJUE0JUU4JUFFJUExJUU1JTg4JTkyCiEtLUxpdSBCaW4g +WWFuCnpoLndpa2lwZWRpYS5vcmcqJUU1JTg4JTk4JUU1JUFFJUJFJUU5JTlCJTgx +CiEtLUxpdSBHYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU1JThBJTg5JUU1JTg5JTlC +XyglRTYlQjAlOTElRTklODElOEIlRTQlQkElQkElRTUlQTMlQUIpCiEtLUxpdSBI +dWkgUWluZwp6aC53aWtpcGVkaWEub3JnKiVFNSU4OCU5OCVFNiU4NSVBNyVFNSU4 +RCVCRgohLS1MaXUgSHVpIFFpbmcgKHpoLWhhbnQpCnpoLndpa2lwZWRpYS5vcmcq +JUU1JThBJTg5JUU2JTg1JUE3JUU1JThEJUJGCiEtLUxpdSBRaQp6aC53aWtpcGVk +aWEub3JnKiVFNSU4OCU5OCVFNiVCNyU4NwohLS1MaXUgU2kgKEdlIFF1IC8gU2hp +IEppIC8gU2hpIEppYW4pCnpoLndpa2lwZWRpYS5vcmcqJUU1JTg1JUFEJUU1JTlC +JTlCCiEtLUxpdSBTaSBTaGkgSmlhbgp6aC15dWUud2lraXBlZGlhLm9yZyolRTUl +ODUlQUQlRTUlOUIlOUIlRTQlQkElOEIlRTQlQkIlQjYKIS0tTGl1IFhpYW8gQm8K +emgud2lraXBlZGlhLm9yZyolRTUlOEElODklRTYlOUIlODklRTYlQjMlQTIKIS0t +TGl1IFlhbiBEb25nCnpoLndpa2lwZWRpYS5vcmcqJUU1JTg4JTk4JUU1JUJCJUI2 +JUU0JUI4JTlDCiEtLUxpdSBZdW4gU2hhbgp6aC53aWtpcGVkaWEub3JnKiVFNSU4 +OCU5OCVFNCVCQSU5MSVFNSVCMSVCMQohLS1MdW8gR2FuCnpoLndpa2lwZWRpYS5v +cmcqJUU3JUJFJTg1JUU1JUI5JUI5CnpoLndpa2lwZWRpYS5vcmcqJUU3JUJFJTg1 +JUU1JUI5JUIyCiEtLUx1byBTYW5nIFNlbiBHZQp6aC53aWtpcGVkaWEub3JnKiVF +NiVCNCU5QiVFNiVBMSU5MSVFNiVBMyVBRSVFNiVBMCVCQwohLS1MdiBCYSBIdWEg +SmkgSHUgSGFuZwp6aC53aWtpcGVkaWEub3JnKiVFNyVCNiVBMCVFNSVBMyVBOSVD +MiVCNyVFOCU4QSVCMSVFNSVBRCVBMyVFOCVBRCVCNyVFOCU4OCVBQQp6aC53aWtp +cGVkaWEub3JnKiVFNyVCQiVCRiVFNSU5RCU5RCVDMiVCNyVFOCU4QSVCMSVFNSVB +RCVBMyVFNiU4QSVBNCVFOCU4OCVBQQohLS1MdiBCYSBOaWFuZwp6aC53aWtpcGVk +aWEub3JnL3dpa2kvJWU3JWJiJWJmJWU1JTlkJTlkJWU1JWE4JTk4CiEtLU1hIFNh +biBKaWEgTnYgWmkgTGFvIEppYW8gU3VvCnpoLndpa2lwZWRpYS5vcmcqJUU5JUE2 +JUFDJUU0JUI4JTg5JUU1JUFFJUI2JUU1JUE1JUIzJUU1JUFEJTkwJUU1JThCJTlF +JUU2JTk1JTk5JUU2JTg5JTgwCiEtLU1hIFlpbmcgSml1CnpoLndpa2lwZWRpYS5v +cmcqJUU5JUE2JUFDJUU4JThCJUIxJUU0JUI5JTlECiEtLU1laSBHdW8gR3VvIEpp +YSBNaW4gWmh1IEppIEppbiBIdWkKemgud2lraXBlZGlhLm9yZyolRTclQkUlOEUl +RTUlOUIlQkQlRTUlOUIlQkQlRTUlQUUlQjYlRTYlQjAlOTElRTQlQjglQkIlRTUl +OUYlQkElRTklODclOTElRTQlQkMlOUEKIS0tTWluIEdhbiBSZW4gU2hpCnpoLndp +a2lwZWRpYS5vcmcqJUU2JTk1JThGJUU2JTg0JTlGJUU0JUJBJUJBJUU1JUEzJUFC +CiEtLU1pbiBKaWFuIFJlbiBRdWFuIFpoZW4gWGlhbgp6aC53aWtpcGVkaWEub3Jn +KiVFNiVCMCU5MSVFOSU5NiU5MyVFNCVCQSVCQSVFNiVBQyU4QSVFOSU5OSVBMyVF +NyVCNyU5QQohLS1NaW4gWmh1IExpbiBTaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5 +NSU4RiVFNyU4RiVBMCVFNiU5RSU5NyVFNSVBRiVCQQohLS1NaW4gWmh1IE52IFNo +ZW4Kemgud2lraXBlZGlhLm9yZyolRTYlQjAlOTElRTQlQjglQkIlRTUlQTUlQjMl +RTclQTUlOUUKIS0tTWluIFpodSBEYW5nIF8gWGlhbmcgR2FuZwp6aC53aWtpcGVk +aWEub3JnKiVFNiVCMCU5MSVFNCVCOCVCQiVFOSVCQiVBOF8oJUU5JUE2JTk5JUU2 +JUI4JUFGKQohLS1NaW4gWmh1IEdlIFNoZW5nIFhpYW4gWmhvbmcgSHVhCnpoLndp +a2lwZWRpYS5vcmcqJUU2JUIwJTkxJUU0JUI4JUJCJUU2JUFEJThDJUU4JTgxJUIy +JUU3JThEJUJCJUU0JUI4JUFEJUU4JThGJUFGCiEtLU1vIExpIEh1YSBHZSBNaW5n +CnpoLndpa2lwZWRpYS5vcmcqJUU4JThDJTg5JUU4JThFJTg5JUU4JThBJUIxJUU5 +JTlEJUE5JUU1JTkxJUJECiEtLU5hbiBGYW5nIER1IFNoaSBCYW8gKEFuKQp6aC53 +aWtpcGVkaWEub3JnKiVFNSU4RCU5NyVFNiU5NiVCOSVFOSU4MyVCRCVFNSVCOCU4 +MiVFNiU4QSVBNSoKIS0tTmVpIE1lbmcgR3UgS2FuZyBZaQp6aC53aWtpcGVkaWEu +b3JnL3dpa2kvJUU1JTg2JTg1JUU4JTkyJTk5JUU1JThGJUE0JUU2JThBJTk3JUU4 +JUFFJUFFCnpoLndpa2lwZWRpYS5vcmcvemgtaGsvJUU1JTg2JTg1JUU4JTkyJTk5 +JUU1JThGJUE0JUU2JThBJTk3JUU4JUFFJUFFCnpoLndpa2lwZWRpYS5vcmcvemgt +dHcvJUU1JTg2JTg1JUU4JTkyJTk5JUU1JThGJUE0JUU2JThBJTk3JUU4JUFFJUFF +CiEtLU5laSBNZW5nIEd1IFJlbiBNaW4gRGFuZwp6aC53aWtpcGVkaWEub3JnKiVF +NSU4NiU4NSVFOCU5MiU5OSVFNSU4RiVBNCVFNCVCQSVCQSVFNiVCMCU5MSVFNSU4 +NSU5QQp6aC53aWtpcGVkaWEub3JnKiVFNSU4NSVBNyVFOCU5MiU5OSVFNSU4RiVB +NCVFNCVCQSVCQSVFNiVCMCU5MSVFOSVCQiVBOAohLS1OaW5nIE1hIFBhaQp6aC53 +aWtpcGVkaWEub3JnKiVFNSVBRSU4MSVFNyU4RSU5QiVFNiVCNCVCRQohLS1OaXUg +Qm8gV2FuZy0tCnpoLndpa2lwZWRpYS5vcmcqJUU3JTg5JTlCJUU1JThEJTlBJUU3 +JUJEJTkxCiEtLU51byBCZWkgRXIgSGUgUGluZyBKaWFuZwp6aC53aWtpcGVkaWEu +b3JnKiVFOCVBRiVCQSVFOCVCNCU5RCVFNSVCMCU5NCVFNSU5MiU4QyVFNSVCOSVC +MyVFNSVBNSU5NgohLS1OdW8gV2VpCnpoLndpa2lwZWRpYS5vcmcqJUU2JThDJUFB +JUU1JUE4JTgxCiEtLVBhbiBHdSBZdWUgRHVpCnpoLndpa2lwZWRpYS5vcmcqJUU3 +JTlCJTk4JUU1JThGJUE0JUU0JUI5JTkwJUU5JTk4JTlGCiEtLVBlbmcgTGkgWXVh +bgp6aC53aWtpcGVkaWEub3JnKiVFNSVCRCVBRCVFNCVCOCVCRCVFNSVBQSU5Qgoh +LS1QbyBXYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU3JUEwJUI0JUU3JUJEJTkxCiEt +LVB1IFpoaSBRaWFuZwp6aC53aWtpcGVkaWEub3JnKiVFNiVCNSVBNiVFNSVCRiU5 +NyVFNSVCQyVCQQohLS1RaSBZaSBZb3UgWGluZwp6aC53aWtpcGVkaWEub3JnKiVF +NCVCOCU4MyVFNCVCOCU4MCVFOSU4MSU4QSVFOCVBMSU4QwohLS1RaW4gQ2hlbmcg +SmlhbiBZdQp6aC53aWtpcGVkaWEub3JnKiVFNyVBNyVBNiVFNSU5RiU4RSVFNyU5 +QiU5MSVFNyU4QiVCMQohLS1RaW5nIENoYW8Kemgud2lraXBlZGlhLm9yZyolRTYl +QjglODUlRTYlOUMlOUQKIS0tUXVhbiBRaXUgWmFuZyBSZW4gVGUgQmllIERhIEh1 +aQp6aC53aWtpcGVkaWEub3JnKiVFNSU4NSVBOCVFNyU5MCU4MyVFOCU5NyU4RiVF +NCVCQSVCQSVFNyU4OSVCOSVFNSU4OCVBQiVFNSVBNCVBNyVFNCVCQyU5QQohLS1S +YW4gU2hhbyBQaW5nIChHQitVVEY4KQp6aC53aWtpcGVkaWEub3JnKiVDOCVCQyVD +OSVENSVDNiVCRgp6aC53aWtpcGVkaWEub3JnKiVFNyU4NyU4MyVFNyU4MyVBNyVF +NyU5MyVCNgohLS1SZSBCaSBZYQp6aC53aWtpcGVkaWEub3JnKiVFNyU4MyVBRCVF +NiVBRiU5NCVFNSVBOCU4NQp6aC53aWtpcGVkaWEub3JnKiVFNyU4NiVCMSVFNiVB +RiU5NCVFNSVBOSVBRAohLS1SdWkgRGlhbgp6aC53aWtpcGVkaWEub3JnKiVFNyU5 +MSU5RSVFNSU4NSVCOAohLS1TYSBKaWEgUGFpCnpoLndpa2lwZWRpYS5vcmcqJUU4 +JTkwJUE4JUU4JUJGJUE2JUU2JUI0JUJFCiEtLVNhbiBOaWFuIFppIFJhbiBaYWkg +SGFpCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JTg5JUU1JUI5JUI0JUU4JTg3JUFB +JUU3JTg0JUI2JUU3JTgxJUJFJUU1JUFFJUIzCiEtLVNhbiBUdWkKemgud2lraXBl +ZGlhLm9yZyolRTQlQjglODklRTklODAlODAKIS0tU2UgTGEgU2kKemgud2lraXBl +ZGlhLm9yZyolRTglODklQjIlRTYlOEIlODklRTUlQUYlQkEKIS0tU2hlbmcgWGlv +bmcgR2FuIERpCnpoLndpa2lwZWRpYS5vcmcqJUU1JTlDJUEzJUU5JTlCJTg0JUU3 +JTk0JTk4JUU1JTlDJUIwCiEtLVNoZW5nIFh1ZQp6aC53aWtpcGVkaWEub3JnKiVF +NyU5QiU5QiVFOSU5QiVBQQohLS1TaGkgSmllIEdlIFpoZW5nIFF1YW4gU2hvdSBD +aGVuZyBSZW4gWmh1YW5nIEt1YW5nIExpZSBCaWFvCnpoLndpa2lwZWRpYS5vcmcv +emgtY24vJUU0JUI4JTk2JUU3JTk1JThDJUU1JTkwJTg0JUU2JTk0JUJGJUU2JTlE +JTgzJUU1JThGJTk3JUU2JTg5JUJGJUU4JUFFJUE0JUU3JThBJUI2JUU1JTg2JUI1 +JUU1JTg4JTk3JUU4JUExJUE4CiEtLVNoaSBKaWUgSmluZyBKaSBEYW8gQmFvCnpo +Lndpa2lwZWRpYS5vcmcqJUU0JUI4JTk2JUU3JTk1JThDJUU3JUJCJThGJUU2JUI1 +JThFJUU1JUFGJUJDJUU2JThBJUE1CiEtLVNoaSBKaWUgV2VpIFd1IEVyIERhIEh1 +aQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCU5NiVFNyU5NSU4QyVFNyVCQiVCNCVF +NSU5MCVCRSVFNSVCMCU5NCVFNSVBNCVBNyVFNCVCQyU5QSEtLVNoaSBKaWUgV2Vp +IFd1IEVyIFFpbmcgTmlhbiBEYWkgQmlhbyBEYSBIdWkKemgud2lraXBlZGlhLm9y +ZyolRTQlQjglOTYlRTclOTUlOEMlRTclQkIlQjQlRTUlOTAlQkUlRTUlQjAlOTQl +RTklOUQlOTIlRTUlQjklQjQlRTQlQkIlQTMlRTglQTElQTglRTUlQTQlQTclRTQl +QkMlOUEKIS0tU2hpIEppZSBXZWkgV3UgRXIgRGFpIEJpYW8gRGEgSHVpCnpoLndp +a2lwZWRpYS5vcmcqJUU0JUI4JTk2JUU3JTk1JThDJUU3JUI2JUFEJUU1JTkwJUJF +JUU3JTg4JUJFJUU0JUJCJUEzJUU4JUExJUE4JUU1JUE0JUE3JUU2JTlDJTgzCiEt +LVNoaSBTaSBTaGkgRGEgTGFpCnpoLndpa2lwZWRpYS5vcmcqJUU1JThEJTgxJUU1 +JTlCJTlCJUU0JUI4JTk2JUU4JUJFJUJFJUU4JUI1JTk2CiEtLVNoaSBUYW8Kemgu +d2lraXBlZGlhLm9yZyolRTUlQjglODglRTYlQjYlOUIKemgud2lraXBlZGlhLm9y +ZyolRTUlQjglQUIlRTYlQkYlQTQKIS0tU2hpIFhpbmcgWXVuCnpoLndpa2lwZWRp +YS5vcmcqJUU5JTg3JThBJUU2JTk4JTlGJUU0JUJBJTkxCiEtLVNpIFR1IEh1YSAo +emgtaGFucy9oYW50KQp6aC53aWtpcGVkaWEub3JnKiVFNSU4RiVCOCVFNSVCRSU5 +MiVFNSU4RCU4RQp6aC53aWtpcGVkaWEub3JnKiVFNSU4RiVCOCVFNSVCRSU5MiVF +OCU4RiVBRgohLS1TaSBXdSBYaW5nIERvbmcKemgud2lraXBlZGlhLm9yZyolRTUl +OUIlOUIlRTQlQkElOTQlRTglQTElOEMlRTUlOEIlOTUKIS0tU29uZyBCaW5nIEJp +bmcKemgud2lraXBlZGlhLm9yZyolRTUlQUUlOEIlRTUlQkQlQUMlRTUlQkQlQUMK +IS0tU29uZyBSZW4gUWlvbmcgKHpoLWhhbnMvaGFudCkKemgud2lraXBlZGlhLm9y +ZyolRTUlQUUlOEIlRTQlQkIlQkIlRTclQTklQjcKemgud2lraXBlZGlhLm9yZyol +RTUlQUUlOEIlRTQlQkIlQkIlRTclQUElQUUKIS0tU3UgSmlhIFR1biBTaGkgSmlh +bgp6aC53aWtpcGVkaWEub3JnKiVFOCU4QiU4RiVFNSVBRSVCNiVFNSVCMSVBRiVF +NCVCQSU4QiVFNCVCQiVCNgohLS1TdW4gV2VuIEd1YW5nCnpoLndpa2lwZWRpYS5v +cmcqJUU1JUFEJTk5JUU2JTk2JTg3JUU1JUI5JUJGCiEtLVRhIEVyIFNpCnpoLndp +a2lwZWRpYS5vcmcqJUU1JUExJTk0JUU1JUIwJTk0JUU1JUFGJUJBCiEtLVRhaSBX +YW4gRHUgTGkgSmlhbiBHdW8gTGlhbiBNZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU1 +JThGJUIwJUU3JTgxJUEzJUU3JThEJUE4JUU3JUFCJThCJUU1JUJCJUJBJUU1JTlD +JThCJUU4JTgxJUFGJUU3JTlCJTlGCiEtLVRhaSBaaSBEYW5nCnpoLndpa2lwZWRp +YS5vcmcqJUU1JUE0JUFBJUU1JUFEJTkwJUU1JTg1JTlBCnpoLndpa2lwZWRpYS5v +cmcqJUU1JUE0JUFBJUU1JUFEJTkwJUU1JTg1JTlBCnpoLndpa2lwZWRpYS5vcmcv +emgtY24vJUU1JUE0JUFBJUU1JUFEJTkwJUU1JTg1JTlBCiEtLVRhbiBadW8gUmVu +CnpoLndpa2lwZWRpYS5vcmcqJUU4JUIwJUFEJUU0JUJEJTlDJUU0JUJBJUJBCiEt +LVRhbmcgQm8gUWlhbwp6aC53aWtpcGVkaWEub3JnKiVFNSU5NCU5MCVFNiU5RiU4 +RiVFNiVBMSVBNQohLS1UYW8gU2kgSnUKemgud2lraXBlZGlhLm9yZy96aC8lRTkl +OTklQjYlRTklQTklQjclRTklQTklQjkKIS0tVGlhbiBBbiBNZW4gR3VhbmcgQ2hh +bmcKemgud2lraXBlZGlhLm9yZyolRTUlQTQlQTklRTUlQUUlODklRTklOTclQTgl +RTUlQjklQkYlRTUlOUMlQkEKIS0tVGlhbiBBbiBNZW4gTXUgUWluIFl1biBEb25n +CnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE5JUU1JUFFJTg5JUU5JTk3JUE4JUU2 +JUFGJThEJUU0JUJBJUIyJUU4JUJGJTkwJUU1JThBJUE4CiEtLVRpYW4gQW4gTWVu +IFNoaSBKaWFuCnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE5JUU1JUFFJTg5JUU5 +JTk2JTgwJUU0JUJBJThCJUU0JUJCJUI2CiEtLVRpYW4gQW4gTWVuIFdlbiBKaWFu +CnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE5JUU1JUFFJTg5JUU5JTk3JUE4JUU2 +JTk2JTg3JUU0JUJCJUI2CnpoLndpa2lwZWRpYS5vcmcqJUU1JUE0JUE5JUU1JUFF +JTg5JUU5JTk2JTgwJUU2JTk2JTg3JUU0JUJCJUI2CiEtLVRpYW4gQW4gTWVuIFpp +IEZlbiBTaGkgSmlhbgp6aC53aWtpcGVkaWEub3JnKiVFNSVBNCVBOSVFNSVBRSU4 +OSVFOSU5NyVBOCVFOCU4NyVBQSVFNyU4NCU5QSVFNCVCQSU4QiVFNCVCQiVCNgoh +LS1UaWFuIFphbmcKemgud2lraXBlZGlhLm9yZyolRTUlQTQlQTklRTglOTElQUMK +IS0tVG9yCnpoLndpa2lwZWRpYS5vcmcvemgtY24vVG9yCiEtLVR3aXR0ZXIKemgu +d2lraXBlZGlhLm9yZy96aC1oay9Ud2l0dGVyCiEtLVdhbiBMaQp6aC53aWtpcGVk +aWEub3JnKiVFNCVCOCU4NyVFOSU4NyU4QwohLS1XYW5nIEp1biBUYW8Kemgud2lr +aXBlZGlhLm9yZyolRTclOEUlOEIlRTUlODYlOUIlRTYlQjYlOUIKIS0tV2FuZyBM +ZSBRdWFuCnpoLndpa2lwZWRpYS5vcmcqJUU3JThFJThCJUU2JUE4JTgyJUU2JUIz +JTg5CiEtLVdhbmcgTGkgSnVuKCovU2hpIEppYW4pCnpoLndpa2lwZWRpYS5vcmcq +JUU3JThFJThCJUU3JUFCJThCJUU1JTg2JTlCCiEtLVdhbmcgUWkgU2hhbgp6aC53 +aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVFNSVCMiU5MCVFNSVCMSVCMQohLS1XYW5n +IFFpYW4gWXVhbgp6aC53aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVFNSU4RCU4MyVF +NiVCQSU5MAohLS1XYW5nIFdlaSBMaW4Kemgud2lraXBlZGlhLm9yZyolRTclOEUl +OEIlRTclQkIlQjQlRTYlOUUlOTcKIS0tV2FuZyBZb3UgQ2FpCnpoLndpa2lwZWRp +YS5vcmcqJUU3JThFJThCJUU2JTlDJTg5JUU2JTg5JThECiEtLVdlaSBKaW5nIFNo +ZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU5JUFEJThGJUU0JUJBJUFDJUU3JTk0JTlG +CiEtLVdlbiBDaHVhbiBEYSBEaSBaaGVuCnpoLndpa2lwZWRpYS5vcmcqJUU2JUIx +JUI2JUU1JUI3JTlEJUU1JUE0JUE3JUU1JTlDJUIwJUU5JTlDJTg3CiEtLVdhbmcg +QmluZyBaaGFuZwp6aC53aWtpcGVkaWEub3JnKiVFNyU4RSU4QiVFNyU4MiVCMyVF +NyVBQiVBMAohLS1XYW5nIExlIFF1YW4Kemgud2lraXBlZGlhLm9yZyolRTclOEUl +OEIlRTQlQjklOTAlRTYlQjMlODkKIS0tV2FuZyBMaSBYaW9uZwp6aC53aWtpcGVk +aWEub3JnKiVFNyU4RSU4QiVFNSU4QSU5QiVFOSU5QiU4NAohLS1XYW5nIEx1byBQ +aW5nIEx1biBZdWFuCnpoLndpa2lwZWRpYS5vcmcqJUU3JUJEJTkxJUU3JUJCJTlD +JUU4JUFGJTg0JUU4JUFFJUJBJUU1JTkxJTk4CiEtLVdhbmcgWGluZwp6aC53aWtp +cGVkaWEub3JnL3dpa2kvJUU3JThFJThCJUU1JUE3JTkzCiEtLVdhbmcgWWFuZwp6 +aC53aWtpcGVkaWEub3JnKiVFNiVCMSVBQSVFNiVCNCU4QgohLS1XYW5nIFpoYW8g +R3VvCnpoLndpa2lwZWRpYS5vcmcqJUU3JThFJThCJUU1JTg1JTg2JUU1JTlCJUJE +CiEtLVdlaSBTZQp6aC53aWtpcGVkaWEub3JnKiVFNSU5NCVBRiVFOCU4OSVCMgoh +LS1XZWkgU2hpIEZ1IEJhaSBBbgp6aC53aWtpcGVkaWEub3JnKiVFNSVBOCU4MSVF +OCVBNyU4NiVFOCU4NSU5MCVFOCVCNCVBNSVFNiVBMSU4OAohLS1XZW4gQ2h1YW4g +RGkgWmhlbgp6aC53aWtpcGVkaWEub3JnKiVFNiVCMSVCNiVFNSVCNyU5RCVFNSU5 +QyVCMCVFOSU5QyU4NwohLS1XZW4gSmlhIEJhbwp6aC53aWtpcGVkaWEub3JnKiVF +NiVCOCVBOSVFNSVBRSVCNiVFNSVBRSU5RAohLS1XZW4gUnUgQ2h1bgp6aC53aWtp +cGVkaWEub3JnKiVFNiVCOCVBOSVFNSVBNiU4MiVFNiU5OCVBNQohLS1XZW4gWXVu +IFNvbmcKemgud2lraXBlZGlhLm9yZyolRTYlQjglQTklRTQlQkElOTElRTYlOUQl +QkUKIS0tV2VuIFppIFl1ICh6aC1oYW5zL2hhbnQpCnpoLndpa2lwZWRpYS5vcmcv +d2lraS8lRTYlOTYlODclRTUlQUQlOTclRTclOEIlQjEKemgud2lraXBlZGlhLm9y +Zy93aWtpLyVFNiU5NiU4NyVFNSVBRCU5NyVFNyU4RCU4NAohLS1XdSBCYW5nIEd1 +bwp6aC53aWtpcGVkaWEub3JnKiVFNSU5MCVCNCVFOSU4MiVBNiVFNSU5QiVCRAoh +LS1XbyBEZSBGZW4gRG91CnpoLndpa2lwZWRpYS5vcmcqJUU2JTg4JTkxJUU3JTlB +JTg0JUU1JUE1JThCJUU2JTk2JTk3CiEtLVd1IEVyIEthaSBYaQp6aC53aWtpcGVk +aWEub3JnKiVFNSU5MCVCRSVFNSVCMCU5NCVFNSVCQyU4MCVFNSVCOCU4Qwp6aC53 +aWtpcGVkaWEub3JnKiVFNSU5MCVCRSVFNyU4OCVCRSVFOSU5NiU4QiVFNSVCOCU4 +QwohLS1XdSBHdW8gSmllIEppIFpoZQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NyVB +MCVFNSU5QiVCRCVFNyU5NSU4QyVFOCVBRSVCMCVFOCU4MCU4NQohLS1XdSBIb25n +IERhCnpoLndpa2lwZWRpYS5vcmcqJUU1JTkwJUI0JUU1JUJDJTk4JUU4JUJFJUJF +CiEtLVd1IEppZQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NyVBMCVFNyU5NSU4Qwoh +LS1XdSBLYW4gU2hpIEppYW4Kemgud2lraXBlZGlhLm9yZyolRTclODMlOEYlRTUl +OUQlOEUlRTQlQkElOEIlRTQlQkIlQjYKIS0tV3UgTHUgTXUgUWkgUWkgV3UgQmFv +IExpIFNoaSBKaWFuCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI5JThDJUU5JUIyJTgx +JUU2JTlDJUE4JUU5JUJEJTkwJUU0JUI4JTgzJUMyJUI3JUU0JUJBJTk0JUU2JTlB +JUI0JUU1JThBJTlCJUU0JUJBJThCJUU0JUJCJUI2CiEtLVd1IE1hbyBEYW4gU2hp +IEppYW4Kemgud2lraXBlZGlhLm9yZyolRTQlQkElOTQlRTYlQUYlOUIlRTglOUIl +OEIlRTQlQkElOEIlRTQlQkIlQjYKIS0tWGkgRGFuIE1pbiBaaHUgUWlhbmcKemgu +d2lraXBlZGlhLm9yZyolRTglQTUlQkYlRTUlOEQlOTUlRTYlQjAlOTElRTQlQjgl +QkIlRTUlQTIlOTkKIS0tWGkgSmluIFBpbmcgKHpoLWhhbnQpCnpoLndpa2lwZWRp +YS5vcmcqJUU3JUJGJTkyJUU4JUJGJTkxJUU1JUI5JUIzCiEtLVhpIEppbiBQaW5n +CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI5JUEwJUU4JUJGJTkxJUU1JUI5JUIzCiEt +LVhpIFhpYW5nIEppIEh1YQp6aC53aWtpcGVkaWEub3JnKiVFOCVBNSVCRiVFNSU4 +RSVBMiVFOCVBRSVBMSVFNSU4OCU5MgohLS1YaSBaYW5nCnpoLndpa2lwZWRpYS5v +cmcqJUU4JUE1JUJGJUU4JTk3JThGCiEtLVhpIFpob25nIFh1bgp6aC53aWtpcGVk +aWEub3JnKiVFNCVCOSVBMCVFNCVCQiVCMiVFNSU4QiU4QgohLS1YaWEgTWEgQmEK +emgud2lraXBlZGlhLm9yZyolRTUlQTQlOEYlRTclOTElQUElRTUlQjclQjQKIS0t +WGlhbmcgR2FuZyBEdSBMaSBZdW4gRG9uZwp6aC53aWtpcGVkaWEub3JnKiVFOSVB +NiU5OSVFNiVCOCVBRiVFNyU4RCVBOCVFNyVBQiU4QiVFOSU4MSU4QiVFNSU4QiU5 +NQohLS1YaWFuZyBHYW5nIE1pbiBaaHUgRGFuZwp6aC53aWtpcGVkaWEub3JnKiVF +OSVBNiU5OSVFNiVCOCVBRiVFNiVCMCU5MSVFNCVCOCVCQiVFOSVCQiVBOAohLS1Y +aWFuZyBHYW5nIE1pbiBaaHUgUGFpCnpoLndpa2lwZWRpYS5vcmcqJUU5JUE2JTk5 +JUU2JUI4JUFGKiVFNiVCMCU5MSVFNCVCOCVCQiVFNiVCNCVCRQohLS1YaWFuZyBH +YW5nIFJlbiBRdWFuIEppYW4gQ2hhCnpoLndpa2lwZWRpYS5vcmcqJUU5JUE2JTk5 +JUU2JUI4JUFGJUU0JUJBJUJBJUU2JUFDJThBJUU3JTlCJUEzJUU1JUFGJTlGCiEt +LVhpYW8gWmhhbyBTaQp6aC53aWtpcGVkaWEub3JnKiVFNSVCMCU4RiVFNiU5OCVB +RCVFNSVBRiVCQQohLS1YaWUgWWFuIEZlaQp6aC53aWtpcGVkaWEub3JnKiVFOCVC +MCVBMiVFNSVCRCVBNiVFOSVBMyU5RQohLS1YaW4gSGFvIE5pYW4Kemgud2lraXBl +ZGlhLm9yZyolRTglQkUlOUIlRTclODElOEYlRTUlQjklQjQKIS0tWGluIEppYW5n +IER1IExpICooemgtY24vemgtSGFucykKemgud2lraXBlZGlhLm9yZyolRTYlOTYl +QjAlRTclOTYlODYlRTclOEIlQUMlRTclQUIlOEIKemgud2lraXBlZGlhLm9yZyol +RTYlOTYlQjAlRTclOTYlODYlRTclOEQlQTglRTclQUIlOEIKIS0tWGluIFRhbmcg +UmVuIERpYW4gU2hpIFRhaQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVCMCVFNSU5 +NCU5MCVFNCVCQSVCQSVFOSU5QiVCQiVFOCVBNiU5NiVFNSU4RiVCMAohLS1YaW4g +V2VuIFppIFlvdSBMdWUgRHVvIFpoZQp6aC53aWtpcGVkaWEub3JnKiVFNiU5NiVC +MCVFOSU5NyVCQiVFOCU4NyVBQSVFNyU5NCVCMSVFNiU4RSVBMCVFNSVBNCVCQSVF +OCU4MCU4NQohLS1YaW5nIFl1biBGYSBTaGkKemgud2lraXBlZGlhLm9yZyolRTYl +OTglOUYlRTQlQkElOTElRTYlQjMlOTUlRTUlQjglODgKIS0tWGlvbmcgWWFuCnpo +Lndpa2lwZWRpYS5vcmcqJUU3JTg2JThBJUU3JTg0JUIxCiEtLVh1IENhaSBIb3UK +emgud2lraXBlZGlhLm9yZyolRTUlQkUlOTAlRTYlODklOEQlRTUlOEUlOUEKIS0t +WHUgSmlhIFR1bgp6aC53aWtpcGVkaWEub3JnKiVFOCVBRSVCOCVFNSVBRSVCNiVF +NSVCMSVBRgohLS1YdWUgU2hhbiBTaGkgWmkgUWkKemgud2lraXBlZGlhLm9yZyol +RTklOUIlQUElRTUlQjElQjElRTclOEQlODUlRTUlQUQlOTAlRTYlOTclOTcKIS0t +WHVuIFdlbiBDaHUKemgud2lraXBlZGlhLm9yZyolRTglQTklQTIlRTUlOTUlOEYl +RTglOTklOTUKIS0tWWFuIEppYSBRaQp6aC53aWtpcGVkaWEub3JnKiVFNSU5QSVC +NCVFNSVBRSVCNiVFNSU4NSVCNgp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBNSVF +NSVBRSVCNiVFNSU4NSVCNgohLS1ZYW4gTWluZyBGdQp6aC53aWtpcGVkaWEub3Jn +KiVFOSU5OCU4RSVFNiU5OCU4RSVFNSVBNCU4RAohLS1ZYW5nIEppYSBYaSBKaW5n +IEFuCnpoLndpa2lwZWRpYS5vcmcqJUU2JTlEJUE4JUU0JUJEJUIzJUU4JUEyJUFE +JUU4JUFEJUE2JUU2JUExJTg4CiEtLVlhbmcgSmlhbiBMaQp6aC53aWtpcGVkaWEu +b3JnKiVFNiVBNSU4QSVFNSVCQiVCQSVFNSU4OCVBOQohLS1ZaSBMaSBTaGVuCnpo +Lndpa2lwZWRpYS5vcmcqJUU4JTlBJTgxJUU1JThBJTlCJUU3JUE1JTlFCiEtLVlv +bmcgSGUgR29uZwp6aC53aWtpcGVkaWEub3JnKiVFOSU5QiU4RCVFNSU5MiU4QyVF +NSVBRSVBQgohLS1Zb3UgTGluZyBXYW5nCnpoLndpa2lwZWRpYS5vcmcqJUU1JUI5 +JUJEJUU3JTgxJUI1JUU3JUJEJTkxCiEtLVl1IEppZQp6aC53aWtpcGVkaWEub3Jn +KiVFNCVCRCU5OSVFNiU5RCVCMAohLS1ZdSBMaSBQaW5nCnpoLndpa2lwZWRpYS5v +cmcqJUU0JUJGJTlFJUU0JUI4JUJEJUU4JTkwJThECiEtLVl1IFNhbiBHZSBNaW5n +CnpoLndpa2lwZWRpYS5vcmcqJUU5JTlCJUE4JUU1JTgyJTk4JUU5JTlEJUE5JUU1 +JTkxJUJECiEtLVl1IFpoZW5nIFNoZW5nCnpoLndpa2lwZWRpYS5vcmcqJUU0JUJG +JTlFJUU2JUFEJUEzJUU1JUEzJUIwCiEtLVl1YW4gSG9uZyBCaW5nCnpoLndpa2lw +ZWRpYS5vcmcqJUU4JUEyJTgxJUU3JUJBJUEyJUU1JTg2JUIwCnpoLndpa2lwZWRp +YS5vcmcqJUU4JUEyJTgxJUU3JUI0JTg1JUU1JTg2JUIwCiEtLVphbmcgQ2h1YW4g +Rm8gSmlhbwp6aC53aWtpcGVkaWEub3JnKiVFOCU5NyU4RiVFNCVCQyVBMCVFNCVC +RCU5QiVFNiU5NSU5OQohLS1aaGEgU2hpIEx1biBCdSBTaQp6aC53aWtpcGVkaWEu +b3JnKiVFNiU4OSU4RSVFNCVCQiU4MCVFNCVCQyVBNiVFNSVCOCU4MyVFNSVBRiVC +QQohLS1aaGFuZyBEZSBKaWFuZwp6aC53aWtpcGVkaWEub3JnKiVFNSVCQyVBMCVF +NSVCRSVCNyVFNiVCMSU5RgohLS1aaGFuZyBHYW8gTGkKemgud2lraXBlZGlhLm9y +ZyolRTUlQkMlQTAlRTklQUIlOTglRTQlQjglQkQKIS0tWmhhbmcgSmlhIEh1IFR1 +IEtlIFR1CnpoLndpa2lwZWRpYS5vcmcqJUU3JUFCJUEwJUU1JTk4JTg5JUU1JTkx +JUJDJUU1JTlCJUJFJUU1JTg1JThCJUU1JTlCJUJFCiEtLVpoYW5nIExpIENoYW5n +CnpoLndpa2lwZWRpYS5vcmcqJUU1JUJDJUEwJUU3JUFCJThCJUU2JTk4JThDCiEt +LVpoYW5nIFBlaSBMaQp6aC53aWtpcGVkaWEub3JnKiVFNSVCQyVBMCVFNSU5RiVC +OSVFOCU4RSU4OQohLS1aaGFuZyBXZW4gR3VhbmcKemgud2lraXBlZGlhLm9yZyol +RTUlQkMlQjUlRTYlOTYlODclRTUlODUlODkKIS0tWmhhbmcgWWkgSGUgKHpoLWhh +bnMvaGFudCkKemgud2lraXBlZGlhLm9yZyolRTclQUIlQTAlRTglQTklOTIlRTUl +OTIlOEMKemgud2lraXBlZGlhLm9yZyolRTclQUIlQTAlRTglQUYlOTIlRTUlOTIl +OEMKIS0tWmhhbmcgWXUKemgud2lraXBlZGlhLm9yZyolRTUlQkMlQTAlRTklOTIl +QjAKIS0tWmhhbmcgWXUgKHpoLWhhbnQpCnpoLndpa2lwZWRpYS5vcmcqJUU1JUJD +JUI1JUU5JTg4JUJBCiEtLVpoYW8gWmkgWWFuZyAoemgtaGFucy96aC1oYW50KQp6 +aC53aWtpcGVkaWEub3JnKiVFOCVCNSVCNSVFNyVCNCVBQiVFOSU5OCVCMwp6aC53 +aWtpcGVkaWEub3JnKiVFOCVCNiU5OSVFNyVCNCVBQiVFOSU5OSVCRAohLS1aaGUg +QnUgWnVuIERhbiBCYSBIdSBUdSBLZSBUdQp6aC53aWtpcGVkaWEub3JnKiVFNSU5 +MyVCMiVFNSVCOCU4MyVFNSVCMCU4QSVFNCVCOCVCOSVFNSVCNyVCNCVFNSU5MSVC +QyVFNSU5QiVCRSVFNSU4NSU4QiVFNSU5QiVCRQohLS1aaGVuIFNoYW4gUmVuCnpo +Lndpa2lwZWRpYS5vcmcqJUU3JTlDJTlGJUU1JTk2JTg0JUU1JUJGJThECiEtLVpo +b25nIEdvbmcgWmhvbmcgWWFuZyBYdWFuIENodWFuIEJ1CnpoLndpa2lwZWRpYS5v +cmcqJUU0JUI4JUFEJUU1JTg1JUIxJUU0JUI4JUFEJUU1JUE0JUFFJUU1JUFFJUEz +JUU0JUJDJUEwJUU5JTgzJUE4CiEtLVpob25nIEd1bwp6aC53aWtpcGVkaWEub3Jn +L3dpa2kvJUU0JUI4JUFEJUU1JTlCJUJECiEtLVpob25nIEd1byBDaGkgQnUgVG9u +ZyBaaGVuZyBKaWFuIFpoZSBNaW5nIERhbgp6aC53aWtpcGVkaWEub3JnKiVFNCVC +OCVBRCVFNSU5QyU4QiVFNiU4QyU4MSVFNCVCOCU4RCVFNSU5MCU4QyVFNiU5NCVC +RiVFOCVBNiU4QiVFOCU4MCU4NSVFNSU5MCU4RCVFNSU5NiVBRQohLS1aaG9uZyBH +dW8gRGEgTHUgRmVuZyBTdW8gV2VpIEppIE1laSBUaSBTaGkgSmlhbiAoemgtaGFu +cy9oYW50KQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5QiVCRCVFNSVB +NCVBNyVFOSU5OSU4NiVFNSVCMCU4MSVFOSU5NCU4MSVFNyVCQiVCNCVFNSU5RiVC +QSVFNSVBQSU5MiVFNCVCRCU5MyVFNCVCQSU4QiVFNCVCQiVCNgp6aC53aWtpcGVk +aWEub3JnKiVFNCVCOCVBRCVFNSU5QiVCRCVFNSVBNCVBNyVFOSU5OSU4NiVFNSVC +MCU4MSVFOSU5NCU4MSVFNyVCQiVCNCVFNSU5RiVCQSVFNyU5OSVCRSVFNyVBNyU5 +MSVFNCVCQSU4QiVFNCVCQiVCNgohLS1aaG9uZyBHdW8gRGEgTHUgV2FuZyBMdW8g +RmVuZyBTdW8Kemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlOUMlOEIlRTUl +QTQlQTclRTklOTklQjglRTclQjYlQjIlRTglQjclQUYlRTUlQjAlODElRTklOEUl +OTYKIS0tWmhvbmcgR3VvIERpYW4gU2hpIFNoZW4gQ2hhCnpoLndpa2lwZWRpYS5v +cmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU3JTk0JUI1JUU4JUE3JTg2JUU1JUFFJUEx +JUU2JTlGJUE1CiEtLVpob25nIEd1byBGYW4gTGFuIExpYW4gTWVuZwp6aC53aWtp +cGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5QiVCRCVFNiVCMyU5QiVFOCU5MyU5RCVF +OCU4MSU5NCVFNyU5QiU5RgohLS1aaG9uZyBHdW8gR29uZyBDaGFuIERhbmcoWmhl +bmcgWmhpIFl1biBEb25nKExpZSBCaWFvKSkvKFpob25nIFlhbmcgSnVuIFNoaSBX +ZWkgWXVhbiBIdWkpLi4uCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlC +JUJEJUU1JTg1JUIxJUU0JUJBJUE3JUU1JTg1JTlBCiEtLVpob25nIEd1byBHb25n +IENoYW4gRGFuZyAoemgtaGFudCkKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQl +RTUlOUMlOEIlRTUlODUlQjElRTclOTQlQTIlRTklQkIKIS0tWmhvbmcgR3VvIEpp +IER1IEppYW8gWGllIEh1aQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5 +QiVCRCVFNSU5RiVCQSVFNyU5RCVBMyVFNiU5NSU5OSVFNSU4RCU4RiVFNCVCQyU5 +QQohLS1aaG9uZyBHdW8gSmlhIEppYW8gWGllIEh1aQp6aC53aWtpcGVkaWEub3Jn +KiVFNCVCOCVBRCVFNSU5QiVCRCVFNSVBRSVCNiVFNSVCQSVBRCVFNiU5NSU5OSVF +NCVCQyU5QQohLS1aaG9uZyBHdW8gTGlhbiBCYW5nIFpodSBZaQp6aC53aWtpcGVk +aWEub3JnKiVFNCVCOCVBRCVFNSU5QyU4QiVFOCU4MSVBRiVFOSU4MiVBNiVFNCVC +OCVCQiVFNyVCRSVBOQohLS1aaG9uZyBHdW8gUmVuIFF1YW4gTWluIFl1biBYaW4g +WGkgWmhvbmcgWGluCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlDJThC +JUU0JUJBJUJBJUU2JUFDJThBJUU2JUIwJTkxJUU5JTgxJThCJUU0JUJGJUExJUU2 +JTgxJUFGJUU0JUI4JUFEJUU1JUJGJTgzCiEtLVpob25nIEd1byBNaW4gWmh1IERh +bmcKemgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlOUIlQkQlRTYlQjAlOTEl +RTQlQjglQkIlRTUlODUlOUEKIS0tWmhvbmcgR3VvIE1pbiBaaHUgWXVuIERvbmco +emgtSGFucy96aC1IYW50KQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5 +QiVCRCVFNiVCMCU5MSVFNCVCOCVCQiVFOCVCRiU5MCVFNSU4QSVBOAp6aC53aWtp +cGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5QyU4QiVFNiVCMCU5MSVFNCVCOCVCQiVF +OSU4MSU4QiVFNSU4QiU5NQohLS1aaG9uZyBHdW8gTW8gTGkgSHVhIEdlIE1pbmcK +emgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlOUMlOEIlRTglOEMlODklRTgl +OEUlODklRTglOEElQjElRTklOUQlQTklRTUlOTElQkQKIS0tWmhvbmcgKEh1YSBS +ZW4gTWluIEdvbmcgSGUpIEd1byBSZW4gUXVhbgp6aC53aWtpcGVkaWEub3JnKiVF +NCVCOCVBRColRTUlOUIlQkQlRTQlQkElQkElRTYlOUQlODMKIS0tWmhvbmcgR3Vv +IFdhbmcgTHVvIFJ1YW4gSmlhbiBHdW8gTHYgR3VhbiBKaWFuIFppIExpZSBCaWFv +CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JTlCJUJEJUU3JUJEJTkxJUU3 +JUJCJTlDJUU4JUJEJUFGJUU0JUJCJUI2JUU4JUJGJTg3JUU2JUJCJUE0JUU1JTg1 +JUIzJUU5JTk0JUFFJUU1JUFEJTk3JUU1JTg4JTk3JUU4JUExJUE4CiEtLVpob25n +IEd1byBXYW5nIEx1byBTaGVuIENoYQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVB +RCVFNSU5QiVCRCVFNyVCRCU5MSVFNyVCQiU5QyVFNSVBRSVBMSVFNiU5RiVBNQp6 +aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU5QyU4QiVFNyVCNiVCMiVFOCVC +NyVBRiVFNSVBRiVBOSVFNiU5RiVBNQohLS1aaG9uZyBIdWEgUmVuIE1pbiBHb25n +IEhlIEd1byBSZW4gUXVhbgp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFOCU4 +RiVBRiVFNCVCQSVCQSVFNiVCMCU5MSVFNSU4NSVCMSVFNSU5MiU4QyVFNSU5QyU4 +QiVFNCVCQSVCQSVFNiVBQyU4QQohLS1aaG9uZyBIdWEgUmVuIE1pbiBHb25nIEhl +IEd1byBTaGVuIENoYSBDaSBIdWkgTGllIEJpYW8Kemgud2lraXBlZGlhLm9yZyol +RTQlQjglQUQlRTglOEYlQUYlRTQlQkElQkElRTYlQjAlOTElRTUlODUlQjElRTUl +OTIlOEMlRTUlOUMlOEIlRTUlQUYlQTklRTYlOUYlQTUlRTglQkUlQUQlRTUlQkQl +OTklRTUlODglOTclRTglQTElQTgKIS0tWmhvbmcgSHVhIFJlbiBNaW4gR29uZyBI +ZSBHdW8gWGlhbiBGYQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSU4RCU4 +RSVFNCVCQSVCQSVFNiVCMCU5MSVFNSU4NSVCMSVFNSU5MiU4QyVFNSU5QiVCRCVF +NSVBRSVBQSVFNiVCMyU5NQohLS1aaG9uZyBIdWEgTWluIEd1byBHdW8gTWluIERh +IEh1aQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFOCU4RiVBRiVFNiVCMCU5 +MSVFNSU5QyU4QiVFNSU5QyU4QiVFNiVCMCU5MSVFNSVBNCVBNyVFNiU5QyU4Mwoh +LS1aaG9uZyBIdWEgTWluIEd1byBaaGkgWmFuZyBMaSBTaGkKemgud2lraXBlZGlh +Lm9yZyolRTQlQjglQUQlRTglOEYlQUYlRTYlQjAlOTElRTUlOUMlOEIlRTYlQjIl +QkIlRTglOTclOEYlRTYlQUQlQjclRTUlOEYlQjIKIS0tWmhvbmcgSHVhIE1pbiBH +dW8gWm9uZyBUb25nIEZ1CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU4JThG +JUFGJUU2JUIwJTkxJUU1JTlDJThCJUU3JUI4JUJEJUU3JUI1JUIxJUU1JUJBJTlD +CiEtLVpob25nIEh1YSBSZW4gTWluIEdvbmcgSGUgR3VvIFdhbmcgTHVvIFNoZW4g +Q2hhCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU1JThEJThFJUU0JUJBJUJB +JUU2JUIwJTkxJUU1JTg1JUIxJUU1JTkyJThDJUU1JTlCJUJEJUU3JUJEJTkxJUU3 +JUJCJTlDJUU1JUFFJUExJUU2JTlGJUE1CnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4 +JUFEJUU4JThGJUFGJUU0JUJBJUJBJUU2JUIwJTkxJUU1JTg1JUIxJUU1JTkyJThD +JUU1JTlDJThCJUU3JUI2JUIyJUU3JUI1JUExJUU1JUFGJUE5JUU2JTlGJUE1CiEt +LVpob25nIEh1YSBSZW4gTWluIEdvbmcgSGUgR3VvIE1pbiBaaHUgWXVuIERvbmcK +emgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTglOEYlQUYlRTQlQkElQkElRTYl +QjAlOTElRTUlODUlQjElRTUlOTIlOEMlRTUlOUMlOEIlRTYlQjAlOTElRTQlQjgl +QkIlRTklODElOEIlRTUlOEIlOTUKIS0tWmhvbmcgSHVhIFJlbiBNaW4gR29uZyBH +ZSBHdW8gWm9uZyBKaWFvCnpoLndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU4JThG +JUFGJUU0JUJBJUJBJUU2JUIwJTkxJUU1JTg1JUIxJUU1JTkyJThDJUU1JTlDJThC +JUU1JUFFJTk3JUU2JTk1JTk5CiEtLVpob25nIFdlbiBXZWkgSmkgQmFpIEtlCnpo +Lndpa2lwZWRpYS5vcmcqJUU0JUI4JUFEJUU2JTk2JTg3JUU3JUJCJUI0JUU1JTlG +JUJBJUU3JTk5JUJFJUU3JUE3JTkxCiEtLVpob25nIFlhbmcgSmluZyBXZWkgSnUK +emgud2lraXBlZGlhLm9yZyolRTQlQjglQUQlRTUlQTQlQUUlRTglQUQlQTYlRTgl +QTElOUIlRTUlQjElODAKIS0tWmhvbmcgWWFuZyBXZW4gSHVhIEdlIE1pbmcgWGlh +byBadQp6aC53aWtpcGVkaWEub3JnKiVFNCVCOCVBRCVFNSVBNCVBRSVFNiU5NiU4 +NyVFNSU4QyU5NiVFOSU5RCVBOSVFNSU5MSVCRCVFNSVCMCU4RiVFNyVCQiU4NAoh +LS1aaG9uZyBZaW5nIFh1IERpbmcgWmFuZyBZaW4gVGlhbyBZdWUKemgud2lraXBl +ZGlhLm9yZyolRTQlQjglQUQlRTglOEIlQjElRTclQkElOEMlRTglQTglODIlRTgl +OTclOEYlRTUlOEQlQjAlRTYlQTIlOUQlRTclQjQlODQKIS0tWmhvdSBCaW4Kemgu +d2lraXBlZGlhLm9yZyolRTUlOTElQTglRTYlQkIlQTgKIS0tWmhvdSBZb25nIEth +bmcKemgud2lraXBlZGlhLm9yZyolRTUlOTElQTglRTYlQjAlQjglRTUlQkElQjcK +IS0tWmh1YW4gRmEgTHVuCnpoLndpa2lwZWRpYS5vcmcqJUU4JUJEJUFDJUU2JUIz +JTk1JUU4JUJEJUFFCiEtLVppIFlvdSBNZW4Kemgud2lraXBlZGlhLm9yZyolRTgl +ODclQUElRTclOTQlQjElRTklOTclQTgKIS0tWmkgWW91IFlhIFpob3UKemgud2lr +aXBlZGlhLm9yZyolRTglODclQUElRTclOTQlQjElRTQlQkElOUElRTYlQjQlQjIK +IS0tWm9uZyBHZSBCYQp6aC53aWtpcGVkaWEub3JnKiVFNSVBRSU5NyVFNSU5NiU4 +MCVFNSVCNyVCNAoKIS0tLS0tLS0tLS0tLS0tLU90aGVyIFdpa2ktLS0tLS0tLS0t +LS0tLS0KIS0tVHUgUG8gV2FuZyBMdW8gU2hlbiBDaGEtLVdpa2lib29rcwp6aC53 +aWtpYm9va3Mub3JnKiVFNyVBQSU4MSVFNyVBMCVCNCVFNyVCRCU5MSVFNyVCQiU5 +QyVFNSVBRSVBMSVFNiU5RiVBNQohLS1MaW5nIEJhIFhpYW4gWmhhbmctLVdpa2lT +b3VyY2UKIS0temgud2lraXNvdXJjZS5vcmcvd2lraS8lRTklOUIlQjYlRTUlODUl +QUIlRTUlQUUlQUElRTclQUIlQTAKCiEtLS0tLS0tLS0tLS1UVyBHb3YtLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tCmdvdi50dwpAQHx8dGF4Lm5hdC5nb3YudHcKQEB8 +fG1vZS5nb3YudHcKQEB8fGN3Yi5nb3YudHcKQEB8fG5wbS5nb3YudHcKQEB8fHlh +dHNlbi5nb3YudHcKQEB8fGFlYy5nb3YudHcKQEB8fG12ZGlzLmdvdi50dwpAQHx8 +c3RkdGltZS5nb3YudHcKQEB8fG5tbWJhLmdvdi50dwpAQHx8bnRkbWguZ292LnR3 +CkBAfHxncmIuZ292LnR3CkBAfHx0cGRlLmFpZGUuZ292LnR3CkBAfHxtYXRzdS1u +ZXdzLmdvdi50dwpAQHx8bmVyaGwuZ292LnR3CkBAfHxkYXB1LWhvdXNlLmdvdi50 +dwpAQHx8dmdodGMuZ292LnR3CkBAfHxhaWRlLmdvdi50dwpAQHx8aGNoY2MuZ292 +LnR3CkBAfHxudHVoLmdvdi50dwpAQHx8bmhyaS5nb3YudHcKQEB8fG5zdG0uZ292 +LnR3CkBAfHxudHNlYy5nb3YudHcKQEB8fG5lci5nb3YudHcKQEB8fG5tdGwuZ292 +LnR3CkBAfHxudGwuZ292LnR3CkBAfHxwZXQuZ292LnR3CkBAfHxraGNjLmdvdi50 +dwpAQHx8bm1tYmEuZ292LnR3CkBAfHxraG1zLmdvdi50dwpAQHx8d2FuZmFuZy5n +b3YudHcKQEB8fG5pY3QuZ292LnR3CkBAfHxhcnRlLmdvdi50dwpAQHx8bm1oLmdv +di50dwpAQHx8bm1wLmdvdi50dwpAQHx8dHBoY2MuZ292LnR3CkBAfHxpbmVyLmdv +di50dwpAQHx8dG5jc2VjLmdvdi50dwpAQHx8bnNwby5nb3YudHcKQEB8fGFpZGUu +Z292LnR3CkBAfHxuY3JlZS5nb3YudHcKQEB8fHZnaGtzLmdvdi50dwpAQHx8dGNo +Yi5nb3YudHcKQEB8fHBhYnAuZ292LnR3CkBAfHxpdHJjLmdvdi50dwpAQHx8ZGYu +Z292LnR3CkBAfHx3b21lbmJ1c2luZXNzLm55Yy5nb3YudHcKQEB8fGdzbi1jZXJ0 +Lm5hdC5nb3YudHcKQEB8fGtrLmdvdi50dwpAQHx8dGhic3RjLmdvdi50dwpAQHx8 +Y29tbmV3cy5naW8uZ292LnR3CkBAfHxjb21uZXdzLmdpby5nb3YudHcKQEB8fGts +Y2NhYi5nb3YudHcKQEB8fHl2dGMuZ292LnR3CkBAfHxhZnR5Z2guZ292LnR3CkBA +fHxrbHJhLmdvdi50dwpAQHx8bHVuZ3RhbmhyLmdvdi50dwpAQHx8dGFveXVhbi5n +b3YudHcKQEB8fGhjYy5nb3YudHcKQEB8fG52cmkuZ292LnR3CkBAfHxubXZ0dGMu +Z292LnR3CkBAfHxrbWguZ292LnR3CkBAfHxwYXRlaHIuZ292LnR3CkBAfHxuZXJj +aC5nb3YudHcKQEB8fGttc2VoLmdvdi50dwpAQHx8bmVydHQuZ292LnR3CkBAfHxj +eWNhYi5nb3YudHcKQEB8fGNodWt1YW5nLmdvdi50dwpAQHx8Z3lzZC5ueWMuZ292 +LnR3CkBAfHxjcC1ob3VzZS5nb3YudHcKQEB8fHZnaHRwZS5nb3YudHcKQEB8fGV0 +cmFpbmluZy5nb3YudHcKQEB8fHN0YWcuZ292LnR3CkBAfHxiZGhyLmdvdi50dwpA +QHx8dGNzYWMuZ292LnR3CkBAfHxpbWFnZXNibG9nLmdpby5nb3YudHcKQEB8fGFy +dGUuZ292LnR3CkBAfHxkbXRpcC5nb3YudHcKQEB8fGNoY2NjLmdvdi50dwpAQHx8 +aGVuZ2NodWVuLmdvdi50dwpAQHx8aHNpbmNodS1jYy5nb3YudHcKQEB8fDkyMS5n +b3YudHcKQEB8fG5jZHIubmF0Lmdvdi50dwpAQHx8NHBwcGMuZ292LnR3CkBAfHxr +bHNpby5nb3YudHcKQEB8fG5pY2kubmF0Lmdvdi50dwpAQHx8Y3JvbW90Yy5uYXQu +Z292LnR3CkBAfHx0YWl0dW5nLWhvdXNlLmdvdi50dwoKIS0tLS0tSVAtLS0tLQox +NzQuMTQyLjEwNS4xNTMKNjkuNjUuMTkuMTYwCgohLS0tLS1XaGl0ZWxpc3QtLS0t +LQpAQHx8YWxpeXVuLmNvbQpAQHx8YmFpZHUuY29tCiEtLUBAfHxiaW5nLmNvbQpA +QHx8amlrZS5jb20KQEB8fGNoaW5hc28uY29tCkBAfHxxcS5jb20KQEB8fHNpbmEu +Y24KQEB8fHNpbmEuY29tLmNuCkBAfHxzb2dvdS5jb20KQEB8fHNvLmNvbQpAQHx8 +c29zby5jb20KQEB8fHlhaG9vLmNuCkBAfHx5b3VkYW8uY29tCkBAfHx6aG9uZ3Nv +dS5jb20KQEB8aHR0cHM6Ly9hdXRvcHJveHkub3JnCkBAfGh0dHA6Ly9pbWUuYmFp +ZHUuanAKIS0tLS0tLS0tLS0tLS0tLS1FT0YtLS0tLS0tLS0tLS0tLS0tCg== diff --git a/test/log2test.py b/test/log2test.py new file mode 100644 index 0000000..61def1e --- /dev/null +++ b/test/log2test.py @@ -0,0 +1,8 @@ +import re + +with open('1000.log', 'rb') as f: + for line in f: + line = line.strip() + m = re.findall('connecting (.*?):', line) + if m: + print m[0] diff --git a/test/performance_test.js b/test/performance_test.js new file mode 100644 index 0000000..3d52b73 --- /dev/null +++ b/test/performance_test.js @@ -0,0 +1,713 @@ +var urls = ['plus.google.com', +'ssl.gstatic.com', +'www.google.com', +'id.google.com', +'clients1.google.com', +'api.twitter.com', +'lh3.googleusercontent.com', +'encrypted-tbn3.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn1.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn3.gstatic.com', +'encrypted-tbn3.gstatic.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn1.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn1.gstatic.com', +'encrypted-tbn3.gstatic.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn3.gstatic.com', +'www.taobao.com', +'www.taobao.com', +'www.taobao.com', +'www.taobao.com', +'g.tbcdn.com', +'g.tbcdn.com', +'g.tbcdn.com', +'gtms01.alicdn.com', +'gtms02.alicdn.com', +'gtms03.alicdn.com', +'gtms04.alicdn.com', +'msg.taobao.com', +'www.taobao.com', +'i.mmcdn.cn', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img.taobaocdn.com', +'img02.taobaocdn.com', +'img02.taobaocdn.com', +'img02.taobaocdn.com', +'img02.taobaocdn.com', +'img03.taobaocdn.com', +'img04.taobaocdn.com', +'img04.taobaocdn.com', +'www.baidu.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'passport.baidu.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'s1.bdstatic.com', +'suggestion.baidu.com', +'clients1.google.com', +'clients1.google.com', +'clients1.google.com', +'clients1.google.com', +'clients1.google.com', +'clients1.google.com', +'apis.google.com', +'id.google.com', +'ssl.gstatic.com', +'www.gstatic.com', +'clients1.google.com', +'clients4.google.com', +'www.google.com', +'t3.gstatic.com', +'calendar.google.com', +'calendar.google.com', +'calendar.google.com', +'calendar.google.com', +'calendar.google.com', +'calendar.google.com', +'twitter.com', +'docs.google.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'clients1.google.com', +'twitter.com', +'pbs.twimg.com', +'twitter.com', +'accounts.google.com', +'clients2.google.com', +'0.client-channel.google.com', +'safebrowsing.google.com', +'safebrowsing-cache.google.com', +'client24.dropbox.com', +'ssl.gstatic.com', +'www.weibo.com', +'www.weibo.com', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'0.docs.google.com', +'0.talkgadget.google.com', +'0.docs.google.com', +'0.talkgadget.google.com', +'0.talkgadget.google.com', +'0.docs.google.com', +'0.talkgadget.google.com', +'0.docs.google.com', +'api.twitter.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'www.google.com', +'graph.facebook.com', +'www.google.com', +'www.google.com', +'www.google.com', +'notify1.dropbox.com', +'pbs.twimg.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'pbs.twimg.com', +'pbs.twimg.com', +'pbs.twimg.com', +'twitter.com', +'pbs.twimg.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'pbs.twimg.com', +'pbs.twimg.com', +'t.co', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'s.tbcdn.cn', +'twitter.com', +'twitter.com', +'twitter.com', +'pbs.twimg.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'twitter.com', +'proxy.googlezip.net', +'clients4.google.com', +'clients6.google.com', +'talkgadget.google.com', +'plus.google.com', +'www.blogger.com', +'www.blogger.com', +'www.blogger.com', +'www.blogger.com', +'apis.google.com', +'lh3.googleusercontent.com', +'apis.google.com', +'apis.google.com', +'apis.google.com', +'program-think.blogspot.com', +'2.bp.blogspot.com', +'program-think.blogspot.com', +'1.bp.blogspot.com', +'program-think.blogspot.com', +'www.google-analytics.com', +'twitter.com', +'www.youku.com', +'www.youku.com', +'html.atm.youku.com', +'html.atm.youku.com', +'html.atm.youku.com', +'html.atm.youku.com', +'www.youku.com', +'html.atm.youku.com', +'html.atm.youku.com', +'www.youku.com', +'www.youku.com', +'www.youku.com', +'r4.yiimg.com', +'www.youku.com', +'r2.yiimg.com', +'www.youku.com', +'r3.yiimg.com', +'www.youku.com', +'r3.yiimg.com', +'html.atm.youku.com', +'www.youku.com', +'r2.yiimg.com', +'www.youku.com', +'static.atm.youku.com', +'static.atm.youku.com', +'static.atm.youku.com', +'static.atm.youku.com', +'static.atm.youku.com', +'static.atm.youku.com', +'static.atm.youku.com', +'r4.yiimg.com', +'lh6.googleusercontent.com', +'accounts.google.com', +'lh4.googleusercontent.com', +'oauth.googleusercontent.com', +'csi.gstatic.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'t.co', +'twitter.com', +'github-camo.global.ssl.fastly.net', +'clients1.google.com', +'pbs.twimg.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'www.google.com', +'www.google.com', +'id.google.com', +'plus.google.com', +'clients4.google.com', +'pbs.twimg.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'accounts.google.com', +'talk.google.com', +'notify1.dropbox.com', +'notify1.dropbox.com', +'calendar.google.com', +'calendar.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'twitter.com', +'clients4.google.com', +'init.itunes.apple.com', +'upp.itunes.apple.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'d.dropbox.com', +'notify1.dropbox.com', +'calendar.google.com', +'www.google.com', +'calendar.google.com', +'www.google.com', +'calendar.google.com', +'talk.google.com', +'www.google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'userstream.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'userstream.twitter.com', +'userstream.twitter.com', +'mobile.twitter.com', +'mobile.twitter.com', +'mobile.twitter.com', +'mobile.twitter.com', +'mobile.twitter.com', +'mobile.twitter.com', +'pbs.twimg.com', +'pbs.twimg.com', +'pbs.twimg.com', +'pbs.twimg.com', +'pbs.twimg.com', +'mobile.twitter.com', +'www.gstatic.com', +'csi.gstatic.com', +'notify1.dropbox.com', +'calendar.google.com', +'www.google.com', +'calendar.google.com', +'talk.google.com', +'www.google.com', +'accounts.google.com', +'www.google.com', +'google.com', +'calendar.google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'talk.google.com', +'userstream.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'userstream.twitter.com', +'userstream.twitter.com', +'api.twitter.com', +'init.itunes.apple.com', +'su.itunes.apple.com', +'p35-buy.itunes.apple.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'d.dropbox.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'talk.google.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'clients2.google.com', +'client45.dropbox.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'talkx.l.google.com', +'userstream.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'ssl.gstatic.com', +'clients6.google.com', +'ssl.gstatic.com', +'ssl.gstatic.com', +'ssl.gstatic.com', +'ssl.gstatic.com', +'0.docs.google.com', +'docs.google.com', +'0.docs.google.com', +'ssl.gstatic.com', +'0.drive.google.com', +'0.talkgadget.google.com', +'0.talkgadget.google.com', +'talkgadget.google.com', +'talk.google.com', +'accounts.google.com', +'mail.google.com', +'chatenabled.mail.google.com', +'csi.gstatic.com', +'clients4.google.com', +'talk.google.com', +'gg.google.com', +'apis.google.com', +'plus.google.com', +'userstream.twitter.com', +'lh4.googleusercontent.com', +'lh6.googleusercontent.com', +'lh3.googleusercontent.com', +'lh4.googleusercontent.com', +'lh5.googleusercontent.com', +'lh4.googleusercontent.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'t3.gstatic.com', +'t3.gstatic.com', +'t3.gstatic.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'docs.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'ssl.gstatic.com', +'talk.google.com', +'ssl.gstatic.com', +'docs.google.com', +'ssl.gstatic.com', +'clients4.google.com', +'ssl.gstatic.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'www.google.com', +'clients4.google.com', +'safebrowsing.google.com', +'ssl.gstatic.com', +'www.google.com', +'docs.google.com', +'clients4.google.com', +'ssl.gstatic.com', +'d.dropbox.com', +'userstream.twitter.com', +'notify1.dropbox.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'userstream.twitter.com', +'talk.google.com', +'calendar.google.com', +'www.google.com', +'calendar.google.com', +'www.google.com', +'accounts.google.com', +'calendar.google.com', +'www.google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'google.com', +'talk.google.com', +'pbs.twimg.com', +'twitter.com', +'pbs.twimg.com', +'pbs.twimg.com', +'pbs.twimg.com', +'talkx.l.google.com', +'api.twitter.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'chart.apis.google.com', +'clients4.google.com', +'userstream.twitter.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'plus.google.com', +'lh3.googleusercontent.com', +'lh3.googleusercontent.com', +'lh3.googleusercontent.com', +'talkgadget.google.com', +'talkgadget.google.com', +'apis.google.com', +'oauth.googleusercontent.com', +'clients6.google.com', +'clients6.google.com', +'clients6.google.com', +'clients6.google.com', +'clients6.google.com', +'clients6.google.com', +'clients1.google.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn2.gstatic.com', +'id.google.com', +'encrypted-tbn3.gstatic.com', +'www.gstatic.com', +'lh4.googleusercontent.com', +'lh4.googleusercontent.com', +'lh4.googleusercontent.com', +'lh4.googleusercontent.com', +'lh5.googleusercontent.com', +'ssl.gstatic.com', +'csi.gstatic.com', +'clients4.google.com', +'encrypted-tbn1.gstatic.com', +'lh4.googleusercontent.com', +'lh4.googleusercontent.com', +'www.google.com', +'twitter.com', +'clients1.google.com', +'encrypted-tbn0.gstatic.com', +'encrypted-tbn1.gstatic.com', +'encrypted-tbn2.gstatic.com', +'encrypted-tbn3.gstatic.com', +'www.gstatic.com', +'id.google.com', +'beacon.sina.com.cn', +'plus.google.com', +'plus.google.com', +'d.dropbox.com', +'www.v2ex.com', +'cdn.v2ex.com', +'ssl.google-analytics.com', +'api.twitter.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'twitter.com', +'api.twitter.com', +'api.twitter.com', +'api.twitter.com', +'pbs.twimg.com', +'pbs.twimg.com', +'ssl.gstatic.com', +'www.v2ex.com', +'cdn.v2ex.com', +'cdn.v2ex.com', +'9429127371.a.uxengine.net', +'9429127371.a.uxengine.net', +'9429127371.a.uxengine.net', +'9429127371.a.uxengine.net', +'cdn.v2ex.com', +'cdn.v2ex.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'clients4.google.com', +'twitter.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'github.com', +'avatars3.githubusercontent.com', +'raw.github.com', +'github-camo.global.ssl.fastly.net', +'raw.github.com', +'collector.githubapp.com', +'suggestqueries.google.com', +'suggestqueries.google.com', +'nodejs.org', +'nodejs.org', +'nodejs.org', +'nodejs.org', +'nodejs.org', +'nodejs.org', +'www.google-analytics.com', +'clients2.google.com', +'lh3.googleusercontent.com', +'www.gstatic.com', +'accounts.google.com', +'mail.google.com', +'mail-attachment.googleusercontent.com', +'clients2.google.com', +'plus.google.com', +'www.google.com', +'plus.google.com', +'oauth.googleusercontent.com', +'accounts.google.com', +'www.gstatic.com']; + +var shExpMatch = function (test, exp){ + // Dummy function for testing switchysharp pac. + // Any shExpMatch implementation could not be faster than this, + // which results in overestimated switchysharp pac performance. + return test == exp; +}; + +var repeat = 100; +var time = process.hrtime(); + +for (var j = 0; j < repeat; j++) { + for (var i in urls) { + var url = urls[i]; + FindProxyForURL(url, url); + } +} + +var diff = process.hrtime(time); +//console.log('total: ' + (diff[0] * 1e3 + diff[1] * 1e-6).toFixed(2) + 'ms'); +console.log('avg: ' + ((diff[0] * 1e3 + diff[1] * 1e-6) * 1e3 / repeat / urls.length).toFixed(2) + 'us'); diff --git a/test/performance_test.sh b/test/performance_test.sh new file mode 100755 index 0000000..6ade65a --- /dev/null +++ b/test/performance_test.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +pushd .. && \ +PYTHONPATH=. python gfwlist2pac/main.py -i test/gfwlist.txt -f test/proxy.pac -p 'SOCKS5 127.0.0.1:1080' --user-rule test/user_rule.txt && \ +PYTHONPATH=. python gfwlist2pac/main.py --precise -i test/gfwlist.txt -f test/proxy_abp.pac -p 'SOCKS5 127.0.0.1:1080' --user-rule test/user_rule.txt && \ +popd && \ +echo && \ +echo 'Testing fast mode pac generated by gfwlist2pac' && \ +cat proxy.pac performance_test.js > /tmp/test.js && \ +node /tmp/test.js && \ +echo && \ +echo 'Testing precise mode pac generated by gfwlist2pac' && \ +cat proxy_abp.pac performance_test.js > /tmp/test.js && \ +node /tmp/test.js && \ +echo && \ +echo 'Testing pac generated by switchysharp' && \ +cat switchysharp.pac performance_test.js > /tmp/test.js && \ +node /tmp/test.js && \ +echo && \ +echo 'Test passed' diff --git a/test/proxy.pac b/test/proxy.pac index c85a71c..d363e1e 100644 --- a/test/proxy.pac +++ b/test/proxy.pac @@ -1,2599 +1,2510 @@ // Generated by gfwlist2pac // https://github.com/clowwindy/gfwlist2pac +var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;"; + var domains = { - "gimpshop.com": 1, - "directcreative.com": 1, - "speedpluss.org": 1, - "mingpaovan.com": 1, - "kineox.free.fr": 1, - "tw.myblog.yahoo.com": 1, - "gongm.in": 1, - "joachims.org": 1, - "maiio.net": 1, - "m.slandr.net": 1, - "idv.tw": 1, - "mail-archive.com": 1, - "surfeasy.com.au": 1, - "stonegames.net": 1, - "%e6%b3%95%e8%bc%aa%e5%8a%9f": 1, - "hihistory.net": 1, - "cn.dayabook.com": 1, - "alexlur.org": 1, - "finalion.jp": 1, - "nrk.no": 1, - "laogai.org": 1, - "focusvpn.com": 1, - "cmule.com": 1, - "google.com.hk%2fwenda": 1, - "gappp.org": 1, - "givemesomethingtoread.com": 1, - "robtex.com": 1, - "thelifeyoucansave.com": 1, - "perfspot.com": 1, - "ugo.com": 1, - "army.mil": 1, - "amoiist.com": 1, - "uderzo.it": 1, - "zillionk.com": 1, - "placemix.com": 1, - "twitstat.com": 1, - "erabaru.net": 1, - "zh.pokerstrategy.com": 1, - "zhongmeng.org": 1, - "tinypaste.com": 1, - "wo.tc": 1, - "youtu.be": 1, - "prozz.net": 1, - "freemorenews.com": 1, - "penchinese.net": 1, - "mesotw.com": 1, - "privacybox.de": 1, - "liaowangxizang.net": 1, - "firstfivefollowers.com": 1, - "rfamobile.org": 1, - "xanga.com": 1, - "vimperator.org": 1, - "dalailama.com": 1, - "bigsound.org": 1, - "retweetist.com": 1, - "bbg.gov": 1, - "imagezilla.net": 1, - "myforum.com.hk": 1, - "imlive.com": 1, - "webshots.com": 1, - "ptt.cc": 1, - "lsforum.net": 1, - "bigfools.com": 1, - "ziplib.com": 1, - "makemymood.com": 1, - "foxdie.us": 1, - "juliereyc.com": 1, + "0to255.com": 1, + "10musume.com": 1, + "123rf.com": 1, + "12bet.com": 1, + "12vpn.com": 1, + "141hongkong.com": 1, + "173ng.com": 1, + "1984bbs.com": 1, + "1984bbs.org": 1, + "1bao.org": 1, + "1eew.com": 1, + "1pondo.tv": 1, + "2-hand.info": 1, + "2000fun.com": 1, + "2008xianzhang.info": 1, + "21andy.com": 1, + "24smile.org": 1, + "2shared.com": 1, + "301works.org": 1, + "315lz.com": 1, + "32red.com": 1, + "365singles.com.ar": 1, + "36rain.com": 1, + "4bluestones.biz": 1, + "4chan.org": 1, + "4shared.com": 1, + "4sq.com": 1, + "50webs.com": 1, + "51.ca": 1, "5i01.com": 1, - "beijingspring.com": 1, - "drewolanoff.com": 1, - "twiffo.com": 1, - "blinkx.com": 1, - "michaelmarketl.com": 1, - "views.fm": 1, + "5maodang.com": 1, + "6-4.net": 1, + "64tianwang.com": 1, + "64wiki.com": 1, + "666kb.com": 1, + "6park.com": 1, + "6v6dota.com": 1, + "7capture.com": 1, + "881903.com": 1, + "888.com": 1, + "89-64.org": 1, + "9001700.com": 1, + "908taiwan.org": 1, + "91porn.com": 1, + "92ccav.com": 1, + "9bis.com": 1, + "9bis.net": 1, + "a-normal-day.com": 1, + "a5.com.ru": 1, + "abc.pp.ru": 1, + "ablwang.com": 1, + "aboluowang.com": 1, + "aboutgfw.com": 1, "acgkj.com": 1, - "branch.com": 1, - "soupofmedia.com": 1, - "pioneer-worker.forums-free.com": 1, - "autoproxy-gfwlist.googlecode.com": 1, - "po2b.com": 1, - "la-forum.org": 1, - "wikileaks.lu": 1, - "sohcradio.com": 1, + "actimes.com.au": 1, + "aculo.us": 1, + "addictedtocoffee.de": 1, + "adultfriendfinder.com": 1, + "adultkeep.net": 1, + "advanscene.com": 1, + "advertfan.com": 1, + "aenhancers.com": 1, + "af.mil": 1, + "aiph.net": 1, + "aisex.com": 1, + "aiweiweiblog.com": 1, + "ajaxplorer.info": 1, + "ajsands.com": 1, + "akamai.net": 1, + "akamaiedge.net": 1, + "akiba-online.com": 1, + "al-qimmah.net": 1, + "alabout.com": 1, + "alasbarricadas.org": 1, + "alexdong.com": 1, + "alexlur.org": 1, + "aliengu.com": 1, + "alkasir.com": 1, + "all-that-is-interesting.com": 1, + "allaboutalpha.com": 1, "allgirlsallowed.org": 1, - "pts.org.tw": 1, - "twitonmsn.com": 1, - "www.klip.me": 1, - "5maodang.com": 1, - "idouga.com": 1, - "whyx.org": 1, - "peacehall.com": 1, - "pure18.com": 1, - "feeds2.feedburner.com": 1, - "greatfirewallofchina.org": 1, - "lagranepoca.com": 1, - "rfa.org": 1, - "so-ga.net": 1, - "sokamonline.com": 1, - "tweetedtimes.com": 1, - "hulu.com": 1, - "okayfreedom.com": 1, - "%e7%bd%a2%e8%af%be": 1, - "sethwklein.net": 1, - "dupola.com": 1, - "dupola.net": 1, - "blog.summify.com": 1, - "coolaler.com": 1, - "ngensis.com": 1, - "zh.netlog.com": 1, - "mp": 1, - "novelasia.com": 1, - "v70.us": 1, - "fgmtv.org": 1, - "rssmeme.com": 1, - "spb.com": 1, - "luntan.zaobao.com": 1, - "ieasynews.net": 1, - "openleaks.org": 1, - "benjaminste.in": 1, - "asahichinese.com": 1, - "blog.youthwant.com.tw": 1, - "twicsy.com": 1, - "blog.fizzik.com": 1, - "sweux.com": 1, - "dit-inc.us": 1, + "allinfa.com": 1, + "allinfo.com": 1, + "allmovie.com": 1, + "alternate-tools.com": 1, + "altrec.com": 1, + "alvinalexander.com": 1, + "alwaysdata.com": 1, + "alwaysdata.net": 1, + "amazon.com": 1, + "amazonaws.com": 1, + "ameblo.jp": 1, + "americangreencard.com": 1, + "amiblockedornot.com": 1, + "amnesty.org": 1, + "amnestyusa.org": 1, + "amoiist.com": 1, "amzs.me": 1, - "lkcn.net": 1, - "cn.calameo.com": 1, - "changp.com": 1, - "wefong.com": 1, - "savemedia.com": 1, - "fan-qiang.com": 1, - "livingstream.com": 1, - "bbs.sina.com%2f": 1, - "forum.idsam.com": 1, - "shangfang.org": 1, - "hkzone.org": 1, - "samsoff.es": 1, - "kcsoftwares.com": 1, - "twip.me": 1, - "gaopi.net": 1, - "gospelherald.com": 1, - "chinaaid.org": 1, - "internetfreedom.org": 1, - "fc2.com": 1, - "google.co.hk": 1, - "taolun.info": 1, - "bestforchina.org": 1, - "m-team.cc": 1, - "x.xcity.jp": 1, - "www.wet123.com": 1, - "cna.com.tw": 1, - "wikipedia.org": 1, - "sorting-algorithms.com": 1, - "kusocity.com": 1, - "chinainperspective.com": 1, - "twttr.com": 1, - "post.ly": 1, - "backchina.com": 1, - "london.neighborhoodr.com": 1, - "thespeeder.com": 1, - "tuidang.net": 1, - "qq.co.za": 1, - "img": 1, - "sinopitt.info": 1, - "orzistic.org": 1, - "golang.org": 1, - "betfair.com": 1, - "oursogo.com": 1, - "art-or-porn.com": 1, - "middle-way.net": 1, - "dajiyuan.com": 1, - "video.google.com": 1, - "laqingdan.net": 1, - "youmaker.com": 1, + "analyze-v.com": 1, + "anchorfree.com": 1, + "andfaraway.net": 1, + "android.com": 1, + "angularjs.org": 1, + "animecrazy.net": 1, + "anobii.com": 1, + "anontext.com": 1, "anonymizer.com": 1, - "cnavista.com.tw": 1, - "hkg.westkit.net": 1, - "nuvid.com": 1, - "fangong.org": 1, - "matsushimakaede.com": 1, - "plm.org.hk": 1, - "falsefire.com": 1, - "fuckgfw.com": 1, - "topnews.in": 1, - "ihakka.net": 1, - "dfas.mil": 1, - "www.dwheeler.com": 1, - "ultrareach": 1, - "yousendit.com": 1, - "api.supertweet.net": 1, - "lupm.org": 1, - "tweetdeck.com": 1, - "t35.com": 1, - "plunder.com": 1, - "tpi.org.tw": 1, - "networkedblogs.com": 1, - "hahlo.com": 1, - "theampfactory.com": 1, - "coolder.com": 1, - "hk.news.yahoo.com": 1, - "cn.ibtimes.com": 1, - "blog.iphone-dev.org": 1, - "holz.byethost8.com": 1, - "rnw.nl": 1, + "answering-islam.org": 1, + "anthonycalzadilla.com": 1, + "antiwave.net": 1, + "anyu.org": 1, + "aobo.com.au": 1, + "aol.ca": 1, + "aol.com": 1, + "aolnews.com": 1, + "aomiwang.com": 1, + "ap.org": 1, + "apetube.com": 1, "apiary.io": 1, - "e-gold.com": 1, - "jitouch.com": 1, - "youtubecn.com": 1, - "livingonline.us": 1, - "pct.org.tw": 1, - "fringenetwork.com": 1, - "%e7%be%8e%e5%9b%bd%e4%b9%8b%e9%9f%b3": 1, - "deck.ly": 1, - "spinejs.com": 1, - "tvants.com": 1, - "kagyuoffice.org.tw": 1, - "bbs.mychat.to": 1, - "womensrightsofchina.org": 1, - "tw.voa.mobi": 1, - "smhric.org": 1, - "6-4.net": 1, - "mash.to": 1, - "derekhsu.homeip.net": 1, - "ifanqiang.com": 1, - "quadedge.com": 1, - "packages.debian.org": 1, - "openid.net": 1, - "rangzen.org": 1, - "fbcdn.net": 1, - "page2rss.com": 1, - "freedomhouse.org": 1, - "footwiball.com": 1, - "shixiao.org": 1, - "buzzurl.jp": 1, - "sod.co.jp": 1, - "taa-usa.org": 1, - "cn.giganews.com": 1, - "chromeadblock.com": 1, - "nysingtao.com": 1, - "chinatimes.com": 1, - "gardennetworks.org": 1, - "njuice.com": 1, - "hkhkhk.com": 1, - "whitebear.freebearblog.org": 1, - "puffstore.com": 1, - "advanscene.com": 1, - "onlylady.cn": 1, - "miroguide.com": 1, - "centurys.net": 1, - "planetsuzy.org": 1, - "cdpwu.org": 1, - "antiwave.net": 1, - "myav.com.tw": 1, - "dw-world.com": 1, - "noobbox.com": 1, - "xuchao.org": 1, - "usfk.mil": 1, - "brandonhutchinson.com": 1, - "q%3dtriangle": 1, - "rapidsharedata.com": 1, - "diigo.com": 1, - "xml-training-guide.com": 1, - "freeoz.org": 1, + "apigee.com": 1, + "appledaily.com": 1, + "appspot.com": 1, + "archive.is": 1, + "archive.org": 1, + "arctosia.com": 1, + "areca-backup.org": 1, + "army.mil": 1, + "art-or-porn.com": 1, + "artsy.net": 1, + "asahichinese.com": 1, + "asdfg.jp": 1, + "asiaharvest.org": 1, + "asianews.it": 1, + "asianwomensfilm.de": 1, + "askstudent.com": 1, + "askynz.net": 1, + "assembla.com": 1, + "astonmartinnews.com": 1, + "atc.org.au": 1, + "atchinese.com": 1, + "atebits.com": 1, + "atgfw.org": 1, + "atlaspost.com": 1, + "atnext.com": 1, + "avaaz.org": 1, + "avdb.in": 1, + "avidemux.org": 1, + "avoision.com": 1, + "awardwinningfjords.com": 1, + "awflasher.com": 1, + "axureformac.com": 1, + "baby-kingdom.com": 1, + "backchina.com": 1, + "badassjs.com": 1, + "badoo.com": 1, + "baidu.jp": 1, + "baixing.me": 1, + "bannedbook.org": 1, + "bao.li": 1, + "basetimesheightdividedby2.com": 1, + "bayvoice.net": 1, + "baywords.com": 1, + "bbc.in": 1, + "bbcchinese.com": 1, + "bbg.gov": 1, + "bbsfeed.com": 1, + "bbsland.com": 1, + "bcchinese.net": 1, + "bebo.com": 1, + "beijing1989.com": 1, + "beijingspring.com": 1, + "benjaminste.in": 1, + "berlintwitterwall.com": 1, + "bestforchina.org": 1, + "bestvpnservice.com": 1, + "bet365.com": 1, + "betfair.com": 1, + "bettween.com": 1, + "betvictor.com": 1, + "bewww.net": 1, + "bfnn.org": 1, + "biantailajiao.com": 1, + "biantailajiao.in": 1, + "bigfools.com": 1, + "bignews.org": 1, + "bigsound.org": 1, + "bill2-software.com": 1, + "billypan.com": 1, + "billywr.com": 1, + "bipic.net": 1, + "birdhouseapp.com": 1, + "bit.ly": 1, + "bitcointalk.org": 1, + "bitly.com": 1, + "bitshare.com": 1, + "bjzc.org": 1, + "blingblingsquad.net": 1, + "blinkx.com": 1, + "blinw.com": 1, + "blip.tv": 1, + "blockcn.com": 1, + "blog.de": 1, + "blogblog.com": 1, + "blogcatalog.com": 1, + "blogger.com": 1, "blogimg.jp": 1, - "twitterkr.com": 1, - "anontext.com": 1, - "twurl.nl": 1, - "fulue.com": 1, - "turningtorso.com": 1, - "files2me.com": 1, - "mk5000.com": 1, - "americangreencard.com": 1, + "bloglines.com": 1, + "bloglovin.com": 1, + "blogs.com": 1, + "blogtd.net": 1, + "blogtd.org": 1, + "bloodshed.net": 1, + "bloomberg.cn": 1, + "bloomberg.com": 1, + "bloomberg.de": 1, + "bloomfortune.com": 1, + "bnrmetal.com": 1, + "boardreader.com": 1, + "bobulate.com": 1, + "bonbonme.com": 1, + "bonjourlesgeeks.com": 1, "bookshelfporn.com": 1, - "zhenghui.org": 1, + "bot.nu": 1, + "botanwang.com": 1, + "bowenpress.com": 1, + "box.net": 1, + "boxcar.io": 1, + "boxun.com": 1, + "boxun.tv": 1, + "boxunblog.com": 1, + "br.st": 1, + "bralio.com": 1, + "branch.com": 1, + "brandonhutchinson.com": 1, + "braumeister.org": 1, + "break.com": 1, + "breakingtweets.com": 1, + "briefdream.com": 1, + "brightkite.com": 1, + "brizzly.com": 1, + "broadbook.com": 1, + "brucewang.net": 1, + "bt95.com": 1, + "btdigg.org": 1, + "budaedu.org": 1, + "bugclub.org": 1, + "bullog.org": 1, + "bullogger.com": 1, + "businesstimes.com.cn": 1, + "businessweek.com": 1, + "buugaa.com": 1, + "buzzurl.jp": 1, + "bx.tl": 1, + "byethost8.com": 1, + "c-est-simple.com": 1, + "c-spanvideo.org": 1, + "cacnw.com": 1, + "cactusvpn.com": 1, + "cafepress.com": 1, + "calameo.com": 1, + "calebelston.com": 1, + "cams.com": 1, + "cams.org.sg": 1, + "canadameet.com": 1, + "cantonese.asia": 1, + "canyu.org": 1, "cao.im": 1, - "vtunnel.com": 1, - "nintendium.com": 1, - "xiezhua.com": 1, - "sex8.cc": 1, - "thedw.us": 1, - "markmail.org": 1, - "forum.sina.com.hk": 1, - "rileyguide.com": 1, - "908taiwan.org": 1, - "lerosua.org": 1, - "hacken.cc": 1, - "google.com%2fmoderator": 1, - "livestream.com": 1, - "facesofnyfw.com": 1, - "echofon.com": 1, - "pdetails.com": 1, - "chinese.rnw.nl": 1, + "caobian.info": 1, + "caochangqing.com": 1, + "cari.com.my": 1, + "catcatbox.com": 1, + "catch22.net": 1, + "catfightpayperview.xxx": 1, + "cbsnews.com": 1, + "ccavtop10.com": 1, + "ccdtr.org": 1, + "ccim.org": 1, + "cclife.org": 1, + "ccthere.com": 1, + "cctongbao.com": 1, + "ccue.ca": 1, + "ccue.com": 1, + "cdig.info": 1, + "cdjp.org": 1, + "cdp1998.org": 1, + "cdp2006.org": 1, + "cdpusa.org": 1, + "cdpweb.org": 1, + "cdpwu.org": 1, + "cdw.com": 1, + "cecc.gov": 1, + "cellulo.info": 1, + "cenci.tk": 1, + "cenews.eu": 1, + "centralnation.com": 1, + "centurys.net": 1, + "cftfc.com": 1, + "cgdepot.org": 1, + "chandoo.org": 1, + "change.org": 1, + "changp.com": 1, + "chapm25.com": 1, + "chaturbate.com": 1, + "chengmingmag.com": 1, + "chenguangcheng.com": 1, + "chenpokong.com": 1, + "cherrysave.com": 1, + "chevronwp7.com": 1, + "chicagoncmtv.com": 1, + "china-week.com": 1, + "china101.com": 1, + "china21.com": 1, + "china21.org": 1, + "china5000.us": 1, + "chinaaffairs.org": 1, + "chinaaid.me": 1, + "chinaaid.net": 1, + "chinaaid.org": 1, + "chinaaid.us": 1, + "chinachange.org": 1, + "chinacomments.org": 1, + "chinadigitaltimes.net": 1, + "chinaeweekly.com": 1, + "chinafreepress.org": 1, + "chinagate.com": 1, + "chinageeks.org": 1, + "chinagfw.org": 1, + "chinagreenparty.org": 1, + "chinahush.com": 1, + "chinainperspective.com": 1, + "chinainperspective.net": 1, + "chinainperspective.org": 1, + "chinainterimgov.org": 1, + "chinalawandpolicy.com": 1, + "chinalawtranslate.com": 1, + "chinamule.com": 1, "chinamz.org": 1, - "cl.ly": 1, - "fourthinternational.org": 1, - "globalrescue.net": 1, - "slinkset.com": 1, - "bloodshed.net": 1, - "chinaxchina.com": 1, - "www.bulbous.freeserve.co.uk": 1, + "chinarightsia.org": 1, "chinasocialdemocraticparty.com": 1, - "marines.mil": 1, - "chinese-hermit.net": 1, - "relaxbbs.com": 1, - "calameo.com": 1, - "pekingduck.org": 1, - "tweetboner.biz": 1, - "godfootsteps.org": 1, - "writer.zoho.com": 1, - "furl.net": 1, - "wordsandturds.com": 1, - "cnn.com": 1, - "dvorak.org": 1, - "buy.yahoo.com.tw": 1, - "suoluo.org": 1, - "ntdtv.org": 1, - "lsm.org": 1, - "nytimes.com": 1, - "geohot.com": 1, - "wiki.keso.cn": 1, - "xinmiao.com.hk": 1, - "orientaldaily.com.my": 1, - "gtricks.com": 1, - "uniteddaily.com.my": 1, - "bill2-software.com": 1, - "www.idlcoyote.com": 1, - "twitter.jp": 1, - "nydus.ca": 1, - "brizzly.com": 1, - "wallpapercasa.com": 1, - "bonbonme.com": 1, - "mypopescu.com": 1, - "ezpc.tk": 1, - "encrypted.google.com": 1, - "feedzshare.com": 1, - "justfreevpn.com": 1, - "fxnetworks.com": 1, "chinasoul.org": 1, - "csdparty.com": 1, - "snooper.co.uk": 1, - "labiennale.org": 1, - "cpj.org": 1, - "fw.cm": 1, - "sogclub.com": 1, - "tw.jiepang.com": 1, - "lianyue.net": 1, - "qtweeter.com": 1, - "chinamule.com": 1, - "92ccav.com": 1, - "soundofhope.org": 1, - "news.sina.com.hk": 1, - "eriversoft.com": 1, - "hrcir.com": 1, - "emule-ed2k.com": 1, - "one.xthost.info": 1, - "mmaaxx.com": 1, - "vevo.com": 1, - "blog.dribbble.com": 1, - "huaxia-news.com": 1, - "giga-web.jp": 1, - "broadbook.com": 1, - "static.apple.nextmedia.com": 1, - "goldwave.com": 1, - "dok-forum.net": 1, - "wiki.moegirl.org": 1, + "chinatimes.com": 1, + "chinatweeps.com": 1, + "chinaway.org": 1, + "chinaworker.info": 1, + "chinaxchina.com": 1, + "chinayuanmin.org": 1, + "chinese-hermit.net": 1, + "chinese-memorial.org": 1, + "chinesedailynews.com": 1, "chinesen.de": 1, - "myactimes.com": 1, - "hugoroy.eu": 1, - "conoyo.com": 1, - "izaobao.us": 1, - "alwaysdata.net": 1, - "xvideos.com": 1, - "blog.path.com": 1, - "iicns.com": 1, - "video.tiscali.it": 1, - "torrentcrazy.com": 1, - "hk.rd.yahoo.com": 1, - "xinsheng.net": 1, - "scmp.com": 1, - "zozotown.com": 1, - "shopping.com": 1, - "xjp.cc": 1, - "xa.yimg.com": 1, - "matainja.com": 1, - "democrats.org": 1, - "geometrictools.com": 1, - "ibros.org": 1, - "fangeming.com": 1, - "shellmix.com": 1, - "gov.tw": 1, - "icl-fi.org": 1, - "a-normal-day.com": 1, - "a5.com.ru": 1, - "apetube.com": 1, - "biantailajiao.com": 1, - "assembla.com": 1, - "tube.com": 1, - "philly.com": 1, - "usinfo.state.gov": 1, - "tweete.net": 1, - "nyt.com": 1, - "mingpaonews.com": 1, - "gopetition.com": 1, - "longtermly.net": 1, - "gongwt.com": 1, - "fooooo.com": 1, - "bbs.ecstart.com": 1, - "gamebase.com.tw": 1, - "life.fly4ever.me": 1, - "vidoemo.com": 1, - "morningsun.org": 1, - "tibetalk.com": 1, - "blogtd.org": 1, - "helpzhuling.org": 1, - "htmldog.com": 1, - "api.proxlet.com": 1, - "mimivip.com": 1, - "htl.li": 1, - "tap11.com": 1, - "yilubbs.com": 1, - "pengyulong.com": 1, - "gyalwarinpoche.com": 1, - "etools.ncol.com": 1, - "twt.tl": 1, - "dy24k.info": 1, - "yasni.co.uk": 1, - "google.com%2freader%2fview%2ffeed": 1, + "chinesenewsnet.com": 1, + "chinesepen.org": 1, + "chinesetalks.net": 1, + "chingcheong.com": 1, + "chosun.com": 1, + "chrispederick.com": 1, + "chrispederick.net": 1, + "christianstudy.com": 1, + "christusrex.org": 1, + "chrlcg-hk.org": 1, + "chrome.com": 1, + "chromeadblock.com": 1, + "chubun.com": 1, + "chuizi.net": 1, + "circlethebayfortibet.org": 1, + "citizenlab.org": 1, + "citizensradio.org": 1, + "city9x.com": 1, + "civilhrfront.org": 1, + "civisec.org": 1, + "cjb.net": 1, + "ck101.com": 1, + "cl.ly": 1, + "classicalguitarblog.net": 1, + "clientsfromhell.net": 1, + "clipfish.de": 1, + "cloudfront.net": 1, + "cmoinc.org": 1, "cms.gov": 1, - "xinqimeng.over-blog.com": 1, - "lookpic.com": 1, - "ultravpn.fr": 1, - "webs-tv.net": 1, - "hakkatv.org.tw": 1, - "wretch.cc": 1, - "mobileways.de": 1, - "c-est-simple.com": 1, - "myfreshnet.com": 1, - "plays.com.tw": 1, - "journalofdemocracy.org": 1, - "chaos.e-spacy.com": 1, + "cmule.com": 1, + "cnd.org": 1, + "cnitter.com": 1, + "cnn.com": 1, + "cnyes.com": 1, + "co.tv": 1, + "co.uk": 1, + "cochina.org": 1, + "code1984.com": 1, + "codeboxapp.com": 1, + "codeshare.io": 1, + "collateralmurder.com": 1, + "collateralmurder.org": 1, + "com.uk": 1, + "comedycentral.com": 1, + "comefromchina.com": 1, + "compileheart.com": 1, + "compython.net": 1, + "conoyo.com": 1, + "contactmagazine.net": 1, "cookingtothegoodlife.com": 1, - "blog.sogoo.org": 1, - "taiwandaily.net": 1, - "bloomberg.de": 1, - "catcatbox.com": 1, - "thevivekspot.com": 1, - "mingpaomonthly.com": 1, - "plus28.com": 1, - "tunnelbear.com": 1, - "twt.fm": 1, - "twipple.jp": 1, - "cari.com.my": 1, - "ladbrokes.com": 1, - "dayaarmongol.ning.com": 1, - "wikimapia.org": 1, - "catfightpayperview.xxx": 1, - "www.macrovpn.com": 1, - "dw.de": 1, - "blog.topify.com": 1, - "www.somee.com": 1, - "blog.foolsmountain.com": 1, - "app.hkatvnews.com": 1, - "catholic.org.hk": 1, - "news.msn.com.tw": 1, - "chuizi.net": 1, - "urlborg.com": 1, - "googlesile.com": 1, - "ka-wai.com": 1, - "wujie.net": 1, - "hkepc.com": 1, - "bjzc.org": 1, - "nexton-net.jp": 1, - "entermap.com": 1, - "brightkite.com": 1, - "bwsj.hk": 1, - "pdproxy.com": 1, - "ustream.tv": 1, - "lyricsquote.com": 1, - "psblog.name": 1, - "flightcaster.com": 1, - "wiki.cnitter.com": 1, - "mad-ar.ch": 1, - "gdzf.org": 1, - "bbs.kimy.com.tw": 1, - "unblock.cn.com": 1, - "whereiswerner.com": 1, - "cdpweb.org": 1, - "sugarsync.com": 1, - "nuzcom.com": 1, - "helloqueer.com": 1, + "coolaler.com": 1, + "coolder.com": 1, + "corumcollege.com": 1, + "cotweet.com": 1, + "couchdbwiki.com": 1, + "coveringweb.com": 1, + "cpj.org": 1, + "crackle.com": 1, + "crd-net.org": 1, + "creaders.net": 1, + "crossthewall.net": 1, + "csdparty.com": 1, + "csuchen.de": 1, + "cubicle17.com": 1, + "cuhkacs.org": 1, + "cuihua.org": 1, "cuiweiping.net": 1, - "zh.wikibooks.org": 1, - "dotplane.com": 1, - "ccdtr.org": 1, - "wikileaks.pl": 1, - "bot.nu": 1, + "curvefish.com": 1, + "cyberctm.com": 1, + "cyberghostvpn.com": 1, + "cynscribe.com": 1, + "cytode.us": 1, + "cz.cc": 1, + "d0z.net": 1, + "dabr.me": 1, + "dabr.mobi": 1, + "dadazim.com": 1, + "dadi360.com": 1, + "dafagood.com": 1, + "dafahao.com": 1, + "dailidaili.com": 1, + "dailyme.com": 1, + "dailymotion.com": 1, + "dajiyuan.com": 1, + "dajiyuan.eu": 1, + "dalailama.com": 1, + "dalailama.ru": 1, + "dalailamaworld.com": 1, + "dalianmeng.org": 1, "danke4china.net": 1, - "vansky.com": 1, - "blog.syx86.com": 1, - "google.co.jp": 1, - "flecheinthepeche.fr": 1, - "tvunetworks.com": 1, - "futurechinaforum.org": 1, - "hikinggfw.org": 1, - "akiba-online.com": 1, - "target.com": 1, - "osfoora.com": 1, - "guomin.us": 1, - "mizzmona.com": 1, - "billywr.com": 1, - "twittertim.es": 1, - "felixcat.net": 1, - "toodoc.com": 1, - "blog.mongodb.org": 1, - "zh.wikinews.org": 1, - "yam.com": 1, - "porn.com": 1, - "hjclub.info": 1, - "stoptibetcrisis.net": 1, - "xuchao.net": 1, - "generesis.com": 1, - "vlog.xuite.net": 1, - "minimalmac.com": 1, - "yidio.com": 1, - "www.6v6dota.com": 1, - "newcenturymc.com": 1, - "newcenturynews.com": 1, - "shaunthesheep.com": 1, - "newsminer.com": 1, - "jwmusic.org": 1, - "www.ned.org": 1, - "m.oulove.org": 1, - "drtuber.com": 1, - "devio.us": 1, - "hypeshell.com": 1, - "tsemtulku.com": 1, - "parislemon.com": 1, - "mtw.tl": 1, - "megavideo.com": 1, - "bbc.co.uk": 1, - "ziddu.com": 1, - "internationalrivers.org": 1, - "sesawe.net": 1, - "securitykiss.com": 1, - "coolloud.org.tw": 1, - "taiwannation.com": 1, - "forum.setty.com.tw": 1, - "aculo.us": 1, - "breakingtweets.com": 1, - "sinomontreal.ca": 1, - "secretchina.com": 1, - "google": 1, - "news.omy.sg": 1, - "scmpchinese.com": 1, - "rfi.my": 1, - "voagd.com": 1, - "bebo.com": 1, - "mobatek.net": 1, - "spencertipping.com": 1, - "listorious.com": 1, - "weiboleak.com": 1, - "support": 1, - "typepad.com": 1, - "tibetwrites.org": 1, - "mingpaony.com": 1, - "chinatweeps.com": 1, - "home.sina.com": 1, - "songjianjun.com": 1, - "transgressionism.org": 1, - "davidslog.com": 1, - "blog.openinkpot.org": 1, - "stuffimreading.com": 1, - "video.aol.ca": 1, - "yzzk.com": 1, - "uyghurcongress.org": 1, - "bullog.org": 1, - "24smile.org": 1, - "megurineluka.com": 1, - "wikiwiki.jp": 1, - "q%3dfreedom": 1, - "power.com": 1, - "fanswong.com": 1, - "sexinsex.net": 1, - "forum.omy.sg": 1, - "boxun.com": 1, - "tiandixing.org": 1, - "oizoblog.com": 1, - "blogs.icerocket.com": 1, - "roodo.com": 1, - "tbpic.info": 1, - "putlocker.com": 1, - "eevpn.com": 1, - "dafagood.com": 1, - "sinocast.com": 1, - "mpfinance.com": 1, - "pornvisit.com": 1, - "itshidden.com": 1, - "chengmingmag.com": 1, - "if-not-true-then-false.com": 1, - "prosiben.de": 1, - "blog.taragana.com": 1, - "myforum.com.uk": 1, - "bayvoice.net": 1, - "referer.us": 1, - "fzh999.net": 1, - "fgmtv.net": 1, - "readingtimes.com.tw": 1, - "1pondo.tv": 1, - "xfm.pp.ru": 1, - "post.anyu.org": 1, - "zyzc9.com": 1, - "forum.tvb.com": 1, - "kt.kcome.org": 1, - "higfw.com": 1, - "w.idaiwan.com": 1, - "newtaiwan.com.tw": 1, - "picasaweb.google.com": 1, - "epochtimes-romania.com": 1, - "cbs.ntu.edu.tw": 1, - "shenzhoufilm.com": 1, - "bbc.in": 1, - "latelinenews.com": 1, - "peopo.org": 1, - "ipicture.ru": 1, - "ch.shvoong.com": 1, - "dotsub.com": 1, - "tv.on.cc": 1, - "news.atebits.com": 1, - "qixianglu.cn": 1, - "blog.ifttt.com": 1, - "twittbot.net": 1, - "sockslist.net": 1, - "www.vpncup.com": 1, - "keepandshare.com": 1, - "avoision.com": 1, - "coveringweb.com": 1, - "unix100.com": 1, - "girlbanker.com": 1, - "wanderinghorse.net": 1, - "vot.org": 1, - "chinacomments.org": 1, - "wikileaks.ch": 1, - "ronjoneswriter.com": 1, - "bbsfeed.com": 1, - "bolin.netfirms.com": 1, - "iask.bz": 1, - "mpinews.com": 1, - "dontmovetochina.com": 1, - "hidemyass.com": 1, - "myparagliding.com": 1, - "pandora.com": 1, - "getcloudapp.com": 1, - "blog.expofutures.com": 1, - "imagevenue.com": 1, - "status.twhirl.org": 1, - "connectedchina.reuters.com": 1, - "chandoo.org": 1, - "lists.w3.org": 1, - "bbs.cantonese.asia": 1, - "chinafreepress.org": 1, - "spotify.com": 1, - "old.nabble.com": 1, - "hsjp.net": 1, - "xh4n.cn": 1, - "botanwang.com": 1, - "dropbox.com": 1, - "izles.net": 1, - "hellouk.org": 1, - "taiwanyes.ning.com": 1, - "animecrazy.net": 1, - "12vpn.com": 1, - "www.aolnews.com": 1, - "s8forum.com": 1, - "picturesocial.com": 1, - "bullogger.com": 1, - "888.com": 1, - "offbeatchina.com": 1, - "seezone.net": 1, - "frontlinedefenders.org": 1, - "internet.org": 1, - "anthonycalzadilla.com": 1, - "feelssh.com": 1, - "rsf.org": 1, - "rthk.hk": 1, - "boardreader.com": 1, - "owl.li": 1, - "blog.pentalogic.net": 1, - "geocities.com": 1, - "nobelprize.org": 1, - "pornmm.net": 1, - "wuerkaixi.com": 1, - "hkreporter.loved.hk": 1, - "heiyo.info": 1, - "tnaflix.com": 1, - "tuidang.org": 1, - "blog.tiney.com": 1, - "paperb.us": 1, - "billypan.com": 1, - "liu.lu": 1, - "zvereff.com": 1, - "zh.uncyclopedia.wikia.com": 1, - "openvpn.net": 1, - "pastebin.com": 1, - "kaiyuan.de": 1, - "www.stackfile.com": 1, - "ameblo.jp": 1, - "findbook.tw": 1, - "ccthere.com": 1, - "markmilian.com": 1, - "sinoants.com": 1, - "xpdo.net": 1, - "rapbull.net": 1, - "goodreaders.com": 1, - "feedbooks.mobi": 1, - "tumblweed.org": 1, - "electionsmeter.com": 1, - "www.getyouram.com": 1, - "feedproxy.google.com": 1, - "blogcatalog.com": 1, - "xcritic.com": 1, - "lsmchinese.org": 1, - "sneakme.net": 1, - "www.ajsands.com": 1, - "hwinfo.com": 1, - "dailynews.sina.com%2f": 1, - "gmbd.cn": 1, - "futuremessage.org": 1, - "i1.hk": 1, - "iconpaper.org": 1, - "vimeo.com": 1, - "grandtrial.org": 1, - "holyspiritspeaks.org": 1, - "yuming.flnet.org": 1, - "archive.is": 1, - "pcdvd.com.tw": 1, - "tmi.me": 1, - "nobodycanstop.us": 1, - "starp2p.com": 1, - "dalailamaworld.com": 1, - "lastfm.es": 1, - "hkfront.org": 1, - "siteks.uk.to": 1, - "pbxes.com": 1, - "getfreedur.com": 1, - "q=freedom": 1, - "rapidshare8.com": 1, - "sevenload.com": 1, - "lockdown.com": 1, - "twitter4j.org": 1, - "metacafe.com": 1, - "twistory.net": 1, - "xxbbx.com": 1, - "peeasian.com": 1, - "mixero.com": 1, - "thepiratebay.org": 1, - "toutfr.com": 1, - "barnabu.co.uk": 1, - "twreg.info": 1, - "twitzap.com": 1, - "bignews.org": 1, - "tora.to": 1, - "fileserve.com": 1, - "muzu.tv": 1, - "shitaotv.org": 1, - "tvboxnow.com": 1, - "geek-art.net": 1, - "gongmeng.info": 1, - "huaren.us": 1, - "wenhui.ch": 1, - "uni.cc": 1, - "tttan.com": 1, - "webfee.tk": 1, - "sharecool.org": 1, - "sex-11.com": 1, - "vanemu.cn": 1, - "times.hinet.net": 1, - "fapdu.com": 1, - "verizon.net": 1, - "sacom.hk": 1, - "kzeng.info": 1, - "favstar.fm": 1, - "bt95.com": 1, - "hackthatphone.net": 1, - "neverforget8964.org": 1, - "yong.hu": 1, - "israbox.com": 1, - "iask.ca": 1, - "riku.me": 1, - "prestige-av.com": 1, - "alwaysdata.com": 1, - "ernestmandel.org": 1, - "expatshield.com": 1, - "zh.wikipedia.org": 1, - "gardennetworks.com": 1, - "ntdtv.co": 1, - "actimes.com.au": 1, - "tjholowaychuk.com": 1, - "zh.m.wikipedia.org": 1, - "huanghuagang.org": 1, - "vanilla-jp.com": 1, - "nsc.gov.tw": 1, - "ntdtv.ca": 1, - "wwitv.com": 1, - "privatetunnel.com": 1, - "kinghost.com": 1, - "subacme.rerouted.org": 1, - "cn.tmagazine.com": 1, - "cdig.info": 1, - "hkreporter.com": 1, - "cyberghostvpn.com": 1, - "newscn.org": 1, - "simpleproductivityblog.com": 1, - "freexinwen.com": 1, - "scriptspot.com": 1, - "chenguangcheng.com": 1, - "karayou.com": 1, - "forum.cyberctm.com": 1, - "saiq.me": 1, - "heungkongdiscuss.com": 1, - "ggssl.com": 1, - "zhuichaguoji.org": 1, - "china101.com": 1, - "hideipvpn.com": 1, - "orn.jp": 1, - "gartlive.com": 1, - "sharpdaily.hk": 1, - "taiwan-sex.com": 1, - "ccavtop10.com": 1, - "twittergadget.com": 1, - "livevideo.com": 1, - "cecc.gov": 1, - "opendemocracy.net": 1, - "clipfish.de": 1, - "xskywalker.com": 1, - "paint.net": 1, - "vcfbuilder.org": 1, - "itunes.apple.com": 1, - "procopytips.com": 1, - "internetdefenseleague.org": 1, - "pidown.com": 1, - "mobypicture.com": 1, - "cdnews.com.tw": 1, - "lovequicksilver.com": 1, - "soc.mil": 1, - "woeser.com": 1, - "weijingsheng.org": 1, - "doubleaf.com": 1, - "hanunyi.com": 1, - "tinychat.com": 1, - "zhengjian": 1, - "mp3ye.eu": 1, - "9bis.com": 1, - "qkshare.com": 1, - "ied2k.net": 1, - "time.com": 1, - "newspeak.cc": 1, - "cn2.streetvoice.com": 1, - "dl.box.net": 1, - "tripod.com": 1, - "chevronwp7.com": 1, - "atgfw.org": 1, - "hen.bao.li": 1, - "c-spanvideo.org": 1, - "zonaeuropa.com": 1, - "minghui-school.org": 1, - "stupidvideos.com": 1, - "mingpaosf.com": 1, - "hrichina.org": 1, - "hongzhi.li": 1, - "hihiforum.com": 1, - "bbs.skykiwi.com": 1, - "slheng.com": 1, - "shifeike.blog125.fc2blog.net": 1, - "news.cnyes.com": 1, - "chinayouth.org.hk": 1, - "twitiq.com": 1, - "robustnessiskey.com": 1, - "noypf.com": 1, - "bloglines.com": 1, - "whydidyoubuymethat.com": 1, - "pixnet.net": 1, - "photofocus.com": 1, - "laomiu.com": 1, - "monitorchina.org": 1, - "t66y.com": 1, - "sytes.net": 1, - "wforum.com": 1, - "gaeproxy.googlecode.com": 1, - "bestvpnservice.com": 1, - "killwall.com": 1, - "tchrd.org": 1, - "destiny.xfiles.to": 1, - "feministteacher.com": 1, - "shadowsocks.org": 1, - "wattpad.com": 1, - "315lz.com": 1, - "twitvid.com": 1, - "weeewooo.net": 1, - "your-freedom.net": 1, - "thebodyshop-usa.com": 1, - "slickvpn.com": 1, - "youxu.info": 1, - "pornrapidshare.com": 1, - "blog.bitly.com": 1, - "%e6%b0%91%e8%bf%90": 1, - "tw.streetvoice.com": 1, - "sharpdaily.com.hk": 1, - "youtube.com": 1, - "powerapple.com": 1, - "netme.cc": 1, - "ncn.org": 1, - "12bet.com": 1, - "hkgreenradio.org": 1, - "zhao.jinhai.de": 1, - "tweeplike.me": 1, - "analyze-v.com": 1, - "edubridge.com": 1, - "www.urbanoutfitters.com": 1, - "premeforwindows7.com": 1, - "ezpeer.com": 1, - "2000fun.com": 1, - "bnrmetal.com": 1, - "nf.id.au": 1, - "sowers.org.hk": 1, - "dalianmeng.org": 1, - "epochtimes.co.kr": 1, - "nowtorrents.com": 1, - "174.142.105.153": 1, - "atlaspost.com": 1, - "chinaway.org": 1, - "jyzj.waqn.com": 1, - "stickam.com": 1, - "dotheyfolloweachother.com": 1, - "asianews.it": 1, - "9001700.com": 1, - "showtime.jp": 1, - "thetrotskymovie.com": 1, - "vimgolf.com": 1, - "kendincos.net": 1, - "kurtmunger.com": 1, - "maruta.be": 1, - "xtube.com": 1, - "qusi8.net": 1, - "hk-pub.com": 1, - "tosh.comedycentral.com": 1, - "getiton.com": 1, - "touch99.com": 1, - "dimitrik.free.fr": 1, - "graphis.ne.jp": 1, - "myeclipseide.com": 1, - "linux-engineer.net": 1, - "great-roc.org": 1, - "lvhai.org": 1, - "chinainperspective.net": 1, - "ozchinese.com": 1, - "istockphoto.com": 1, - "www.forum4hk.com": 1, - "innermongolia.org": 1, - "tw.news.yahoo.com": 1, - "asiaharvest.org": 1, - "lidecheng.com": 1, - "t.co": 1, - "twstar.net": 1, - "ddc.com.tw": 1, - "epochtimes.com": 1, - "ilove80.be": 1, - "new-akiba.com": 1, - "xmusic.fm": 1, - "hk.video.news.yahoo.com": 1, - "nic.cz.cc": 1, - "ntdtv.ru": 1, - "wengewang.org": 1, - "wisevid.com": 1, - "zsrhao.com": 1, - "bet365.com": 1, - "liudejun.com": 1, - "ogaoga.org": 1, - "boxunblog.com": 1, - "news.singtao.ca": 1, - "geocities.jp": 1, - "tibetonline.tv": 1, - "fanqianghou.com": 1, - "modfetish.com": 1, - "jobso.tv": 1, - "ait.org.tw": 1, - "ow.ly": 1, - "ignitedetroit.net": 1, - "topshare.us": 1, - "unholyknight.com": 1, - "cctongbao.com": 1, - "sinocism.com": 1, - "blog.lester850.info": 1, - "twitthat.com": 1, - "ranyunfei.com": 1, - "64memo": 1, - "porn2.com": 1, - "hyperrate.com": 1, - "minzhuhua.net": 1, - "ganges.com": 1, - "hk.jiepang.com": 1, - "tweepmag.com": 1, - "www.monlamit.org": 1, - "ipvanish.com": 1, - "video.fdbox.com": 1, - "idiomconnection.com": 1, - "bitshare.com": 1, - "fuckgfw.org": 1, - "mcfog.com": 1, - "zh.wikisource.org": 1, - "dajiyuan.eu": 1, - "uighurbiz.net": 1, - "www.powerpointninja.com": 1, - "tynsoe.org": 1, - "khmusic.com.tw": 1, - "blog.birdhouseapp.com": 1, - "eyevio.jp": 1, - "hiitch.com": 1, - "zuo.la": 1, - "kissbbao.cn": 1, - "legaltech.law.com": 1, - "blog.kangye.org": 1, - "skyhighpremium.com": 1, - "kui.name": 1, - "dabr.me": 1, - "yyii.org": 1, - "proxy.org": 1, - "thomasbernhard.org": 1, - "itweet.net": 1, - "futureme.org": 1, - "greatzhonghua.org": 1, - "fakku.net": 1, - "muzi.net": 1, - "alvinalexander.com": 1, - "fqrouter.com": 1, - "hua-yue.net": 1, - "skimtube.com": 1, - "duckmylife.com": 1, - "lenwhite.com": 1, - "epochtimes.se": 1, - "tokyo-hot.com": 1, - "blog.dayoneapp.com": 1, - "asdfg.jp": 1, - "cnd.org": 1, - "imageshack.us": 1, - "getjetso.com": 1, - "yymaya.com": 1, - "tycool.com": 1, - "videomo.com": 1, - "en.wikipedia.org": 1, - "fillthesquare.org": 1, - "retweeteffect.com": 1, - "sproutcore.com": 1, - "hardsextube.com": 1, - "getsmartlinks.com": 1, - "heix.pp.ru": 1, - "sadpanda.us": 1, - "aboluowang.com": 1, - "jayparkinsonmd.com": 1, - "wangafu.net": 1, - "bralio.com": 1, - "sourceforge.net": 1, - "hk.knowledge.yahoo.com": 1, - "pornstarclub.com": 1, - "wordboner.com": 1, - "netflix.com": 1, - "freegao.com": 1, - "twibs.com": 1, - "ccue.com": 1, - "wanglixiong.com": 1, - "free-ssh.com": 1, - "canadameet.com": 1, - "plusbb.com": 1, - "zh-tw.justin.tv": 1, - "tweetymail.com": 1, - "simplecd.org": 1, - "opml.radiotime.com": 1, - "jbtalks.cc": 1, - "privatepaste.com": 1, - "lalulalu.com": 1, - "fastly.net": 1, - "www.ukchinese.com": 1, - "nuexpo.com": 1, - "businessweek.com": 1, - "ssh91.com": 1, - "google.%e6%96%b0%e7%96%86": 1, - "isgreat.org": 1, - "666kb.com": 1, - "hrw.org": 1, - "onmoon.net": 1, - "ajaxplorer.info": 1, - "caobian.info": 1, - "incredibox.fr": 1, - "twibbon.com": 1, - "isuntv.com": 1, - "tvider.com": 1, - "helpeachpeople.com": 1, - "hutianyi.net": 1, - "amnesty.org": 1, - "pacificpoker.com": 1, - "xys.org": 1, - "namsisi.com": 1, - "redtube.com": 1, - "teamseesmic.com": 1, - "tibet.org.tw": 1, - "md-t.org": 1, - "zhongguotese.net": 1, - "msguancha.com": 1, - "perlhowto.com": 1, - "multiproxy.org": 1, - "wengewang.com": 1, - "blog.klip.me": 1, - "forum.slime.com.tw": 1, - "sexhu.com": 1, - "0rz.tw": 1, - "jkforum.net": 1, - "sis001.us": 1, - "whatblocked.com": 1, - "cotweet.com": 1, - "citizenlab.org": 1, - "api.linksalpha.com": 1, - "vapurl.com": 1, - "qoos.com": 1, - "erights.net": 1, - "anobii.com": 1, - "pign.net": 1, - "mog.com": 1, - "fsurf.com": 1, - "fredwilson.vc": 1, - "zacebook.com": 1, - "hechaji.com": 1, - "tkforum.tk": 1, - "pagodabox.com": 1, + "danwei.org": 1, + "daolan.net": 1, + "darpa.mil": 1, + "date.fm": 1, + "davidslog.com": 1, + "davidziegler.net": 1, + "daxa.cn": 1, + "dayabook.com": 1, + "daylife.com": 1, + "dayoneapp.com": 1, + "de-sci.org": 1, + "debian.org": 1, + "deck.ly": 1, + "delcamp.net": 1, + "delicious.com": 1, + "democrats.org": 1, + "derekhsu.homeip.net": 1, + "desc.se": 1, + "designerol.com": 1, + "deutsche-welle.de": 1, + "dev102.com": 1, + "deviantart.com": 1, + "devio.us": 1, + "devpn.com": 1, + "dfanning.com": 1, + "dfas.mil": 1, + "diaoyuislands.org": 1, + "digg.com": 1, + "digitalnomadsproject.org": 1, + "diigo.com": 1, + "dipity.com": 1, + "directcreative.com": 1, + "disp.cc": 1, + "dit-inc.us": 1, + "dizhidizhi.com": 1, + "djangosnippets.org": 1, "dl-laby.jp": 1, - "thesartorialist.com": 1, - "soup.io": 1, - "youporn.com": 1, - "dailidaili.com": 1, - "mx981.com": 1, - "chinaaid.us": 1, - "tweets.seraph.me": 1, - "powercx.com": 1, - "9bis.net": 1, - "duplicati.com": 1, - "beta.usejump.com": 1, - "141hongkong.com": 1, - "bonjourlesgeeks.com": 1, - "interestinglaugh.com": 1, - "ippotv.com": 1, - "peerpong.com": 1, - "7capture.com": 1, - "uhrp.org": 1, - "freewallpaper4.me": 1, - "www.goldenmelody.com.tw": 1, - "marco.org": 1, - "psiphon.civisec.org": 1, - "seesmic.com": 1, - "efksoft.com": 1, - "here4news.com": 1, - "mixpod.com": 1, - "fengzhenghu.com": 1, - "packetix.net": 1, - "tui.orzdream.com": 1, - "im88.tw": 1, - "epochtimes.ru": 1, - "video.foxbusiness.com": 1, - "j.mp": 1, - "wlx.sowiki.net": 1, - "space-scape.com": 1, - "laoyang.info": 1, - "codeshare.io": 1, - "dailymotion.com": 1, - "new-3lunch.net": 1, - "bcc.com.tw": 1, - "news100.com.tw": 1, - "voachineseblog.com": 1, - "eamonnbrennan.com": 1, - "topstyle4.com": 1, - "wpoforum.com": 1, - "freealim.com": 1, - "vpngate.net": 1, - "x1949x.com": 1, - "forum.iset.com.tw": 1, - "palacemoon.com": 1, - "apidocs.linksalpha.com": 1, - "mhradio.org": 1, - "webworkerdaily.com": 1, - "dadazim.com": 1, - "thehousenews.com": 1, - "yvesgeleyn.com": 1, + "dlsite.com": 1, + "dmcdn.net": 1, + "dns2go.com": 1, + "dnscrypt.org": 1, + "dojin.com": 1, + "dok-forum.net": 1, + "dolc.de": 1, + "dollf.com": 1, + "dongde.com": 1, + "dongtaiwang.com": 1, + "dongtaiwang.net": 1, + "dongyangjing.com": 1, "dontfilter.us": 1, - "funf.tw": 1, - "catholic.org.tw": 1, - "civicparty.hk": 1, - "zarias.com": 1, - "ccue.ca": 1, - "pastie.org": 1, - "web2project.net": 1, - "aisex.com": 1, - "curvefish.com": 1, - "savetibet.org": 1, - "marxists.org": 1, - "chubun.com": 1, - "liuhanyu.com": 1, - "boxun.tv": 1, - "tech2.in.com": 1, - "xuzhiyong.net": 1, - "newsforums.bbc.co.uk": 1, - "joeedelman.com": 1, + "dontmovetochina.com": 1, + "dotheyfolloweachother.com": 1, + "dotplane.com": 1, + "dotsub.com": 1, + "doubleaf.com": 1, + "dougscripts.com": 1, + "dowei.org": 1, + "doxygen.org": 1, + "dphk.org": 1, + "drewolanoff.com": 1, + "drgan.net": 1, + "dribbble.com": 1, + "dropbox.com": 1, + "dropboxusercontent.com": 1, + "drsunacademy.com": 1, + "drtuber.com": 1, + "dscn.info": 1, + "dtiblog.com": 1, + "dtic.mil": 1, + "dtiserv2.com": 1, + "duckduckgo.com": 1, + "duckload.com": 1, + "duckmylife.com": 1, + "duihua.org": 1, + "duihuahrjournal.org": 1, + "duoweitimes.com": 1, + "duping.net": 1, + "duplicati.com": 1, + "dupola.com": 1, + "dupola.net": 1, + "dvorak.org": 1, + "dw-world.com": 1, + "dw-world.de": 1, + "dw.de": 1, + "dwheeler.com": 1, + "dwnews.com": 1, + "dwnews.net": 1, + "dxiong.com": 1, + "dy24k.info": 1, "dynawebinc.com": 1, - "cn.uncyclopedia.wikia.com": 1, - "jbtalks.com": 1, - "iu45.com": 1, - "tv-intros.com": 1, - "dafahao.com": 1, - "mingpaotor.com": 1, - "nekoslovakia.net": 1, + "dyndns.org": 1, + "dzze.com": 1, + "e-gold.com": 1, + "e-hentai.org": 1, + "e-spacy.com": 1, + "e-traderland.net": 1, + "eamonnbrennan.com": 1, + "ebookbrowse.com": 1, + "ebookee.com": 1, + "echofon.com": 1, + "ecministry.net": 1, + "ecstart.com": 1, + "edicypages.com": 1, + "edoors.com": 1, + "edubridge.com": 1, + "eevpn.com": 1, + "efksoft.com": 1, + "efmoe.com": 1, + "eic-av.com": 1, + "electionsmeter.com": 1, + "elpais.com": 1, + "eltondisney.com": 1, + "emacsblog.org": 1, + "embr.in": 1, + "emory.edu": 1, + "emule-ed2k.com": 1, + "emuparadise.me": 1, + "enewstree.com": 1, + "engadget.com": 1, + "entermap.com": 1, + "epochtimes-bg.com": 1, + "epochtimes-romania.com": 1, + "epochtimes.co.kr": 1, + "epochtimes.com": 1, "epochtimes.de": 1, - "freessh.us": 1, - "cuhkacs.org": 1, + "epochtimes.fr": 1, + "epochtimes.ie": 1, + "epochtimes.jp": 1, + "epochtimes.ru": 1, + "epochtimes.se": 1, + "epochtimestr.com": 1, + "epochweekly.com": 1, + "erabaru.net": 1, + "erepublik.com": 1, + "erights.net": 1, + "eriversoft.com": 1, + "ernestmandel.org": 1, + "etaiwannews.com": 1, + "etizer.org": 1, + "ettoday.net": 1, + "eulam.com": 1, + "eventful.com": 1, + "everyday-carry.com": 1, + "exblog.co.jp": 1, + "exblog.jp": 1, + "expatshield.com": 1, + "exploader.net": 1, + "expofutures.com": 1, + "extremetube.com": 1, + "eyespirit.info": 1, + "eyevio.jp": 1, + "ezpc.tk": 1, + "ezpeer.com": 1, + "facebook.com": 1, + "facebook.net": 1, + "facesofnyfw.com": 1, + "faiththedog.info": 1, + "fakku.net": 1, + "falsefire.com": 1, + "falunart.org": 1, + "falundafa.org": 1, + "falundafamuseum.org": 1, + "falunhr.org": 1, + "famunion.com": 1, + "fan-qiang.com": 1, + "fangbinxing.com": 1, + "fangeming.com": 1, "fanglizhi.info": 1, - "upload4u.info": 1, - "ozyoyo.com": 1, - "panluan.net": 1, - "4chan.org": 1, - "cafepress.com": 1, - "worldcat.org": 1, - "dtiserv2.com": 1, - "mgstage.com": 1, - "twitpic.com": 1, - "upcoming.yahoo.com": 1, - "nicovideo.jp": 1, - "zeutch.com": 1, - "newchen.com": 1, - "lrfz.com": 1, - "freeopenvpn.com": 1, - "have8.com": 1, - "myspace.com": 1, - "blog.jackjia.com": 1, + "fangong.org": 1, + "fangongheike.com": 1, + "fanqianghou.com": 1, + "fanqiangyakexi.net": 1, + "fanswong.com": 1, + "fanyue.info": 1, + "fapdu.com": 1, + "farwestchina.com": 1, + "fastly.net": 1, + "fastpic.ru": 1, + "faststone.org": 1, + "favorious.com": 1, + "favotter.net": 1, + "favstar.fm": 1, + "fawanghuihui.org": 1, + "faydao.com": 1, + "fb.com": 1, + "fb.me": 1, + "fbcdn.net": 1, + "fbsbx.com": 1, + "fc2.com": 1, + "fc2blog.net": 1, + "fc2china.com": 1, + "fdbox.com": 1, + "fdc89.jp": 1, + "feedburner.com": 1, + "feedzshare.com": 1, + "feelssh.com": 1, + "feer.com": 1, + "feministteacher.com": 1, + "fengzhenghu.com": 1, + "ff.im": 1, + "fflick.com": 1, + "fgmtv.net": 1, + "fgmtv.org": 1, + "filefactory.com": 1, + "files2me.com": 1, + "fileserve.com": 1, + "fillthesquare.org": 1, + "finalion.jp": 1, + "finler.net": 1, + "fireofliberty.org": 1, + "firstfivefollowers.com": 1, + "fizzik.com": 1, + "flecheinthepeche.fr": 1, + "fleshbot.com": 1, + "flickr.com": 1, + "flickrhivemind.net": 1, + "flightcaster.com": 1, + "flnet.org": 1, + "fly4ever.me": 1, + "fmnnow.com": 1, + "focusvpn.com": 1, + "fofg.org": 1, + "foolsmountain.com": 1, + "fooooo.com": 1, + "footwiball.com": 1, + "forum4hk.com": 1, + "forums-free.com": 1, + "fotop.net": 1, + "fourthinternational.org": 1, + "foxbusiness.com": 1, + "foxdie.us": 1, "foxsub.com": 1, - "get-digital-help.com": 1, - "secretgarden.no": 1, - "tw.yahoo.com": 1, - "mixx.com": 1, - "twibase.com": 1, - "uploaded.to": 1, - "ialmostlaugh.com": 1, - "tzangms.com": 1, - "thechinabeat.org": 1, - "jingpin.org": 1, - "facebook.com": 1, - "dabr.co.uk": 1, - "dadi360.com": 1, - "alternate-tools.com": 1, - "4sq.com": 1, - "myaudiocast.com": 1, + "foxtang.com": 1, + "fqrouter.com": 1, + "franklc.com": 1, + "freakshare.com": 1, + "fredwilson.vc": 1, + "free-gate.org": 1, + "free-hada-now.org": 1, + "free-ssh.com": 1, + "free.fr": 1, + "free4u.com.ar": 1, + "freealim.com": 1, + "freebearblog.org": 1, + "freechal.com": 1, + "freedomhouse.org": 1, + "freegao.com": 1, + "freelotto.com": 1, + "freeman2.com": 1, + "freemoren.com": 1, + "freemorenews.com": 1, + "freenet-china.org": 1, + "freenetproject.org": 1, + "freenewscn.com": 1, + "freeopenvpn.com": 1, + "freeoz.org": 1, + "freerk.com": 1, + "freessh.us": 1, + "freetibet.org": 1, + "freevpn.nl": 1, + "freewallpaper4.me": 1, + "freewebs.com": 1, + "freeweibo.com": 1, + "freexinwen.com": 1, + "freeyoutubeproxy.net": 1, "friendfeed-media.com": 1, - "newyorktimes.com": 1, - "ironbigfools.compython.net": 1, - "rxhj.net": 1, - "blog.gowalla.com": 1, - "sites.google.com": 1, - "uwants.net": 1, - "q=triangle": 1, - "culture.tw": 1, - "identi.ca": 1, - "blog.exblog.co.jp": 1, - "list.ly": 1, - "mathiew-badimon.com": 1, - "duckload.com": 1, - "videobam.com": 1, - "stoweboyd.com": 1, - "zkaip.com": 1, - "vpnpronet.com": 1, - "latimesblogs.latimes.com": 1, - "nps.gov": 1, - "kyohk.net": 1, - "wqyd.org": 1, - "epochtimes.co.il": 1, - "togetter.com": 1, - "t.kun.im": 1, - "taipeisociety.org": 1, - "torproject.org": 1, - "tw": 1, - "blog.pikchur.com": 1, + "friendfeed.com": 1, + "fring.com": 1, + "fringenetwork.com": 1, + "frommel.net": 1, + "frontlinedefenders.org": 1, + "fscked.org": 1, + "fsurf.com": 1, + "ftchinese.com": 1, + "fuckcnnic.net": 1, + "fuckgfw.com": 1, + "fuckgfw.org": 1, + "fulue.com": 1, + "funp.com": 1, + "furinkan.com": 1, + "furl.net": 1, + "futurechinaforum.org": 1, + "futureme.org": 1, + "futuremessage.org": 1, + "fuyin.net": 1, + "fw.cm": 1, + "fxnetworks.com": 1, + "fzh999.com": 1, + "fzh999.net": 1, + "g.co": 1, + "gabocorp.com": 1, + "gaeproxy.com": 1, + "galenwu.com": 1, + "game735.com": 1, + "ganges.com": 1, + "gaoming.net": 1, + "gaopi.net": 1, + "gaozhisheng.net": 1, + "gaozhisheng.org": 1, + "gardennetworks.com": 1, + "gardennetworks.org": 1, + "gartlive.com": 1, + "gather.com": 1, + "gaymap.cc": 1, + "gazotube.com": 1, "gclooney.com": 1, - "hkej.com": 1, - "blog.de": 1, - "koolsolutions.com": 1, - "mmmca.com": 1, - "www.imdb.com": 1, + "gcpnews.com": 1, + "gdbt.net": 1, + "gdzf.org": 1, + "geek-art.net": 1, + "geekerhome.com": 1, + "geekmanuals.com": 1, + "generesis.com": 1, + "genuitec.com": 1, + "geocities.co.jp": 1, + "geocities.com": 1, + "geocities.jp": 1, + "geohot.com": 1, + "geometrictools.com": 1, + "get-digital-help.com": 1, + "getchu.com": 1, + "getcloudapp.com": 1, + "getfoxyproxy.org": 1, + "getfreedur.com": 1, + "getiton.com": 1, + "getjetso.com": 1, + "getlantern.org": 1, + "getsmartlinks.com": 1, + "getsocialscope.com": 1, + "getyouram.com": 1, + "gfw.org.ua": 1, + "ggpht.com": 1, + "ggssl.com": 1, + "ghost.org": 1, + "ghostery.com": 1, + "ghut.org": 1, + "giga-web.jp": 1, + "giganews.com": 1, + "gigporno.ru": 1, + "gimpshop.com": 1, + "girlbanker.com": 1, + "git-scm.com": 1, + "github.com": 1, + "givemesomethingtoread.com": 1, + "glennhilton.com": 1, + "globaljihad.net": 1, + "globalmuseumoncommunism.org": 1, + "globalrescue.net": 1, + "globalvoicesonline.org": 1, + "gmail.com": 1, + "gmbd.cn": 1, + "gmhz.org": 1, + "gmodules.com": 1, + "goagent.biz": 1, + "goagentplus.com": 1, + "godfootsteps.org": 1, + "golang.org": 1, + "goldbetsports.com": 1, + "goldwave.com": 1, + "gongm.in": 1, + "gongmeng.info": 1, + "gongminliliang.com": 1, + "gongwt.com": 1, + "goo.gl": 1, + "goodreaders.com": 1, + "goodreads.com": 1, + "goofind.com": 1, + "google-analytics.com": 1, + "google.co.jp": 1, + "google.com": 1, + "googleadservices.com": 1, + "googleapis.com": 1, + "googlecode.com": 1, + "googledrive.com": 1, + "googleearth.com": 1, + "googlelabs.com": 1, + "googlemail.com": 1, + "googlepages.com": 1, + "googleplus.com": 1, + "googlesile.com": 1, + "googlesource.com": 1, + "googlesyndication.com": 1, + "googletagmanager.com": 1, + "googletagservices.com": 1, + "googleusercontent.com": 1, + "googlevideo.com": 1, + "gopetition.com": 1, + "gospelherald.com": 1, + "gotw.ca": 1, + "gowalla.com": 1, + "gpass1.com": 1, + "gradconnection.com": 1, + "grandtrial.org": 1, + "graphis.ne.jp": 1, + "graylog2.org": 1, "great-firewall.com": 1, - "chrlcg-hk.org": 1, - "movabletype.com": 1, - "ifan.cz.cc": 1, - "immigration.gov.tw": 1, - "dw-world.de": 1, - "anchorfree.com": 1, - "tokyocn.com": 1, - "purevpn.com": 1, - "antidrm.hpg.ig.com.br": 1, - "djangosnippets.org": 1, - "hasaowall.com": 1, - "tweetwally.com": 1, - "xing.com": 1, - "podictionary.com": 1, - "stickeraction.com": 1, - "civilhrfront.org": 1, - "sis.xxx": 1, - "wzyboy.im": 1, - "openwebster.com": 1, - "desc.se": 1, - "twistar.cc": 1, - "twbbs.tw": 1, - "appledaily.com": 1, - "rocmp.org": 1, - "tuxtraining.com": 1, - "xbookcn.com": 1, - "witopia.net": 1, - "wenyunchao.com": 1, - "snaptu.com": 1, - "thetibetpost.com": 1, - "xys.dxiong.com": 1, - "www.supertweet.net": 1, - "livestation.com": 1, - "szbbs.net": 1, - "%e6%b3%95%e8%bd%ae%e5%8a%9f": 1, - "kompozer.net": 1, - "backpackers.com.tw": 1, - "home.so-net.net.tw": 1, - "uncyclopedia.info": 1, - "helloandroid.com": 1, + "great-roc.org": 1, + "greatfire.org": 1, + "greatfirewall.biz": 1, "greatfirewallofchina.net": 1, - "tibetanyouthcongress.org": 1, - "alabout.com": 1, - "sexandsubmission.com": 1, - "pbxes.org": 1, - "hutong9.net": 1, - "stoneip.info": 1, - "blogspot.jp": 1, - "avidemux.org": 1, - "alkasir.com": 1, - "shinychan.com": 1, - "yasukuni.or.jp": 1, - "shenshou.org": 1, - "search": 1, - "baidu.jp": 1, - "xizang-zhiye.org": 1, - "galenwu.com": 1, - "areca-backup.org": 1, - "friendfeed.com": 1, - "freenet": 1, - "www.skype.com": 1, - "multiupload.com": 1, + "greatfirewallofchina.org": 1, + "greatroc.org": 1, + "greatzhonghua.org": 1, "greenvpn.net": 1, - "blog.usa.gov": 1, - "thedieline.com": 1, - "berlintwitterwall.com": 1, - "molihua.org": 1, + "gs-discuss.com": 1, + "gstatic.com": 1, + "gtricks.com": 1, + "guancha.org": 1, + "guishan.org": 1, + "gun-world.net": 1, + "gunsamerica.com": 1, + "guomin.us": 1, + "gutteruncensored.com": 1, + "gyalwarinpoche.com": 1, + "gzm.tv": 1, + "gzone-anime.info": 1, + "h-china.org": 1, + "h1n1china.org": 1, + "hacken.cc": 1, + "hackthatphone.net": 1, + "hahlo.com": 1, + "hanunyi.com": 1, + "hardsextube.com": 1, + "hasaowall.com": 1, + "have8.com": 1, + "hdtvb.net": 1, + "heartyit.com": 1, + "hecaitou.net": 1, + "hechaji.com": 1, + "heix.pp.ru": 1, + "heiyo.info": 1, + "helloandroid.com": 1, + "hellonewyork.us": 1, + "helloqueer.com": 1, + "hellotxt.com": 1, + "hellouk.org": 1, + "helpeachpeople.com": 1, + "helplinfen.com": 1, + "helpzhuling.org": 1, + "heqinglian.net": 1, + "here4news.com": 1, + "heungkongdiscuss.com": 1, + "heywire.com": 1, + "hgseav.com": 1, + "hidden-advent.org": 1, + "hidecloud.com": 1, + "hideipvpn.com": 1, + "hidemyass.com": 1, + "higfw.com": 1, + "highrockmedia.com": 1, + "hihiforum.com": 1, + "hihistory.net": 1, + "hiitch.com": 1, + "hikinggfw.org": 1, + "himemix.com": 1, + "himemix.net": 1, + "hinet.net": 1, + "hjclub.info": 1, + "hk": 1, + "hk-pub.com": 1, + "hk32168.com": 1, + "hkatvnews.com": 1, + "hkbc.net": 1, + "hkbf.org": 1, + "hkchurch.org": 1, + "hkday.net": 1, + "hkej.com": 1, + "hkepc.com": 1, + "hkfront.org": 1, + "hkgolden.com": 1, + "hkgreenradio.org": 1, + "hkheadline.com": 1, + "hkhkhk.com": 1, + "hkjc.com": 1, + "hkjp.org": 1, + "hkptu.org": 1, + "hkreporter.com": 1, + "hkzone.org": 1, + "hloli.net": 1, + "hnjhj.com": 1, + "hola.com": 1, + "holyspiritspeaks.org": 1, + "homeservershow.com": 1, + "hongmeimei.com": 1, + "hongzhi.li": 1, + "hootsuite.com": 1, + "hotfile.com": 1, + "hotpotato.com": 1, + "hotshame.com": 1, + "hotspotshield.com": 1, + "hougaige.com": 1, + "howtoforge.com": 1, + "hqcdp.org": 1, + "hrcir.com": 1, + "hrichina.org": 1, + "hrw.org": 1, + "hsjp.net": 1, + "hsselite.com": 1, + "ht.ly": 1, + "htkou.net": 1, + "htl.li": 1, + "htmldog.com": 1, + "htxt.it": 1, + "hua-yue.net": 1, + "huaglad.com": 1, + "huanghuagang.org": 1, + "huaren.us": 1, + "huaxia-news.com": 1, + "huaxin.ph": 1, + "hudatoriq.web.id": 1, + "hugoroy.eu": 1, + "huhaitai.com": 1, + "hulu.com": 1, + "huluim.com": 1, + "hung-ya.com": 1, "hungerstrikeforaids.org": 1, - "socialwhale.com": 1, - "notes.alexdong.com": 1, - "10musume.com": 1, - "newlandmagazine.com.au": 1, - "my.keso.cn": 1, - "gather.com": 1, - "bcchinese.net": 1, - "tweetmeme.com": 1, - "tv.com": 1, - "funp.com": 1, - "mh4u.org": 1, - "wukangrui.net": 1, - "jeanyim.com": 1, - "chinaworker.info": 1, - "maxgif.com": 1, - "pixelqi.com": 1, - "sjum.cn": 1, - "mgoon.com": 1, - "cbsnews.com": 1, + "huping.net": 1, + "hutianyi.net": 1, + "hutong9.net": 1, + "hwinfo.com": 1, + "hyperrate.com": 1, + "hypeshell.com": 1, + "i2p2.de": 1, + "i2runner.com": 1, + "ialmostlaugh.com": 1, + "iask.bz": 1, + "iask.ca": 1, + "ibiblio.org": 1, + "iblogserv-f.net": 1, + "ibros.org": 1, + "ibtimes.com": 1, + "icerocket.com": 1, + "icij.org": 1, + "icl-fi.org": 1, + "iconpaper.org": 1, + "idaiwan.com": 1, + "idemocracy.asia": 1, + "identi.ca": 1, + "idiomconnection.com": 1, + "idlcoyote.com": 1, + "idouga.com": 1, + "idsam.com": 1, + "ieasynews.net": 1, + "ied2k.net": 1, + "ifanqiang.com": 1, + "ifanr.com": 1, + "ifcss.org": 1, "ifjc.org": 1, - "shadow.ma": 1, - "soumo.info": 1, - "xpud.org": 1, - "naacoalition.org": 1, - "research.jmsc.hku.hk": 1, - "urlparser.com": 1, - "s1heng.com": 1, - "www.loiclemeur.com": 1, - "e-info.org.tw": 1, - "c1522.mooo.com": 1, - "wenku.com": 1, - "video.aol.com": 1, - "mitbbs.com": 1, - "wiredbytes.com": 1, - "qxbbs.org": 1, - "ht.ly": 1, - "popyard.org": 1, - "yunchao.net": 1, - "dolc.de": 1, + "ifttt.com": 1, + "ig.com.br": 1, + "igfw.net": 1, + "ignitedetroit.net": 1, + "igvita.com": 1, + "ihakka.net": 1, + "iicns.com": 1, + "illusionfactory.com": 1, + "ilove80.be": 1, + "ilovelongtoes.com": 1, + "im.tv": 1, + "imageflea.com": 1, + "imageshack.us": 1, + "imagevenue.com": 1, + "imagezilla.net": 1, + "imdb.com": 1, + "img.ly": 1, + "imkev.com": 1, + "imlive.com": 1, + "in.com": 1, + "incredibox.fr": 1, + "initiativesforchina.org": 1, + "inmediahk.net": 1, + "innermongolia.org": 1, + "instagram.com": 1, + "instapaper.com": 1, + "interestinglaugh.com": 1, + "interfaceaddiction.com": 1, + "internationalrivers.org": 1, + "internet.org": 1, + "internetdefenseleague.org": 1, + "internetfreedom.org": 1, + "internetpopculture.com": 1, + "inxian.com": 1, + "iphone-dev.org": 1, + "iphonehacks.com": 1, + "iphonix.fr": 1, + "ipicture.ru": 1, + "ipobar.com": 1, + "ippotv.com": 1, + "ipvanish.com": 1, + "iredmail.org": 1, + "ironicsoftware.com": 1, "ironpython.net": 1, - "demo.opera-mini.net": 1, - "alasbarricadas.org": 1, - "plurktop.mmdays.com": 1, - "wufi.org.tw": 1, - "chinese.engadget.com": 1, - "disp.cc": 1, - "aiweiweiblog.com": 1, - "123rf.com": 1, - "badoo.com": 1, - "forum.mymaji.com": 1, - "appspot.com": 1, - "mixedmedialabs.com": 1, - "frommel.net": 1, - "mininova.org": 1, - "yegle.net": 1, - "blog.sina.com.tw": 1, - "bbsland.com": 1, - "blogtd.net": 1, - "sshtunnel.googlecode.com": 1, - "ventureswell.com": 1, - "popularpages.net": 1, - "photos.dailyme.com": 1, - "savevid.com": 1, - "pornoxo.com": 1, - "lsmkorean.org": 1, - "vinniev.com": 1, - "tcno.net": 1, - "squarespace.com": 1, - "default.secureserver.net": 1, - "hkgolden.com": 1, - "voatibetan.com": 1, - "speckleapp.com": 1, - "newtalk.tw": 1, - "shkspr.mobi": 1, - "forum.my903.com": 1, - "politicalchina.org": 1, - "ac.jiruan.net": 1, - "www.zaurus.org.uk": 1, - "thepiratebay.se": 1, - "adultkeep.net": 1, - "cdn.sstatic.net": 1, - "twisternow.com": 1, - "881903.com": 1, - "moby.to": 1, - "woopie.tv": 1, + "isaacmao.com": 1, + "isgreat.org": 1, + "islamicity.com": 1, + "ismprofessional.net": 1, + "isohunt.com": 1, + "israbox.com": 1, + "istef.info": 1, + "istockphoto.com": 1, + "isunaffairs.com": 1, + "isuntv.com": 1, + "itaboo.info": 1, + "itshidden.com": 1, + "itweet.net": 1, + "iu45.com": 1, + "ixquick.com": 1, + "izaobao.us": 1, + "izihost.org": 1, + "izles.net": 1, + "jackjia.com": 1, + "japan-whores.com": 1, + "jayparkinsonmd.com": 1, + "jbtalks.cc": 1, + "jbtalks.com": 1, + "jbtalks.my": 1, + "jeanyim.com": 1, + "jgoodies.com": 1, + "jiaoyou8.com": 1, + "jiehua.cz": 1, + "jiepang.com": 1, "jieshibaobao.com": 1, - "zdnet.com.tw": 1, - "news.google.com.hk": 1, - "nch.com.tw": 1, - "dojin.com": 1, - "ibiblio.org": 1, - "cdp1998.org": 1, - "wuala.com": 1, - "daxa.cn": 1, - "rlwlw.com": 1, - "iphonix.fr": 1, - "blogs.yahoo.co.jp": 1, - "twit2d.com": 1, - "mcadforums.com": 1, - "gutteruncensored.com": 1, - "hdtvb.net": 1, - "shapeservices.com": 1, - "westernwolves.com": 1, - "pictures.playboy.com": 1, - "secure.wikimedia.org": 1, - "rthk.org.hk": 1, - "washeng.net": 1, - "bbs.ozchinese.com": 1, - "purepdf.com": 1, - "larsgeorge.com": 1, - "beta.iset.com.tw": 1, - "twbbs.net.tw": 1, - "fangongheike.com": 1, - "zgzcjj.net": 1, - "linkideo.com": 1, - "softether.co.jp": 1, - "phuquocservices.com": 1, - "drgan.net": 1, - "pcdiscuss.com": 1, - "sitemaps.org": 1, - "flickrhivemind.net": 1, - "linuxtoy.org": 1, - "thedailywh.at": 1, - "addictedtocoffee.de": 1, - "getchu.com": 1, - "geekerhome.com": 1, - "greatroc.org": 1, - "tomsc.com": 1, - "marxist.com": 1, - "global.hkepc.com": 1, - "kanzhongguo.com": 1, - "help.linksalpha.com": 1, - "greatroc.tw": 1, - "dlsite.com": 1, - "crossthewall.net": 1, - "twbbs.org": 1, - "xinshijue.com": 1, - "woopie.jp": 1, - "hqcdp.org": 1, - "freenewscn.com": 1, - "hkjp.org": 1, - "verybs.com": 1, - "googleusercontent.com": 1, - "cn.fmnnow.com": 1, - "amazon.com": 1, - "old-cat.net": 1, - "all-that-is-interesting.com": 1, - "wiki.phonegap.com": 1, - "yx51.net": 1, - "sydneytoday.com": 1, - "olympicwatch.org": 1, - "whippedass.com": 1, - "tafaward.com": 1, - "falunart.org": 1, - "unknownspace.org": 1, - "tweetrans.com": 1, + "jimoparty.com": 1, + "jinbushe.org": 1, + "jingpin.org": 1, + "jinhai.de": 1, + "jiruan.net": 1, + "jitouch.com": 1, + "jkforum.net": 1, + "joachims.org": 1, + "jobso.tv": 1, + "joeedelman.com": 1, + "joeyrobert.org": 1, + "journalofdemocracy.org": 1, + "jpopforum.net": 1, + "jqueryui.com": 1, + "juliereyc.com": 1, + "junauza.com": 1, + "junefourth-20.net": 1, + "justfreevpn.com": 1, + "justin.tv": 1, + "justtristan.com": 1, + "juziyue.com": 1, + "jwmusic.org": 1, "jyxf.net": 1, - "uushare.com": 1, - "wikileaks.de": 1, - "abc.pp.ru": 1, - "pullfolio.com": 1, - "sis001.com": 1, - "workatruna.com": 1, - "memedia.cn": 1, - "gpass1.com": 1, - "megarotic.com": 1, - "dalailama.ru": 1, - "zengjinyan.org": 1, - "centralnation.com": 1, - "puffinbrowser.com": 1, - "pandora.tv": 1, - "amiblockedornot.com": 1, - "zhinengluyou.com": 1, - "bannedbook.org": 1, - "chinesenewsnet.com": 1, - "nokogiri.org": 1, - "wolfax.com": 1, - "hkjp.easyweb.hk": 1, - "ifcss.org": 1, - "pwned.com": 1, - "thumbzilla.com": 1, - "hecaitou.net": 1, - "www.wangruowang.org": 1, - "koornk.com": 1, - "bbs.sina.com": 1, - "leecheukyan.org": 1, - "theqii.info": 1, - "blip.tv": 1, - "tweetbackup.com": 1, - "share.youthwant.com.tw": 1, - "gzone-anime.info": 1, - "1984bbs.org": 1, - "penthouse.com": 1, - "ff.im": 1, - "bbs.tuitui.info": 1, - "uploadstation.com": 1, - "alliance.org.hk": 1, - "wearn.com": 1, - "zattoo.com": 1, - "ukliferadio.co.uk": 1, - "news.sina.com.tw": 1, - "askynz.net": 1, - "zaobao.com.sg": 1, - "teck.in": 1, - "heartyit.com": 1, - "weekmag.info": 1, - "bettween.com": 1, - "gun-world.net": 1, + "ka-wai.com": 1, + "kaiyuan.de": 1, + "kakao.com": 1, + "kangye.org": 1, + "kanzhongguo.com": 1, + "kanzhongguo.eu": 1, + "karayou.com": 1, + "kcome.org": 1, + "kcsoftwares.com": 1, + "kechara.com": 1, + "keepandshare.com": 1, + "kendincos.net": 1, "kenengba.com": 1, - "crackle.com": 1, - "twftp.org": 1, - "zlib.net": 1, - "multiply.com": 1, - "lipuman.com": 1, - "porntube.com": 1, - "tunein.com": 1, - "uwants.com": 1, - "gotw.ca": 1, - "tumutanzi.com": 1, - "photo.utom.us": 1, - "dizhidizhi.com": 1, - "pbwiki.com": 1, - "ruyiseek.com": 1, - "docstoc.com": 1, - "navigeaters.com": 1, - "eltondisney.com": 1, - "free.fr": 1, - "www.reuters.com": 1, - "extremetube.com": 1, - "yeelou.com": 1, - "corumcollege.com": 1, - "merit-times.com.tw": 1, - "hkheadline.com": 1, - "tsunagarumon.com": 1, - "wikileaks.org": 1, - "taiwanyes.com": 1, - "chinesepen.org": 1, - "itaboo.info": 1, - "martincartoons.com": 1, - "theinternetwishlist.com": 1, - "twitgether.com": 1, - "collateralmurder.com": 1, - "baixing.me": 1, - "lesscss.org": 1, - "realraptalk.com": 1, - "nanyang.com": 1, - "michaelanti.com": 1, - "2shared.com": 1, - "chinagreenparty.org": 1, - "fireofliberty.org": 1, - "isohunt.com": 1, - "meirixiaochao.com": 1, - "rutube.ru": 1, - "erepublik.com": 1, - "mike.cz.cc": 1, - "%e7%8e%8b%e4%b8%b9": 1, - "briefdream.com": 1, - "blog.joeyrobert.org": 1, - "vocn.tv": 1, - "ironicsoftware.com": 1, - "htxt.it": 1, - "mayimayi.com": 1, - "businesstimes.com.cn": 1, - "beijing1989.com": 1, + "keontech.net": 1, + "keso.cn": 1, + "kickstarter.com": 1, + "killwall.com": 1, "kingdomsalvation.org": 1, - "vpnbook.com": 1, - "ping.fm": 1, - "hudatoriq.web.id": 1, - "duihua.org": 1, - "bowenpress.com": 1, - "sports.williamhill.com": 1, - "fotop.net": 1, - "blog.syx86.cn": 1, - "liveleak.com": 1, - "thegatesnotes.com": 1, - "faststone.org": 1, - "ulike.net": 1, - "365singles.com.ar": 1, - "calebelston.com": 1, - "turbobit.net": 1, + "kinghost.com": 1, + "kissbbao.cn": 1, + "kl.am": 1, + "klip.me": 1, + "knowledgerush.com": 1, + "kodingen.com": 1, + "kompozer.net": 1, + "koolsolutions.com": 1, + "koornk.com": 1, + "kui.name": 1, + "kun.im": 1, + "kurtmunger.com": 1, + "kusocity.com": 1, + "kwongwah.com.my": 1, + "kyohk.net": 1, + "kzeng.info": 1, + "la-forum.org": 1, + "labiennale.org": 1, + "ladbrokes.com": 1, + "lagranepoca.com": 1, + "lalulalu.com": 1, + "laogai.org": 1, + "laomiu.com": 1, + "laoyang.info": 1, + "laptoplockdown.com": 1, + "laqingdan.net": 1, + "larsgeorge.com": 1, + "lastfm.es": 1, + "latelinenews.com": 1, + "latimes.com": 1, + "law.com": 1, + "lazarsearlymusic.com": 1, + "leecheukyan.org": 1, + "lematin.ch": 1, + "lemonde.fr": 1, + "lenwhite.com": 1, + "lerosua.org": 1, + "lesoir.be": 1, + "lesscss.org": 1, + "lester850.info": 1, + "letscorp.net": 1, + "liansi.org": 1, + "lianyue.net": 1, + "liaowangxizang.net": 1, + "lidecheng.com": 1, + "lightbox.com": 1, + "limiao.net": 1, + "line.me": 1, + "linglingfa.com": 1, + "linkideo.com": 1, + "linksalpha.com": 1, + "linpie.com": 1, + "linux-engineer.net": 1, + "linuxconfig.org": 1, + "linuxreviews.org": 1, + "linuxtoy.org": 1, + "lipuman.com": 1, + "list.ly": 1, + "listentoyoutube.com": 1, + "listorious.com": 1, + "littlebigdetails.com": 1, + "liu.lu": 1, + "liudejun.com": 1, + "liuhanyu.com": 1, "liujianshu.com": 1, - "daylife.com": 1, - "whylover.com": 1, - "allinfo.com": 1, - "lsd.org.hk": 1, - "mingjinglishi.com": 1, - "wepn.info": 1, - "freegateget.googlepages.com": 1, - "tenacy.com": 1, - "parade.com": 1, - "mobile01.com": 1, - "cynscribe.com": 1, - "lockestek.com": 1, - "dtic.mil": 1, - "x-art.com": 1, - "atchinese.com": 1, - "gazotube.com": 1, - "nownews.com": 1, - "64wiki.com": 1, - "bloglovin.com": 1, - "v-state.org": 1, - "cocoa.zonble.net": 1, - "popyard.com": 1, - "forum.baby-kingdom.com": 1, - "tor.updatestar.com": 1, - "ytht.net": 1, - "willw.net": 1, - "chinahush.com": 1, - "eyespirit.info": 1, - "wangjinbo.org": 1, - "dowei.org": 1, - "tianhuayuan.com": 1, - "goagent.googlecode.com": 1, - "getfoxyproxy.org": 1, - "renyurenquan.org": 1, - "fangbinxing.com": 1, - "gongminliliang.com": 1, - "cdjp.org": 1, - "code1984.com": 1, - "gzm.tv": 1, - "taiwannation.50webs.com": 1, - "sharebee.com": 1, - "dailynews.sina.com": 1, - "chinadigitaltimes.net": 1, - "tagwalk.com": 1, - "chinagfw.org": 1, - "aolchannels.aol.com": 1, - "wenxuecity.com": 1, - "veoh.com": 1, - "dongyangjing.com": 1, + "liuxiaotong.com": 1, + "liveleak.com": 1, + "livestation.com": 1, + "livestream.com": 1, + "livevideo.com": 1, + "livingonline.us": 1, + "livingstream.com": 1, "lizhizhuangbi.com": 1, - "cdp.sinica.edu.tw": 1, - "tangben.com": 1, - "hk.myblog.yahoo.com": 1, + "lkcn.net": 1, + "localpresshk.com": 1, + "lockdown.com": 1, + "lockestek.com": 1, "logbot.net": 1, - "techlifeweb.com": 1, - "junefourth-20.net": 1, - "seapuff.com": 1, - "allonlinux.free.fr": 1, - "lich355.megabyet.net": 1, - "blogspot.hk": 1, - "waikeung.org": 1, - "jinbushe.org": 1, - "my-proxy.com": 1, - "kun.im": 1, - "shodanhq.com": 1, - "t.huhaitai.com": 1, - "fflick.com": 1, - "sino-monthly.com": 1, - "slutload.com": 1, - "postadult.com": 1, - "falundafa.org": 1, - "yi.org": 1, - "myboooks.googlepages.com": 1, - "tube8.com": 1, - "epochtimes.ie": 1, - "opnir.com": 1, + "logiqx.com": 1, + "logmike.com": 1, + "loiclemeur.com": 1, + "longtermly.net": 1, + "lookatgame.com": 1, + "lookingglasstheatre.org": 1, + "lookpic.com": 1, + "lovequicksilver.com": 1, + "lrfz.com": 1, + "lrip.org": 1, + "lsforum.net": 1, + "lsm.org": 1, + "lsmchinese.org": 1, + "lsmkorean.org": 1, + "lupm.org": 1, + "lushstories.com": 1, + "lvhai.org": 1, + "lyricsquote.com": 1, + "m-team.cc": 1, + "macrovpn.com": 1, + "mad-ar.ch": 1, + "madmenunbuttoned.com": 1, + "maiio.net": 1, + "mail-archive.com": 1, + "maiplus.com": 1, + "makemymood.com": 1, + "malaysiakini.com": 1, + "marc.info": 1, + "marco.org": 1, "marguerite.su": 1, - "chenpokong.com": 1, - "2-hand.info": 1, - "chrispederick.com": 1, - "longhair.hk": 1, - "pbworks.com": 1, - "emacsblog.org": 1, - "englishfromengland.co.uk": 1, - "presentationzen.com": 1, - "img.ly": 1, - "tuanzt.com": 1, - "bit.ly": 1, - "makzhou.warehouse333.com": 1, - "pornhub.com": 1, - "share.ovi.com": 1, - "mihua.org": 1, - "ck101.com": 1, - "wikileaks.eu": 1, - "www.cantonese.asia": 1, - "wallornot.org": 1, - "softether.org": 1, - "twapperkeeper.com": 1, - "rushbee.com": 1, - "sendspace.com": 1, - "proxomitron.info": 1, - "allmovie.com": 1, - "google.com": 1, - "badassjs.com": 1, - "howtoforge.com": 1, - "steel-storm.com": 1, - "fanqiangyakexi.net": 1, - "googlevideo.com": 1, - "torvpn.com": 1, - "qvodzy.org": 1, - "twitgoo.com": 1, - "ismprofessional.net": 1, - "huping.net": 1, - "6park.com": 1, - "bbs.qmzdd.com": 1, - "velkaepocha.sk": 1, - "myshare.url.com.tw": 1, - "fuckcnnic.net": 1, - "app.heywire.com": 1, - "trulyergonomic.com": 1, - "atnext.com": 1, - "lists.debian.org": 1, - "nccwatch.org.tw": 1, - "globalmuseumoncommunism.org": 1, - "streamingthe.net": 1, - "qanote.com": 1, - "falunhr.org": 1, - "thehungrydudes.com": 1, - "www.voy.com": 1, - "nexttv.com.tw": 1, - "discuss.com.hk": 1, - "usmc.mil": 1, - "basetimesheightdividedby2.com": 1, - "%e8%83%a1%e6%b5%b7%e5%b3%b0": 1, - "zuola.com": 1, - "wetpussygames.com": 1, - "zshare.net": 1, - "blog.instapaper.com": 1, - "89-64.org": 1, - "linglingfa.com": 1, - "67.220.91.23": 1, - "juziyue.com": 1, - "cn.reuters.com": 1, - "cn.voa.mobi": 1, - "ruanyifeng.com": 1, - "aiph.net": 1, - "skybet.com": 1, - "vatn.org": 1, - "wikilivres.info": 1, - "efcc.org.hk": 1, - "prisoner-state-secret-journal-premier": 1, - "tibetfund.org": 1, - "awardwinningfjords.com": 1, - "huaxin.ph": 1, - "falundafamuseum.org": 1, - "dajusha.baywords.com": 1, - "comefromchina.com": 1, - "pchome.com.tw": 1, - "wiki.oauth.net": 1, - "thehun.net": 1, - "tistory.com": 1, - "nakido.com": 1, - "trendsmap.com": 1, - "creaders.net": 1, - "cenci.tk": 1, - "m.plixi.com": 1, - "hkbf.org": 1, - "wqlhw.com": 1, - "overlapr.com": 1, - "us.to": 1, - "tl.gd": 1, - "ourdearamy.com": 1, - "epochtimes.fr": 1, - "google.com.hk": 1, - "wapedia.mobi": 1, - "allaboutalpha.com": 1, - "the-sun.on.cc": 1, - "hkptu.org": 1, + "marines.mil": 1, + "markmail.org": 1, + "markmilian.com": 1, + "martau.com": 1, + "martincartoons.com": 1, + "maruta.be": 1, + "marxist.com": 1, + "marxist.net": 1, + "marxists.org": 1, + "mash.to": 1, + "matainja.com": 1, + "mathiew-badimon.com": 1, + "matsushimakaede.com": 1, + "maxgif.com": 1, + "mayimayi.com": 1, + "mcadforums.com": 1, + "mcfog.com": 1, + "md-t.org": 1, + "mediafire.com": 1, + "meetup.com": 1, + "mefeedia.com": 1, + "megabyet.net": 1, + "megaporn.com": 1, + "megarotic.com": 1, + "megavideo.com": 1, + "megurineluka.com": 1, + "meirixiaochao.com": 1, + "melon-peach.com": 1, + "memedia.cn": 1, + "memrijttm.org": 1, + "mesotw.com": 1, + "metacafe.com": 1, + "meteorshowersonline.com": 1, "metrolife.ca": 1, - "gigporno.ru": 1, + "mgoon.com": 1, + "mgstage.com": 1, + "mh4u.org": 1, + "mhradio.org": 1, + "michaelanti.com": 1, + "michaelmarketl.com": 1, + "middle-way.net": 1, + "mihua.org": 1, + "mimivip.com": 1, + "minghui-school.org": 1, + "minghui.org": 1, + "mingjinglishi.com": 1, + "mingjingnews.com": 1, + "mingpao.com": 1, + "mingpaocanada.com": 1, + "mingpaomonthly.com": 1, + "mingpaonews.com": 1, + "mingpaony.com": 1, + "mingpaosf.com": 1, + "mingpaotor.com": 1, + "mingpaovan.com": 1, + "minimalmac.com": 1, + "mininova.org": 1, + "minzhuhua.net": 1, + "minzhuzhongguo.org": 1, + "miroguide.com": 1, + "mirrorbooks.com": 1, + "mitbbs.com": 1, + "mixedmedialabs.com": 1, + "mixero.com": 1, + "mixpod.com": 1, + "mixx.com": 1, + "mizzmona.com": 1, + "mk5000.com": 1, + "mlcool.com": 1, + "mmaaxx.com": 1, + "mmdays.com": 1, + "mmmca.com": 1, + "mobatek.net": 1, + "mobile01.com": 1, + "mobileways.de": 1, + "moby.to": 1, + "mobypicture.com": 1, + "modfetish.com": 1, + "moegirl.org": 1, + "mog.com": 1, + "molihua.org": 1, + "mondex.org": 1, + "mongodb.org": 1, + "monitorchina.org": 1, + "monlamit.org": 1, + "mooo.com": 1, + "morbell.com": 1, + "morningsun.org": 1, + "movabletype.com": 1, "moviefap.com": 1, - "gamer.com.tw": 1, - "rferl.org": 1, - "shwchurch3.com": 1, - "sysadmin1138.net": 1, - "vcf-online.org": 1, + "moztw.org": 1, + "mp": 1, + "mp3ye.eu": 1, + "mpettis.com": 1, + "mpfinance.com": 1, + "mpinews.com": 1, + "mrdoob.com": 1, + "mrtweet.com": 1, + "msguancha.com": 1, + "mthruf.com": 1, + "mtw.tl": 1, + "multiply.com": 1, + "multiproxy.org": 1, + "multiupload.com": 1, + "muouju.com": 1, + "muselinks.co.jp": 1, + "muzi.com": 1, + "muzi.net": 1, + "muzu.tv": 1, + "mx981.com": 1, + "my-proxy.com": 1, + "my903.com": 1, + "myactimes.com": 1, + "myaudiocast.com": 1, + "mychat.to": 1, + "mychinamyhome.com": 1, + "mycould.com": 1, + "myeclipseide.com": 1, + "myfreshnet.com": 1, + "mymaji.com": 1, + "myopenid.com": 1, + "myparagliding.com": 1, + "mypopescu.com": 1, + "mysinablog.com": 1, + "myspace.com": 1, + "naacoalition.org": 1, + "nabble.com": 1, + "naitik.net": 1, + "nakido.com": 1, + "namsisi.com": 1, + "nanyang.com": 1, + "nanyangpost.com": 1, + "nanzao.com": 1, + "naol.ca": 1, + "natado.com": 1, + "navicat.com": 1, + "navigeaters.com": 1, + "navy.mil": 1, + "ncn.org": 1, + "ncol.com": 1, + "nde.de": 1, + "ndr.de": 1, + "ned.org": 1, + "neighborhoodr.com": 1, + "nekoslovakia.net": 1, + "neolee.cn": 1, + "netcolony.com": 1, + "netfirms.com": 1, + "netflix.com": 1, + "netlog.com": 1, + "netme.cc": 1, + "networkedblogs.com": 1, + "neverforget8964.org": 1, + "new-3lunch.net": 1, + "new-akiba.com": 1, + "newcenturymc.com": 1, + "newcenturynews.com": 1, + "newchen.com": 1, "newgrounds.com": 1, - "rsf-chinese.org": 1, - "lookingglasstheatre.org": 1, - "sex.com": 1, - "de-sci.org": 1, - "xmovies.com": 1, - "duoweitimes.com": 1, - "bobulate.com": 1, - "chingcheong.com": 1, - "xhamster.com": 1, - "%2fsearch%3fq%3dcache": 1, - "freemoren.com": 1, - "pornbase.org": 1, - "danwei.org": 1, - "greenparty.org.tw": 1, - "van698.com": 1, - "k2.xrea.com": 1, - "mlcool.com": 1, - "omgili.com": 1, - "blogspot.in": 1, - "clientsfromhell.net": 1, - "jiehua.cz": 1, - "1bao.org": 1, - "weblagu.com": 1, + "newlandmagazine.com.au": 1, + "newsancai.com": 1, + "newscn.org": 1, + "newsminer.com": 1, + "newspeak.cc": 1, + "newstapa.org": 1, + "newyorktimes.com": 1, + "nextmedia.com": 1, + "nexton-net.jp": 1, + "nf.id.au": 1, + "nga.mil": 1, + "ngensis.com": 1, + "nicovideo.jp": 1, + "nighost.org": 1, + "ning.com": 1, + "nintendium.com": 1, + "njactb.org": 1, + "njuice.com": 1, "nlfreevpn.com": 1, - "wiredpen.com": 1, - "sopcast.org": 1, - "mysinablog.com": 1, - "sogrady.me": 1, - "teashark.com": 1, - "etizer.org": 1, - "westca.com": 1, - "oikos.com.tw": 1, - "wow-life.net": 1, - "letscorp.net": 1, - "zhreader.com": 1, - "https": 1, - "hk32168.com": 1, - "51.ca": 1, - "salvation.org.hk": 1, - "rfi.fr": 1, + "nobel.se": 1, + "nobelprize.org": 1, + "nobodycanstop.us": 1, + "nodesnoop.com": 1, + "nokogiri.org": 1, + "nokola.com": 1, + "noobbox.com": 1, + "novelasia.com": 1, + "nownews.com": 1, + "nowtorrents.com": 1, + "noypf.com": 1, + "npa.go.jp": 1, + "nps.gov": 1, + "nrk.no": 1, + "ntdtv.ca": 1, + "ntdtv.co": 1, + "ntdtv.org": 1, + "ntdtv.ru": 1, + "nuexpo.com": 1, "nurgo-software.com": 1, - "getlantern.org": 1, - "i2runner.com": 1, - "hidecloud.com": 1, - "www.mycould.com": 1, - "gcpnews.com": 1, - "%e6%b3%95%e8%bd%ae%e5%a4%a7%e6%b3%95": 1, - "marxist.net": 1, - "twifan.com": 1, - "tweetphoto.com": 1, - "cubicle17.com": 1, - "greatfire.org": 1, - "gabocorp.com": 1, - "tibetonline.com": 1, - "change.org": 1, - "turbotwitter.com": 1, - "orientaldaily.on.cc": 1, - "chinaaid.me": 1, - "thisav.com": 1, - "fail.hk": 1, - "zhanbin.net": 1, - "tubewolf.com": 1, - "blog.instagram.com": 1, - "gfw.org.ua": 1, - "www.dfanning.com": 1, - "chinesedailynews.com": 1, - "viki.com": 1, - "ecministry.net": 1, - "sinoquebec.com": 1, - "puttycm.free.fr": 1, - "favorious.com": 1, - "srcf.ucam.org": 1, - "rhcloud.com": 1, - "sthoo.com": 1, - "softwarebychuck.com": 1, - "illusionfactory.com": 1, - "trtc.com.tw": 1, - "freenet-china.org": 1, - "cams.com": 1, - "21andy.com": 1, - "greatfirewall.biz": 1, - "islam.org.hk": 1, - "tiananmenmother.org": 1, - "mirrorbooks.com": 1, - "www.tiffanyarment.com": 1, - "chinageeks.org": 1, - "dongtaiwang.com": 1, - "twimg.com": 1, - "voachinese.com": 1, - "ar.wikipedia.org": 1, - "malaysiakini.com": 1, - "4bluestones.biz": 1, - "tweepguide.com": 1, - "twitlonger.com": 1, - "rconversation.blogs.com": 1, - "revleft.com": 1, + "nuvid.com": 1, + "nuzcom.com": 1, + "nvquan.org": 1, + "nydus.ca": 1, + "nysingtao.com": 1, + "nyt.com": 1, + "nytco.com": 1, + "nytimes.com": 1, + "nytimg.com": 1, + "oauth.net": 1, + "observechina.net": 1, "october-review.org": 1, - "news.bbc.co.uk": 1, - "isunaffairs.com": 1, - "codeboxapp.com": 1, - "zinio.com": 1, - "2008xianzhang.info": 1, - "travelinlocal.com": 1, - "blog.boxcar.io": 1, - "%e8%83%a1%e6%b5%b7%e6%b8%85": 1, - "sendoid.com": 1, - "blog.palm.com": 1, - "huaglad.com": 1, - "proxypy.net": 1, - "eventful.com": 1, - "yeeyi.com": 1, - "s.xiaod.in": 1, - "chn.chosun.com": 1, - "playboy.com": 1, - "amnestyusa.org": 1, - "thelius.org": 1, - "imkev.com": 1, - "websitepulse.com": 1, - "panoramio.com": 1, - "open.com.hk": 1, - "youversion.com": 1, - "cyberghost.natado.com": 1, - "yhcw.net": 1, - "twitcause.com": 1, - "flickr.com": 1, - "en.favotter.net": 1, - "waiwaier.com": 1, - "site90.net": 1, - "hootsuite.com": 1, - "dongtaiwang.net": 1, - "telecomspace.com": 1, - "delcamp.net": 1, - "dev102.com": 1, - "vpnpop.com": 1, - "301works.org": 1, - "67.220.91.18": 1, - "chinaeweekly.com": 1, - "www.zfreet.com": 1, - "youpai.org": 1, - "mpettis.com": 1, - "log.riku.me": 1, - "my.opera.com": 1, - "nokola.com": 1, - "tsctv.net": 1, - "uocn.org": 1, - "cherrysave.com": 1, - "gdbt.net": 1, - "cn.wsj.com": 1, - "mondex.org": 1, - "dwnews.com": 1, - "twitterfeed.com": 1, - "h1n1china.org": 1, - "goofind.com": 1, - "weiming.info": 1, - "hotspotshield.com": 1, - "sopcast.com": 1, - "blog.davidziegler.net": 1, - "aobo.com.au": 1, - "xnxx.com": 1, - "i2p2.de": 1, - "kingstone.com.tw": 1, - "proxifier.com": 1, - "twilog.org": 1, + "offbeatchina.com": 1, + "ogaoga.org": 1, + "oiktv.com": 1, + "oizoblog.com": 1, + "okayfreedom.com": 1, + "old-cat.net": 1, + "olumpo.com": 1, + "olympicwatch.org": 1, + "omgili.com": 1, + "omnitalk.com": 1, + "omy.sg": 1, + "on.cc": 1, + "onlylady.cn": 1, + "onmoon.com": 1, + "onmoon.net": 1, + "oopsforum.com": 1, + "opendemocracy.net": 1, + "openid.net": 1, + "openinkpot.org": 1, + "openleaks.org": 1, + "openvpn.net": 1, + "openwebster.com": 1, + "opera-mini.net": 1, + "opera.com": 1, + "opnir.com": 1, + "orchidbbs.com": 1, + "org.uk": 1, + "orient-doll.com": 1, + "orientaldaily.com.my": 1, + "orn.jp": 1, + "orzdream.com": 1, + "orzistic.org": 1, + "osfoora.com": 1, + "oulove.org": 1, + "ourdearamy.com": 1, + "oursogo.com": 1, "oursteps.com.au": 1, - "twittermail.com": 1, - "reflectivecode.com": 1, - "freechal.com": 1, - "liansi.org": 1, - "tt1069.com": 1, - "wiki.jqueryui.com": 1, + "over-blog.com": 1, + "overlapr.com": 1, + "ovi.com": 1, + "ow.ly": 1, + "owind.com": 1, + "owl.li": 1, + "oxid.it": 1, + "oyax.com": 1, + "ozchinese.com": 1, + "ozyoyo.com": 1, + "pacificpoker.com": 1, + "packetix.net": 1, + "page2rss.com": 1, + "pagodabox.com": 1, + "paint.net": 1, + "palacemoon.com": 1, + "palm.com": 1, + "palmislife.com": 1, + "pandora.com": 1, + "pandora.tv": 1, + "panluan.net": 1, + "panoramio.com": 1, + "pao-pao.net": 1, + "paper-replika.com": 1, + "paper.li": 1, + "paperb.us": 1, + "parade.com": 1, + "parislemon.com": 1, + "parkansky.com": 1, + "pastebin.com": 1, + "pastie.org": 1, + "path.com": 1, + "pathtosharepoint.com": 1, + "pbs.org": 1, + "pbwiki.com": 1, + "pbworks.com": 1, + "pbxes.com": 1, + "pbxes.org": 1, + "pcdiscuss.com": 1, + "pcij.org": 1, + "pdetails.com": 1, + "pdproxy.com": 1, + "peacefire.org": 1, + "peacehall.com": 1, + "peeasian.com": 1, + "peerpong.com": 1, + "pekingduck.org": 1, + "penchinese.com": 1, + "penchinese.net": 1, + "pengyulong.com": 1, + "pentalogic.net": 1, + "penthouse.com": 1, + "peopo.org": 1, + "percy.in": 1, + "perfectvpn.net": 1, + "perfspot.com": 1, + "perlhowto.com": 1, + "philly.com": 1, + "phonegap.com": 1, + "photofocus.com": 1, + "phuquocservices.com": 1, + "picidae.net": 1, + "picturesocial.com": 1, + "pidown.com": 1, + "pign.net": 1, + "pikchur.com": 1, + "pilotmoon.com": 1, + "pin6.com": 1, + "ping.fm": 1, + "pinoy-n.com": 1, "piring.com": 1, - "internetpopculture.com": 1, - "tuite.googlecode.com": 1, - "ub0.cc": 1, - "zootool.com": 1, - "www.freetibet.org": 1, + "pixelqi.com": 1, + "pixnet.in": 1, + "pixnet.net": 1, + "pk.com": 1, + "placemix.com": 1, + "playboy.com": 1, + "plixi.com": 1, + "plunder.com": 1, + "plus28.com": 1, + "plusbb.com": 1, + "pmates.com": 1, + "po2b.com": 1, + "podictionary.com": 1, + "pokerstars.com": 1, + "pokerstrategy.com": 1, + "politicalchina.org": 1, + "popyard.com": 1, + "popyard.org": 1, + "porn.com": 1, + "porn2.com": 1, + "pornbase.org": 1, + "pornhub.com": 1, + "pornmm.net": 1, + "pornoxo.com": 1, + "pornrapidshare.com": 1, + "pornstarclub.com": 1, + "porntube.com": 1, + "pornvisit.com": 1, + "pose.com": 1, + "post.ly": 1, + "postadult.com": 1, + "posterous.com": 1, + "power.com": 1, + "powerapple.com": 1, + "powercx.com": 1, + "powerpointninja.com": 1, + "prayforchina.net": 1, + "premeforwindows7.com": 1, + "presentationzen.com": 1, + "prestige-av.com": 1, + "printfriendly.com": 1, + "privacybox.de": 1, + "privateinternetaccess.com": 1, + "privatepaste.com": 1, + "privatetunnel.com": 1, + "procopytips.com": 1, + "prosiben.de": 1, + "provideocoalition.com": 1, + "proxifier.com": 1, + "proxlet.com": 1, + "proxomitron.info": 1, + "proxy.org": 1, + "proxypy.net": 1, + "proxyroad.com": 1, + "prozz.net": 1, + "psblog.name": 1, "psiphon.ca": 1, - "melon-peach.com": 1, - "www.linksalpha.com": 1, - "tianzhu.org": 1, - "graylog2.org": 1, - "twtkr.com": 1, - "wellplacedpixels.com": 1, + "ptt.cc": 1, + "puffinbrowser.com": 1, + "puffstore.com": 1, + "pullfolio.com": 1, + "pure18.com": 1, + "pureconcepts.net": 1, + "purepdf.com": 1, + "purevpn.com": 1, + "putlocker.com": 1, + "pwned.com": 1, + "python.com": 1, + "qanote.com": 1, + "qi-gong.me": 1, + "qidian.ca": 1, + "qienkuen.org": 1, + "qiwen.lu": 1, + "qixianglu.cn": 1, + "qkshare.com": 1, + "qmzdd.com": 1, + "qoos.com": 1, + "qstatus.com": 1, + "qtrac.eu": 1, + "qtweeter.com": 1, + "quadedge.com": 1, + "qusi8.net": 1, + "qvodzy.org": 1, + "qx.net": 1, + "qxbbs.org": 1, + "radicalparty.org": 1, + "radioaustralia.net.au": 1, + "radiotime.com": 1, + "radiovaticana.org": 1, + "radiovncr.com": 1, + "rangzen.org": 1, + "ranxiang.com": 1, + "ranyunfei.com": 1, + "rapbull.net": 1, + "rapidshare8.com": 1, + "rapidsharedata.com": 1, + "rcinet.ca": 1, + "rdio.com": 1, + "read100.com": 1, + "readmoo.com": 1, + "realraptalk.com": 1, "recordhistory.org": 1, - "ultrasurf": 1, - "exblog.jp": 1, - "tsquare.tv": 1, - "martau.com": 1, - "brucewang.net": 1, - "blog.rockmelt.com": 1, - "sesawe.org": 1, - "vincnd.com": 1, - "edoors.com": 1, - "getsocialscope.com": 1, - "etaiwannews.com": 1, - "soundcloud.com": 1, - "am730.com.hk": 1, - "webbang.net": 1, - "unicode.org": 1, - "citizensradio.org": 1, - "bd.zhe.la": 1, - "summify.com": 1, - "zomobo.net": 1, - "duping.net": 1, - "braumeister.org": 1, - "sammyjs.org": 1, - "blog.pathtosharepoint.com": 1, - "wujieliulan.com": 1, + "redchinacn.org": 1, + "redtube.com": 1, + "referer.us": 1, + "reflectivecode.com": 1, + "relaxbbs.com": 1, + "renminbao.com": 1, + "renyurenquan.org": 1, + "rerouted.org": 1, + "retweeteffect.com": 1, + "retweetist.com": 1, + "retweetrank.com": 1, + "reuters.com": 1, + "revleft.com": 1, "revver.com": 1, - "twitturly.com": 1, - "southnews.com.tw": 1, - "wexiaobo.org": 1, - "spankwire.com": 1, - "chinaaffairs.org": 1, - "www.moztw.org": 1, - "paper.li": 1, - "nighost.org": 1, - "sejie.com": 1, - "meteorshowersonline.com": 1, - "faydao.com": 1, - "trialofccp.org": 1, - "zmw.cn": 1, - "tweetmylast.fm": 1, - "blogspot.fr": 1, - "anti.anti.cnn.googlepages.com": 1, - "farm6.staticflickr.com": 1, - "muouju.com": 1, - "libertytimes.com.tw": 1, - "china21.org": 1, - "www.x-berry.com": 1, - "bbcchinese.com": 1, - "af.mil": 1, - "pin6.com": 1, - "t.orzdream.com": 1, - "feer.com": 1, - "avaaz.org": 1, - "blog.kl.am": 1, - "domainhelp.search.com": 1, - "bloomfortune.com": 1, - "sfileydy.com": 1, - "nanyangpost.com": 1, - "python.com": 1, + "rfa.org": 1, + "rfachina.com": 1, + "rfamobile.org": 1, + "rferl.org": 1, + "rfi.fr": 1, + "rfi.my": 1, + "rhcloud.com": 1, + "rightster.com": 1, + "riku.me": 1, + "rileyguide.com": 1, + "rlwlw.com": 1, + "rmjdw.com": 1, + "rnw.nl": 1, + "robtex.com": 1, + "robustnessiskey.com": 1, + "rockmelt.com": 1, + "rocmp.org": 1, + "rojo.com": 1, + "romanandreg.com": 1, + "ronjoneswriter.com": 1, + "roodo.com": 1, + "rotten.com": 1, + "rsf-chinese.org": 1, + "rsf.org": 1, + "rssmeme.com": 1, + "ruanyifeng.com": 1, + "rushbee.com": 1, + "rutube.ru": 1, + "ruyiseek.com": 1, + "rxhj.net": 1, + "s1heng.com": 1, + "s8forum.com": 1, + "sadpanda.us": 1, + "saiq.me": 1, + "samair.ru": 1, + "sammyjs.org": 1, + "samsoff.es": 1, "sandnoble.com": 1, - "read100.com": 1, - "classicalguitarblog.net": 1, - "buugaa.com": 1, - "thereallove.kr": 1, - "tokyo-247.com": 1, - "fawanghuihui.org": 1, - "x-wall.org": 1, - "daolan.net": 1, - "gfwinterceptor.googlecode.com": 1, - "taiwanus.net": 1, - "blog.pilotmoon.com": 1, - "szetowah.org.hk": 1, - "connect.facebook.net": 1, - "blog.kickstarter.com": 1, - "yuanming.net": 1, - "geekmanuals.com": 1, - "guancha.org": 1, - "chinayuanmin.org": 1, - "nemesis2.qx.net": 1, - "nga.mil": 1, - "fring.com": 1, - "archive.org": 1, - "tamiaode.tk": 1, - "retweetrank.com": 1, - "onmoon.com": 1, - "jiaoyou8.com": 1, - "twibble.de": 1, - "gaymap.cc": 1, - "xinhuanet.org": 1, - "blog.istef.info": 1, + "sankaizok.com": 1, + "sapikachu.net": 1, + "savemedia.com": 1, + "savetibet.de": 1, + "savetibet.fr": 1, + "savetibet.nl": 1, + "savetibet.org": 1, + "savetibet.ru": 1, + "savevid.com": 1, + "say2.info": 1, + "scmp.com": 1, + "scmpchinese.com": 1, "scribd.com": 1, - "apis.google.com": 1, - "blogspot.com": 1, - "knol.google.com": 1, - "69.65.19.160": 1, - "magazines.sina.com.tw": 1, - "fscked.org": 1, - "m.tweete.net": 1, - "cellulo.info": 1, - "blogspot.co.uk": 1, - "truth101.co.tv": 1, - "navy.mil": 1, - "tibet.net": 1, - "code.google.com": 1, - "uncyclomedia.org": 1, - "bipic.net": 1, - "oopsforum.com": 1, - "freakshare.com": 1, - "news.ghostery.com": 1, - "hkbc.net": 1, - "youtube-nocookie.com": 1, - "winwhispers.info": 1, - "taipei.gov.tw": 1, - "sohfrance.org": 1, - "omnitalk.com": 1, - "netcolony.com": 1, - "kechara.com": 1, - "break.com": 1, - "cenews.eu": 1, - "xxxx.com.au": 1, - "h-china.org": 1, - "voanews.com": 1, - "blog.s135.com": 1, - "gstatic.com": 1, - "proxyroad.com": 1, - "dpp.org.tw": 1, - "pk.com": 1, - "hnjhj.com": 1, - "thkphoto.com": 1, + "scriptspot.com": 1, + "seapuff.com": 1, + "search.com": 1, + "secretchina.com": 1, + "secretgarden.no": 1, + "secureserver.net": 1, + "securitykiss.com": 1, + "seesmic.com": 1, + "seevpn.com": 1, + "seezone.net": 1, + "sejie.com": 1, + "sendoid.com": 1, + "sendspace.com": 1, + "seraph.me": 1, + "sesawe.net": 1, + "sesawe.org": 1, + "sethwklein.net": 1, + "sevenload.com": 1, + "sex-11.com": 1, + "sex.com": 1, + "sex3.com": 1, + "sex8.cc": 1, + "sexandsubmission.com": 1, + "sexhu.com": 1, + "sexhuang.com": 1, + "sexinsex.net": 1, + "sfileydy.com": 1, + "shadow.ma": 1, + "shadowsocks.org": 1, + "shahamat-english.com": 1, + "shangfang.org": 1, + "shapeservices.com": 1, + "sharebee.com": 1, + "sharecool.org": 1, + "sharkdolphin.com": 1, + "shaunthesheep.com": 1, + "sheikyermami.com": 1, + "shellmix.com": 1, + "shenshou.org": 1, + "shenyunperformingarts.org": 1, + "shenzhoufilm.com": 1, + "shinychan.com": 1, + "shitaotv.org": 1, + "shixiao.org": 1, + "shizhao.org": 1, + "shkspr.mobi": 1, + "shodanhq.com": 1, + "shopping.com": 1, + "showtime.jp": 1, + "shvoong.com": 1, + "shwchurch3.com": 1, + "simplecd.org": 1, + "simpleproductivityblog.com": 1, + "sina.com": 1, + "singtao.ca": 1, + "singtao.com": 1, + "sino-monthly.com": 1, + "sinoants.com": 1, + "sinocast.com": 1, + "sinocism.com": 1, + "sinomontreal.ca": 1, + "sinonet.ca": 1, + "sinopitt.info": 1, + "sinoquebec.com": 1, + "sis.xxx": 1, + "sis001.com": 1, + "sis001.us": 1, + "site90.net": 1, + "sitemaps.org": 1, + "sitetag.us": 1, + "sjum.cn": 1, + "skimtube.com": 1, + "skybet.com": 1, + "skyhighpremium.com": 1, + "skykiwi.com": 1, + "skype.com": 1, + "skyvegas.com": 1, + "slacker.com": 1, + "slandr.net": 1, + "slavasoft.com": 1, + "slheng.com": 1, + "slickvpn.com": 1, "slideshare.net": 1, - "weiquanwang.org": 1, - "im.tv": 1, - "twiyia.com": 1, - "twimbow.com": 1, - "cclife.org": 1, - "zhenlibu.info": 1, - "hkday.net": 1, - "1984bbs.com": 1, - "iphonehacks.com": 1, - "woxinghuiguo.com": 1, + "slinkset.com": 1, + "slutload.com": 1, + "smhric.org": 1, + "snapchat.com": 1, + "snaptu.com": 1, + "sndcdn.com": 1, + "sneakme.net": 1, + "so-ga.net": 1, + "so-news.com": 1, + "sobees.com": 1, + "soc.mil": 1, + "socialwhale.com": 1, + "sockslist.net": 1, + "sod.co.jp": 1, + "softether-download.com": 1, + "softether.co.jp": 1, + "softether.org": 1, + "softwarebychuck.com": 1, + "sogclub.com": 1, + "sogoo.org": 1, + "sogrady.me": 1, + "sohcradio.com": 1, + "sohfrance.org": 1, + "soifind.com": 1, + "sokamonline.com": 1, "solozorro.tk": 1, - "justtristan.com": 1, - "pmates.com": 1, - "fc2china.com": 1, - "waigaobu.com": 1, - "naol.ca": 1, - "adultfriendfinder.com": 1, - "collateralmurder.org": 1, - "twitbrowser.net": 1, - "jbtalks.my": 1, - "docs.google.com": 1, - "mediafire.com": 1, - "theatrum-belli.com": 1, - "geocities.co.jp": 1, - "listentoyoutube.com": 1, "somee.com": 1, - "yahoo.com.hk": 1, - "www.wan-press.org": 1, - "t.neolee.cn": 1, - "sexhuang.com": 1, - "voacantonese.com": 1, - "dzze.com": 1, - "python.com.tw": 1, - "throughnightsfire.com": 1, - "liuxiaotong.com": 1, - "marc.info": 1, - "artsy.net": 1, - "mashable.com": 1, - "72.52.81.22": 1, - "axureformac.com": 1, - "64tianwang.com": 1, - "domain.club.tw": 1, - "imageflea.com": 1, - "wangruoshui.net": 1, - "dougscripts.com": 1, - "yogichen.org": 1, - "bewww.net": 1, - "radioaustralia.net.au": 1, - "shenyunperformingarts.org": 1, - "sankaizok.com": 1, - "vmixcore.com": 1, - "bloomberg.cn": 1, - "%e5%88%98%e6%99%93%e6%b3%a2": 1, - "video.aol.co.uk": 1, - "heqinglian.net": 1, - "kwongwah.com.my": 1, - "blinw.com": 1, - "atj.org.tw": 1, - "aenhancers.com": 1, - "ytimg.com": 1, - "showbiz.omy.sg": 1, - "hotpot.hk": 1, - "freevpn.nl": 1, - "windowsphoneme.com": 1, - "xiaochuncnjp.com": 1, - "feeds.feedburner.com": 1, - "chinainterimgov.org": 1, - "xysblogs.org": 1, - "epochtimes-bg.com": 1, - "samair.ru": 1, + "songjianjun.com": 1, + "sonidodelaesperanza.org": 1, + "sopcast.com": 1, + "sopcast.org": 1, + "sorting-algorithms.com": 1, + "soumo.info": 1, + "soundcloud.com": 1, + "soundofhope.kr": 1, + "soundofhope.org": 1, + "soup.io": 1, + "soupofmedia.com": 1, + "sourceforge.net": 1, + "sowiki.net": 1, + "space-scape.com": 1, + "spankwire.com": 1, + "sparrowmailapp.com": 1, + "spb.com": 1, + "speckleapp.com": 1, + "spencertipping.com": 1, + "spinejs.com": 1, + "spotify.com": 1, + "sproutcore.com": 1, + "squarespace.com": 1, + "ssh91.com": 1, + "stackfile.com": 1, + "standupfortibet.org": 1, + "starp2p.com": 1, + "startpage.com": 1, + "state.gov": 1, + "state168.com": 1, + "staticflickr.com": 1, + "steel-storm.com": 1, + "sthoo.com": 1, + "stickam.com": 1, + "stickeraction.com": 1, + "stonegames.net": 1, + "stoneip.info": 1, + "stoptibetcrisis.net": 1, + "storagenewsletter.com": 1, + "stoweboyd.com": 1, + "streamingthe.net": 1, + "streetvoice.com": 1, + "strongvpn.com": 1, + "stuffimreading.com": 1, + "stuffimreading.net": 1, + "stupidvideos.com": 1, + "sugarsync.com": 1, + "summify.com": 1, + "sun1911.com": 1, + "suoluo.org": 1, + "supertweet.net": 1, + "support": 1, + "surfeasy.com.au": 1, + "svwind.com": 1, + "sweux.com": 1, + "swift-tools.net": 1, + "sydneytoday.com": 1, + "sylfoundation.org": 1, + "syncback.com": 1, + "sysadmin1138.net": 1, + "sysresccd.org": 1, + "sytes.net": 1, + "syx86.cn": 1, + "syx86.com": 1, + "szbbs.net": 1, + "t.co": 1, + "t35.com": 1, + "t66y.com": 1, + "taa-usa.org": 1, + "tabtter.jp": 1, + "tacem.org": 1, + "tafaward.com": 1, + "tagwalk.com": 1, + "taipeisociety.org": 1, + "taiwan-sex.com": 1, + "taiwandaily.net": 1, "taiwankiss.com": 1, - "freeweibo.com": 1, - "books.com.tw": 1, - "provideocoalition.com": 1, - "hk.geocities.com": 1, - "dphk.org": 1, - "%e5%8a%a8%e6%80%81%e7%bd%91": 1, - "filefactory.com": 1, - "ifanr.com": 1, - "uygur.org": 1, - "minzhuzhongguo.org": 1, - "meme.yahoo.com": 1, - "gs-discuss.com": 1, - "remembering_tiananmen_20_years": 1, - "fb.me": 1, - "icij.org": 1, - "twitreferral.com": 1, - "linuxconfig.org": 1, - "cts.com.tw": 1, - "sanmin.com.tw": 1, - "logmike.com": 1, - "ultraxs.com": 1, - "highrockmedia.com": 1, + "taiwannation.com": 1, + "taiwanus.net": 1, + "taiwanyes.com": 1, + "tamiaode.tk": 1, + "tampabay.com": 1, + "tanc.org": 1, + "tangben.com": 1, + "taolun.info": 1, + "tap11.com": 1, + "taragana.com": 1, + "target.com": 1, + "taweet.com": 1, + "tbpic.info": 1, + "tbsec.org": 1, + "tbsn.org": 1, + "tbsseattle.org": 1, + "tchrd.org": 1, + "tcno.net": 1, + "teamseesmic.com": 1, + "teashark.com": 1, + "techlifeweb.com": 1, + "techparaiso.com": 1, + "teck.in": 1, + "telecomspace.com": 1, + "tenacy.com": 1, + "theampfactory.com": 1, "theappleblog.com": 1, - "taiwannews.com.tw": 1, - "css.pixnet.in": 1, - "twa.sh": 1, - "tacem.org": 1, - "percy.in": 1, - "apigee.com": 1, - "taiwannation.com.tw": 1, - "dongde.com": 1, - "mefeedia.com": 1, - "embr.in": 1, - "clb.org.hk": 1, - "chaturbate.com": 1, - "strongvpn.com": 1, - "asianwomensfilm.de": 1, - "bugclub.org": 1, - "xvedios.com": 1, - "tubecao.com": 1, - "x365x.com": 1, - "arctosia.com": 1, - "tiantibooks.org": 1, - "abitno.linpie.com": 1, - "worstthingieverate.com": 1, - "kodingen.com": 1, - "twyac.org": 1, - "shizhao.org": 1, - "budaedu.org": 1, - "rcinet.ca": 1, - "soh.tw": 1, - "date.fm": 1, - "threatchaos.com": 1, - "paper-replika.com": 1, - "youjizz.com": 1, - "farwestchina.com": 1, - "inxian.com": 1, - "geekmade.co.uk": 1, - "zaozon.com": 1, - "taiwantt.org.tw": 1, - "naitik.net": 1, - "china21.com": 1, - "twblogger.com": 1, - "penchinese.com": 1, - "everyday-carry.com": 1, - "hotfile.com": 1, - "sitetag.us": 1, - "twaud.io": 1, - "singtao.com": 1, - "chinainperspective.org": 1, - "delicious.com": 1, - "toonel.net": 1, - "city9x.com": 1, - "ithelp.ithome.com.tw": 1, - "ufreevpn.com": 1, - "wordpress.com": 1, - "veempiire.com": 1, + "theatrum-belli.com": 1, "thebcomplex.com": 1, - "vaayoo.com": 1, - "radiovaticana.org": 1, - "igfw.net": 1, - "blog.youxu.info": 1, - "blogs.tampabay.com": 1, + "theblemish.com": 1, + "thebodyshop-usa.com": 1, + "thechinabeat.org": 1, + "thedailywh.at": 1, + "thedieline.com": 1, + "thedw.us": 1, + "thegatesnotes.com": 1, + "thegioitinhoc.vn": 1, + "theguardian.co": 1, + "thehousenews.com": 1, + "thehun.net": 1, + "thehungrydudes.com": 1, + "theinternetwishlist.com": 1, + "thelifeyoucansave.com": 1, + "thelius.org": 1, + "thepiratebay.org": 1, + "thepiratebay.se": 1, + "theqii.info": 1, + "thereallove.kr": 1, + "thesartorialist.com": 1, + "thespeeder.com": 1, + "thetibetpost.com": 1, + "thetrotskymovie.com": 1, + "thevivekspot.com": 1, + "thewgo.org": 1, + "thisav.com": 1, + "thisiswhyyouarefat.com": 1, + "thkphoto.com": 1, + "thomasbernhard.org": 1, + "threatchaos.com": 1, + "throughnightsfire.com": 1, + "thumbzilla.com": 1, + "thywords.com": 1, + "tiananmenmother.org": 1, + "tiananmenuniv.com": 1, + "tiananmenuniv.net": 1, + "tiandixing.org": 1, + "tianhuayuan.com": 1, + "tiantibooks.org": 1, + "tianzhu.org": 1, + "tibet.at": 1, + "tibet.com": 1, + "tibet.net": 1, + "tibetalk.com": 1, + "tibetanyouthcongress.org": 1, + "tibetcorps.org": 1, + "tibetfund.org": 1, + "tibetjustice.org": 1, + "tibetoffice.org": 1, + "tibetonline.com": 1, + "tibetonline.tv": 1, + "tibetsun.com": 1, + "tibetwrites.org": 1, + "tidyread.com": 1, + "tiffanyarment.com": 1, + "time.com": 1, + "tiney.com": 1, + "tinychat.com": 1, + "tinypaste.com": 1, + "tiscali.it": 1, + "tistory.com": 1, + "tjholowaychuk.com": 1, + "tkcs-collins.com": 1, + "tkforum.tk": 1, + "tl.gd": 1, + "tmagazine.com": 1, + "tmi.me": 1, + "tnaflix.com": 1, + "togetter.com": 1, + "tokyo-247.com": 1, + "tokyo-hot.com": 1, + "tokyocn.com": 1, "tomayko.com": 1, + "tomsc.com": 1, + "tono-oka.jp": 1, "tonyyan.net": 1, - "ucdc1998.org": 1, - "hkjc.com": 1, - "xiaoma.org": 1, - "rti.org.tw": 1, - "want-daily.com": 1, - "sapikachu.net": 1, - "raidcall.com.tw": 1, - "blog.sparrowmailapp.com": 1, - "unpo.org": 1, - "sitebro.tw": 1, - "glennhilton.com": 1, - "prayforchina.net": 1, - "gmhz.org": 1, - "www.tv.com": 1, - "sufeng.org": 1, - "gunsamerica.com": 1, - "epochtimes.jp": 1, - "www.vegorpedersen.com": 1, - "chinalawtranslate.com": 1, - "twtr2src.ogaoga.org": 1, - "ebookbrowse.com": 1, - "36rain.com": 1, - "www.zensur.freerk.com": 1, - "peacefire.org": 1, - "nzchinese.net.nz": 1, - "cytode.us": 1, - "hongmeimei.com": 1, - "waffle1999.com": 1, - "globalvoicesonline.org": 1, - "vft.com.tw": 1, - "huluim.com": 1, - "seevpn.com": 1, - "tidyread.com": 1, - "nanzao.com": 1, - "wezone.net": 1, - "cochina.org": 1, - "astonmartinnews.com": 1, + "toodoc.com": 1, + "toonel.net": 1, + "topify.com": 1, + "topnews.in": 1, + "topshare.us": 1, + "topshareware.com": 1, + "topstyle4.com": 1, + "topsy.com": 1, + "tora.to": 1, + "torproject.org": 1, + "torrentcrazy.com": 1, + "torvpn.com": 1, + "touch99.com": 1, + "toutfr.com": 1, + "transgressionism.org": 1, + "transparency.org": 1, + "travelinlocal.com": 1, + "trendsmap.com": 1, + "trialofccp.org": 1, + "tripod.com": 1, + "trouw.nl": 1, + "trulyergonomic.com": 1, + "trustedbi.com": 1, + "truthcn.com": 1, + "truveo.com": 1, + "tsctv.net": 1, + "tsemtulku.com": 1, + "tsquare.tv": 1, + "tsunagarumon.com": 1, + "tsuru-bird.net": 1, + "tt1069.com": 1, + "tttan.com": 1, + "tuanzt.com": 1, + "tube.com": 1, + "tube8.com": 1, + "tubecao.com": 1, + "tubewolf.com": 1, + "tuidang.net": 1, + "tuidang.org": 1, + "tuitui.info": 1, + "tumblweed.org": 1, + "tumutanzi.com": 1, + "tunein.com": 1, + "tunnelbear.com": 1, + "turbobit.net": 1, + "turbotwitter.com": 1, + "turningtorso.com": 1, + "turntable.fm": 1, + "tuxtraining.com": 1, + "tv-intros.com": 1, + "tv.com": 1, + "tvants.com": 1, + "tvb.com": 1, + "tvboxnow.com": 1, + "tvider.com": 1, + "tvunetworks.com": 1, + "tw": 1, + "tw-npo.org": 1, + "twapperkeeper.com": 1, + "twaud.io": 1, + "twbbs.org": 1, + "twblogger.com": 1, + "tweepguide.com": 1, + "tweeplike.me": 1, + "tweepmag.com": 1, + "tweepml.org": 1, + "tweetbackup.com": 1, + "tweetboard.com": 1, + "tweetboner.biz": 1, + "tweetdeck.com": 1, + "tweetedtimes.com": 1, + "tweetmylast.fm": 1, + "tweetphoto.com": 1, + "tweetrans.com": 1, + "tweetree.com": 1, + "tweetwally.com": 1, + "tweetymail.com": 1, + "twftp.org": 1, + "twhirl.org": 1, + "twibase.com": 1, + "twibble.de": 1, + "twibbon.com": 1, + "twibs.com": 1, + "twicsy.com": 1, + "twifan.com": 1, + "twiffo.com": 1, + "twiggit.org": 1, + "twilio.com": 1, + "twilog.org": 1, + "twimbow.com": 1, + "twimg.com": 1, + "twindexx.com": 1, + "twip.me": 1, + "twipple.jp": 1, + "twistar.cc": 1, + "twisternow.com": 1, + "twistory.net": 1, + "twit2d.com": 1, + "twitbrowser.net": 1, + "twitcause.com": 1, + "twitgether.com": 1, + "twitgoo.com": 1, + "twitiq.com": 1, + "twitlonger.com": 1, "twitoaster.com": 1, - "iredmail.org": 1, - "nytco.com": 1, - "fofg.org": 1, - "qtrac.eu": 1, + "twitonmsn.com": 1, + "twitpic.com": 1, + "twitreferral.com": 1, + "twitstat.com": 1, + "twittbot.net": 1, + "twitter.com": 1, + "twitter.jp": 1, + "twitter4j.org": 1, + "twittercounter.com": 1, + "twitterfeed.com": 1, + "twittergadget.com": 1, + "twitterkr.com": 1, + "twittermail.com": 1, + "twittertim.es": 1, + "twitthat.com": 1, + "twitturk.com": 1, + "twitturly.com": 1, + "twitvid.com": 1, + "twitzap.com": 1, + "twiyia.com": 1, + "twreg.info": 1, + "twstar.net": 1, + "twt.fm": 1, + "twt.tl": 1, + "twtkr.com": 1, + "twtrland.com": 1, + "twttr.com": 1, + "twurl.nl": 1, + "twyac.org": 1, + "tycool.com": 1, + "tynsoe.org": 1, + "typepad.com": 1, + "tzangms.com": 1, + "ub0.cc": 1, + "uberproxy.net": 1, + "ucam.org": 1, + "ucdc1998.org": 1, + "uderzo.it": 1, "udn.com": 1, - "tweepml.org": 1, - "%e6%b0%91%e8%bf%9b%e5%85%9a": 1, - "slavasoft.com": 1, - "cactusvpn.com": 1, - "blogger.com": 1, - "pbs.org": 1, - "share.skype.com": 1, - "mychinamyhome.com": 1, - "hellotxt.com": 1, - "chrispederick.net": 1, - "goodreads.com": 1, - "cjb.net": 1, - "andfaraway.net": 1, - "cdp2006.org": 1, - "youthnetradio.org": 1, - "chinalawandpolicy.com": 1, - "junauza.com": 1, - "mihk.hk": 1, - "student.tw": 1, - "svwind.com": 1, - "chrlawyers.hk": 1, - "pinoy-n.com": 1, - "cn.streetvoice.com": 1, - "npa.go.jp": 1, - "!--isaacmao.com": 1, + "ufreevpn.com": 1, + "ugo.com": 1, + "uhrp.org": 1, + "uighurbiz.net": 1, + "uk.to": 1, + "ulike.net": 1, + "ultravpn.fr": 1, + "ultraxs.com": 1, + "unblock.cn.com": 1, + "unblocksit.es": 1, + "uncyclomedia.org": 1, + "uncyclopedia.info": 1, + "unholyknight.com": 1, + "uni.cc": 1, + "unicode.org": 1, + "uniteddaily.com.my": 1, + "unix100.com": 1, + "unknownspace.org": 1, + "unpo.org": 1, + "uocn.org": 1, + "updatestar.com": 1, + "upload4u.info": 1, + "uploaded.to": 1, + "uploadstation.com": 1, + "urbanoutfitters.com": 1, + "urlborg.com": 1, + "urlparser.com": 1, + "us.to": 1, + "usa.gov": 1, "usacn.com": 1, - "privateinternetaccess.com": 1, - "blog.romanandreg.com": 1, - "hgseav.com": 1, - "advertfan.com": 1, - "apps.hloli.net": 1, - "www.eulam.com": 1, - "weigegebyc.dreamhosters.com": 1, - "lazarsearlymusic.com": 1, - "chinesetalks.net": 1, - "bloomberg.com": 1, - "fleshbot.com": 1, - "evchk.wikia.com": 1, - "hk.search.yahoo.com": 1, - "linuxreviews.org": 1, - "www.oxid.it": 1, - "bfsh.hk": 1, - "bfnn.org": 1, - "faiththedog.info": 1, - "gtap.googlecode.com": 1, - "picidae.net": 1, - "epochweekly.com": 1, - "free-gate.org": 1, - "freelotto.com": 1, - "himemix.com": 1, - "bbs.morbell.com": 1, - "bb.ttv.com.tw": 1, - "tweetree.com": 1, - "rfachina.com": 1, - "truthcn.com": 1, - "exploader.net": 1, - "newsancai.com": 1, - "caochangqing.com": 1, - "yorkbbs.ca": 1, - "liberal.org.hk": 1, - "mrtweet.com": 1, - "gamez.com.tw": 1, - "qi-gong.me": 1, - "thisiswhyyouarefat.com": 1, - "turntable.fm": 1, - "couchdbwiki.com": 1, - "oiktv.com": 1, - "swift-tools.net": 1, - "zannel.com": 1, - "fdc89.jp": 1, - "emory.edu": 1, - "eic-av.com": 1, - "topsy.com": 1, - "cdpusa.org": 1, - "pose.com": 1, - "blog.lightbox.com": 1, - "designerol.com": 1, - "knowledgerush.com": 1, - "ebookee.com": 1, - "so-news.com": 1, - "mthruf.com": 1, + "usejump.com": 1, + "userdefined.com": 1, + "userdefined2.com": 1, + "usfk.mil": 1, + "usgs.gov": 1, + "usmc.mil": 1, + "ustream.tv": 1, + "usus.cc": 1, + "utom.us": 1, + "uushare.com": 1, + "uwants.com": 1, + "uwants.net": 1, + "uyghurcongress.org": 1, + "uygur.org": 1, + "v-state.org": 1, + "v70.us": 1, + "v7976888.info": 1, + "vaayoo.com": 1, "value-domain.com": 1, - "logiqx.com": 1, - "doxygen.org": 1, - "say2.info": 1, - "deutsche-welle.de": 1, - "dabr.mobi": 1, - "catch22.net": 1, - "digitalnomadsproject.org": 1, - "github.com": 1, - "blogspot.de": 1, - "hk.yahoo.com": 1, - "compileheart.com": 1, - "hidden-advent.org": 1, - "megaporn.com": 1, - "hougaige.com": 1, - "aboutgfw.com": 1, - "twindexx.com": 1, - "chinese.soifind.com": 1, - "worldjournal.com": 1, - "olumpo.com": 1, - "finler.net": 1, - "zoozle.net": 1, - "youthbao.com": 1, + "van698.com": 1, + "vanemu.cn": 1, + "vanilla-jp.com": 1, + "vansky.com": 1, + "vapurl.com": 1, + "vatn.org": 1, + "vcf-online.org": 1, + "vcfbuilder.org": 1, + "veempiire.com": 1, + "vegorpedersen.com": 1, + "velkaepocha.sk": 1, + "venbbs.com": 1, + "venchina.com": 1, + "ventureswell.com": 1, + "veoh.com": 1, + "verizon.net": 1, + "verybs.com": 1, + "vevo.com": 1, + "videobam.com": 1, + "videomo.com": 1, + "vidoemo.com": 1, + "views.fm": 1, + "viki.com": 1, + "vimeo.com": 1, + "vimgolf.com": 1, + "vimperator.org": 1, + "vincnd.com": 1, + "vinniev.com": 1, + "vllcs.org": 1, + "vmixcore.com": 1, + "voa.mobi": 1, + "voacantonese.com": 1, + "voachinese.com": 1, + "voachineseblog.com": 1, + "voagd.com": 1, + "voanews.com": 1, + "voatibetan.com": 1, + "vocn.tv": 1, + "vot.org": 1, + "voy.com": 1, + "vpnbook.com": 1, + "vpncup.com": 1, + "vpnfire.com": 1, + "vpngate.jp": 1, + "vpngate.net": 1, + "vpnpop.com": 1, + "vpnpronet.com": 1, + "vtunnel.com": 1, + "w3.org": 1, + "waffle1999.com": 1, + "wahas.com": 1, + "waigaobu.com": 1, + "waikeung.org": 1, + "waiwaier.com": 1, + "wallornot.org": 1, + "wallpapercasa.com": 1, + "wan-press.org": 1, + "wanderinghorse.net": 1, + "wangafu.net": 1, + "wangjinbo.org": 1, + "wanglixiong.com": 1, + "wangruoshui.net": 1, + "wangruowang.org": 1, + "want-daily.com": 1, + "wapedia.mobi": 1, + "waqn.com": 1, + "warehouse333.com": 1, + "washeng.net": 1, + "wattpad.com": 1, + "wdf5.com": 1, + "wearn.com": 1, + "web2project.net": 1, + "webbang.net": 1, + "webfee.tk": 1, + "weblagu.com": 1, + "webmproject.org": 1, + "webs-tv.net": 1, + "webshots.com": 1, + "websitepulse.com": 1, + "webworkerdaily.com": 1, + "weeewooo.net": 1, + "weekmag.info": 1, + "wefong.com": 1, + "weiboleak.com": 1, + "weigegebyc.dreamhosters.com": 1, + "weijingsheng.org": 1, + "weiming.info": 1, + "weiquanwang.org": 1, + "weisuo.ws": 1, + "wellplacedpixels.com": 1, + "wengewang.com": 1, + "wengewang.org": 1, + "wenhui.ch": 1, + "wenku.com": 1, + "wenweipo.com": 1, + "wenxuecity.com": 1, + "wenyunchao.com": 1, + "wepn.info": 1, + "westca.com": 1, + "westernwolves.com": 1, + "westkit.net": 1, + "wet123.com": 1, + "wetplace.com": 1, + "wetpussygames.com": 1, + "wexiaobo.org": 1, + "wezhiyong.org": 1, + "wezone.net": 1, + "wforum.com": 1, + "whatblocked.com": 1, + "whereiswerner.com": 1, + "whippedass.com": 1, + "whydidyoubuymethat.com": 1, + "whylover.com": 1, + "whyx.org": 1, + "wikia.com": 1, + "wikibooks.org": 1, + "wikileaks.ch": 1, + "wikileaks.de": 1, + "wikileaks.eu": 1, + "wikileaks.lu": 1, + "wikileaks.org": 1, + "wikileaks.pl": 1, + "wikilivres.info": 1, + "wikimapia.org": 1, + "wikimedia.org": 1, "wikimedia.org.mo": 1, + "wikinews.org": 1, + "wikipedia.org": 1, + "wikisource.org": 1, + "wikiwiki.jp": 1, + "williamhill.com": 1, + "willw.net": 1, + "windowsphoneme.com": 1, + "winwhispers.info": 1, + "wiredbytes.com": 1, + "wiredpen.com": 1, + "wisevid.com": 1, + "witnessleeteaching.com": 1, + "witopia.net": 1, + "wo.tc": 1, + "woeser.com": 1, + "woesermiddle-way.net": 1, + "wolfax.com": 1, + "womensrightsofchina.org": 1, + "woopie.jp": 1, + "woopie.tv": 1, + "wordboner.com": 1, + "wordpress.com": 1, + "wordsandturds.com": 1, + "workatruna.com": 1, + "worldcat.org": 1, + "worldjournal.com": 1, + "worstthingieverate.com": 1, + "wow-life.net": 1, + "woxinghuiguo.com": 1, + "wozy.in": 1, + "wpoforum.com": 1, + "wqlhw.com": 1, + "wqyd.org": 1, + "wrchina.org": 1, + "wretch.cc": 1, + "wsj.com": 1, + "wtfpeople.com": 1, + "wuala.com": 1, + "wuerkaixi.com": 1, + "wujie.net": 1, + "wujieliulan.com": 1, + "wukangrui.net": 1, + "wwitv.com": 1, + "wzyboy.im": 1, + "x-art.com": 1, + "x-berry.com": 1, + "x-wall.org": 1, + "x1949x.com": 1, + "x365x.com": 1, + "xanga.com": 1, + "xbabe.com": 1, + "xbookcn.com": 1, + "xcafe.in": 1, + "xcity.jp": 1, + "xcritic.com": 1, + "xfiles.to": 1, + "xfm.pp.ru": 1, + "xgmyd.com": 1, + "xh4n.cn": 1, + "xhamster.com": 1, + "xiaochuncnjp.com": 1, + "xiaod.in": 1, + "xiaohexie.com": 1, + "xiaoma.org": 1, + "xiezhua.com": 1, + "xing.com": 1, + "xinhuanet.org": 1, + "xinsheng.net": 1, + "xinshijue.com": 1, + "xinyubbs.net": 1, + "xizang-zhiye.org": 1, + "xjp.cc": 1, + "xml-training-guide.com": 1, + "xmovies.com": 1, + "xmusic.fm": 1, + "xnxx.com": 1, + "xpdo.net": 1, + "xpud.org": 1, + "xrea.com": 1, + "xskywalker.com": 1, + "xthost.info": 1, + "xtube.com": 1, + "xuchao.net": 1, + "xuchao.org": 1, + "xuite.net": 1, + "xuzhiyong.net": 1, "xuzhuoer.com": 1, - "stuffimreading.net": 1, - "state168.com": 1, - "qstatus.com": 1, - "hk.gradconnection.com": 1, - "fzh999.com": 1, - "ipobar.com": 1, - "topshareware.com": 1, - "pokerstars.com": 1, - "blog.redren.com": 1, - "rojo.com": 1, - "contests.twilio.com": 1, - "muzi.com": 1, - "tumblr.awflasher.com": 1, - "www.owind.com": 1, - "techparaiso.com": 1, - "posterous.com": 1, - "interfaceaddiction.com": 1, - "developers.box.net": 1, - "chinaaid.net": 1, - "blog.hotpotato.com": 1, - "storagenewsletter.com": 1, - "video.yahoo.com": 1, - "guishan.org": 1, - "christusrex.org": 1, - "syncback.com": 1, - "tweetboard.com": 1, - "video.ap.org": 1, - "orient-doll.com": 1, - "navicat.com": 1, - "199.59.148.20": 1, - "twittercounter.com": 1, - "git-scm.com": 1, - "renminbao.com": 1, - "inmediahk.net": 1, - "aliengu.com": 1, - "pulse.yahoo.com": 1, - "taweet.com": 1, - "0to255.com": 1, - "cl.d0z.net": 1, - "tkcs-collins.com": 1, - "trustedbi.com": 1, - "dtiblog.com": 1, - "babynet.com.hk": 1, - "dollf.com": 1, - "1eew.com": 1, - "hellonewyork.us": 1, - "wezhiyong.org": 1, - "allinfa.com": 1, - "csuchen.de": 1, - "wahas.com": 1, - "furinkan.com": 1, - "observechina.net": 1, - "chinachannel.hk": 1, - "sysresccd.org": 1, - "fourface.nodesnoop.com": 1, - "meetup.com": 1, - "twitter.com": 1, - "chinese-memorial.org": 1, - "canyu.org": 1, - "jgoodies.com": 1, - "china-week.com": 1, - "pureconcepts.net": 1, - "br.st": 1, - "yfrog.com": 1, - "mingpao.com": 1, - "crd-net.org": 1, - "limiao.net": 1, - "hk": 1, + "xvedios.com": 1, + "xvideos.com": 1, + "xxbbx.com": 1, + "xxxx.com.au": 1, + "xys.org": 1, + "xysblogs.org": 1, + "xyy69.com": 1, + "xyy69.info": 1, + "yahoo.co.jp": 1, + "yahoo.com": 1, + "yam.com": 1, + "yasukuni.or.jp": 1, "ydy.com": 1, - "tibet.com": 1, - "tor.blingblingsquad.net": 1, - "gvm.com.tw": 1, - "cuihua.org": 1, - "theblemish.com": 1, - "diaoyuislands.org": 1, - "wozy.in": 1, - "myopenid.com": 1, - "hkdailynews.com.hk": 1, - "blockcn.com": 1, - "christianstudy.com": 1, - "freenetproject.org": 1, - "muselinks.co.jp": 1, - "gaoming.net": 1, - "madmenunbuttoned.com": 1, - "laptoplockdown.com": 1, - "qienkuen.org": 1, - "e-traderland.net": 1, - "twtrland.com": 1, - "njactb.org": 1, - "askstudent.com": 1, - "forum.palmislife.com": 1, + "yeelou.com": 1, + "yeeyi.com": 1, + "yegle.net": 1, + "yfrog.com": 1, + "yhcw.net": 1, + "yi.org": 1, + "yidio.com": 1, + "yilubbs.com": 1, + "yimg.com": 1, "yipub.com": 1, - "truveo.com": 1, - "tabtter.jp": 1, - "franklc.com": 1, - "xiaohexie.com": 1, - "iblogserv-f.net": 1, - "kanzhongguo.eu": 1, - "page.bid.yahoo.com": 1, - "vpnfire.com": 1, - "blog.xuite.net": 1, - "freewebs.com": 1, - "edicypages.com": 1, - "famunion.com": 1, - "173ng.com": 1, - "www.orchidbbs.com": 1, - "minghui.org": 1, - "isaacmao.com": 1, - "perfectvpn.net": 1, - "freeman2.com": 1, - "sinonet.ca": 1, - "darpa.mil": 1, - "jpopforum.net": 1, - "sobees.com": 1, - "epochtimestr.com": 1, - "bill.zhong.pp.ru": 1, - "oyax.com": 1, - "littlebigdetails.com": 1, - "mingjingnews.com": 1, - "sharkdolphin.com": 1, - "foxtang.com": 1, - "jimoparty.com": 1, - "topic.youthwant.com.tw": 1, - "twiggit.org": 1, - "lookatgame.com": 1, - "earthquake.usgs.gov": 1, - "zh-yue.wikipedia.org": 1, - "gmozomg.izihost.org": 1, - "wtfpeople.com": 1, - "blog.qooza.hk": 1, - "1-apple.com.tw": 1 + "yogichen.org": 1, + "yong.hu": 1, + "yorkbbs.ca": 1, + "youjizz.com": 1, + "youmaker.com": 1, + "youpai.org": 1, + "youporn.com": 1, + "your-freedom.net": 1, + "yousendit.com": 1, + "youthbao.com": 1, + "youthnetradio.org": 1, + "youtu.be": 1, + "youtube-nocookie.com": 1, + "youtube.com": 1, + "youtubecn.com": 1, + "youversion.com": 1, + "youxu.info": 1, + "ytht.net": 1, + "ytimg.com": 1, + "yuanming.net": 1, + "yunchao.net": 1, + "yvesgeleyn.com": 1, + "yx51.net": 1, + "yyii.org": 1, + "yymaya.com": 1, + "yzzk.com": 1, + "zacebook.com": 1, + "zannel.com": 1, + "zaobao.com": 1, + "zaobao.com.sg": 1, + "zaozon.com": 1, + "zarias.com": 1, + "zattoo.com": 1, + "zengjinyan.org": 1, + "zeutch.com": 1, + "zfreet.com": 1, + "zgzcjj.net": 1, + "zhanbin.net": 1, + "zhe.la": 1, + "zhenghui.org": 1, + "zhenlibu.info": 1, + "zhinengluyou.com": 1, + "zhong.pp.ru": 1, + "zhongguotese.net": 1, + "zhongmeng.org": 1, + "zhreader.com": 1, + "zhuichaguoji.org": 1, + "ziddu.com": 1, + "zillionk.com": 1, + "zinio.com": 1, + "ziplib.com": 1, + "zkaip.com": 1, + "zlib.net": 1, + "zmw.cn": 1, + "zoho.com": 1, + "zomobo.net": 1, + "zonaeuropa.com": 1, + "zonble.net": 1, + "zootool.com": 1, + "zoozle.net": 1, + "zozotown.com": 1, + "zshare.net": 1, + "zsrhao.com": 1, + "zuo.la": 1, + "zuola.com": 1, + "zvereff.com": 1, + "zyzc9.com": 1 }; -var proxy = "SOCKS5 127.0.0.1:1080;SOCKS 127.0.0.1:1080;DIRECT;"; - var direct = 'DIRECT;'; +var hasOwnProperty = Object.hasOwnProperty; + function FindProxyForURL(url, host) { - var lastPos = 0; - var domain = host; - while(lastPos >= 0) { - if (domains[domain]) { + var suffix; + var pos = host.lastIndexOf('.'); + for (;;) { + suffix = host.substring(pos + 1); + if (hasOwnProperty.call(domains, suffix)) { return proxy; } - lastPos = host.indexOf('.', lastPos + 1); - domain = host.slice(lastPos + 1); + if (pos <= 0) { + return direct; + } + pos = host.lastIndexOf('.', pos - 1); } - return direct; } diff --git a/test/proxy_abp.pac b/test/proxy_abp.pac new file mode 100644 index 0000000..fe1843c --- /dev/null +++ b/test/proxy_abp.pac @@ -0,0 +1,4554 @@ +// Generated by gfwlist2pac in precise mode +// https://github.com/clowwindy/gfwlist2pac + +var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;"; + +var rules = [ + "||altrec.com", + "||darpa.mil", + "||fastpic.ru", + "||fxnetworks.com", + "hulu.com", + "huluim.com", + "|http://www.ilovelongtoes.com/", + "||muzu.tv", + "||netflix.com", + "||pandora.com", + ".pandora.tv", + "|http://www.parkansky.com", + "|http://*.pimg.tw/", + "||pure18.com", + "||rdio.com", + "||slacker.com", + "||spotify.com", + "||target.com", + "||turntable.fm", + "||vevo.com", + "||zattoo.com", + "||qq.co.za", + "||zozotown.com", + ".0rz.tw", + "|http://0rz.tw", + "||0to255.com", + "1-apple.com.tw", + "||1-apple.com.tw", + "||10musume.com", + "123rf.com", + ".12bet.com", + "||12bet.com", + ".12vpn.com", + "||12vpn.com", + "141hongkong.com/forum", + ".173ng.com", + "||173ng.com", + "1984bbs.com", + "||1984bbs.com", + ".1984bbs.org", + "||1984bbs.org", + ".1bao.org", + "|http://1bao.org", + "||1pondo.tv", + ".1eew.com", + ".2-hand.info", + ".2000fun.com/bbs", + ".2008xianzhang.info", + "||2008xianzhang.info", + "21andy.com/blog", + "24smile.org", + ".2shared.com", + ".315lz.com", + "||32red.com", + "||36rain.com", + "||4bluestones.biz", + "||4chan.org", + "||4shared.com", + "5i01.com", + "taiwannation.50webs.com", + "||51.ca", + ".5maodang.com", + "||6-4.net/", + "64memo", + "64tianwang.com", + "64wiki.com", + "666kb.com", + "6park.com", + "||6park.com", + "||www.6v6dota.com", + "||7capture.com", + ".881903.com/page/zh-tw/", + ".888.com", + "||881903.com", + "89-64.org", + "||89-64.org", + ".9001700.com", + "|http://908taiwan.org/", + "|http://91porn.com", + ".92ccav.com", + "||9bis.com", + "||9bis.net", + "||a-normal-day.com", + "a5.com.ru", + "|http://cdn*.abc.com/", + ".ablwang.com", + ".aboluowang.com", + "||aboluowang.com", + ".aboutgfw.com", + "||acgkj.com", + "actimes.com.au", + "||aculo.us", + "||addictedtocoffee.de", + "adultfriendfinder.com", + "adultkeep.net/peepshow/members/main.htm", + "||advanscene.com", + "||advertfan.com", + "||aenhancers.com", + "||af.mil", + "aiph.net", + "||aiph.net", + ".aisex.com", + "||ait.org.tw", + ".aiweiweiblog.com", + "||aiweiweiblog.com", + "||ajaxplorer.info", + "||www.ajsands.com", + "|https://fbcdn*.akamaihd.net/", + "||akiba-online.com", + "||al-qimmah.net", + "||alabout.com", + "||alasbarricadas.org", + "||notes.alexdong.com", + "alexlur.org", + "aliengu.com", + "||alkasir.com", + "allgirlsallowed.org", + "alliance.org.hk", + ".allinfa.com", + "|http://allinfa.com", + "||allinfo.com", + "||allmovie.com", + "||alternate-tools.com", + "alvinalexander.com", + "alwaysdata.com", + "||alwaysdata.com", + "||alwaysdata.net", + "||am730.com.hk", + "amazon.com/Prisoner-State-Secret-Journal-Premier", + "ameblo.jp", + "||ameblo.jp", + "||americangreencard.com", + "||amiblockedornot.com", + ".amnesty.org", + "||amnesty.org", + ".amnestyusa.org", + "||amnestyusa.org", + ".amoiist.com", + "amzs.me", + "analyze-v.com", + "||anchorfree.com", + "||andfaraway.net", + "||android.com", + "||angularjs.org", + "animecrazy.net", + "||anobii.com", + ".anonymizer.com", + "anontext.com", + ".answering-islam.org", + "||anthonycalzadilla.com", + ".antiwave.net", + "|http://antiwave.net", + "||aobo.com.au", + "||aolchannels.aol.com", + "video.aol.ca/video-detail", + "video.aol.co.uk/video-detail", + "video.aol.com", + "||video.aol.com", + "www.aolnews.com", + "||aomiwang.com", + "video.ap.org", + ".apetube.com", + "||apiary.io", + ".apigee.com", + "||apigee.com", + "appledaily.com", + "archive.is", + "||archive.org", + ".arctosia.com", + "|http://arctosia.com", + "||areca-backup.org", + "||army.mil", + "artsy.net", + ".asahichinese.com", + "||asahichinese.com", + "asdfg.jp/dabr", + ".asiaharvest.org", + "||asiaharvest.org", + "asianews.it", + "||asianwomensfilm.de", + "||askstudent.com", + ".askynz.net", + "||askynz.net", + "||assembla.com", + "||astonmartinnews.com", + "||atc.org.au", + ".atchinese.com", + "|http://atchinese.com", + "atgfw.org", + "||atj.org.tw", + ".atlaspost.com", + "||atlaspost.com", + ".atnext.com", + "||atnext.com", + "avaaz.org", + "||avaaz.org", + "avdb.in", + "||avidemux.org", + "||avoision.com", + "||axureformac.com", + "forum.baby-kingdom.com", + "babynet.com.hk", + "backchina.com", + "||backchina.com", + ".backpackers.com.tw/forum", + "badoo.com", + "||baidu.jp", + "||baixing.me", + "hen.bao.li", + "bannedbook.org", + "||bannedbook.org", + "||barnabu.co.uk", + "bayvoice.net", + "||bayvoice.net", + "dajusha.baywords.com", + ".bbc.co.uk*chinese", + ".bbc.co.uk/tv", + ".bbc.co.uk*zhongwen", + "news.bbc.co.uk/onthisday*newsid_2496000/2496277", + "newsforums.bbc.co.uk", + ".bbcchinese.com", + "||bbcchinese.com", + "|http://bbc.in", + ".bbg.gov", + "||bbsfeed.com", + "bbsland.com", + ".bcc.com.tw/board", + ".bcchinese.net", + ".bebo.com", + "||bebo.com", + "||beijing1989.com", + "beijingspring.com", + "||beijingspring.com", + ".berlintwitterwall.com", + "||berlintwitterwall.com", + ".bestforchina.org", + "||bestforchina.org", + ".bestvpnservice.com", + "||bet365.com", + ".betfair.com", + ".bettween.com", + "||bettween.com", + "||betvictor.com", + ".bewww.net", + "||bfnn.org", + "||bfsh.hk/", + "biantailajiao.com", + "biantailajiao.in", + "bigfools.com", + ".bignews.org", + "||bignews.org", + ".bigsound.org/portnoy", + "||bill2-software.com", + "billypan.com/wiki/%E9%A6%96%E9%A0%81", + "||billywr.com", + "bipic.net", + ".bit.ly", + "|http://bit.ly", + "||bitcointalk.org", + ".bitshare.com", + "||bitshare.com", + "bjzc.org", + "||bjzc.org/", + "tor.blingblingsquad.net", + ".blinkx.com", + "||blinkx.com", + "blinw.com", + ".blip.tv", + "||blip.tv/", + ".blockcn.com", + "||blockcn.com", + "||blog.de", + "||blogblog.com", + ".blogcatalog.com", + "||blogcatalog.com", + ".blogger.com", + "||blogger.com", + "blogimg.jp", + "||blog.kangye.org", + ".bloglines.com", + "||bloglines.com", + "||bloglovin.com", + "rconversation.blogs.com", + "/^https?:\\/\\/[^\\/]+blogspot\\.(.*)/", + "blogtd.net", + ".blogtd.org", + "|http://blogtd.org", + "||bloodshed.net", + ".bloomberg.cn", + "||bloomberg.cn", + ".bloomberg.com", + "||bloomberg.com", + "bloomberg.de", + "||bloomberg.de", + "||bloomfortune.com", + "||bnrmetal.com", + "boardreader.com/thread", + "||boardreader.com", + "bonbonme.com", + "||books.com.tw", + ".botanwang.com", + ".bot.nu", + ".bowenpress.com", + "||bowenpress.com", + "dl.box.net", + "||dl.box.net", + "boxun.com", + "||boxun.com", + ".boxun.tv", + "||boxun.tv", + "boxunblog.com", + "||boxunblog.com", + "||br.st", + "||brandonhutchinson.com", + "||braumeister.org", + ".break.com", + "||break.com", + ".breakingtweets.com", + "||breakingtweets.com", + ".briefdream.com/%E7%B4%A0%E6%A3%BA", + "brightkite.com", + "||brightkite.com", + "brizzly.com", + "||brizzly.com", + "broadbook.com", + "ibros.org", + "brucewang.net", + "||bt95.com", + "|http://btdigg.org", + ".budaedu.org", + "||budaedu.org", + ".bullog.org", + "||bullog.org", + ".bullogger.com", + "||bullogger.com", + ".businessweek.com", + ".businesstimes.com.cn", + "|http://businesstimes.com.cn", + "||bugclub.org", + "||buugaa.com", + "buzzurl.jp", + "bwsj.hk", + "||bx.tl", + "holz.byethost8.com", + ".c-spanvideo.org", + "||c-spanvideo.org", + "||c-est-simple.com", + ".cacnw.com", + ".cactusvpn.com", + "||cactusvpn.com", + ".cafepress.com", + ".cahr.org.tw", + ".calameo.com/books", + "cn.calameo.com", + "|http://cn.calameo.com", + "||cams.com", + ".cams.org.sg", + "canadameet.com", + "|http://bbs.cantonese.asia/", + ".canyu.org", + ".cao.im", + ".caobian.info", + "||caobian.info", + "|http://catcatbox.com/forum.php*", + "caochangqing.com", + "||caochangqing.com", + "cari.com.my", + "||catch22.net", + "||catfightpayperview.xxx", + ".catholic.org.hk", + "||catholic.org.hk", + "catholic.org.tw", + "||catholic.org.tw", + ".cbsnews.com/video", + "||ccavtop10.com", + ".ccdtr.org", + "||ccdtr.org", + ".ccim.org", + "cclife.org", + ".ccthere.com", + ".cctongbao.com/article/2078732", + "ccue.ca", + "ccue.com", + ".cgdepot.org", + "|http://cgdepot.org", + "||cdig.info", + "cdjp.org", + "||cdjp.org/", + ".cdnews.com.tw", + "cdp1998.org", + "||cdp1998.org", + "cdp2006.org", + "||cdp2006.org", + "cdpusa.org", + "cdpweb.org", + "||cdpweb.org", + "cdpwu.org", + "||cdpwu.org", + "||cdw.com", + ".cecc.gov", + "||cecc.gov", + "||cellulo.info", + "||cenci.tk", + "||cenews.eu", + "||centralnation.com", + ".centurys.net", + "|http://centurys.net", + ".cfhks.org.hk", + ".cftfc.com", + "||chandoo.org", + ".change.org", + "|http://change.org", + ".changp.com", + "||changp.com", + ".chapm25.com", + ".chaturbate.com", + "chengmingmag.com", + ".chenguangcheng.com", + "||chenguangcheng.com", + "chenpokong.com", + "||cherrysave.com", + "|http://chicagoncmtv.com", + ".china-week.com", + "china101.com", + "||china101.com", + "||china21.com", + "china21.org", + "||china21.org", + ".china5000.us", + "chinaaffairs.org", + "||chinaaffairs.org", + "||chinaaid.me", + "chinaaid.us", + "chinaaid.org", + "chinaaid.net", + "chinacomments.org", + "||chinacomments.org", + "chinachange.org", + "chinachannel.hk", + "||chinachannel.hk", + ".chinadigitaltimes.net", + "||chinadigitaltimes.net", + ".chinaeweekly.com", + "||chinaeweekly.com", + "||chinafreepress.org", + ".chinagate.com", + "chinageeks.org", + "chinagfw.org", + "||chinagfw.org", + ".chinagreenparty.org", + "||chinagreenparty.org", + ".chinahush.com", + "chinalawtranslate.com", + "chinaxchina.com/howto", + ".chinainperspective.com", + "chinainperspective.net/ArtShow.aspx?", + "||chinainperspective.net", + ".chinainperspective.org", + "||chinainperspective.org", + "||chinainterimgov.org", + "chinalawandpolicy.com", + ".chinamule.com", + "||chinamule.com", + "chinamz.org", + ".chinarightsia.org", + "chinasocialdemocraticparty.com", + "||chinasocialdemocraticparty.com", + "chinasoul.org", + "||chinasoul.org", + "chinatimes.com", + "chinatweeps.com", + "chinaway.org", + ".chinaworker.info", + "||chinaworker.info", + "chinayouth.org.hk", + "chinayuanmin.org", + "||chinayuanmin.org", + ".chinese-hermit.net", + "chinese-memorial.org", + "||chinesedailynews.com", + ".chinesen.de", + "||chinesen.de", + "chinesenewsnet.com", + ".chinesepen.org", + ".chinesetalks.net/ch", + ".chingcheong.com", + "||chingcheong.com", + "chn.chosun.com", + "christianstudy.com", + "||christianstudy.com", + "christusrex.org/www1/sdc", + "||chrlcg-hk.org", + "||chrome.com", + "||chromeadblock.com", + "chubun.com", + "chuizi.net", + "||chuizi.net", + "||chrispederick.com", + "||chrispederick.net", + "||christiantimes.org.hk", + ".chrlawyers.hk", + "||allaboutalpha.com", + ".circlethebayfortibet.org", + ".citizenlab.org", + "citizensradio.org", + "city9x.com", + ".civicparty.hk", + "||civicparty.hk", + "civilhrfront.org", + "||civilhrfront.org", + "psiphon.civisec.org", + "||cjb.net", + ".ck101.com", + "||ck101.com", + "||classicalguitarblog.net", + ".clb.org.hk", + ".clipfish.de", + "|http://www.cmoinc.org", + ".cmule.com", + "||cmule.com", + "||cms.gov", + "||cna.com.tw", + ".cnavista.com.tw/shop/stores_app", + ".cnd.org", + "||cnd.org/", + "wiki.cnitter.com", + ".cnn.com/video", + "news.cnyes.com", + "||cochina.org", + ".code1984.com/64", + "||codeshare.io", + "|http://tosh.comedycentral.com", + "comefromchina.com", + "||comefromchina.com", + "||compileheart.com", + "||conoyo.com", + ".contactmagazine.net", + ".coolaler.com", + "||coolaler.com", + "coolder.com", + "||coolder.com", + "||coolloud.org.tw", + "corumcollege.com", + "||couchdbwiki.com", + "||cotweet.com", + "cpj.org", + "||cpj.org/", + "crackle.com", + "||crackle.com", + "crd-net.org", + "creaders.net", + "||creaders.net", + ".crossthewall.net", + "||crossthewall.net", + "csdparty.com", + "||csdparty.com", + "||csuchen.de", + "cts.com.tw", + ".cuhkacs.org/~benng", + ".cuihua.org", + "||cuihua.org", + ".cuiweiping.net", + "||cuiweiping.net", + "||curvefish.com", + ".culture.tw", + "||culture.tw", + "forum.cyberctm.com/forum", + "||cyberghostvpn.com", + "||cynscribe.com", + "cytode.us", + "||ifan.cz.cc", + "||mike.cz.cc", + "||nic.cz.cc", + "cl.d0z.net", + ".dabr.co.uk", + "||dabr.co.uk", + "dabr.mobi", + "||dabr.mobi", + "||dabr.me", + "dadazim.com", + "||dadazim.com", + ".dadi360.com", + "dafagood.com", + "dafahao.com", + "||dalailama.ru", + ".dailidaili.com", + "||dailidaili.com", + ".dailymotion.com", + ".dajiyuan.com", + ".dajiyuan.eu", + "dalailama.com", + ".dalailamaworld.com", + "||dalailamaworld.com", + "dalianmeng.org", + "||dalianmeng.org", + ".danke4china.net", + "||danke4china.net", + ".danwei.org", + "daolan.net", + "daxa.cn", + "||daxa.cn/", + "cn.dayabook.com", + ".daylife.com/topic/dalai_lama", + ".ddc.com.tw", + "||de-sci.org", + ".de-sci.org", + "lists.debian.org", + "packages.debian.org/zh-cn/lenny/gpass", + "||delcamp.net", + "delicious.com/GFWbookmark", + ".democrats.org", + "||democrats.org", + "||desc.se/", + "||deutsche-welle.de", + "||dev102.com", + "||deviantart.com", + "||devio.us", + "||devpn.com", + "|http://www.dfanning.com", + "||dfas.mil", + ".diaoyuislands.org", + "||diaoyuislands.org", + "static.digg.com", + "||digitalnomadsproject.org", + ".diigo.com", + "||diigo.com", + "||furl.net", + ".dipity.com", + "||directcreative.com", + ".discuss.com.hk", + "||discuss.com.hk", + "disp.cc", + ".dit-inc.us", + "||dit-inc.us", + ".dizhidizhi.com", + "djangosnippets.org", + "||dl-laby.jp", + "||dlsite.com", + "||dmcdn.net", + "||dnscrypt.org", + "||dns2go.com", + ".dojin.com", + ".dok-forum.net", + "||dolc.de", + "||dollf.com", + ".domain.club.tw", + "dongde.com", + "dongtaiwang.com", + "||dongtaiwang.com", + ".dongtaiwang.net", + "||dongtaiwang.net", + ".dongyangjing.com", + ".dontfilter.us", + "||dontmovetochina.com", + ".dotplane.com", + "||dotplane.com", + "||dotsub.com", + "doubleaf.com", + "||dougscripts.com", + "dowei.org", + "||doxygen.org", + "dphk.org", + "dpp.org.tw", + "||dpp.org.tw", + "||weigegebyc.dreamhosters.com", + "||drgan.net", + "||dropbox.com", + "||dropboxusercontent.com", + "drsunacademy.com", + ".drtuber.com", + ".dscn.info", + "||dtiblog.com", + "||dtic.mil", + "dtiserv2.com", + "||duckduckgo.com", + ".duckload.com/download", + "||duckmylife.com", + ".duihua.org", + "||duihua.org", + "||duihuahrjournal.org", + ".duoweitimes.com", + "||duoweitimes.com", + "duping.net", + "||duplicati.com", + "dupola.com", + "dupola.net", + "||dvorak.org", + ".dw.de", + "|http://dw.de", + ".dw-world.com", + "||dw-world.com", + ".dw-world.de", + "http://dw-world.de", + "www.dwheeler.com", + "dwnews.com", + "||dwnews.com", + "dwnews.net", + "||dwnews.net", + "xys.dxiong.com", + "dy24k.info", + "||dynawebinc.com", + ".dyndns.org", + ".dzze.com", + "||e-gold.com", + ".e-gold.com", + "|http://g.e-hentai.org/", + "e-info.org.tw", + ".e-traderland.net/board", + ".e123.hk", + "hkjp.easyweb.hk", + "ebookbrowse.com", + "ebookee.com", + "ecministry.net", + "bbs.ecstart.com", + "twimg\\.edgesuite\\.net\\/\\/?appledaily", + "edicypages.com", + "edoors.com", + ".edubridge.com", + "||edubridge.com", + "||eevpn.com", + "efcc.org.hk", + "||efmoe.com", + "||eic-av.com", + "electionsmeter.com", + "||elpais.com", + ".eltondisney.com", + "||emacsblog.org", + ".emory.edu", + ".emule-ed2k.com", + "|http://emule-ed2k.com", + ".emuparadise.me", + "||enewstree.com", + "chinese.engadget.com", + "||englishfromengland.co.uk", + "||entermap.com", + "epochtimes-bg.com", + "||epochtimes-bg.com", + "epochtimes-romania.com", + "||epochtimes-romania.com", + "epochtimes.co.il", + "||epochtimes.co.il", + "epochtimes.co.kr", + "||epochtimes.co.kr", + "epochtimes.com", + "||epochtimes.com", + "epochtimes.de", + "epochtimes.fr", + ".epochtimes.ie", + "epochtimes.jp", + "epochtimes.ru", + "epochtimes.se", + "epochtimestr.com", + "||epochweekly.com", + "erabaru.net", + ".erepublik.com", + "||ernestmandel.org", + "||erights.net", + "etaiwannews.com", + "||etizer.org", + ".ettoday.net", + "www.eulam.com", + "eventful.com", + "||exblog.jp", + "||blog.exblog.co.jp", + "@@||www.exblog.jp", + "||expatshield.com", + "||exploader.net", + ".extremetube.com", + "eyevio.jp", + "||eyevio.jp", + ".ezpc.tk/category/soft", + ".ezpeer.com", + ".facebook.com", + "||facebook.com", + "/^https?:\\/\\/[^\\/]+facebook\\.com/", + "@@||*v6.facebook.com", + "||connect.facebook.net", + "||facesofnyfw.com", + "||faiththedog.info", + ".fakku.net", + "falunart.org", + "falundafa.org", + "falundafamuseum.org", + "||falunhr.org", + "||fanglizhi.info", + "||fangong.org", + "fangongheike.com", + "fanqianghou.com", + "fapdu.com", + ".fawanghuihui.org", + "||fbcdn.net", + "fanqiangyakexi.net", + "fail.hk", + "||famunion.com", + ".fan-qiang.com", + ".fangbinxing.com", + "||fangbinxing.com", + "fangeming.com", + "||fanswong.com", + ".fanyue.info", + ".farwestchina.com", + "||fastly.net", + "favorious.com", + "||favorious.com", + "en.favotter.net", + "||faststone.org", + "favstar.fm", + "||favstar.fm", + "faydao.com/weblog", + "||fb.com", + "fb.me", + "||fb.me", + "||fbsbx.com", + "fc2.com", + ".fc2china.com", + "shifeike.blog125.fc2blog.net", + "video.fdbox.com", + ".fdc89.jp", + "||fourface.nodesnoop.com", + "||feedburner.com", + "||feedzshare.com", + "||feelssh.com", + "feer.com", + "||feministteacher.com", + ".fengzhenghu.com", + "||fengzhenghu.com", + "fflick.com", + "fgmtv.net", + ".fgmtv.org", + ".filefactory.com/file", + ".files2me.com", + "|http://files2me.com", + ".fileserve.com/file", + "fillthesquare.org", + "||finalion.jp", + "findbook.tw", + "finler.net", + ".fireofliberty.org", + "||fireofliberty.org", + ".falsefire.com", + "||falsefire.com", + "fleshbot.com", + "||flickr.com", + "||staticflickr.com", + "flickrhivemind.net", + "yuming.flnet.org", + "|http://cn.fmnnow.com", + "blog.foolsmountain.com", + "www.forum4hk.com", + "pioneer-worker.forums-free.com", + "|http://4sq.com", + "||fotop.net", + "video.foxbusiness.com", + "||fringenetwork.com", + "||flecheinthepeche.fr", + "||focustaiwan.tw", + ".focusvpn.com", + "||fofg.org", + ".fooooo.com", + "||fooooo.com", + "footwiball.com", + "||fourthinternational.org", + "||foxdie.us", + "||foxsub.com", + "foxtang.com", + "||fqrouter.com", + "||franklc.com", + ".freakshare.com", + "|http://freakshare.com", + "||free4u.com.ar", + "free-gate.org", + ".free.fr/adsl", + "||allonlinux.free.fr", + "||dimitrik.free.fr", + "kineox.free.fr", + "||puttycm.free.fr", + "||freealim.com", + "whitebear.freebearblog.org", + ".freechal.com", + ".freedomhouse.org", + "||freedomhouse.org", + ".freegao.com", + "||freegao.com", + ".free-hada-now.org", + ".freelotto.com", + "||freelotto.com", + "freeman2.com", + ".freeopenvpn.com", + "freemoren.com", + "freemorenews.com", + "freenet-china.org", + "freenewscn.com", + ".freeoz.org/bbs", + "||freeoz.org", + "||www.bulbous.freeserve.co.uk", + "||freessh.us", + ".free-ssh.com", + "||free-ssh.com", + "||freenetproject.org", + ".freeoz.org", + "||freetibet.org", + "||freewallpaper4.me", + ".freewebs.com", + "||freeweibo.com", + ".freexinwen.com", + ".freeyoutubeproxy.net", + "||freeyoutubeproxy.net", + "friendfeed.com", + "friendfeed-media.com/e99a4ebe2fb4c1985c2a58775eb4422961aa5a2e", + "|http://ff.im", + "|http://www.zensur.freerk.com/", + "freevpn.nl", + ".fring.com", + "||fring.com", + "||frommel.net", + ".frontlinedefenders.org", + "||fscked.org", + ".fsurf.com", + ".ftchinese.com/story/001054103", + ".ftchinese.com/*video", + ".ftchinese.com/comments", + ".fuckcnnic.net", + "||fuckcnnic.net", + "fuckgfw.org", + "fulue.com", + ".funf.tw", + "funp.com", + "||furinkan.com", + ".futurechinaforum.org", + "||futuremessage.org", + ".fuyin.net", + "||fw.cm", + "fzh999.com", + "fzh999.net", + "||gabocorp.com", + ".gaeproxy.com", + "||galenwu.com", + "||game735.com", + "gamebase.com.tw", + "||gamer.com.tw", + ".gamer.com.tw", + ".gamez.com.tw", + "||gamez.com.tw", + ".gaoming.net", + "||gaoming.net", + "ganges.com", + ".gaopi.net", + "|http://gaopi.net", + ".gaozhisheng.org", + ".gaozhisheng.net", + "gardennetworks.com", + "||gardennetworks.org", + "72.52.81.22", + "||gartlive.com", + "||gather.com", + "||gaymap.cc", + ".gazotube.com", + "||gazotube.com", + "||gcc.org.hk", + "||gclooney.com", + ".gcpnews.com", + ".gdbt.net/forum", + "gdzf.org", + "||geek-art.net", + "geekerhome.com/2010/03/xixiang-project-cross-gfw", + "||geekmanuals.com", + "||genuitec.com", + ".geocities.co.jp", + ".geocities.com/SiliconValley/Circuit/5683/download.html", + "hk.geocities.com", + "geocities.jp", + "||geohot.com", + "||geometrictools.com", + "||get-digital-help.com", + ".getchu.com", + "||getfoxyproxy.org", + ".getfreedur.com", + ".getlantern.org", + "||getlantern.org", + ".getjetso.com/forum", + "getiton.com", + ".getsocialscope.com", + "gfw.org.ua", + ".ggssl.com", + "||ggssl.com", + "||ghost.org", + "||ghut.org", + "||giga-web.jp", + "|http://cn.giganews.com/", + "gigporno.ru", + "||gimpshop.com", + "||girlbanker.com", + "|https://gist.github.com", + "||glennhilton.com", + "globaljihad.net", + "globalmuseumoncommunism.org", + "||globalrescue.net", + ".globalvoicesonline.org", + "||globalvoicesonline.org", + "gmbd.cn", + "||gmhz.org", + "||gnci.org.hk", + "||goagent.biz", + "||goagentplus.com", + "godfootsteps.org", + "||godfootsteps.org", + "||goldbetsports.com", + "|http://www.goldenmelody.com.tw", + "||goldwave.com", + "gongmeng.info", + "gongm.in", + "gongminliliang.com", + ".gongwt.com", + ".goodreads.com", + "||goodreads.com", + ".goodreaders.com", + "||goodreaders.com", + "||goofind.com", + ".googlesile.com", + ".gopetition.com", + "||gopetition.com", + "||gotw.ca/", + "grandtrial.org", + "||graphis.ne.jp", + "greatfirewall.biz", + "||greatfirewallofchina.net", + ".greatfirewallofchina.org", + "||greatfirewallofchina.org", + ".greenparty.org.tw", + "gpass1.com", + "great-firewall.com", + "great-roc.org", + "greatroc.org", + "greatzhonghua.org", + ".greenvpn.net", + "||greenvpn.net", + "gs-discuss.com", + "||gtricks.com", + "guancha.org", + ".gun-world.net", + "||gutteruncensored.com", + "||gvm.com.tw", + ".gzm.tv", + "||gzone-anime.info", + "||g.co", + "||ggpht.com", + "||gmail.com", + "||gmodules.com", + "||goo.gl", + "/^https?:\\/\\/[^\\/]+google\\.(.*)/", + "||google-analytics.com", + "||googleadservices.com", + "||googleapis.com", + "||googleearth.com", + "||googlecode.com", + "||googledrive.com", + "||googlelabs.com", + "||googlemail.com", + "||googleplus.com", + "||googlesource.com", + "||googlesyndication.com", + "||googletagmanager.com", + "||googletagservices.com", + "||googleusercontent.com", + "||googlevideo.com", + ".appspot.com", + "||appspot.com", + "/^https?:\\/\\/[^\\/]+appspot\\.com/", + "chinaaid.net", + "echofon.com", + "||golang.org", + "||www.klip.me", + "@@||site.locql.com", + "@@||download.syniumsoftware.com", + "|http://ub0.cc", + "wozy.in", + "anti.anti.cnn.googlepages.com", + "||freegateget.googlepages.com", + "myboooks.googlepages.com", + ".googlevideo.com", + "gospelherald.com", + "||gospelherald.com", + "|http://hk.gradconnection.com/", + "||graylog2.org", + "greatfire.org", + "||greatfire.org", + "greatfirewallofchina.org", + "||greatroc.tw", + "||gstatic.com", + ".theguardian.co*", + "guishan.org", + "||guishan.org", + "||gunsamerica.com", + ".gyalwarinpoche.com", + "||h-china.org", + "h1n1china.org", + ".hacken.cc/bbs", + "||hackthatphone.net", + "hahlo.com", + "||hakkatv.org.tw", + ".hanunyi.com", + "||hardsextube.com", + "||hasaowall.com", + "have8.com", + "@@||haygo.com", + "||hdtvb.net", + "||heartyit.com", + ".hecaitou.net", + "||hecaitou.net", + ".hechaji.com", + "||hechaji.com", + "||helplinfen.com", + "||helloandroid.com", + "||helloqueer.com", + "hellotxt.com", + "||hellotxt.com", + "||htxt.it/", + ".hellouk.org/forum/lofiversion", + ".helpeachpeople.com", + "||helpeachpeople.com", + ".helpzhuling.org", + "||date.fm", + "||flightcaster.com", + "||branch.com", + "||awardwinningfjords.com", + "||futureme.org", + "||getcloudapp.com", + "||cl.ly", + "@@||f.cl.ly", + "||getsmartlinks.com", + "||git-scm.com", + "||lesscss.org", + "||list.ly", + "||maxgif.com", + "||overlapr.com", + "||peerpong.com", + "||pose.com", + "||samsoff.es", + "||sendoid.com", + "||speckleapp.com", + "||stuffimreading.net", + "||tomayko.com", + "||twt.fm", + "||views.fm", + "heqinglian.net", + "here4news.com", + "||heungkongdiscuss.com", + "app.heywire.com", + ".hgseav.com", + "hidden-advent.org", + "||hidden-advent.org", + "hidecloud.com/blog/2008/07/29/fuck-beijing-olympics.html", + ".hidemyass.com", + "||hidemyass.com", + "||hideipvpn.com", + ".hihiforum.com", + "|http://hihiforum.com", + "||hihistory.net", + ".higfw.com", + "||highrockmedia.com", + "||hikinggfw.org", + ".himemix.com", + "||himemix.com", + ".himemix.net", + "times.hinet.net", + ".hjclub.info", + ".hk-pub.com/forum", + "|http://hk-pub.com", + ".hk32168.com", + "||hk32168.com", + "app.hkatvnews.com/v3", + "hkbc.net", + ".hkbf.org", + ".hkchurch.org", + "hkday.net", + ".hkdailynews.com.hk/china.php", + ".hkej.com", + ".hkepc.com/forum/viewthread.php?tid=1153322", + "global.hkepc.com*forum", + "hkfront.org", + "hkgolden.com", + ".hkgreenradio.org/home", + ".hkheadline.com*blog", + ".hkheadline.com/instantnews", + "hkhkhk.com", + "hkjc.com", + ".hkjp.org", + "hkptu.org", + ".hkreporter.com", + "||hkreporter.com", + ".hkwcc.org.hk", + "||hkzone.org", + "apps.hloli.net/gfwtube", + "hnjhj.com", + "||hnjhj.com", + "||hola.com", + "holyspiritspeaks.org", + "||holyspiritspeaks.org", + "||derekhsu.homeip.net", + "|http://homeservershow.com", + "hongmeimei.com", + "||hongzhi.li", + "hootsuite.com", + "||hootsuite.com", + "hotfile.com/dl", + "hotpot.hk", + ".hotshame.com", + "||hotspotshield.com", + "||hougaige.com", + "||howtoforge.com", + ".hqcdp.org", + "||hqcdp.org", + ".hrcir.com", + ".hrichina.org", + "||hrichina.org", + ".hrw.org", + "||hrw.org", + "||hsjp.net", + "||hsselite.com", + ".htkou.net", + "||htmldog.com", + "huaglad.com", + ".huanghuagang.org", + "||huanghuagang.org", + ".huaren.us", + "huaxia-news.com", + "huaxin.ph", + "hua-yue.net", + "||hugoroy.eu", + "t.huhaitai.com", + "||hung-ya.com", + "||hungerstrikeforaids.org", + "||huping.net", + "||hutianyi.net", + "hutong9.net", + "||hwinfo.com", + "||hypeshell.com", + "||hyperrate.com", + "||i1.hk", + "||i2p2.de/", + "||i2runner.com", + "iask.ca", + "||iask.ca", + "iask.bz", + "||iask.bz", + "ibiblio.org/pub/packages/ccic", + "||iblogserv-f.net", + "|http://cn.ibtimes.com", + "blogs.icerocket.com/tag", + ".icij.org", + "||icl-fi.org", + "||iconpaper.org", + "w.idaiwan.com/forum", + "idemocracy.asia", + ".identi.ca", + "||identi.ca", + "||idiomconnection.com", + "|http://www.idlcoyote.com", + ".idouga.com", + "forum.idsam.com", + ".idv.tw", + "ieasynews.net", + ".ied2k.net", + "ifanqiang.com", + ".ifanr.com/857", + ".ifcss.org", + "||ifcss.org", + "ifjc.org", + "||antidrm.hpg.ig.com.br", + "||igfw.net", + "||ignitedetroit.net", + "||igvita.com", + "||ihakka.net", + "||iicns.com", + "||illusionfactory.com", + "||ilove80.be", + "||im.tv", + "@@||myvlog.im.tv", + "||im88.tw", + "||imageflea.com", + "imageshack.us", + "||imagevenue.com", + "||imagezilla.net", + "|http://www.imdb.com/name/nm0482730", + ".img.ly", + "||img.ly", + ".imkev.com", + "||imkev.com", + ".imlive.com", + "immigration.gov.tw", + "|http://tech2.in.com/video/", + "||incredibox.fr", + ".initiativesforchina.org", + ".inmediahk.net", + "||inmediahk.net", + "||innermongolia.org", + "instagram.com", + "||interfaceaddiction.com", + "||internationalrivers.org", + "|http://internet.org/", + "internetdefenseleague.org", + "internetfreedom.org", + "||internetpopculture.com", + "inxian.com", + "||inxian.com", + "||iphonehacks.com", + "||iphonix.fr", + "||ipicture.ru", + "ipobar.com", + "||ippotv.com", + "|https://*.iptorrents.com", + "|https://iptorrents.com", + "||ipvanish.com", + "iredmail.org", + "||ironicsoftware.com", + "||ironbigfools.compython.net", + "||ironpython.net", + ".beta.iset.com.tw/forum", + "http://beta.iset.com.tw/forum", + "forum.iset.com.tw", + ".islam.org.hk", + ".islamicity.com", + ".isaacmao.com", + "||!--isaacmao.com", + "||isgreat.org", + "||ismprofessional.net", + "isohunt.com", + "||israbox.com", + "blog.istef.info/2007/10/21/myentunnel", + ".istockphoto.com", + "isunaffairs.com", + "isuntv.com", + "itaboo.info", + "||itaboo.info", + "ithelp.ithome.com.tw", + "||itshidden.com", + ".itweet.net", + "|http://itweet.net", + ".iu45.com", + "||ixquick.com", + ".izaobao.us", + "||gmozomg.izihost.org", + ".izles.net", + "||j.mp", + "blog.jackjia.com", + "||japan-whores.com", + "jbtalks.cc", + "jbtalks.com", + "jbtalks.my", + "jeanyim.com", + "||jgoodies.com", + "||jiaoyou8.com", + ".jiehua.cz", + "||hk.jiepang.com", + "||tw.jiepang.com", + "jieshibaobao.com", + ".jimoparty.com", + "|http://jimoparty.com", + "jinbushe.org", + "||jinbushe.org", + "zhao.jinhai.de", + "jingpin.org", + "||jingpin.org", + "ac.jiruan.net", + "||jitouch.com", + "jkforum.net", + "research.jmsc.hku.hk/social", + "||joachims.org", + "||jobso.tv", + "||joeedelman.com", + "||journalofdemocracy.org", + "jpopforum.net", + "||juliereyc.com", + "||junauza.com", + ".junefourth-20.net", + "||junefourth-20.net", + "justfreevpn.com", + "zh-tw.justin.tv", + "justtristan.com", + "juziyue.com", + "||juziyue.com", + "||jwmusic.org", + "@@||music.jwmusic.org", + ".jyxf.net", + "||ka-wai.com", + ".kagyuoffice.org.tw", + "||kagyuoffice.org.tw", + ".kaiyuan.de", + "||kakao.com", + "kanzhongguo.com", + "kanzhongguo.eu", + "||karayou.com", + "||kcsoftwares.com", + ".kechara.com", + ".keepandshare.com/visit/visit_page.php?i=688154", + ".kendincos.net", + ".kenengba.com", + "||kenengba.com", + "||keontech.net", + "wiki.keso.cn/Home", + ".khmusic.com.tw", + "bbs.kimy.com.tw", + "kingdomsalvation.org", + "kinghost.com", + ".kingstone.com.tw", + "killwall.com", + "||killwall.com", + ".kissbbao.cn", + ".knowledgerush.com/kr/encyclopedia", + "||kodingen.com", + "@@||www.kodingen.com", + "||kompozer.net", + "||koolsolutions.com", + ".koornk.com", + "||koornk.com", + ".kui.name/event", + "kun.im", + "||kurtmunger.com", + "kusocity.com", + "kwongwah.com.my", + "kyohk.net", + ".kzeng.info", + "||kzeng.info", + "la-forum.org", + "ladbrokes.com", + "||labiennale.org", + "lagranepoca.com", + ".lalulalu.com", + "laogai.org", + "||laogai.org", + "laomiu.com", + ".laoyang.info", + "|http://laoyang.info", + "||laptoplockdown.com", + ".laqingdan.net", + "||larsgeorge.com", + "||lastfm.es", + "latelinenews.com", + "||lazarsearlymusic.com", + "||leecheukyan.org", + "||lematin.ch", + ".lemonde.fr", + "||lenwhite.com", + "lerosua.org", + "||lerosua.org", + "blog.lester850.info", + "||lesoir.be", + "letscorp.net", + "||letscorp.net", + "liansi.org", + ".lianyue.net", + "||liaowangxizang.net", + ".liaowangxizang.net", + "||liberal.org.hk", + "libertytimes.com.tw", + ".lidecheng.com/blog/fucking-gfw", + "limiao.net", + "abitno.linpie.com/use-ipv6-to-fuck-gfw", + "||line.me", + ".linglingfa.com", + ".linkideo.com", + "||api.linksalpha.com", + "||apidocs.linksalpha.com", + "||www.linksalpha.com", + "||help.linksalpha.com", + "||linux-engineer.net", + "||linuxconfig.org", + "||linuxreviews.org", + "linuxtoy.org/archives/installing-west-chamber-on-ubuntu", + ".lipuman.com", + "||listentoyoutube.com", + "listorious.com", + "||liudejun.com", + ".liuhanyu.com", + ".liujianshu.com", + "||liujianshu.com", + "liuxiaotong.com", + "||liuxiaotong.com", + "liu.lu", + ".liveleak.com", + "||liveleak.com", + ".livestation.com", + "livestream.com", + "||livestream.com", + "||livingonline.us", + "||livingstream.com", + "||livevideo.com", + ".livevideo.com", + "lizhizhuangbi.com", + "lkcn.net", + "|http://localpresshk.com", + "||lockdown.com", + "||lockestek.com", + "logbot.net", + "||logiqx.com", + "||logmike.com", + ".longhair.hk", + "||longtermly.net", + ".lookatgame.com", + "|http://lookatgame.com", + "||lookingglasstheatre.org", + "||lookpic.com", + ".lotuslight.org.tw", + "hkreporter.loved.hk", + "||lrfz.com", + "|http://lrip.org/", + ".lsd.org.hk", + "||lsd.org.hk", + "lsforum.net", + "||lsm.org", + "||lsmchinese.org", + "||lsmkorean.org", + ".lupm.org", + "||lupm.org", + "||lushstories.com", + "lvhai.org", + "||lvhai.org", + "||mh4u.org", + "m-team.cc/forum", + "www.macrovpn.com", + "||mad-ar.ch", + "|http://maiplus.com", + "||marc.info", + "marguerite.su", + "||martincartoons.com", + ".maiio.net", + "mail-archive.com", + "malaysiakini.com/cn", + "||makemymood.com", + "||marines.mil", + "markmail.org*message", + "||martau.com", + "maruta.be/forget", + ".marxist.com", + "||marxist.net", + ".marxists.org/chinese", + "||matainja.com", + "||mathiew-badimon.com", + "||matsushimakaede.com", + "mayimayi.com", + "||mcadforums.com", + "mcfog.com", + ".md-t.org", + "||md-t.org", + ".mediafire.com/?", + "||meetup.com", + "mefeedia.com", + "lich355.megabyet.net/%E7%BD%91%E7%BB%9C%E7%A5%9E%E5%85%BD%E5%8F%A4%E9%B8%BD%E8%BF%81%E7%A7%BB%E8%AE%B0", + ".megaporn.com", + "||megarotic.com", + "megavideo.com", + "||megurineluka.com", + "meirixiaochao.com", + "||melon-peach.com", + "memedia.cn", + ".memrijttm.org", + "merit-times.com.tw", + ".mesotw.com/bbs", + ".metacafe.com", + "||meteorshowersonline.com", + "||metrolife.ca", + "mgoon.com", + "||mgstage.com", + "mhradio.org", + "|http://michaelanti.com", + "||michaelmarketl.com", + "middle-way.net", + ".mihk.hk/forum", + "mihua.org", + ".mimivip.com", + "minghui.org", + "||minghui.org", + "minghui-school.org", + ".mingjinglishi.com", + "||mingjinglishi.com", + "mingjingnews.com", + "mingpao.com", + ".mingpaocanada.com", + ".mingpaomonthly.com", + "mingpaonews.com", + ".mingpaony.com", + ".mingpaosf.com", + ".mingpaotor.com", + ".mingpaovan.com", + ".mininova.org/tor/2593503", + ".minzhuhua.net", + "||minzhuhua.net", + "minzhuzhongguo.org", + "||miroguide.com", + "mirrorbooks.com", + "mitbbs.com", + ".mixero.com", + "||mixero.com", + "mixpod.com", + ".mixx.com", + "||mixx.com", + "||mizzmona.com", + ".mk5000.com", + ".mlcool.com", + "||mmaaxx.com", + "plurktop.mmdays.com", + ".mmmca.com", + "||mobatek.net", + ".mobile01.com", + "||mobileways.de", + ".mobypicture.com", + "|http://moby.to", + "||mrdoob.com", + "wiki.moegirl.org", + "||mog.com", + "molihua.org", + "||mondex.org", + "|http://www.monlamit.org", + "c1522.mooo.com", + "||monitorchina.org", + "bbs.morbell.com", + "||morningsun.org", + "||movabletype.com", + "||moviefap.com", + "||www.moztw.org", + "mp3ye.eu", + "||mp/", + "||mpettis.com", + "mpfinance.com", + "mpinews.com", + "mrtweet.com", + "||mrtweet.com", + "news.msn.com.tw", + ".msguancha.com", + "||mthruf.com", + "||multiply.com", + "multiproxy.org", + "forum.mymaji.com", + "multiupload.com", + "||muouju.com", + "||muselinks.co.jp", + "||muzi.com", + "||muzi.net", + "||mx981.com", + ".my-proxy.com", + "forum.my903.com", + "myactimes.com", + "||myaudiocast.com", + ".myav.com.tw/bbs", + "||bbs.mychat.to", + "||mychinamyhome.com", + ".mychinamyhome.com", + "||www.mycould.com", + "||myeclipseide.com", + ".myforum.com.hk", + "||myforum.com.hk", + "||myforum.com.uk", + ".myfreshnet.com", + "||myparagliding.com", + "||mypopescu.com", + "mysinablog.com", + ".myspace.com", + "||naacoalition.org", + "old.nabble.com", + "||naitik.net", + "||namsisi.com", + "nanyang.com", + "||nanyang.com", + ".nanyangpost.com", + "||nanyangpost.com", + ".nanzao.com", + "/^http:\\/\\/[^\\/]+line\\.naver\\.jp/", + "||navicat.com", + ".nakido.com", + "||nakido.com", + ".naol.ca", + "cyberghost.natado.com", + "||national-lottery.co.uk", + "||navy.mil", + "nccwatch.org.tw", + ".nch.com.tw", + ".ncn.org", + "||ncn.org/", + "||etools.ncol.com", + ".nde.de", + ".ndr.de", + "www.ned.org", + "||nekoslovakia.net", + "t.neolee.cn", + "netcolony.com", + "bolin.netfirms.com", + "zh.netlog.com", + "netme.cc", + "networkedblogs.com", + "neverforget8964.org", + "new-3lunch.net", + ".new-akiba.com", + ".newcenturymc.com", + "|http://newcenturymc.com", + "newcenturynews.com", + "||newchen.com", + ".newchen.com", + ".newgrounds.com", + "newlandmagazine.com.au", + "news100.com.tw", + ".newscn.org", + "||newscn.org", + "||newsminer.com", + "newspeak.cc/story", + ".newsancai.com", + "||newstapa.org", + ".newtaiwan.com.tw", + "newtalk.tw", + "||newtalk.tw", + "newyorktimes.com", + "hk*.nextmedia.com", + "tw*.nextmedia.com", + "static.apple.nextmedia.com", + "||nexton-net.jp", + "nexttv.com.tw", + "||nga.mil", + "ngensis.com", + ".nicovideo.jp/watch/", + "||nighost.org", + "nintendium.com", + ".dayaarmongol.ning.com", + "|http://dayaarmongol.ning.com", + "taiwanyes.ning.com", + "||njactb.org", + "njuice.com", + "||njuice.com", + "nlfreevpn.com", + "||nobel.se", + "nobelprize.org/nobel_prizes/peace/laureates/2010", + "nobodycanstop.us", + "||nobodycanstop.us", + "||nokogiri.org", + "||nokola.com", + "||noobbox.com", + "||novelasia.com", + "||nownews.com", + ".nowtorrents.com", + ".noypf.com", + "||noypf.com", + "||npa.go.jp", + ".nps.gov", + ".nrk.no", + "||nrk.no", + "||nsc.gov.tw", + "ntdtv.co", + "ntdtv.ca", + "ntdtv.org", + "ntdtv.ru", + "||cbs.ntu.edu.tw", + "||nuexpo.com", + "||nurgo-software.com", + ".nuvid.com", + "nuzcom.com", + ".nvquan.org", + ".nydus.ca", + "||nyt.com", + "||nytco.com", + ".nytimes.com", + "||nytimes.com", + "||nytimg.com", + "nysingtao.com", + "||nzchinese.net.nz", + "observechina.net", + "oclp.hk", + "||october-review.org", + "offbeatchina.com", + "||ogaoga.org", + "twtr2src.ogaoga.org", + ".oikos.com.tw/v4", + ".oiktv.com", + "oizoblog.com", + ".okayfreedom.com", + "old-cat.net", + "||olumpo.com", + ".olympicwatch.org", + "omgili.com", + "omnitalk.com", + "forum.omy.sg", + "news.omy.sg", + "showbiz.omy.sg", + ".on.cc", + "|https://onedrive.live.com/", + ".onlylady.cn", + "onmoon.net", + "onmoon.com", + ".oopsforum.com", + "open.com.hk", + "opendemocracy.net", + "myopenid.com", + "||myopenid.com", + "openid.net", + "||openid.net", + "||blog.openinkpot.org", + ".openleaks.org", + "||openleaks.org", + "openvpn.net", + "||openvpn.net", + "||openwebster.com", + "|http://help.opera.com", + "my.opera.com/dahema", + "||demo.opera-mini.net", + "opnir.com/215/myentunnel-ssh-autoproxy-cross-gfw", + "www.orchidbbs.com", + "||orient-doll.com", + "orientaldaily.com.my", + "||orientaldaily.com.my", + "||orn.jp", + "t.orzdream.com", + "||t.orzdream.com", + "tui.orzdream.com", + "||orzistic.org", + "||osfoora.com", + "m.oulove.org", + "||ourdearamy.com", + "oursogo.com", + "oursteps.com.au", + "xinqimeng.over-blog.com", + "share.ovi.com/media", + "|http://owl.li", + "|http://ht.ly", + "|http://htl.li", + "|http://mash.to", + "www.owind.com", + "|http://www.oxid.it", + "oyax.com", + ".ozchinese.com/bbs", + "||ow.ly", + "bbs.ozchinese.com", + ".ozyoyo.com", + ".pacificpoker.com", + ".packetix.net", + "page2rss.com", + "||pagodabox.com", + "||paint.net", + "||coveringweb.com", + ".palacemoon.com", + "forum.palmislife.com", + "||paper-replika.com", + "||eriversoft.com", + "||panoramio.com", + "paper.li", + "paperb.us", + ".panluan.net", + "||panluan.net", + ".panoramio.com", + "||pao-pao.net", + ".parade.com/dictators/2009", + "pastebin.com", + ".pastie.org", + "||pastie.org", + "||blog.pathtosharepoint.com", + "pbs.org/wgbh/pages/frontline/gate", + "pbs.org/wgbh/pages/frontline/tankman", + "pbwiki.com", + "||pbworks.com", + "||developers.box.net", + "||wiki.oauth.net", + "||wiki.phonegap.com", + "||wiki.jqueryui.com", + "||pbxes.com", + "||pbxes.org", + ".pcdiscuss.com", + "pcdvd.com.tw", + ".pchome.com.tw", + "|http://pcij.org/", + "||pct.org.tw", + "pdetails.com", + "||pdproxy.com", + "peacefire.org", + "peacehall.com", + ".peeasian.com", + ".pekingduck.org", + "||pekingduck.org", + "penchinese.com", + "||penchinese.net", + ".penchinese.net", + "pengyulong.com", + "||blog.pentalogic.net", + ".penthouse.com", + ".peopo.org", + "||peopo.org", + ".percy.in", + "perfectvpn.net", + "perfspot.com", + "||perlhowto.com", + "philly.com", + "||photofocus.com", + "||phuquocservices.com", + ".picidae.net", + "||img*.picturedip.com", + "picturesocial.com", + ".pidown.com", + ".pign.net", + "blog.pilotmoon.com", + ".pin6.com", + "||pin6.com", + ".ping.fm", + "||ping.fm/", + "||pinoy-n.com", + ".piring.com", + "||pixelqi.com", + "||css.pixnet.in", + "||pixnet.net", + ".pixnet.net", + ".pk.com", + "||placemix.com", + "|http://pictures.playboy.com", + "||playboy.com", + "plays.com.tw", + "||m.plixi.com", + "plm.org.hk", + "plunder.com", + ".plus28.com", + ".plusbb.com", + ".pmates.com", + "||po2b.com", + "||podictionary.com", + ".pokerstars.com", + "||pokerstars.com", + "zh.pokerstrategy.com", + "politicalchina.org", + "popyard.com", + "||popyard.org", + ".porn.com", + ".porn2.com", + ".pornbase.org", + ".pornhub.com", + "||pornmm.net", + ".pornoxo.com", + ".pornrapidshare.com", + "||pornrapidshare.com", + ".pornstarclub.com", + ".porntube.com", + ".pornvisit.com", + "postadult.com", + "||powercx.com", + "||www.powerpointninja.com", + "||cdn.printfriendly.com", + "||pts.org.tw", + "pubu.com.tw", + "puffinbrowser.com", + "|http://post.ly", + ".posterous.com", + "|http://posterous.com", + "||post.anyu.org", + "||bralio.com", + "||calebelston.com", + "||designerol.com", + "||blog.fizzik.com", + "||nf.id.au", + "||markmilian.com", + "||log.riku.me", + "||sogrady.me", + "||vatn.org", + "||veempiire.com", + "||www.vegorpedersen.com", + "||ventureswell.com", + "||webfee.tk", + "||whereiswerner.com", + "||bill.zhong.pp.ru", + ".power.com", + "||power.com", + "powerapple.com", + "||abc.pp.ru", + "heix.pp.ru", + "||prayforchina.net", + "||premeforwindows7.com", + "||presentationzen.com", + "||prestige-av.com", + "prisoner-state-secret-journal-premier", + "||privacybox.de", + "||privateinternetaccess.com", + "privatepaste.com", + "||privatepaste.com", + "privatetunnel.com", + "||privatetunnel.com", + "||procopytips.com", + "provideocoalition.com", + "||prosiben.de", + "proxifier.com", + "api.proxlet.com", + "||proxomitron.info", + "proxy.org", + ".proxypy.net", + "||proxypy.net", + "proxyroad.com", + "prozz.net", + "psblog.name", + "||psblog.name", + "psiphon.ca", + ".ptt.cc", + ".puffstore.com", + "||pullfolio.com", + "||pureconcepts.net", + "||purepdf.com", + "||purevpn.com", + ".putlocker.com/file", + "pwned.com", + "python.com", + ".python.com.tw", + "|http://python.com.tw", + ".qanote.com", + "||qanote.com", + "qi-gong.me", + ".qidian.ca", + ".qienkuen.org", + "||qienkuen.org", + "||qiwen.lu", + "qixianglu.cn", + "bbs.qmzdd.com", + ".qkshare.com", + "qoos.com", + "||qoos.com", + "blog.qooza.hk*dafengqixi", + "||efksoft.com", + "||qstatus.com", + "||qtweeter.com", + "||qtrac.eu", + "||quadedge.com", + "||www.getyouram.com", + "||hiitch.com", + "qusi8.net", + ".qvodzy.org", + "nemesis2.qx.net*pages*MyEnTunnel", + "qxbbs.org", + ".radicalparty.org", + "radioaustralia.net.au", + "opml.radiotime.com", + "||radiovaticana.org", + "||radiovncr.com", + "||raidcall.com.tw", + "rangzen.org", + "|http://blog.ranxiang.com/", + "ranyunfei.com", + "||ranyunfei.com", + ".rapbull.net", + "||rapidshare8.com", + ".rapidsharedata.com", + "rcinet.ca", + ".read100.com", + ".readingtimes.com.tw", + "||readingtimes.com.tw", + "||readmoo.com", + ".realraptalk.com", + ".recordhistory.org", + "redchinacn.org", + ".redtube.com", + "referer.us", + "||referer.us", + "||reflectivecode.com", + "relaxbbs.com", + "renminbao.com", + ".renyurenquan.org", + "||renyurenquan.org", + "subacme.rerouted.org", + ".revleft.com", + "retweetist.com", + "||retweetrank.com", + "connectedchina.reuters.com", + "|http://www.reuters.com/news/video", + "revver.com", + ".rfa.org", + ".rfachina.com", + ".rfamobile.org", + "||rferl.org", + ".rfi.fr", + "||rfi.fr", + "|http://rfi.my/", + ".rhcloud.com", + "|http://vds.rightster.com/", + ".rileyguide.com", + "riku.me/", + ".rlwlw.com", + "||rlwlw.com", + ".rmjdw.com", + "chinese.rnw.nl", + ".rnw.nl", + "robtex.com", + "||robustnessiskey.com", + "||rocmp.org", + "||rojo.com", + "||ronjoneswriter.com", + ".roodo.com", + ".rotten.com", + ".rsf.org", + "||rsf.org/", + ".rsf-chinese.org", + "||rsf-chinese.org", + ".rssmeme.com", + "||rssmeme.com", + ".rthk.hk", + "|http://rthk.hk", + ".rthk.org.hk", + "|http://rthk.org.hk", + "rti.org.tw", + ".ruanyifeng.com/blog*some_ways_to_break_the_great_firewall", + ".rushbee.com", + "rutube.ru", + ".ruyiseek.com", + ".rxhj.net", + "||s1heng.com", + "||s8forum.com", + "sacom.hk", + "||sacom.hk", + "||sadpanda.us", + ".saiq.me", + "||saiq.me/", + ".salvation.org.hk", + "||salvation.org.hk", + ".samair.ru/proxy/type-01", + "sammyjs.org", + "sandnoble.com/bookSearch/isbnInquiry.asp", + "||sankaizok.com", + ".sanmin.com.tw", + "sapikachu.net", + "savemedia.com", + "savetibet.de", + "savetibet.fr", + "savetibet.nl", + "savetibet.org", + "savetibet.ru", + "savevid.com", + "||say2.info", + ".scmp.com", + ".scmpchinese.com", + ".scribd.com", + "||scriptspot.com", + "seapuff.com", + "domainhelp.search.com", + "secretchina.com", + "||secretgarden.no", + "||default.secureserver.net", + "securitykiss.com", + "seesmic.com", + "||seevpn.com", + "||seezone.net", + "sejie.com", + ".sendspace.com/file", + "|http://tweets.seraph.me/", + "sesawe.net", + "||sesawe.net", + ".sesawe.org", + "||sethwklein.net", + "forum.setty.com.tw", + ".sevenload.com", + "||sevenload.com", + ".sex.com", + ".sex-11.com", + "||sex3.com", + ".sex8.cc", + ".sexandsubmission.com", + ".sexhu.com", + ".sexhuang.com", + "sexinsex.net", + "||sexinsex.net", + "67.220.91.18", + "67.220.91.23", + "|http://*.sf.net", + ".sfileydy.com", + "shadow.ma", + "||shadowsocks.org", + "shahamat-english.com", + ".shangfang.org", + "||shangfang.org", + "shapeservices.com", + ".sharebee.com", + "||sharecool.org", + "||sharkdolphin.com", + "sharpdaily.com.hk", + "||sharpdaily.com.hk", + ".sharpdaily.hk", + ".shaunthesheep.com", + "||shaunthesheep.com", + "sheikyermami.com", + "||shellmix.com", + "shenshou.org", + "shenyunperformingarts.org", + "shenzhoufilm.com", + "||shenzhoufilm.com", + "shinychan.com", + ".shitaotv.org", + "||shixiao.org", + "||shizhao.org", + ".shizhao.org", + "shkspr.mobi/dabr", + "||shodanhq.com", + ".shopping.com", + ".showtime.jp", + "ch.shvoong.com", + ".shwchurch3.com", + "|http://shwchurch3.com", + "simplecd.org", + "||simplecd.org", + "@@||simplecd.me", + "simpleproductivityblog.com", + "bbs.sina.com/", + "bbs.sina.com%2F", + "blog.sina.com.tw", + "dailynews.sina.com/", + "dailynews.sina.com%2F", + "forum.sina.com.hk", + "home.sina.com", + "||magazines.sina.com.tw", + "news.sina.com.hk", + "news.sina.com.tw", + "singtao.com", + "||singtao.com", + "news.singtao.ca", + "||cdp.sinica.edu.tw", + "sino-monthly.com", + "||sinocast.com", + "sinocism.com", + "sinomontreal.ca", + ".sinonet.ca", + ".sinopitt.info", + ".sinoants.com", + "||sinoants.com", + "sinoquebec.com", + "||site90.net", + ".sitebro.tw", + "||siteks.uk.to", + "||sitemaps.org", + "sitetag.us", + "sis.xxx", + "||sis001.com", + "sis001.us", + "||sjum.cn/", + "||skimtube.com", + "||skybet.com", + "|http://skyhighpremium.com/", + "bbs.skykiwi.com", + "|http://www.skype.com/intl/", + "|http://www.skype.com/zh-Hant", + "||skyvegas.com", + ".xskywalker.com", + "||xskywalker.com", + "m.slandr.net", + "||slavasoft.com", + "||slheng.com", + ".slideshare.net", + "forum.slime.com.tw", + ".slutload.com", + "smhric.org", + "||sndcdn.com", + "||so-ga.net", + ".so-ga.net", + "||so-news.com", + ".so-news.com", + "home.so-net.net.tw/yisa_tsai", + "||soc.mil/", + "||sockslist.net", + ".sod.co.jp", + ".softether.org", + "||softether.org", + ".softether-download.com", + "||softether-download.com", + "||sogclub.com", + "sohcradio.com", + "||sohcradio.com", + "||www.somee.com", + "||sorting-algorithms.com", + ".soumo.info", + "||soup.io/", + "@@||static.soup.io", + ".slinkset.com", + "||slickvpn.com", + "||snapchat.com", + ".snaptu.com", + "||snaptu.com", + "sneakme.net", + "||snooper.co.uk", + ".sobees.com", + "||sobees.com", + "socialwhale.com", + ".softether.co.jp", + "||softwarebychuck.com", + "blog.sogoo.org", + "soh.tw", + "||soh.tw", + "sohfrance.org", + "||sohfrance.org", + "chinese.soifind.com", + "sokamonline.com", + "||somee.com", + ".songjianjun.com", + "||songjianjun.com", + ".sonidodelaesperanza.org", + ".sopcast.com", + ".sopcast.org", + "||soundcloud.com", + ".soundofhope.kr", + "soundofhope.org", + "||soundofhope.org", + "||soupofmedia.com", + ".sourceforge.net", + "southnews.com.tw", + "sowers.org.hk", + "||wlx.sowiki.net", + "||space-scape.com", + ".spankwire.com", + "||spb.com", + "||spencertipping.com", + "spinejs.com", + "||sproutcore.com", + "squarespace.com", + "||ssh91.com", + "www.stackfile.com/freedur", + "||standupfortibet.org", + "usinfo.state.gov", + ".starp2p.com", + "||starp2p.com", + "||startpage.com", + ".state168.com", + "||steel-storm.com", + "sthoo.com", + "||sthoo.com", + ".stickam.com", + "stickeraction.com/sesawe", + "||stonegames.net", + "||stoneip.info", + "||storagenewsletter.com", + ".stoptibetcrisis.net", + "||stoptibetcrisis.net", + "||stoweboyd.com", + "||streamingthe.net", + "cn.streetvoice.com/article", + "cn.streetvoice.com/diary", + "cn2.streetvoice.com", + "tw.streetvoice.com", + "||strongvpn.com", + ".student.tw/db", + "stupidvideos.com", + ".sugarsync.com", + "||sugarsync.com", + "summify.com", + "sun1911.com", + ".suoluo.org", + "api.supertweet.net", + "www.supertweet.net", + ".surfeasy.com.au", + "support/youtube/bin/request.py?contact_type=abuse&", + "/support/youtube/bin/static.py?page=start.cs&", + "||svwind.com", + "||sweux.com", + "||swift-tools.net", + ".sydneytoday.com", + ".sylfoundation.org", + "||syncback.com", + "||sysadmin1138.net", + "sysresccd.org", + ".sytes.net", + "blog.syx86.com/2009/09/puff", + "blog.syx86.cn/2009/09/puff", + ".szbbs.net", + "||szetowah.org.hk", + ".t35.com", + ".t66y.com", + "||t66y.com", + ".taa-usa.org", + "|http://taa-usa.org", + "tabtter.jp", + ".tacem.org", + "||tafaward.com", + "tagwalk.com", + "||tagwalk.com", + "taipei.gov.tw", + ".taipeisociety.org", + "||taipeisociety.org", + ".taiwandaily.net", + "||taiwantt.org.tw", + "||taiwandaily.net", + "taiwankiss.com", + "taiwannation.com", + "taiwannation.com.tw", + "||taiwannews.com.tw", + "taiwanus.net", + "taiwanyes.com", + "taiwan-sex.com", + "||tamiaode.tk", + "||tanc.org", + "tangben.com", + ".taolun.info", + "||taolun.info", + "blog.taragana.com", + ".taweet.com", + "||taweet.com", + "||tbpic.info", + "||tbsec.org", + "||tbsn.org", + ".tbsseattle.org", + "tchrd.org", + "tcno.net*doc*tor", + "||teamseesmic.com", + ".teashark.com/download.html", + "||techlifeweb.com", + "||techparaiso.com", + "||teck.in/", + ".telecomspace.com", + "||telegraph.co.uk", + ".tenacy.com", + "||theampfactory.com", + "||theappleblog.com", + "||theatrum-belli.com", + "||thebodyshop-usa.com", + "theblemish.com", + "||thebcomplex.com", + ".thechinabeat.org", + "||thedieline.com", + "||thedw.us", + "||thegatesnotes.com", + "|http://thegioitinhoc.vn/", + "thehousenews.com", + "||thehun.net", + "||thelifeyoucansave.com", + "||thelius.org", + "thepiratebay.org", + "||thepiratebay.se", + "theqii.info/blog", + "thereallove.kr", + "||thesartorialist.com", + "thespeeder.com", + "||thetibetpost.com", + "thetrotskymovie.com/", + "thevivekspot.com", + "||thewgo.org", + ".thisav.com", + "|http://thisav.com", + "thkphoto.com", + "||thomasbernhard.org", + "threatchaos.com", + "||throughnightsfire.com", + ".thumbzilla.com", + "||thywords.com", + "tiananmenmother.org", + "||tiananmenuniv.com", + "||tiananmenuniv.net", + "||tiandixing.org", + ".tianhuayuan.com", + "tiantibooks.org", + ".tianzhu.org", + ".tibet.at", + ".tibet.com", + "||tibet.com", + ".tibet.net", + "||tibet.net", + "tibet.org.tw", + "tibetalk.com", + ".tibetanyouthcongress.org", + "||tibetanyouthcongress.org", + ".tibetcorps.org", + "tibetfund.org", + ".tibetjustice.org", + "tibetoffice.org", + "tibetonline.com", + "||tibetonline.com", + "||tibetonline.tv", + ".tibetonline.tv", + ".tibetsun.com", + "||tibetwrites.org", + ".time.com/time/time100/leaders/profile/rebel", + ".time.com/time/specials/packages/article/0,28804", + ".time.com/time/magazine", + "||blog.tiney.com", + "tinychat.com", + "||tinypaste.com", + "||tidyread.com", + ".tistory.com", + "||tkcs-collins.com", + "||tkforum.tk", + ".tmagazine.com", + "||tmagazine.com", + "|http://tmi.me", + ".tnaflix.com", + "||tnaflix.com", + "togetter.com", + ".tokyo-247.com", + "tokyo-hot.com", + "||tokyocn.com", + ".tono-oka.jp", + "tonyyan.net", + ".toodoc.com", + "toonel.net", + ".topnews.in", + "||topshare.us", + ".topshareware.com", + "||topstyle4.com", + "||topsy.com", + "topsy.com", + "tora.to", + ".torproject.org", + "||torproject.org", + "torrentcrazy.com", + "||torrentcrazy.com", + "||torvpn.com", + "touch99.com", + "||toutfr.com", + ".tpi.org.tw", + "||tpi.org.tw", + "||transgressionism.org", + "||transparency.org", + "||travelinlocal.com", + "trendsmap.com", + "||trendsmap.com", + ".trialofccp.org", + "||trialofccp.org", + "||tripod.com", + "@@||www.tripod.com", + ".trouw.nl", + ".trt.net.tr", + "trtc.com.tw", + "trulyergonomic.com", + "||trustedbi.com", + ".truth101.co.tv", + "|http://truth101.co.tv", + "||truthcn.com", + ".truveo.com", + ".tsemtulku.com", + "tsquare.tv", + "tsunagarumon.com", + "|http://www.tsuru-bird.net/", + ".tsctv.net", + "||tt1069.com", + "||tttan.com", + ".tttan.com", + "bb.ttv.com.tw/bb", + ".tuanzt.com", + ".tube.com", + "tube8.com", + "||tube8.com", + "tubecao.com", + "||tubewolf.com", + "tuidang.net", + "tuidang.org", + "bbs.tuitui.info", + "||tumutanzi.com", + ".tunein.com", + "|http://tunein.com", + "||tunnelbear.com", + ".turbobit.net", + "|http://turbobit.net", + "||turningtorso.com", + "||tuxtraining.com", + "||301works.org", + "||365singles.com.ar", + "||all-that-is-interesting.com", + "||art-or-porn.com", + "||news.atebits.com", + "||tumblr.awflasher.com", + "||badassjs.com", + "||basetimesheightdividedby2.com", + "||benjaminste.in", + "||blog.birdhouseapp.com", + "||bobulate.com", + "||bonjourlesgeeks.com", + "||bookshelfporn.com", + "||blog.boxcar.io", + "||blog.bitly.com", + "||chevronwp7.com", + "||clientsfromhell.net", + "||codeboxapp.com", + "||cookingtothegoodlife.com", + "||cubicle17.com", + "||photos.dailyme.com", + "||davidslog.com", + "||blog.davidziegler.net", + "||blog.dayoneapp.com", + "||drewolanoff.com", + "||blog.dribbble.com", + "||chaos.e-spacy.com", + "||eamonnbrennan.com", + "||everyday-carry.com", + "||eyespirit.info", + "||life.fly4ever.me", + "||fredwilson.vc", + "||fuckgfw.com", + "||geekmade.co.uk", + "||generesis.com", + "||news.ghostery.com", + "||givemesomethingtoread.com", + "||blog.gowalla.com", + "||heiyo.info", + "||hellonewyork.us", + "||blog.hotpotato.com", + "||ialmostlaugh.com", + "||blog.ifttt.com", + "||blog.instagram.com", + "||blog.instapaper.com", + "||interestinglaugh.com", + "||blog.iphone-dev.org", + "||jayparkinsonmd.com", + "||blog.joeyrobert.org", + "||kt.kcome.org", + "||my.keso.cn", + "||blog.kickstarter.com", + "||blog.kl.am", + "||blog.klip.me", + "||t.kun.im", + "||blog.lightbox.com", + "||littlebigdetails.com", + "||lovequicksilver.com", + "||lyricsquote.com", + "||madmenunbuttoned.com", + "||marco.org", + "||minimalmac.com", + "||mixedmedialabs.com", + "||modfetish.com", + "||blog.mongodb.org", + "||navigeaters.com", + "||london.neighborhoodr.com", + "||blog.path.com", + "||parislemon.com", + "||blog.pikchur.com", + "||blog.rockmelt.com", + "||blog.romanandreg.com", + "||solozorro.tk", + "||blog.sparrowmailapp.com", + "||stuffimreading.com", + "||blog.summify.com", + "||thedailywh.at", + "||theinternetwishlist.com", + "||thisiswhyyouarefat.com", + "||www.tiffanyarment.com", + "||tjholowaychuk.com", + "||tomsc.com", + "||blog.topify.com", + "||thehungrydudes.com", + "||tumblweed.org", + "||status.twhirl.org", + "||blog.usa.gov", + "||photo.utom.us", + "||v-state.org", + "||wellplacedpixels.com", + "||whydidyoubuymethat.com", + "||wordboner.com", + "||wordsandturds.com", + "||worstthingieverate.com", + "||xmusic.fm", + "||xuzhuoer.com", + "||bd.zhe.la", + "||cocoa.zonble.net", + ".tv.com", + "||www.tv.com", + "|http://tv.com", + "||tv-intros.com", + "tvants.com", + "forum.tvb.com/", + "tvboxnow.com", + "tvider.com", + "||tvunetworks.com", + ".tw-npo.org", + "twapperkeeper.com", + "||twapperkeeper.com", + "||twaud.io", + ".twaud.io", + ".twbbs.net.tw", + "twbbs.org", + "twbbs.tw", + "||twblogger.com", + "tweepmag.com", + ".tweepml.org", + "||tweepml.org", + ".tweetbackup.com", + "||tweetbackup.com", + "tweetboard.com", + "||tweetboard.com", + ".tweetboner.biz", + "||tweetboner.biz", + ".tweetdeck.com", + "||tweetdeck.com", + "|http://deck.ly", + "||mtw.tl", + "||tweetedtimes.com", + "||tweetmylast.fm", + "tweetphoto.com", + "||tweetphoto.com", + "||tweetrans.com", + "tweetree.com", + "||tweetree.com", + "||tweetwally.com", + "tweetymail.com", + "||twftp.org", + "twibase.com", + ".twibble.de", + "||twibble.de", + "twibbon.com", + "||twibs.com", + "twicsy.com", + ".twifan.com", + "|http://twifan.com", + "twiffo.com", + "||twiffo.com", + "twilog.org", + "twimbow.com", + "||twimbow.com", + "||twindexx.com", + "twipple.jp", + "||twipple.jp", + "||twip.me/", + "twistar.cc", + "twisternow.com", + "twistory.net", + "twitbrowser.net", + "||twitcause.com", + "||twitgether.com", + "||twiggit.org", + "twitgoo.com", + "twitiq.com", + "||twitiq.com", + ".twitlonger.com", + "||twitlonger.com", + "|http://tl.gd/", + "twitoaster.com", + "||twitoaster.com", + "||twitonmsn.com", + ".twitpic.com", + "||twitpic.com", + "twitreferral.com", + ".twit2d.com", + "||twit2d.com", + ".twitstat.com", + "||twitstat.com", + "||dotheyfolloweachother.com", + "||firstfivefollowers.com", + "||retweeteffect.com", + "||tweeplike.me", + "||tweepguide.com", + "||turbotwitter.com", + ".twitvid.com", + "||twitvid.com", + "199.59.148.20", + "|http://t.co", + "|https://t.co", + "|http://twt.tl", + "twittbot.net", + "twitter.com", + "||twitter.com", + "||twitter.jp", + "||twttr.com", + "/^https?:\\/\\/[^\\/]+twitter\\.com/", + "||twitter4j.org", + ".twittercounter.com", + "||twittercounter.com", + "twitterfeed.com", + ".twittergadget.com", + "||twittergadget.com", + ".twitterkr.com", + "||twitterkr.com", + "||twittermail.com", + "twittertim.es", + "||twittertim.es", + "twitthat.com", + "||twitturk.com", + ".twitturly.com", + "||twitturly.com", + ".twitzap.com", + "twiyia.com", + ".twreg.info", + "||twreg.info", + "||twstar.net", + ".twtkr.com", + "|http://twtkr.com", + "||twimg.com", + "twtrland.com", + "twurl.nl", + ".twyac.org", + "||twyac.org", + ".tycool.com", + "||tycool.com", + "tynsoe.org", + "||tzangms.com", + "||typepad.com", + "@@||www.typepad.com", + "@@||static.typepad.com", + "||blog.expofutures.com", + "||legaltech.law.com", + "||www.loiclemeur.com", + "||latimesblogs.latimes.com", + "||blog.palm.com", + "||blogs.tampabay.com", + "||contests.twilio.com", + "embr.in", + "||embr.in", + "guomin.us/login", + "||uberproxy.net", + ".srcf.ucam.org/salon/", + "||ucdc1998.org", + "|http://hum*.uchicago.edu/faculty/ywang/history/", + "||uderzo.it", + "||udn.com", + ".udn.com", + "ufreevpn.com", + ".ugo.com", + "uhrp.org", + "uighurbiz.net", + ".ulike.net", + "ukliferadio.co.uk", + "||ukliferadio.co.uk", + "ultravpn.fr", + "||ultravpn.fr", + "ultraxs.com", + "||unblock.cn.com", + "||unblocksit.es", + "uncyclomedia.org", + "uncyclopedia.info", + "|http://uncyclopedia.tw", + "||unholyknight.com", + ".uni.cc", + "unicode.org", + ".uniteddaily.com.my/index.php?", + ".unix100.com", + "||unknownspace.org", + "unpo.org", + "||uocn.org", + "tor.updatestar.com", + ".upload4u.info", + ".uploaded.to/file", + "|http://uploaded.to/file", + ".uploadstation.com/file", + "www.urbanoutfitters.com", + "myshare.url.com.tw/", + "||urlborg.com", + "||urlparser.com", + "us.to", + "||usacn.com", + "beta.usejump.com", + "||usfk.mil", + "earthquake.usgs.gov/eqcenter/recenteqsww/Maps/10/105_30.php", + "||usmc.mil", + ".ustream.tv", + "||ustream.tv", + "usus.cc", + ".uushare.com", + "|http://uushare.com", + ".uwants.com", + ".uwants.net", + "||uyghurcongress.org", + "uygur.org", + "v70.us", + "|http://v7976888.info/", + "||vaayoo.com", + "||value-domain.com", + ".van698.com", + ".vanemu.cn", + ".vanilla-jp.com", + "vansky.com", + "||vapurl.com", + "||vcf-online.org", + "||vcfbuilder.org", + ".velkaepocha.sk", + ".venbbs.com", + ".venchina.com", + "veoh.com", + ".verizon.net", + "||verybs.com", + ".vft.com.tw", + "videobam.com", + "||videobam.com", + ".videomo.com", + "||vidoemo.com", + "||viki.com", + "vimeo.com", + "||vimgolf.com", + "||vimperator.org", + "||vincnd.com", + "||vinniev.com", + "video.tiscali.it/canali/truveo", + ".vllcs.org", + "||vmixcore.com", + "cn.voa.mobi", + "tw.voa.mobi", + ".voachineseblog.com", + "||voachineseblog.com", + "voagd.com", + "voacantonese.com", + "||voacantonese.com", + "voachinese.com", + "||voachinese.com", + "voatibetan.com", + "||voatibetan.com", + ".voanews.com", + "vocn.tv", + ".vot.org", + "||vot.org", + "www.voy.com", + "||www.vpncup.com", + "vpnbook.com", + "vpnfire.com", + "||vpngate.jp", + ".vpngate.net", + "||vpngate.net", + "||vpnpop.com", + "||vpnpronet.com", + "||vtunnel.com", + "lists.w3.org/archives/public", + "||waffle1999.com", + ".jyzj.waqn.com", + "||jyzj.waqn.com", + ".wahas.com", + ".waigaobu.com", + "waikeung.org/php_wind", + ".waiwaier.com", + "|http://waiwaier.com", + "wallornot.org", + "||wallpapercasa.com", + "||www.wan-press.org", + "||wanderinghorse.net", + "||wangafu.net", + "||wangjinbo.org", + ".wangjinbo.org", + "wanglixiong.com", + "wangruoshui.net", + "www.wangruowang.org", + "want-daily.com", + "wapedia.mobi/zhsimp", + ".wattpad.com", + "||wattpad.com", + ".makzhou.warehouse333.com", + "washeng.net", + ".wdf5.com", + ".wearn.com", + "||wearn.com", + "||hudatoriq.web.id", + "||web2project.net", + "webbang.net", + "weblagu.com", + "||webmproject.org", + "webs-tv.net", + "webshots.com", + "websitepulse.com/help/testtools.china-test.html", + "webworkerdaily.com", + "weeewooo.net/hss/hotspot_cn", + ".weekmag.info", + ".wefong.com", + "weiboleak.com", + "weijingsheng.org", + ".weiming.info", + "weiquanwang.org", + "|http://weisuo.ws", + "wengewang.com", + ".wengewang.org", + "||wengewang.org", + ".wenhui.ch", + "||wenku.com", + "|http://blog.wenweipo.com/", + "wenxuecity.com", + ".wenyunchao.com", + "||wenyunchao.com", + "westca.com", + "||westca.com", + "||westernwolves.com", + "hkg.westkit.net", + "www.wet123.com", + "||wepn.info", + "wetpussygames.com", + ".wetplace.com", + "wexiaobo.org", + "||wexiaobo.org", + "wezhiyong.org", + "||wezone.net", + ".wforum.com", + "||wforum.com/", + ".whatblocked.com", + "||whatblocked.com", + ".whippedass.com", + "whylover.com", + "||whyx.org", + "evchk.wikia.com/wiki/%E5%A4%A7%E7%B4%80%E5%85%83%E6%99%82%E5%A0%B1", + "cn.uncyclopedia.wikia.com", + "zh.uncyclopedia.wikia.com", + "||wikileaks.ch", + "||wikileaks.de", + "||wikileaks.eu", + "||wikileaks.lu", + ".wikileaks.org", + "||wikileaks.org", + "||wikileaks.pl", + "||collateralmurder.com", + "||collateralmurder.org", + "wikilivres.info/wiki/%E9%9B%B6%E5%85%AB%E5%AE%AA%E7%AB%A0", + "||wikimapia.org", + "||secure.wikimedia.org", + "||wikimedia.org.mo", + "zh.wikinews.org", + "||wikiwiki.jp", + "||sports.williamhill.com", + "||willw.net", + "||windowsphoneme.com", + "winwhispers.info", + "||wiredbytes.com", + "||wiredpen.com", + ".wisevid.com", + "||wisevid.com", + ".witnessleeteaching.com", + ".witopia.net", + ".wo.tc", + "||woeser.com", + "|http://woesermiddle-way.net/", + "wolfax.com", + "||wolfax.com", + ".womensrightsofchina.org", + "||womensrightsofchina.org", + "woopie.jp", + "||woopie.jp", + "woopie.tv", + "||woopie.tv", + "||workatruna.com", + ".worldcat.org", + "worldjournal.com", + ".wordpress.com", + "||wordpress.com", + "woxinghuiguo.com", + "wow-life.net", + ".wpoforum.com", + "||wpoforum.com", + ".wqlhw.com", + ".wqyd.org", + "||wqyd.org", + "wrchina.org", + "wretch.cc", + ".wsj.com", + ".wtfpeople.com", + ".wuala.com", + "wuerkaixi.com", + "wufi.org.tw", + "wujie.net", + "wujieliulan.com", + "||wujieliulan.com", + "wukangrui.net", + "wwitv.com", + "wzyboy.im/post/160", + "|http://www.x-berry.com/goagent", + "||x-art.com", + "||x-wall.org", + "x1949x.com", + "x365x.com", + "xanga.com", + "||xbabe.com", + ".xbookcn.com", + "||xbookcn.com", + "||xcafe.in", + "x.xcity.jp", + ".xcritic.com", + "destiny.xfiles.to/ubbthreads", + ".xfm.pp.ru", + "xgmyd.com", + "xh4n.cn/blog", + "xhamster.com", + "one.xthost.info", + ".xiaochuncnjp.com", + "s.xiaod.in", + ".xiaohexie.com", + "||xiaoma.org", + "||xiaohexie.com", + "xiezhua.com", + ".xing.com", + "||xing.com", + ".xinmiao.com.hk", + "||xinmiao.com.hk", + "xinsheng.net", + "xinshijue.com", + "xinhuanet.org", + "|http://xinyubbs.net", + "xizang-zhiye.org", + "xjp.cc", + "||xjp.cc", + "||xml-training-guide.com", + "xmovies.com", + "||xnxx.com", + "xpdo.net", + "||xpud.org", + "||k2.xrea.com", + "||xtube.com", + "blog.xuite.net", + "vlog.xuite.net", + "xuzhiyong.net", + "||xuchao.org", + "xuchao.net", + "||xuchao.net", + "xvedios.com", + ".xvideos.com", + ".xxbbx.com", + "||xxxx.com.au", + "xys.org", + "xysblogs.org", + "xyy69.com", + "xyy69.info", + "page.bid.yahoo.com", + "blogs.yahoo.co.jp", + "buy.yahoo.com.tw/gdsale", + "hk.yahoo.com", + "hk.knowledge.yahoo.com", + "hk.myblog.yahoo.com", + "hk.news.yahoo.com", + "hk.rd.yahoo.com", + "hk.search.yahoo.com/search", + "hk.video.news.yahoo.com/video", + "meme.yahoo.com", + "tw.yahoo.com", + "tw.myblog.yahoo.com", + "tw.news.yahoo.com", + "pulse.yahoo.com", + "upcoming.yahoo.com", + "video.yahoo.com", + "||yahoo.com.hk", + "yam.com", + "||yam.com", + "yasni.co.uk", + "||yasukuni.or.jp", + ".ydy.com", + "||yeelou.com", + "yeeyi.com", + "yegle.net", + "||yegle.net", + "yfrog.com", + "||yhcw.net", + ".yi.org", + ".yidio.com", + "||yidio.com", + "yilubbs.com", + "xa.yimg.com", + ".yipub.com", + "||yipub.com", + ".yogichen.org", + "||yogichen.org", + "yong.hu", + ".yorkbbs.ca", + "||youxu.info", + ".yyii.org", + "||yyii.org", + ".yzzk.com", + "||yzzk.com", + ".youjizz.com", + "||youjizz.com", + "youmaker.com", + "youpai.org", + "||youpai.org", + ".your-freedom.net", + ".yousendit.com", + "||yousendit.com", + "youthbao.com", + ".youthnetradio.org/tmit/forum", + "blog.youthwant.com.tw", + "share.youthwant.com.tw", + "topic.youthwant.com.tw", + ".youporn.com", + "||youporn.com", + "||youtu.be", + ".youtube.com", + "||youtube.com", + "||youtube-nocookie.com", + ".youtubecn.com", + "youversion.com", + "||youversion.com", + "blog.youxu.info/2010/03/14/west-chamber", + "||ytimg.com", + "ytht.net", + "yuanming.net", + "||yunchao.net", + "||yvesgeleyn.com", + "yx51.net", + "||yymaya.com", + "zacebook.com", + "||zannel.com", + "||tap11.com", + "luntan.zaobao.com", + ".zaobao.com.sg", + "||zaobao.com.sg", + ".zaozon.com", + "||zarias.com", + "www.zaurus.org.uk", + ".zdnet.com.tw/news/software/0,2000085678,20111187,00", + ".zengjinyan.org", + "||zeutch.com", + "www.zfreet.com/post/usejump-browns.html", + "zgzcjj.net", + ".zhanbin.net", + "||zhanbin.net", + "zhenghui.org", + "zhenlibu.info", + "||zhenlibu.info", + ".zhinengluyou.com", + "||zhongguotese.net", + "||zhongmeng.org", + "||zhreader.com", + "zhuichaguoji.org", + "||zhuichaguoji.org", + ".ziddu.com/download", + "||zillionk.com", + "zinio.com", + "||zinio.com", + "||ziplib.com", + ".zkaip.com", + "||zkaip.com", + "||zlib.net/", + "zmw.cn", + "zomobo.net", + ".zonaeuropa.com", + "||zonaeuropa.com", + "||zootool.com", + ".zoozle.net", + "writer.zoho.com", + ".zshare.net/download", + ".zsrhao.com", + ".zuo.la", + "||zuo.la", + ".zuola.com", + "||zuola.com", + "||zvereff.com", + "zyzc9.com", + "freenet", + "q=freedom", + "q%3Dfreedom", + "remembering_tiananmen_20_years", + "search*safeweb", + "q=triangle", + "q%3DTriangle", + "ultrareach", + "ultrasurf", + "zhengjian", + "%E7%BD%A2%E8%AF%BE", + "search*%E5%8D%9A%E8%AE%AF", + "search*%E5%A4%A7%E7%BA%AA%E5%85%83", + "search*%E9%92%93%E9%B1%BC%E5%B2%9B", + "%E5%8A%A8%E6%80%81%E7%BD%91", + "search*%E5%A4%9A%E7%B6%AD", + "search*%E5%A4%9A%E7%BB%B4", + "search*freegate", + "search*%E6%B3%95%E4%BC%9A", + "%E6%B3%95%E8%BD%AE%E5%A4%A7%E6%B3%95", + "%E6%B3%95%E8%BC%AA%E5%8A%9F", + "%E6%B3%95%E8%BD%AE%E5%8A%9F", + "%E8%83%A1%E6%B5%B7%E5%B3%B0", + "%E8%83%A1%E6%B5%B7%E6%B8%85", + "search*%E8%8A%B1%E8%8A%B1%E5%85%AC%E5%AD%90", + "search*%BC%CD%D4%AA", + "search*%BC%D3%C3%DC%B4%FA%C0%ED", + "search*%E5%8A%A0%E5%AF%86%E4%BB%A3%E7%90%86", + "search*%E6%B1%9F%E6%B5%81%E6%B0%93", + "search*%E7%9C%8B%E4%B8%AD%E5%9B%BD", + "search*%E5%85%AD%E5%9B%9B", + "%E5%88%98%E6%99%93%E6%B3%A2", + "%E7%BE%8E%E5%9B%BD%E4%B9%8B%E9%9F%B3", + "%E6%B0%91%E8%BF%9B%E5%85%9A", + "%E6%B0%91%E8%BF%90", + "search*%E8%89%B2%E6%83%85", + "%E7%8E%8B%E4%B8%B9", + "search*%E7%BD%91%E7%89%B9", + "search*%E7%8E%8B%E5%B8%8C%E5%93%B2", + "search*%E9%AD%8F%E4%BA%AC%E7%94%9F", + "search*%E6%96%87%E5%AD%97%E7%8B%B1", + "search*%E6%88%91%E7%9A%84%E5%A5%8B%E6%96%97", + "search*%E6%97%A0%E7%95%8C", + "search*%E9%82%AA%E6%81%B6", + "search*%E6%B4%97%E8%84%91", + "search*%E6%96%B0%E5%94%90%E4%BA%BA", + "search*%E6%96%B0%E8%AF%AD%E4%B8%9D", + "search*%E5%AD%A6%E8%BF%90", + "search*%E4%B8%AD%E5%8A%9F", + "search*%E4%B8%AD%E5%9B%BD%E8%AE%BA%E5%9D%9B", + "search*%E4%B8%AD%E5%AE%A3%E9%83%A8", + "|https://upload.wikimedia.org", + "|https://*.wikipedia.org", + ".wikipedia.org/wiki/Dalai_Lama", + ".wikipedia.org/wiki/Dalai-Lama", + "ar.wikipedia.org*%D8%AF%D8%A7%D9%84%D8%A7%D9%8A_%D9%84%D8%A7%D9%85%D8%A7", + "zh-yue.wikipedia.org/wiki/%E5%8A%89%E6%9B%89%E6%B3%A2", + "en.wikipedia.org/wiki/Anti-communism", + "en.wikipedia.org/wiki/Book_burning", + "en.wikipedia.org/wiki/Censorship_in_the_People%27s_Republic_of_China", + "en.wikipedia.org/wiki/Charter_08", + "en.wikipedia.org/wiki/Chen_Guangcheng", + "en.wikipedia.org/wiki/Deep_packet_inspection", + "en.wikipedia.org/wiki/Freegate", + "en.wikipedia.org/wiki/Golden_Shield_Project", + "en.wikipedia.org/wiki/Great_Firewall_of_China", + "en.wikipedia.org/wiki/Hong_Kong", + "en.wikipedia.org/wiki/Huang_Qi", + "en.wikipedia.org/wiki/Internet_censorship", + "en.wikipedia.org/wiki/Java_Anon_Proxy", + "en.wikipedia.org/wiki/Liu_Xiaobo", + "en.wikipedia.org/wiki/Shi_Tao", + "en.wikipedia.org/wiki/Tank_man", + "en.wikipedia.org/wiki/Tiananmen_Papers", + "en.wikipedia.org/wiki/Tiananmen_Square_protests_of_1989", + "en.wikipedia.org/wiki/Tibetan_independence_movement", + "zh.wikipedia.org/wiki/Wikipedia:%E9%A0%81%E9%9D%A2%E5%AD%98%E5%BB%A2%E8%A8%8E%E8%AB%96", + "zh.m.wikipedia.org", + "zh.wikisource.org", + "zh.wikipedia.org*2012%E5%B9%B4%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E8%85%90%E8%B4%A5%E6%A1%88%E4%BB%B6", + "zh.wikipedia.org*2014%E5%B9%B4%E6%98%86%E6%98%8E%E7%81%AB%E8%BD%A6%E7%AB%99%E6%9A%B4%E5%8A%9B%E6%81%90%E6%80%96%E8%A2%AD%E5%87%BB%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*512%E5%A4%A7%E5%9C%B0%E9%9C%87", + "zh.wikipedia.org*08%E5%AE%AA%E7%AB%A0", + "zh.wikipedia.org*1959%E5%B9%B4", + "zh.wikipedia.org*1989%E5%B9%B4", + "zh.wikipedia.org*610%E8%BE%A6%E5%85%AC%E5%AE%A4", + "zh.wikipedia.org*Anti-CNN", + "zh.wikipedia.org*%E9%98%BF%E5%BA%95%E5%B3%BD", + "zh.wikipedia.org*%E9%98%BF%E6%B2%9B%C2%B7%E9%98%BF%E6%97%BA%E6%99%8B%E7%BE%8E", + "zh.wikipedia.org*%E8%89%BE%E6%9C%AA%E6%9C%AA", + "zh.wikipedia.org*%E5%85%AB%E4%B9%9D%E5%AD%A6%E8%BF%90", + "zh.wikipedia.org*%E5%85%AB%E6%80%9D%E5%B7%B4", + "zh.wikipedia.org*%E7%8F%AD%E7%A6%85", + "zh.wikipedia.org*%E9%B2%8D%E5%BD%A4", + "zh.wikipedia.org*%E9%AE%91%E5%BD%A4", + "zh.wikipedia.org*%E5%8C%97%E4%BA%AC%E9%AB%98%E6%A0%A1%E5%AD%A6%E7%94%9F%E8%87%AA%E6%B2%BB%E8%81%94%E5%90%88%E4%BC%9A", + "zh.wikipedia.org*%E5%8C%97%E4%BA%AC%E4%B9%8B%E6%98%A5", + "zh.wikipedia.org*%E8%96%84%E7%86%99%E6%9D%A5", + "zh.wikipedia.org*%E5%8D%9A%E8%AE%AF", + "zh.wikipedia.org*%E5%B8%83%E6%8B%89%E6%A0%BC%E4%B9%8B%E6%98%A5", + "zh.wikipedia.org*%E6%9F%B4%E7%8E%B2", + "zh.wikipedia.org*%E4%BB%93%E5%A4%AE%E5%98%89%E6%8E%AA", + "zh.wikipedia.org*%E6%9B%B9%E9%95%B7%E9%9D%92", + "zh.wikipedia.org*%E9%99%88%E5%85%89%E8%AF%9A", + "zh.wikipedia.org*%E6%A5%9A%E5%B8%83%E5%AF%BA", + "zh.wikipedia.org*%e5%a4%a7%e5%8f%82%e8%80%83_(%e7%bd%91%e7%bb%9c%e6%9d%82%e5%bf%97)", + "zh.wikipedia.org*%E5%A4%A7%E7%B4%80%E5%85%83", + "zh.wikipedia.org*%E5%A4%A7%E7%BA%AA%E5%85%83%E6%97%B6%E6%8A%A5", + "zh.wikipedia.org*%E8%BE%BE%E8%B5%96%E5%96%87%E5%98%9B", + "zh.wikipedia.org*%E8%BE%BE%E5%85%B0%E8%90%A8%E6%8B%89", + "zh.wikipedia.org*%E9%81%94%E8%98%AD%E8%96%A9%E6%8B%89", + "zh.wikipedia.org*%E8%BE%BE%E5%B0%94%E7%BD%95%E6%B4%BB%E4%BD%9B", + "zh.wikipedia.org*%E5%A4%A7%E8%B5%A6%E5%9B%BD%E9%99%85", + "zh.wikipedia.org*%E5%A4%A7%E8%B5%A6%E5%9C%8B%E9%9A%9B", + "zh.wikipedia.org*%E5%A4%A7%E5%B1%A0%E6%9D%80%E5%88%97%E8%A1%A8", + "zh.wikipedia.org*%E5%A4%A7%E8%97%8F%E5%AF%BA", + "zh.wikipedia.org*%E5%A4%A7%E6%98%AD%E5%AF%BA", + "zh.wikipedia.org*%E4%B8%B9%E5%A2%9E%E5%98%89%E6%8E%AA", + "zh.wikipedia.org*%E4%B8%81%E5%AD%90%E9%9C%96", + "zh.wikipedia.org*%E4%B8%9C%E9%A3%8E-21%E4%B8%AD%E7%A8%8B%E5%BC%B9%E9%81%93%E5%AF%BC%E5%BC%B9 ", + "zh.wikipedia.org*%E6%9D%B1%E9%A2%A8-31%E6%B4%B2%E9%9A%9B%E5%BD%88%E9%81%93%E5%B0%8E%E5%BD%88", + "zh.wikipedia.org*%E6%9D%B1%E7%AA%81%E5%8E%A5", + "zh.wikipedia.org*%E4%B8%9C%E7%AA%81%E5%8E%A5%E6%96%AF%E5%9D%A6", + "zh.wikipedia.org*%E5%A4%9A%E7%BB%B4", + "zh.wikipedia.org*%E5%A4%9A%E7%B6%AD", + "zh.wikipedia.org*%E4%BF%84%E7%BE%85%E6%96%AF", + "zh.wikipedia.org*%E6%B3%95%E6%8B%89%E5%88%A9%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%8F%8D%E5%8D%8E%E5%8A%BF%E5%8A%9B", + "zh.wikipedia.org*%E9%98%B2%E7%81%AB%E9%95%BF%E5%9F%8E", + "zh.wikipedia.org*%E6%96%B9%E5%8A%B1%E4%B9%8B", + "zh.wikipedia.org*%E6%96%B9%E5%8B%B5%E4%B9%8B", + "zh.wikipedia.org*%E6%96%B9%E8%88%9F%E5%AD%90", + "zh.wikipedia.org*%E6%84%A4%E9%9D%92", + "zh.wikipedia.org*%E5%B0%81%E4%BB%8E%E5%BE%B7", + "zh.wikipedia.org*%E5%B0%81%E5%BE%9E%E5%BE%B7", + "zh.wikipedia.org*%E5%86%AF%E6%AD%A3%E8%99%8E", + "zh.wikipedia.org*%E5%82%85%E9%93%81%E5%B1%B1", + "zh.wikipedia.org*%E5%99%B6%E5%80%AB%E8%B5%A4%E5%B7%B4", + "zh.wikipedia.org*%E9%AB%98%E6%99%BA%E6%99%9F", + "zh.wikipedia.org*%E6%9B%B4%E7%99%BB%E7%A2%BA%E5%90%89%E5%B0%BC%E7%91%AA", + "zh.wikipedia.org*%E5%99%B6%E4%B8%BE%E6%B4%BE", + "zh.wikipedia.org*%E6%94%B9%E9%9D%A9%E5%8E%86%E7%A8%8B", + "zh.wikipedia.org*%E7%94%98%E4%B8%B9%E5%AF%BA", + "zh.wikipedia.org*%E9%AB%98%E8%A1%8C%E5%81%A5", + "zh.wikipedia.org*%E5%99%B6%E5%BD%93%E6%B4%BE", + "zh.wikipedia.org*%E6%A0%BC%E9%B2%81%E6%B4%BE", + "zh.wikipedia.org*GFW", + "zh.wikipedia.org*%E5%85%AC%E5%85%B1%E7%9F%A5%E8%AF%86%E5%88%86%E5%AD%90", + "zh.wikipedia.org*Google%E5%AE%A1%E6%9F%A5", + "zh.wikipedia.org/zh-cn/%E8%B0%B7%E6%AD%8C%E9%80%80%E5%87%BA%E4%B8%AD%E5%9B%BD%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org/wiki/%E8%B0%B7%E6%AD%8C%E9%80%80%E5%87%BA%E4%B8%AD%E5%9B%BD%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org/wiki/%E5%B9%BF%E5%B7%9E%E5%B8%82%E6%96%B0%E5%A1%98%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%9B%BD%E4%BF%9D", + "zh.wikipedia.org*%E9%83%AD%E4%BC%AF%E9%9B%84", + "zh.wikipedia.org*%E5%9B%BD%E9%99%85%E7%89%B9%E8%B5%A6%E7%BB%84%E7%BB%87", + "zh.wikipedia.org*%E5%9B%BD%E5%86%85%E5%AE%89%E5%85%A8%E4%BF%9D%E5%8D%AB%E6%94%AF%E9%98%9F", + "zh.wikipedia.org*%E5%9C%8B%E5%8B%99%E9%99%A2%E9%98%B2%E7%AF%84%E5%92%8C%E8%99%95%E7%90%86%E9%82%AA%E6%95%99%E5%95%8F%E9%A1%8C%E8%BE%A6%E5%85%AC%E5%AE%A4", + "zh.wikipedia.org*%E9%9F%A9%E4%B8%9C%E6%96%B9", + "zh.wikipedia.org*%E8%B4%BA%E5%9B%BD%E5%BC%BA", + "zh.wikipedia.org*%E4%BD%95%E4%BF%8A%E4%BB%81", + "zh.wikipedia.org*%E6%B2%B3%E6%AE%87", + "zh.wikipedia.org*%E6%B4%AA%E5%93%B2%E5%8B%9D", + "zh.wikipedia.org*%E4%BE%AF%E5%BE%B7%E5%BB%BA", + "zh.wikipedia.org*%E4%BE%AF%E8%B5%9B%E5%9B%A0%E6%B1%9F", + "zh.wikipedia.org*%E4%BE%AF%E5%BE%B7%E5%81%A5", + "zh.wikipedia.org*%E8%83%A1%E4%BD%B3_%281973%E5%B9%B4%29", + "zh.wikipedia.org*%E8%83%A1%E4%BD%B3_%28%E7%A4%BE%E6%B4%BB%E5%8B%95%E5%AE%B6%29", + "zh.wikipedia.org*%E8%83%A1%E4%BD%B3_%28%E7%A4%BE%E6%9C%83%E6%B4%BB%E5%8B%95%E5%AE%B6%29", + "zh.wikipedia.org*%E8%83%A1%E9%94%A6%E6%B6%9B", + "zh.wikipedia.org*%E8%83%A1%E5%B9%B3_%28%E4%BD%9C%E5%AE%B6%29", + "zh.wikipedia.org*%E5%91%BC%E5%9C%96%E5%85%8B%E5%9C%96", + "zh.wikipedia.org*%E8%83%A1%E6%B8%A9%E4%BD%93%E5%88%B6", + "zh.wikipedia.org*%E8%83%A1%E8%80%80%E9%82%A6", + "zh.wikipedia.org*%E5%8D%8E%E5%9B%BD%E9%94%8B", + "zh.wikipedia.org*%E8%8F%AF%E5%9C%8B%E9%8B%92", + "zh.wikipedia.org*%E5%8D%8E%E5%A4%8F%E6%96%87%E6%91%98", + "zh.wikipedia.org*%E8%8A%B1%E5%9B%AD%E8%BD%AF%E4%BB%B6", + "zh.wikipedia.org*%E8%8A%B1%E5%9B%AD%E7%BD%91", + "zh.wikipedia.org*%E9%BB%84%E7%90%A6", + "zh.wikipedia.org*%E9%BB%83%E7%90%A6", + "zh.wikipedia.org*%E9%BB%83%E9%9B%80%E8%A1%8C%E5%8B%95", + "zh.wikipedia.org*%E9%BB%84%E4%B8%87%E9%87%8C", + "zh.wikipedia.org*%E9%BB%83%E6%9B%89%E6%95%8F", + "zh.wikipedia.org*%E5%9B%9E%E8%89%AF%E7%8E%89", + "zh.wikipedia.org*%E9%9C%8D%E8%8B%B1%E6%9D%B1", + "zh.wikipedia.org*%E5%AF%82%E8%AD%B7", + "zh.wikipedia.org*%E6%BF%80%E6%B5%81%E4%B8%AD%E5%9B%BD", + "zh.wikipedia.org*%E5%98%89%E9%9D%96", + "zh.wikipedia.org*%E5%AE%B6%E4%B9%90%E7%A6%8F", + "zh.wikipedia.org*%E8%B3%88%E6%85%B6%E6%9E%97", + "zh.wikipedia.org*%E8%B4%BE%E5%BA%86%E6%9E%97", + "zh.wikipedia.org*%E5%BB%BA%E5%9B%BD%E9%97%A8%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%A7%9C%E7%BB%B4%E5%B9%B3", + "zh.wikipedia.org*%E6%B1%9F%E6%B3%BD%E6%B0%91", + "zh.wikipedia.org*%E6%B1%9F%E6%BE%A4%E6%B0%91", + "zh.wikipedia.org*%E9%87%91%E7%9B%BE%E5%B7%A5%E7%A8%8B", + "zh.wikipedia.org*%BD%F0%B6%DC%B9%A4%B3%CC", + "zh.wikipedia.org*%E4%B9%9D%E8%AF%84%E5%85%B1%E4%BA%A7%E5%85%9A", + "zh.wikipedia.org*%E4%B9%9D%E8%A9%95%E5%85%B1%E7%94%A2%E9%BB%A8", + "zh.wikipedia.org*%E5%B7%A8%E6%B5%AA2%E5%9E%8B%E6%BD%9C%E5%B0%84%E5%BC%B9%E9%81%93%E5%AF%BC%E5%BC%B9", + "zh.wikipedia.org*%E8%A6%BA%E5%9B%8A%E6%B4%BE", + "zh.wikipedia.org*%E7%BB%9D%E9%A3%9F", + "zh.wikipedia.org*%E6%8B%89%E5%8D%9C%E6%A5%9E%E5%AF%BA", + "zh.wikipedia.org*%E6%8B%89%E8%90%A8", + "zh.wikipedia.org*%E9%BB%8E%E5%AE%89%E5%8F%8B", + "zh.wikipedia.org*%E6%9D%8E%E9%95%BF%E6%98%A5", + "zh.wikipedia.org*%E6%9D%8E%E9%95%B7%E6%98%A5", + "zh.wikipedia.org*%E6%9D%8E%E6%B4%AA%E5%BF%97", + "zh.wikipedia.org*%E6%9D%8E%E5%85%8B%E5%BC%BA", + "zh.wikipedia.org*%E6%9D%8E%E9%B5%AC", + "zh.wikipedia.org*%E6%9D%8E%E9%B9%8F", + "zh.wikipedia.org*%E6%9D%8E%E7%91%9E%E7%8E%AF", + "zh.wikipedia.org*%E6%9D%8E%E7%91%9E%E7%92%B0", + "zh.wikipedia.org*%E6%9D%8E%E6%85%8E%E4%B9%8B", + "zh.wikipedia.org*%E5%8E%86%E5%8F%B2%E7%9A%84%E4%BC%A4%E5%8F%A3", + "zh.wikipedia.org*%E6%9D%8E%E8%8B%B1%E6%B5%A9", + "zh.wikipedia.org*%E6%9D%8E%E6%BA%90%E6%BD%AE", + "zh.wikipedia.org*%E6%9D%8E%E5%8D%93%E4%BA%BA", + "zh.wikipedia.org*%E5%BB%96%E4%BA%A6%E6%AD%A6", + "zh.wikipedia.org*%E8%93%AE%E8%8A%B1%E7%94%9F", + "zh.wikipedia.org*%E6%A2%81%E5%9B%BD%E9%9B%84", + "zh.wikipedia.org*%E6%A2%81%E5%9C%8B%E9%9B%84", + "zh.wikipedia.org*%E9%9B%B6%E5%85%AB%E5%AE%AA%E7%AB%A0", + "zh.wikipedia.org*%E4%BB%A4%E8%B0%B7", + "zh.wikipedia.org*%E4%BB%A4%E8%AE%A1%E5%88%92", + "zh.wikipedia.org*%E5%88%98%E5%AE%BE%E9%9B%81", + "zh.wikipedia.org*%E5%8A%89%E5%89%9B_(%E6%B0%91%E9%81%8B%E4%BA%BA%E5%A3%AB)", + "zh.wikipedia.org*%E5%88%98%E6%85%A7%E5%8D%BF", + "zh.wikipedia.org*%E5%8A%89%E6%85%A7%E5%8D%BF", + "zh.wikipedia.org*%E5%88%98%E6%B7%87", + "zh.wikipedia.org*%E5%85%AD%E5%9B%9B", + "zh-yue.wikipedia.org*%E5%85%AD%E5%9B%9B%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%8A%89%E6%9B%89%E6%B3%A2", + "zh.wikipedia.org*%E5%88%98%E5%BB%B6%E4%B8%9C", + "zh.wikipedia.org*%E5%88%98%E4%BA%91%E5%B1%B1", + "zh.wikipedia.org*%E7%BE%85%E5%B9%B9", + "zh.wikipedia.org*%E7%BE%85%E5%B9%B2", + "zh.wikipedia.org*%E6%B4%9B%E6%A1%91%E6%A3%AE%E6%A0%BC", + "zh.wikipedia.org*%E7%B6%A0%E5%A3%A9%C2%B7%E8%8A%B1%E5%AD%A3%E8%AD%B7%E8%88%AA", + "zh.wikipedia.org*%E7%BB%BF%E5%9D%9D%C2%B7%E8%8A%B1%E5%AD%A3%E6%8A%A4%E8%88%AA", + "zh.wikipedia.org/wiki/%e7%bb%bf%e5%9d%9d%e5%a8%98", + "zh.wikipedia.org*%E9%A6%AC%E4%B8%89%E5%AE%B6%E5%A5%B3%E5%AD%90%E5%8B%9E%E6%95%99%E6%89%80", + "zh.wikipedia.org*%E9%A6%AC%E8%8B%B1%E4%B9%9D", + "zh.wikipedia.org*%E7%BE%8E%E5%9B%BD%E5%9B%BD%E5%AE%B6%E6%B0%91%E4%B8%BB%E5%9F%BA%E9%87%91%E4%BC%9A", + "zh.wikipedia.org*%E6%95%8F%E6%84%9F%E4%BA%BA%E5%A3%AB", + "zh.wikipedia.org*%E6%B0%91%E9%96%93%E4%BA%BA%E6%AC%8A%E9%99%A3%E7%B7%9A", + "zh.wikipedia.org*%E6%95%8F%E7%8F%A0%E6%9E%97%E5%AF%BA", + "zh.wikipedia.org*%E6%B0%91%E4%B8%BB%E5%A5%B3%E7%A5%9E", + "zh.wikipedia.org*%E6%B0%91%E4%B8%BB%E9%BB%A8_(%E9%A6%99%E6%B8%AF)", + "zh.wikipedia.org*%E6%B0%91%E4%B8%BB%E6%AD%8C%E8%81%B2%E7%8D%BB%E4%B8%AD%E8%8F%AF", + "zh.wikipedia.org*%E8%8C%89%E8%8E%89%E8%8A%B1%E9%9D%A9%E5%91%BD", + "zh.wikipedia.org*%E5%8D%97%E6%96%B9%E9%83%BD%E5%B8%82%E6%8A%A5*", + "zh.wikipedia.org/wiki/%E5%86%85%E8%92%99%E5%8F%A4%E6%8A%97%E8%AE%AE", + "zh.wikipedia.org/zh-hk/%E5%86%85%E8%92%99%E5%8F%A4%E6%8A%97%E8%AE%AE", + "zh.wikipedia.org/zh-tw/%E5%86%85%E8%92%99%E5%8F%A4%E6%8A%97%E8%AE%AE", + "zh.wikipedia.org*%E5%86%85%E8%92%99%E5%8F%A4%E4%BA%BA%E6%B0%91%E5%85%9A", + "zh.wikipedia.org*%E5%85%A7%E8%92%99%E5%8F%A4%E4%BA%BA%E6%B0%91%E9%BB%A8", + "zh.wikipedia.org*%E5%AE%81%E7%8E%9B%E6%B4%BE", + "zh.wikipedia.org*%E7%89%9B%E5%8D%9A%E7%BD%91", + "zh.wikipedia.org*%E8%AF%BA%E8%B4%9D%E5%B0%94%E5%92%8C%E5%B9%B3%E5%A5%96", + "zh.wikipedia.org*%E6%8C%AA%E5%A8%81", + "zh.wikipedia.org*%E7%9B%98%E5%8F%A4%E4%B9%90%E9%98%9F", + "zh.wikipedia.org*%E5%BD%AD%E4%B8%BD%E5%AA%9B", + "zh.wikipedia.org*%E7%A0%B4%E7%BD%91", + "zh.wikipedia.org*%E6%B5%A6%E5%BF%97%E5%BC%BA", + "zh.wikipedia.org*%E4%B8%83%E4%B8%80%E9%81%8A%E8%A1%8C", + "zh.wikipedia.org*%E7%A7%A6%E5%9F%8E%E7%9B%91%E7%8B%B1", + "zh.wikipedia.org*%E6%B8%85%E6%9C%9D", + "zh.wikipedia.org*%E5%85%A8%E7%90%83%E8%97%8F%E4%BA%BA%E7%89%B9%E5%88%AB%E5%A4%A7%E4%BC%9A", + "zh.wikipedia.org*%C8%BC%C9%D5%C6%BF", + "zh.wikipedia.org*%E7%87%83%E7%83%A7%E7%93%B6", + "zh.wikipedia.org*%E7%83%AD%E6%AF%94%E5%A8%85", + "zh.wikipedia.org*%E7%86%B1%E6%AF%94%E5%A9%AD", + "zh.wikipedia.org*%E7%91%9E%E5%85%B8", + "zh.wikipedia.org*%E8%90%A8%E8%BF%A6%E6%B4%BE", + "zh.wikipedia.org*%E4%B8%89%E5%B9%B4%E8%87%AA%E7%84%B6%E7%81%BE%E5%AE%B3", + "zh.wikipedia.org*%E4%B8%89%E9%80%80", + "zh.wikipedia.org*%E8%89%B2%E6%8B%89%E5%AF%BA", + "zh.wikipedia.org*%E5%9C%A3%E9%9B%84%E7%94%98%E5%9C%B0", + "zh.wikipedia.org*%E7%9B%9B%E9%9B%AA", + "zh.wikipedia.org/zh-cn/%E4%B8%96%E7%95%8C%E5%90%84%E6%94%BF%E6%9D%83%E5%8F%97%E6%89%BF%E8%AE%A4%E7%8A%B6%E5%86%B5%E5%88%97%E8%A1%A8", + "zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%BB%8F%E6%B5%8E%E5%AF%BC%E6%8A%A5", + "zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%BB%B4%E5%90%BE%E5%B0%94%E5%A4%A7%E4%BC%9A!--Shi Jie Wei Wu Er Qing Nian Dai Biao Da Hui", + "zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%BB%B4%E5%90%BE%E5%B0%94%E9%9D%92%E5%B9%B4%E4%BB%A3%E8%A1%A8%E5%A4%A7%E4%BC%9A", + "zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%B6%AD%E5%90%BE%E7%88%BE%E4%BB%A3%E8%A1%A8%E5%A4%A7%E6%9C%83", + "zh.wikipedia.org*%E5%8D%81%E5%9B%9B%E4%B8%96%E8%BE%BE%E8%B5%96", + "zh.wikipedia.org*%E5%B8%88%E6%B6%9B", + "zh.wikipedia.org*%E5%B8%AB%E6%BF%A4", + "zh.wikipedia.org*%E9%87%8A%E6%98%9F%E4%BA%91", + "zh.wikipedia.org*%E5%8F%B8%E5%BE%92%E5%8D%8E", + "zh.wikipedia.org*%E5%8F%B8%E5%BE%92%E8%8F%AF", + "zh.wikipedia.org*%E5%9B%9B%E4%BA%94%E8%A1%8C%E5%8B%95", + "zh.wikipedia.org*%E5%AE%8B%E5%BD%AC%E5%BD%AC", + "zh.wikipedia.org*%E5%AE%8B%E4%BB%BB%E7%A9%B7", + "zh.wikipedia.org*%E5%AE%8B%E4%BB%BB%E7%AA%AE", + "zh.wikipedia.org*%E8%8B%8F%E5%AE%B6%E5%B1%AF%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%AD%99%E6%96%87%E5%B9%BF", + "zh.wikipedia.org*%E5%A1%94%E5%B0%94%E5%AF%BA", + "zh.wikipedia.org*%E5%8F%B0%E7%81%A3%E7%8D%A8%E7%AB%8B%E5%BB%BA%E5%9C%8B%E8%81%AF%E7%9B%9F", + "zh.wikipedia.org*%E5%A4%AA%E5%AD%90%E5%85%9A", + "zh.wikipedia.org*%E5%A4%AA%E5%AD%90%E5%85%9A", + "zh.wikipedia.org/zh-cn/%E5%A4%AA%E5%AD%90%E5%85%9A", + "zh.wikipedia.org*%E8%B0%AD%E4%BD%9C%E4%BA%BA", + "zh.wikipedia.org*%E5%94%90%E6%9F%8F%E6%A1%A5", + "zh.wikipedia.org/zh/%E9%99%B6%E9%A9%B7%E9%A9%B9", + "zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E5%B9%BF%E5%9C%BA", + "zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E6%AF%8D%E4%BA%B2%E8%BF%90%E5%8A%A8", + "zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%96%80%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E6%96%87%E4%BB%B6", + "zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%96%80%E6%96%87%E4%BB%B6", + "zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E8%87%AA%E7%84%9A%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E5%A4%A9%E8%91%AC", + "zh.wikipedia.org/zh-cn/Tor", + "zh.wikipedia.org/zh-hk/Twitter", + "zh.wikipedia.org*%E4%B8%87%E9%87%8C", + "zh.wikipedia.org*%E7%8E%8B%E5%86%9B%E6%B6%9B", + "zh.wikipedia.org*%E7%8E%8B%E6%A8%82%E6%B3%89", + "zh.wikipedia.org*%E7%8E%8B%E7%AB%8B%E5%86%9B", + "zh.wikipedia.org*%E7%8E%8B%E5%B2%90%E5%B1%B1", + "zh.wikipedia.org*%E7%8E%8B%E5%8D%83%E6%BA%90", + "zh.wikipedia.org*%E7%8E%8B%E7%BB%B4%E6%9E%97", + "zh.wikipedia.org*%E7%8E%8B%E6%9C%89%E6%89%8D", + "zh.wikipedia.org*%E9%AD%8F%E4%BA%AC%E7%94%9F", + "zh.wikipedia.org*%E6%B1%B6%E5%B7%9D%E5%A4%A7%E5%9C%B0%E9%9C%87", + "zh.wikipedia.org*%E7%8E%8B%E7%82%B3%E7%AB%A0", + "zh.wikipedia.org*%E7%8E%8B%E4%B9%90%E6%B3%89", + "zh.wikipedia.org*%E7%8E%8B%E5%8A%9B%E9%9B%84", + "zh.wikipedia.org*%E7%BD%91%E7%BB%9C%E8%AF%84%E8%AE%BA%E5%91%98", + "zh.wikipedia.org/wiki/%E7%8E%8B%E5%A7%93", + "zh.wikipedia.org*%E6%B1%AA%E6%B4%8B", + "zh.wikipedia.org*%E7%8E%8B%E5%85%86%E5%9B%BD", + "zh.wikipedia.org*%E5%94%AF%E8%89%B2", + "zh.wikipedia.org*%E5%A8%81%E8%A7%86%E8%85%90%E8%B4%A5%E6%A1%88", + "zh.wikipedia.org*%E6%B1%B6%E5%B7%9D%E5%9C%B0%E9%9C%87", + "zh.wikipedia.org*%E6%B8%A9%E5%AE%B6%E5%AE%9D", + "zh.wikipedia.org*%E6%B8%A9%E5%A6%82%E6%98%A5", + "zh.wikipedia.org*%E6%B8%A9%E4%BA%91%E6%9D%BE", + "zh.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%8B%B1", + "zh.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%8D%84", + "zh.wikipedia.org*%E5%90%B4%E9%82%A6%E5%9B%BD", + "zh.wikipedia.org*%E6%88%91%E7%9A%84%E5%A5%8B%E6%96%97", + "zh.wikipedia.org*%E5%90%BE%E5%B0%94%E5%BC%80%E5%B8%8C", + "zh.wikipedia.org*%E5%90%BE%E7%88%BE%E9%96%8B%E5%B8%8C", + "zh.wikipedia.org*%E6%97%A0%E5%9B%BD%E7%95%8C%E8%AE%B0%E8%80%85", + "zh.wikipedia.org*%E5%90%B4%E5%BC%98%E8%BE%BE", + "zh.wikipedia.org*%E6%97%A0%E7%95%8C", + "zh.wikipedia.org*%E7%83%8F%E5%9D%8E%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E4%B9%8C%E9%B2%81%E6%9C%A8%E9%BD%90%E4%B8%83%C2%B7%E4%BA%94%E6%9A%B4%E5%8A%9B%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E4%BA%94%E6%AF%9B%E8%9B%8B%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E8%A5%BF%E5%8D%95%E6%B0%91%E4%B8%BB%E5%A2%99", + "zh.wikipedia.org*%E7%BF%92%E8%BF%91%E5%B9%B3", + "zh.wikipedia.org*%E4%B9%A0%E8%BF%91%E5%B9%B3", + "zh.wikipedia.org*%E8%A5%BF%E5%8E%A2%E8%AE%A1%E5%88%92", + "zh.wikipedia.org*%E8%A5%BF%E8%97%8F", + "zh.wikipedia.org*%E4%B9%A0%E4%BB%B2%E5%8B%8B", + "zh.wikipedia.org*%E5%A4%8F%E7%91%AA%E5%B7%B4", + "zh.wikipedia.org*%E9%A6%99%E6%B8%AF%E7%8D%A8%E7%AB%8B%E9%81%8B%E5%8B%95", + "zh.wikipedia.org*%E9%A6%99%E6%B8%AF%E6%B0%91%E4%B8%BB%E9%BB%A8", + "zh.wikipedia.org*%E9%A6%99%E6%B8%AF*%E6%B0%91%E4%B8%BB%E6%B4%BE", + "zh.wikipedia.org*%E9%A6%99%E6%B8%AF%E4%BA%BA%E6%AC%8A%E7%9B%A3%E5%AF%9F", + "zh.wikipedia.org*%E5%B0%8F%E6%98%AD%E5%AF%BA", + "zh.wikipedia.org*%E8%B0%A2%E5%BD%A6%E9%A3%9E", + "zh.wikipedia.org*%E8%BE%9B%E7%81%8F%E5%B9%B4", + "zh.wikipedia.org*%E6%96%B0%E7%96%86%E7%8B%AC%E7%AB%8B", + "zh.wikipedia.org*%E6%96%B0%E7%96%86%E7%8D%A8%E7%AB%8B", + "zh.wikipedia.org*%E6%96%B0%E5%94%90%E4%BA%BA%E9%9B%BB%E8%A6%96%E5%8F%B0", + "zh.wikipedia.org*%E6%96%B0%E9%97%BB%E8%87%AA%E7%94%B1%E6%8E%A0%E5%A4%BA%E8%80%85", + "zh.wikipedia.org*%E6%98%9F%E4%BA%91%E6%B3%95%E5%B8%88", + "zh.wikipedia.org*%E7%86%8A%E7%84%B1", + "zh.wikipedia.org*%E5%BE%90%E6%89%8D%E5%8E%9A", + "zh.wikipedia.org*%E8%AE%B8%E5%AE%B6%E5%B1%AF", + "zh.wikipedia.org*%E9%9B%AA%E5%B1%B1%E7%8D%85%E5%AD%90%E6%97%97", + "zh.wikipedia.org*%E8%A9%A2%E5%95%8F%E8%99%95", + "zh.wikipedia.org*%E5%9A%B4%E5%AE%B6%E5%85%B6", + "zh.wikipedia.org*%E4%B8%A5%E5%AE%B6%E5%85%B6", + "zh.wikipedia.org*%E9%98%8E%E6%98%8E%E5%A4%8D", + "zh.wikipedia.org*%E6%9D%A8%E4%BD%B3%E8%A2%AD%E8%AD%A6%E6%A1%88", + "zh.wikipedia.org*%E6%A5%8A%E5%BB%BA%E5%88%A9", + "zh.wikipedia.org*%E8%9A%81%E5%8A%9B%E7%A5%9E", + "zh.wikipedia.org*%E9%9B%8D%E5%92%8C%E5%AE%AB", + "zh.wikipedia.org*%E5%B9%BD%E7%81%B5%E7%BD%91", + "zh.wikipedia.org*%E4%BD%99%E6%9D%B0", + "zh.wikipedia.org*%E4%BF%9E%E4%B8%BD%E8%90%8D", + "zh.wikipedia.org*%E9%9B%A8%E5%82%98%E9%9D%A9%E5%91%BD", + "zh.wikipedia.org*%E4%BF%9E%E6%AD%A3%E5%A3%B0", + "zh.wikipedia.org*%E8%A2%81%E7%BA%A2%E5%86%B0", + "zh.wikipedia.org*%E8%A2%81%E7%B4%85%E5%86%B0", + "zh.wikipedia.org*%E8%97%8F%E4%BC%A0%E4%BD%9B%E6%95%99", + "zh.wikipedia.org*%E6%89%8E%E4%BB%80%E4%BC%A6%E5%B8%83%E5%AF%BA", + "zh.wikipedia.org*%E5%BC%A0%E5%BE%B7%E6%B1%9F", + "zh.wikipedia.org*%E5%BC%A0%E9%AB%98%E4%B8%BD", + "zh.wikipedia.org*%E7%AB%A0%E5%98%89%E5%91%BC%E5%9B%BE%E5%85%8B%E5%9B%BE", + "zh.wikipedia.org*%E5%BC%A0%E7%AB%8B%E6%98%8C", + "zh.wikipedia.org*%E5%BC%A0%E5%9F%B9%E8%8E%89", + "zh.wikipedia.org*%E5%BC%B5%E6%96%87%E5%85%89", + "zh.wikipedia.org*%E7%AB%A0%E8%A9%92%E5%92%8C", + "zh.wikipedia.org*%E7%AB%A0%E8%AF%92%E5%92%8C", + "zh.wikipedia.org*%E5%BC%A0%E9%92%B0", + "zh.wikipedia.org*%E5%BC%B5%E9%88%BA", + "zh.wikipedia.org*%E8%B5%B5%E7%B4%AB%E9%98%B3", + "zh.wikipedia.org*%E8%B6%99%E7%B4%AB%E9%99%BD", + "zh.wikipedia.org*%E5%93%B2%E5%B8%83%E5%B0%8A%E4%B8%B9%E5%B7%B4%E5%91%BC%E5%9B%BE%E5%85%8B%E5%9B%BE", + "zh.wikipedia.org*%E7%9C%9F%E5%96%84%E5%BF%8D", + "zh.wikipedia.org*%E4%B8%AD%E5%85%B1%E4%B8%AD%E5%A4%AE%E5%AE%A3%E4%BC%A0%E9%83%A8", + "zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E6%8C%81%E4%B8%8D%E5%90%8C%E6%94%BF%E8%A6%8B%E8%80%85%E5%90%8D%E5%96%AE", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86%E5%B0%81%E9%94%81%E7%BB%B4%E5%9F%BA%E5%AA%92%E4%BD%93%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86%E5%B0%81%E9%94%81%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E4%BA%8B%E4%BB%B6", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E5%A4%A7%E9%99%B8%E7%B6%B2%E8%B7%AF%E5%B0%81%E9%8E%96", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E7%94%B5%E8%A7%86%E5%AE%A1%E6%9F%A5", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E6%B3%9B%E8%93%9D%E8%81%94%E7%9B%9F", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%85%B1%E4%BA%A7%E5%85%9A", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E5%85%B1%E7%94%A2%E9%BB", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%9F%BA%E7%9D%A3%E6%95%99%E5%8D%8F%E4%BC%9A", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%AE%B6%E5%BA%AD%E6%95%99%E4%BC%9A", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E8%81%AF%E9%82%A6%E4%B8%BB%E7%BE%A9", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E4%BA%BA%E6%AC%8A%E6%B0%91%E9%81%8B%E4%BF%A1%E6%81%AF%E4%B8%AD%E5%BF%83", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E6%B0%91%E4%B8%BB%E5%85%9A", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E6%B0%91%E4%B8%BB%E8%BF%90%E5%8A%A8", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E6%B0%91%E4%B8%BB%E9%81%8B%E5%8B%95", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E8%8C%89%E8%8E%89%E8%8A%B1%E9%9D%A9%E5%91%BD", + "zh.wikipedia.org*%E4%B8%AD*%E5%9B%BD%E4%BA%BA%E6%9D%83", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E7%BD%91%E7%BB%9C%E8%BD%AF%E4%BB%B6%E8%BF%87%E6%BB%A4%E5%85%B3%E9%94%AE%E5%AD%97%E5%88%97%E8%A1%A8", + "zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E7%BD%91%E7%BB%9C%E5%AE%A1%E6%9F%A5", + "zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E7%B6%B2%E8%B7%AF%E5%AF%A9%E6%9F%A5", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E4%BA%BA%E6%AC%8A", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E5%AF%A9%E6%9F%A5%E8%BE%AD%E5%BD%99%E5%88%97%E8%A1%A8", + "zh.wikipedia.org*%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E5%AE%AA%E6%B3%95", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E5%9C%8B%E6%B0%91%E5%A4%A7%E6%9C%83", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E6%B2%BB%E8%97%8F%E6%AD%B7%E5%8F%B2", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E7%B8%BD%E7%B5%B1%E5%BA%9C", + "zh.wikipedia.org*%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E7%BD%91%E7%BB%9C%E5%AE%A1%E6%9F%A5", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E7%B6%B2%E7%B5%A1%E5%AF%A9%E6%9F%A5", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E6%B0%91%E4%B8%BB%E9%81%8B%E5%8B%95", + "zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E5%AE%97%E6%95%99", + "zh.wikipedia.org*%E4%B8%AD%E6%96%87%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91", + "zh.wikipedia.org*%E4%B8%AD%E5%A4%AE%E8%AD%A6%E8%A1%9B%E5%B1%80", + "zh.wikipedia.org*%E4%B8%AD%E5%A4%AE%E6%96%87%E5%8C%96%E9%9D%A9%E5%91%BD%E5%B0%8F%E7%BB%84", + "zh.wikipedia.org*%E4%B8%AD%E8%8B%B1%E7%BA%8C%E8%A8%82%E8%97%8F%E5%8D%B0%E6%A2%9D%E7%B4%84", + "zh.wikipedia.org*%E5%91%A8%E6%BB%A8", + "zh.wikipedia.org*%E5%91%A8%E6%B0%B8%E5%BA%B7", + "zh.wikipedia.org*%E8%BD%AC%E6%B3%95%E8%BD%AE", + "zh.wikipedia.org*%E8%87%AA%E7%94%B1%E9%97%A8", + "zh.wikipedia.org*%E8%87%AA%E7%94%B1%E4%BA%9A%E6%B4%B2", + "zh.wikipedia.org*%E5%AE%97%E5%96%80%E5%B7%B4", + "zh.wikibooks.org*%E7%AA%81%E7%A0%B4%E7%BD%91%E7%BB%9C%E5%AE%A1%E6%9F%A5", + "gov.tw", + "@@||tax.nat.gov.tw", + "@@||moe.gov.tw", + "@@||cwb.gov.tw", + "@@||npm.gov.tw", + "@@||yatsen.gov.tw", + "@@||aec.gov.tw", + "@@||mvdis.gov.tw", + "@@||stdtime.gov.tw", + "@@||nmmba.gov.tw", + "@@||ntdmh.gov.tw", + "@@||grb.gov.tw", + "@@||tpde.aide.gov.tw", + "@@||matsu-news.gov.tw", + "@@||nerhl.gov.tw", + "@@||dapu-house.gov.tw", + "@@||vghtc.gov.tw", + "@@||aide.gov.tw", + "@@||hchcc.gov.tw", + "@@||ntuh.gov.tw", + "@@||nhri.gov.tw", + "@@||nstm.gov.tw", + "@@||ntsec.gov.tw", + "@@||ner.gov.tw", + "@@||nmtl.gov.tw", + "@@||ntl.gov.tw", + "@@||pet.gov.tw", + "@@||khcc.gov.tw", + "@@||nmmba.gov.tw", + "@@||khms.gov.tw", + "@@||wanfang.gov.tw", + "@@||nict.gov.tw", + "@@||arte.gov.tw", + "@@||nmh.gov.tw", + "@@||nmp.gov.tw", + "@@||tphcc.gov.tw", + "@@||iner.gov.tw", + "@@||tncsec.gov.tw", + "@@||nspo.gov.tw", + "@@||aide.gov.tw", + "@@||ncree.gov.tw", + "@@||vghks.gov.tw", + "@@||tchb.gov.tw", + "@@||pabp.gov.tw", + "@@||itrc.gov.tw", + "@@||df.gov.tw", + "@@||womenbusiness.nyc.gov.tw", + "@@||gsn-cert.nat.gov.tw", + "@@||kk.gov.tw", + "@@||thbstc.gov.tw", + "@@||comnews.gio.gov.tw", + "@@||comnews.gio.gov.tw", + "@@||klccab.gov.tw", + "@@||yvtc.gov.tw", + "@@||aftygh.gov.tw", + "@@||klra.gov.tw", + "@@||lungtanhr.gov.tw", + "@@||taoyuan.gov.tw", + "@@||hcc.gov.tw", + "@@||nvri.gov.tw", + "@@||nmvttc.gov.tw", + "@@||kmh.gov.tw", + "@@||patehr.gov.tw", + "@@||nerch.gov.tw", + "@@||kmseh.gov.tw", + "@@||nertt.gov.tw", + "@@||cycab.gov.tw", + "@@||chukuang.gov.tw", + "@@||gysd.nyc.gov.tw", + "@@||cp-house.gov.tw", + "@@||vghtpe.gov.tw", + "@@||etraining.gov.tw", + "@@||stag.gov.tw", + "@@||bdhr.gov.tw", + "@@||tcsac.gov.tw", + "@@||imagesblog.gio.gov.tw", + "@@||arte.gov.tw", + "@@||dmtip.gov.tw", + "@@||chccc.gov.tw", + "@@||hengchuen.gov.tw", + "@@||hsinchu-cc.gov.tw", + "@@||921.gov.tw", + "@@||ncdr.nat.gov.tw", + "@@||4pppc.gov.tw", + "@@||klsio.gov.tw", + "@@||nici.nat.gov.tw", + "@@||cromotc.nat.gov.tw", + "@@||taitung-house.gov.tw", + "174.142.105.153", + "69.65.19.160", + "@@||aliyun.com", + "@@||baidu.com", + "@@||jike.com", + "@@||chinaso.com", + "@@||qq.com", + "@@||sina.cn", + "@@||sina.com.cn", + "@@||sogou.com", + "@@||so.com", + "@@||soso.com", + "@@||yahoo.cn", + "@@||youdao.com", + "@@||zhongsou.com", + "@@|https://autoproxy.org", + "@@|http://ime.baidu.jp", + "||google.com", + "||google.co.jp", + "||google.co.hk", + "||bbc.co.uk", + "||googleapis.com", + "||googlesyndication.com", + "||github.com", + "||wikipedia.org", + "||userdefined.com", + "||www.userdefined2.com", + "||amazonaws.com", + "||akamai.net", + "||akamaiedge.net", + "||cloudfront.net", + "http://[incomplete_ipv6_addr/", + "@@userdefined.whitelist.com" +]; + +/* +* This file is part of Adblock Plus <http://adblockplus.org/>, +* Copyright (C) 2006-2014 Eyeo GmbH +* +* Adblock Plus is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 3 as +* published by the Free Software Foundation. +* +* Adblock Plus is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. +*/ + +function createDict() +{ + var result = {}; + result.__proto__ = null; + return result; +} + +function getOwnPropertyDescriptor(obj, key) +{ + if (obj.hasOwnProperty(key)) + { + return obj[key]; + } + return null; +} + +function extend(subclass, superclass, definition) +{ + if (Object.__proto__) + { + definition.__proto__ = superclass.prototype; + subclass.prototype = definition; + } + else + { + var tmpclass = function(){}, ret; + tmpclass.prototype = superclass.prototype; + subclass.prototype = new tmpclass(); + subclass.prototype.constructor = superclass; + for (var i in definition) + { + if (definition.hasOwnProperty(i)) + { + subclass.prototype[i] = definition[i]; + } + } + } +} + +function Filter(text) +{ + this.text = text; + this.subscriptions = []; +} +Filter.prototype = { + text: null, + subscriptions: null, + toString: function() + { + return this.text; + } +}; +Filter.knownFilters = createDict(); +Filter.elemhideRegExp = /^([^\/\*\|\@"!]*?)#(\@)?(?:([\w\-]+|\*)((?:\([\w\-]+(?:[$^*]?=[^\(\)"]*)?\))*)|#([^{}]+))$/; +Filter.regexpRegExp = /^(@@)?\/.*\/(?:\$~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)?$/; +Filter.optionsRegExp = /\$(~?[\w\-]+(?:=[^,\s]+)?(?:,~?[\w\-]+(?:=[^,\s]+)?)*)$/; +Filter.fromText = function(text) +{ + if (text in Filter.knownFilters) + { + return Filter.knownFilters[text]; + } + var ret; + if (text.charAt(0) == "!") + { + ret = new CommentFilter(text); + } + else + { + ret = RegExpFilter.fromText(text); + } + Filter.knownFilters[ret.text] = ret; + return ret; +}; + +function InvalidFilter(text, reason) +{ + Filter.call(this, text); + this.reason = reason; +} +extend(InvalidFilter, Filter, { + reason: null +}); + +function CommentFilter(text) +{ + Filter.call(this, text); +} +extend(CommentFilter, Filter, { +}); + +function ActiveFilter(text, domains) +{ + Filter.call(this, text); + this.domainSource = domains; +} +extend(ActiveFilter, Filter, { + domainSource: null, + domainSeparator: null, + ignoreTrailingDot: true, + domainSourceIsUpperCase: false, + getDomains: function() + { + var prop = getOwnPropertyDescriptor(this, "domains"); + if (prop) + { + return prop; + } + var domains = null; + if (this.domainSource) + { + var source = this.domainSource; + if (!this.domainSourceIsUpperCase) + { + source = source.toUpperCase(); + } + var list = source.split(this.domainSeparator); + if (list.length == 1 && list[0].charAt(0) != "~") + { + domains = createDict(); + domains[""] = false; + if (this.ignoreTrailingDot) + { + list[0] = list[0].replace(/\.+$/, ""); + } + domains[list[0]] = true; + } + else + { + var hasIncludes = false; + for (var i = 0; i < list.length; i++) + { + var domain = list[i]; + if (this.ignoreTrailingDot) + { + domain = domain.replace(/\.+$/, ""); + } + if (domain == "") + { + continue; + } + var include; + if (domain.charAt(0) == "~") + { + include = false; + domain = domain.substr(1); + } + else + { + include = true; + hasIncludes = true; + } + if (!domains) + { + domains = createDict(); + } + domains[domain] = include; + } + domains[""] = !hasIncludes; + } + this.domainSource = null; + } + return this.domains; + }, + sitekeys: null, + isActiveOnDomain: function(docDomain, sitekey) + { + if (this.getSitekeys() && (!sitekey || this.getSitekeys().indexOf(sitekey.toUpperCase()) < 0)) + { + return false; + } + if (!this.getDomains()) + { + return true; + } + if (!docDomain) + { + return this.getDomains()[""]; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + while (true) + { + if (docDomain in this.getDomains()) + { + return this.domains[docDomain]; + } + var nextDot = docDomain.indexOf("."); + if (nextDot < 0) + { + break; + } + docDomain = docDomain.substr(nextDot + 1); + } + return this.domains[""]; + }, + isActiveOnlyOnDomain: function(docDomain) + { + if (!docDomain || !this.getDomains() || this.getDomains()[""]) + { + return false; + } + if (this.ignoreTrailingDot) + { + docDomain = docDomain.replace(/\.+$/, ""); + } + docDomain = docDomain.toUpperCase(); + for (var domain in this.getDomains()) + { + if (this.domains[domain] && domain != docDomain && (domain.length <= docDomain.length || domain.indexOf("." + docDomain) != domain.length - docDomain.length - 1)) + { + return false; + } + } + return true; + } +}); + +function RegExpFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + ActiveFilter.call(this, text, domains, sitekeys); + if (contentType != null) + { + this.contentType = contentType; + } + if (matchCase) + { + this.matchCase = matchCase; + } + if (thirdParty != null) + { + this.thirdParty = thirdParty; + } + if (sitekeys != null) + { + this.sitekeySource = sitekeys; + } + if (regexpSource.length >= 2 && regexpSource.charAt(0) == "/" && regexpSource.charAt(regexpSource.length - 1) == "/") + { + var regexp = new RegExp(regexpSource.substr(1, regexpSource.length - 2), this.matchCase ? "" : "i"); + this.regexp = regexp; + } + else + { + this.regexpSource = regexpSource; + } +} +extend(RegExpFilter, ActiveFilter, { + domainSourceIsUpperCase: true, + length: 1, + domainSeparator: "|", + regexpSource: null, + getRegexp: function() + { + var prop = getOwnPropertyDescriptor(this, "regexp"); + if (prop) + { + return prop; + } + var source = this.regexpSource.replace(/\*+/g, "*").replace(/\^\|$/, "^").replace(/\W/g, "\\$&").replace(/\\\*/g, ".*").replace(/\\\^/g, "(?:[\\x00-\\x24\\x26-\\x2C\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B-\\x7F]|$)").replace(/^\\\|\\\|/, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?").replace(/^\\\|/, "^").replace(/\\\|$/, "$").replace(/^(\.\*)/, "").replace(/(\.\*)$/, ""); + var regexp = new RegExp(source, this.matchCase ? "" : "i"); + this.regexp = regexp; + return regexp; + }, + contentType: 2147483647, + matchCase: false, + thirdParty: null, + sitekeySource: null, + getSitekeys: function() + { + var prop = getOwnPropertyDescriptor(this, "sitekeys"); + if (prop) + { + return prop; + } + var sitekeys = null; + if (this.sitekeySource) + { + sitekeys = this.sitekeySource.split("|"); + this.sitekeySource = null; + } + this.sitekeys = sitekeys; + return this.sitekeys; + }, + matches: function(location, contentType, docDomain, thirdParty, sitekey) + { + if (this.getRegexp().test(location) && this.isActiveOnDomain(docDomain, sitekey)) + { + return true; + } + return false; + } +}); +RegExpFilter.prototype["0"] = "#this"; +RegExpFilter.fromText = function(text) +{ + var blocking = true; + var origText = text; + if (text.indexOf("@@") == 0) + { + blocking = false; + text = text.substr(2); + } + var contentType = null; + var matchCase = null; + var domains = null; + var sitekeys = null; + var thirdParty = null; + var collapse = null; + var options; + var match = text.indexOf("$") >= 0 ? Filter.optionsRegExp.exec(text) : null; + if (match) + { + options = match[1].toUpperCase().split(","); + text = match.input.substr(0, match.index); + for (var _loopIndex6 = 0; _loopIndex6 < options.length; ++_loopIndex6) + { + var option = options[_loopIndex6]; + var value = null; + var separatorIndex = option.indexOf("="); + if (separatorIndex >= 0) + { + value = option.substr(separatorIndex + 1); + option = option.substr(0, separatorIndex); + } + option = option.replace(/-/, "_"); + if (option in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = 0; + } + contentType |= RegExpFilter.typeMap[option]; + } + else if (option.charAt(0) == "~" && option.substr(1) in RegExpFilter.typeMap) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap[option.substr(1)]; + } + else if (option == "MATCH_CASE") + { + matchCase = true; + } + else if (option == "~MATCH_CASE") + { + matchCase = false; + } + else if (option == "DOMAIN" && typeof value != "undefined") + { + domains = value; + } + else if (option == "THIRD_PARTY") + { + thirdParty = true; + } + else if (option == "~THIRD_PARTY") + { + thirdParty = false; + } + else if (option == "COLLAPSE") + { + collapse = true; + } + else if (option == "~COLLAPSE") + { + collapse = false; + } + else if (option == "SITEKEY" && typeof value != "undefined") + { + sitekeys = value; + } + else + { + return new InvalidFilter(origText, "Unknown option " + option.toLowerCase()); + } + } + } + if (!blocking && (contentType == null || contentType & RegExpFilter.typeMap.DOCUMENT) && (!options || options.indexOf("DOCUMENT") < 0) && !/^\|?[\w\-]+:/.test(text)) + { + if (contentType == null) + { + contentType = RegExpFilter.prototype.contentType; + } + contentType &= ~RegExpFilter.typeMap.DOCUMENT; + } + try + { + if (blocking) + { + return new BlockingFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys, collapse); + } + else + { + return new WhitelistFilter(origText, text, contentType, matchCase, domains, thirdParty, sitekeys); + } + } + catch (e) + { + return new InvalidFilter(origText, e); + } +}; +RegExpFilter.typeMap = { + OTHER: 1, + SCRIPT: 2, + IMAGE: 4, + STYLESHEET: 8, + OBJECT: 16, + SUBDOCUMENT: 32, + DOCUMENT: 64, + XBL: 1, + PING: 1, + XMLHTTPREQUEST: 2048, + OBJECT_SUBREQUEST: 4096, + DTD: 1, + MEDIA: 16384, + FONT: 32768, + BACKGROUND: 4, + POPUP: 268435456, + ELEMHIDE: 1073741824 +}; +RegExpFilter.prototype.contentType &= ~ (RegExpFilter.typeMap.ELEMHIDE | RegExpFilter.typeMap.POPUP); + +function BlockingFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys, collapse) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); + this.collapse = collapse; +} +extend(BlockingFilter, RegExpFilter, { + collapse: null +}); + +function WhitelistFilter(text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys) +{ + RegExpFilter.call(this, text, regexpSource, contentType, matchCase, domains, thirdParty, sitekeys); +} +extend(WhitelistFilter, RegExpFilter, { +}); + +function Matcher() +{ + this.clear(); +} +Matcher.prototype = { + filterByKeyword: null, + keywordByFilter: null, + clear: function() + { + this.filterByKeyword = createDict(); + this.keywordByFilter = createDict(); + }, + add: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return; + } + var keyword = this.findKeyword(filter); + var oldEntry = this.filterByKeyword[keyword]; + if (typeof oldEntry == "undefined") + { + this.filterByKeyword[keyword] = filter; + } + else if (oldEntry.length == 1) + { + this.filterByKeyword[keyword] = [oldEntry, filter]; + } + else + { + oldEntry.push(filter); + } + this.keywordByFilter[filter.text] = keyword; + }, + remove: function(filter) + { + if (!(filter.text in this.keywordByFilter)) + { + return; + } + var keyword = this.keywordByFilter[filter.text]; + var list = this.filterByKeyword[keyword]; + if (list.length <= 1) + { + delete this.filterByKeyword[keyword]; + } + else + { + var index = list.indexOf(filter); + if (index >= 0) + { + list.splice(index, 1); + if (list.length == 1) + { + this.filterByKeyword[keyword] = list[0]; + } + } + } + delete this.keywordByFilter[filter.text]; + }, + findKeyword: function(filter) + { + var result = ""; + var text = filter.text; + if (Filter.regexpRegExp.test(text)) + { + return result; + } + var match = Filter.optionsRegExp.exec(text); + if (match) + { + text = match.input.substr(0, match.index); + } + if (text.substr(0, 2) == "@@") + { + text = text.substr(2); + } + var candidates = text.toLowerCase().match(/[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])/g); + if (!candidates) + { + return result; + } + var hash = this.filterByKeyword; + var resultCount = 16777215; + var resultLength = 0; + for (var i = 0, l = candidates.length; i < l; i++) + { + var candidate = candidates[i].substr(1); + var count = candidate in hash ? hash[candidate].length : 0; + if (count < resultCount || count == resultCount && candidate.length > resultLength) + { + result = candidate; + resultCount = count; + resultLength = candidate.length; + } + } + return result; + }, + hasFilter: function(filter) + { + return filter.text in this.keywordByFilter; + }, + getKeywordForFilter: function(filter) + { + if (filter.text in this.keywordByFilter) + { + return this.keywordByFilter[filter.text]; + } + else + { + return null; + } + }, + _checkEntryMatch: function(keyword, location, contentType, docDomain, thirdParty, sitekey) + { + var list = this.filterByKeyword[keyword]; + for (var i = 0; i < list.length; i++) + { + var filter = list[i]; + if (filter == "#this") + { + filter = list; + } + if (filter.matches(location, contentType, docDomain, thirdParty, sitekey)) + { + return filter; + } + } + return null; + }, + matchesAny: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.filterByKeyword) + { + var result = this._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + } + return null; + } +}; + +function CombinedMatcher() +{ + this.blacklist = new Matcher(); + this.whitelist = new Matcher(); + this.resultCache = createDict(); +} +CombinedMatcher.maxCacheEntries = 1000; +CombinedMatcher.prototype = { + blacklist: null, + whitelist: null, + resultCache: null, + cacheEntries: 0, + clear: function() + { + this.blacklist.clear(); + this.whitelist.clear(); + this.resultCache = createDict(); + this.cacheEntries = 0; + }, + add: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.add(filter); + } + else + { + this.blacklist.add(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + remove: function(filter) + { + if (filter instanceof WhitelistFilter) + { + this.whitelist.remove(filter); + } + else + { + this.blacklist.remove(filter); + } + if (this.cacheEntries > 0) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + }, + findKeyword: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.findKeyword(filter); + } + else + { + return this.blacklist.findKeyword(filter); + } + }, + hasFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.hasFilter(filter); + } + else + { + return this.blacklist.hasFilter(filter); + } + }, + getKeywordForFilter: function(filter) + { + if (filter instanceof WhitelistFilter) + { + return this.whitelist.getKeywordForFilter(filter); + } + else + { + return this.blacklist.getKeywordForFilter(filter); + } + }, + isSlowFilter: function(filter) + { + var matcher = filter instanceof WhitelistFilter ? this.whitelist : this.blacklist; + if (matcher.hasFilter(filter)) + { + return !matcher.getKeywordForFilter(filter); + } + else + { + return !matcher.findKeyword(filter); + } + }, + matchesAnyInternal: function(location, contentType, docDomain, thirdParty, sitekey) + { + var candidates = location.toLowerCase().match(/[a-z0-9%]{3,}/g); + if (candidates === null) + { + candidates = []; + } + candidates.push(""); + var blacklistHit = null; + for (var i = 0, l = candidates.length; i < l; i++) + { + var substr = candidates[i]; + if (substr in this.whitelist.filterByKeyword) + { + var result = this.whitelist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + if (result) + { + return result; + } + } + if (substr in this.blacklist.filterByKeyword && blacklistHit === null) + { + blacklistHit = this.blacklist._checkEntryMatch(substr, location, contentType, docDomain, thirdParty, sitekey); + } + } + return blacklistHit; + }, + matchesAny: function(location, docDomain) + { + var key = location + " " + docDomain + " "; + if (key in this.resultCache) + { + return this.resultCache[key]; + } + var result = this.matchesAnyInternal(location, 0, docDomain, null, null); + if (this.cacheEntries >= CombinedMatcher.maxCacheEntries) + { + this.resultCache = createDict(); + this.cacheEntries = 0; + } + this.resultCache[key] = result; + this.cacheEntries++; + return result; + } +}; +var defaultMatcher = new CombinedMatcher(); + +var direct = 'DIRECT;'; + +for (var i = 0; i < rules.length; i++) { + defaultMatcher.add(Filter.fromText(rules[i])); +} + +function FindProxyForURL(url, host) { + if (defaultMatcher.matchesAny(url, host) instanceof BlockingFilter) { + return proxy; + } + return direct; +} diff --git a/test/switchysharp.pac b/test/switchysharp.pac new file mode 100644 index 0000000..2cd7ee6 --- /dev/null +++ b/test/switchysharp.pac @@ -0,0 +1,3797 @@ +function regExpMatch(url, pattern) { try { return new RegExp(pattern).test(url); } catch(ex) { return false; } } + function FindProxyForURL(url, host) { + if (shExpMatch(url, "https://autoproxy.org*")) return 'DIRECT'; + if (shExpMatch(url, "http://ime.baidu.jp*")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.exblog\\.jp")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?.*v6\\.facebook\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?site\\.locql\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?download\\.syniumsoftware\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?haygo\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?f\\.cl\\.ly")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myvlog\\.im\\.tv")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?music\\.jwmusic\\.org")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.kodingen\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?simplecd\\.me")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?static\\.soup\\.io")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.tripod\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.typepad\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?static\\.typepad\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tax\\.nat\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?moe\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cwb\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?npm\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yatsen\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aec\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mvdis\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stdtime\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nmmba\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ntdmh\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?grb\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tpde\\.aide\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?matsu-news\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nerhl\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dapu-house\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vghtc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aide\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hchcc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ntuh\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nhri\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nstm\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ntsec\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ner\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nmtl\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ntl\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pet\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?khcc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nmmba\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?khms\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wanfang\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nict\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?arte\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nmh\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nmp\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tphcc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iner\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tncsec\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nspo\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aide\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ncree\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vghks\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tchb\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pabp\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?itrc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?df\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?womenbusiness\\.nyc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gsn-cert\\.nat\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kk\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thbstc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?comnews\\.gio\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?comnews\\.gio\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?klccab\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yvtc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aftygh\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?klra\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lungtanhr\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taoyuan\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hcc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nvri\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nmvttc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kmh\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?patehr\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nerch\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kmseh\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nertt\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cycab\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chukuang\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gysd\\.nyc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cp-house\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vghtpe\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?etraining\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stag\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bdhr\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tcsac\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?imagesblog\\.gio\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?arte\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dmtip\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chccc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hengchuen\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hsinchu-cc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?921\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ncdr\\.nat\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?4pppc\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?klsio\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nici\\.nat\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cromotc\\.nat\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taitung-house\\.gov\\.tw")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aliyun\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?baidu\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jike\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinaso\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qq\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sina\\.cn")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sina\\.com\\.cn")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sogou\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?so\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soso\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yahoo\\.cn")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youdao\\.com")) return 'DIRECT'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhongsou\\.com")) return 'DIRECT'; + if (shExpMatch(url, "http://*.lsxszzg.com*") || shExpMatch(url, "http://lsxszzg.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hulu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*huluim.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.ilovelongtoes.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pandora.tv*") || shExpMatch(url, "http://pandora.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.parkansky.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pimg.tw/*") || shExpMatch(url, "http://pimg.tw/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.0rz.tw*") || shExpMatch(url, "http://0rz.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://0rz.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*1-apple.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*123rf.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.12bet.com*") || shExpMatch(url, "http://12bet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.12vpn.com*") || shExpMatch(url, "http://12vpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*141hongkong.com/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.173ng.com*") || shExpMatch(url, "http://173ng.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*1984bbs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.1984bbs.org*") || shExpMatch(url, "http://1984bbs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.1bao.org*") || shExpMatch(url, "http://1bao.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://1bao.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.1eew.com*") || shExpMatch(url, "http://1eew.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.2-hand.info*") || shExpMatch(url, "http://2-hand.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.2000fun.com/bbs*") || shExpMatch(url, "http://2000fun.com/bbs*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.2008xianzhang.info*") || shExpMatch(url, "http://2008xianzhang.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*21andy.com/blog*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*24smile.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.2shared.com*") || shExpMatch(url, "http://2shared.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.315lz.com*") || shExpMatch(url, "http://315lz.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*5i01.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwannation.50webs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.5maodang.com*") || shExpMatch(url, "http://5maodang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*64memo*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*64tianwang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*64wiki.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*666kb.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*6park.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.881903.com/page/zh-tw/*") || shExpMatch(url, "http://881903.com/page/zh-tw/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.888.com*") || shExpMatch(url, "http://888.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*89-64.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.9001700.com*") || shExpMatch(url, "http://9001700.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://908taiwan.org/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://91porn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.92ccav.com*") || shExpMatch(url, "http://92ccav.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*a5.com.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://cdn*.abc.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ablwang.com*") || shExpMatch(url, "http://ablwang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.aboluowang.com*") || shExpMatch(url, "http://aboluowang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.aboutgfw.com*") || shExpMatch(url, "http://aboutgfw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*actimes.com.au*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*adultfriendfinder.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*adultkeep.net/peepshow/members/main.htm*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*aiph.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.aisex.com*") || shExpMatch(url, "http://aisex.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://aiweiwei.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.aiweiweiblog.com*") || shExpMatch(url, "http://aiweiweiblog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://fbcdn*.akamaihd.net/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*alexlur.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*aliengu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*allgirlsallowed.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*alliance.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.allinfa.com*") || shExpMatch(url, "http://allinfa.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://allinfa.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*alvinalexander.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*alwaysdata.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*amazon.com/Prisoner-State-Secret-Journal-Premier*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ameblo.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.amnesty.org*") || shExpMatch(url, "http://amnesty.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.amnestyusa.org*") || shExpMatch(url, "http://amnestyusa.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.amoiist.com*") || shExpMatch(url, "http://amoiist.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*amzs.me*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*analyze-v.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*animecrazy.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.anonymizer.com*") || shExpMatch(url, "http://anonymizer.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*anontext.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.answering-islam.org*") || shExpMatch(url, "http://answering-islam.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.antd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.antiwave.net*") || shExpMatch(url, "http://antiwave.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://antiwave.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.aol.ca/video-detail*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.aol.co.uk/video-detail*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.aol.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.aolnews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.ap.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.apetube.com*") || shExpMatch(url, "http://apetube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.apigee.com*") || shExpMatch(url, "http://apigee.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*appledaily.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*archive.is*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.arctosia.com*") || shExpMatch(url, "http://arctosia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://arctosia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*artsy.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.asahichinese.com*") || shExpMatch(url, "http://asahichinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*asdfg.jp/dabr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.asiaharvest.org*") || shExpMatch(url, "http://asiaharvest.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*asianews.it*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.askynz.net*") || shExpMatch(url, "http://askynz.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.atchinese.com*") || shExpMatch(url, "http://atchinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://atchinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*atgfw.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.atlaspost.com*") || shExpMatch(url, "http://atlaspost.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.atnext.com*") || shExpMatch(url, "http://atnext.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*avaaz.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*avdb.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.baby-kingdom.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*babynet.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*backchina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.backpackers.com.tw/forum*") || shExpMatch(url, "http://backpackers.com.tw/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*badoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hen.bao.li*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bannedbook.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bayvoice.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dajusha.baywords.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bbc.co.uk*chinese*") || shExpMatch(url, "http://bbc.co.uk*chinese*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bbc.co.uk/tv*") || shExpMatch(url, "http://bbc.co.uk/tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bbc.co.uk*zhongwen*") || shExpMatch(url, "http://bbc.co.uk*zhongwen*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.bbc.co.uk/onthisday*newsid_2496000/2496277*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*newsforums.bbc.co.uk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bbcchinese.com*") || shExpMatch(url, "http://bbcchinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://bbc.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bbg.gov*") || shExpMatch(url, "http://bbg.gov*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbsland.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bcc.com.tw/board*") || shExpMatch(url, "http://bcc.com.tw/board*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bcchinese.net*") || shExpMatch(url, "http://bcchinese.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bebo.com*") || shExpMatch(url, "http://bebo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*beijingspring.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.berlintwitterwall.com*") || shExpMatch(url, "http://berlintwitterwall.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bestforchina.org*") || shExpMatch(url, "http://bestforchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bestvpnservice.com*") || shExpMatch(url, "http://bestvpnservice.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.betfair.com*") || shExpMatch(url, "http://betfair.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bettween.com*") || shExpMatch(url, "http://bettween.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bewww.net*") || shExpMatch(url, "http://bewww.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.beyondfirewall.com*") || shExpMatch(url, "http://beyondfirewall.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*biantailajiao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*biantailajiao.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bigfools.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bignews.org*") || shExpMatch(url, "http://bignews.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bigsound.org/portnoy*") || shExpMatch(url, "http://bigsound.org/portnoy*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*billypan.com/wiki/%E9%A6%96%E9%A0%81*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bipic.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bit.ly*") || shExpMatch(url, "http://bit.ly*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://bit.ly*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bitshare.com*") || shExpMatch(url, "http://bitshare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bjzc.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tor.blingblingsquad.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.blinkx.com*") || shExpMatch(url, "http://blinkx.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blinw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.blip.tv*") || shExpMatch(url, "http://blip.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.blockcn.com*") || shExpMatch(url, "http://blockcn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.blogcatalog.com*") || shExpMatch(url, "http://blogcatalog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.blogger.com*") || shExpMatch(url, "http://blogger.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blogimg.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bloglines.com*") || shExpMatch(url, "http://bloglines.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*rconversation.blogs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blogtd.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.blogtd.org*") || shExpMatch(url, "http://blogtd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://blogtd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bloomberg.cn*") || shExpMatch(url, "http://bloomberg.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bloomberg.com*") || shExpMatch(url, "http://bloomberg.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bloomberg.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*boardreader.com/thread*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bonbonme.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.botanwang.com*") || shExpMatch(url, "http://botanwang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bot.nu*") || shExpMatch(url, "http://bot.nu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bowenpress.com*") || shExpMatch(url, "http://bowenpress.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dl.box.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*boxun.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.boxun.tv*") || shExpMatch(url, "http://boxun.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*boxunblog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.break.com*") || shExpMatch(url, "http://break.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.breakingtweets.com*") || shExpMatch(url, "http://breakingtweets.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.briefdream.com/%E7%B4%A0%E6%A3%BA*") || shExpMatch(url, "http://briefdream.com/%E7%B4%A0%E6%A3%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*brightkite.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*brizzly.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*broadbook.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ibros.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*brucewang.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://btdigg.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.budaedu.org*") || shExpMatch(url, "http://budaedu.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bullog.org*") || shExpMatch(url, "http://bullog.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.bullogger.com*") || shExpMatch(url, "http://bullogger.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.businessweek.com*") || shExpMatch(url, "http://businessweek.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.businesstimes.com.cn*") || shExpMatch(url, "http://businesstimes.com.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://businesstimes.com.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*buzzurl.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bwsj.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*holz.byethost8.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.c-spanvideo.org*") || shExpMatch(url, "http://c-spanvideo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cacnw.com*") || shExpMatch(url, "http://cacnw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cactusvpn.com*") || shExpMatch(url, "http://cactusvpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cafepress.com*") || shExpMatch(url, "http://cafepress.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cahr.org.tw*") || shExpMatch(url, "http://cahr.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.calameo.com/books*") || shExpMatch(url, "http://calameo.com/books*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn.calameo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://cn.calameo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cams.org.sg*") || shExpMatch(url, "http://cams.org.sg*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*canadameet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://bbs.cantonese.asia/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.canyu.org*") || shExpMatch(url, "http://canyu.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cao.im*") || shExpMatch(url, "http://cao.im*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.caobian.info*") || shExpMatch(url, "http://caobian.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://catcatbox.com/forum.php**")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*caochangqing.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cari.com.my*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.catholic.org.hk*") || shExpMatch(url, "http://catholic.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*catholic.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cbsnews.com/video*") || shExpMatch(url, "http://cbsnews.com/video*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ccdtr.org*") || shExpMatch(url, "http://ccdtr.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ccim.org*") || shExpMatch(url, "http://ccim.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cclife.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ccthere.com*") || shExpMatch(url, "http://ccthere.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cctongbao.com/article/2078732*") || shExpMatch(url, "http://cctongbao.com/article/2078732*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ccue.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ccue.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cgdepot.org*") || shExpMatch(url, "http://cgdepot.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://cgdepot.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cdjp.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cdnews.com.tw*") || shExpMatch(url, "http://cdnews.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cdp1998.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cdp2006.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cdpusa.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cdpweb.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cdpwu.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cecc.gov*") || shExpMatch(url, "http://cecc.gov*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.centurys.net*") || shExpMatch(url, "http://centurys.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://centurys.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cfhks.org.hk*") || shExpMatch(url, "http://cfhks.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cftfc.com*") || shExpMatch(url, "http://cftfc.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.change.org*") || shExpMatch(url, "http://change.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://change.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.changp.com*") || shExpMatch(url, "http://changp.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chapm25.com*") || shExpMatch(url, "http://chapm25.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chaturbate.com*") || shExpMatch(url, "http://chaturbate.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chengmingmag.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chenguangcheng.com*") || shExpMatch(url, "http://chenguangcheng.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chenpokong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://chicagoncmtv.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.china-week.com*") || shExpMatch(url, "http://china-week.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*china101.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*china21.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.china5000.us*") || shExpMatch(url, "http://china5000.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaaffairs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaaid.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaaid.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaaid.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinacomments.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinachange.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinachannel.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinadigitaltimes.net*") || shExpMatch(url, "http://chinadigitaltimes.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinaeweekly.com*") || shExpMatch(url, "http://chinaeweekly.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinagate.com*") || shExpMatch(url, "http://chinagate.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinageeks.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinagfw.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinagreenparty.org*") || shExpMatch(url, "http://chinagreenparty.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinahush.com*") || shExpMatch(url, "http://chinahush.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinalawtranslate.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaxchina.com/howto*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinainperspective.com*") || shExpMatch(url, "http://chinainperspective.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinainperspective.net/ArtShow.aspx?*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinainperspective.org*") || shExpMatch(url, "http://chinainperspective.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinalawandpolicy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinamule.com*") || shExpMatch(url, "http://chinamule.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinamz.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinarightsia.org*") || shExpMatch(url, "http://chinarightsia.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinasocialdemocraticparty.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinasoul.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinatimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinatweeps.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaway.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinaworker.info*") || shExpMatch(url, "http://chinaworker.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinayouth.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinayuanmin.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinese-hermit.net*") || shExpMatch(url, "http://chinese-hermit.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinese-memorial.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinesen.de*") || shExpMatch(url, "http://chinesen.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinesenewsnet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinesepen.org*") || shExpMatch(url, "http://chinesepen.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chinesetalks.net/ch*") || shExpMatch(url, "http://chinesetalks.net/ch*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chingcheong.com*") || shExpMatch(url, "http://chingcheong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chn.chosun.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*christianstudy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*christusrex.org/www1/sdc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chubun.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chuizi.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.chrlawyers.hk*") || shExpMatch(url, "http://chrlawyers.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.circlethebayfortibet.org*") || shExpMatch(url, "http://circlethebayfortibet.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.citizenlab.org*") || shExpMatch(url, "http://citizenlab.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*citizensradio.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*city9x.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.civicparty.hk*") || shExpMatch(url, "http://civicparty.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*civilhrfront.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*psiphon.civisec.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ck101.com*") || shExpMatch(url, "http://ck101.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.clb.org.hk*") || shExpMatch(url, "http://clb.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.clipfish.de*") || shExpMatch(url, "http://clipfish.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.cmoinc.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cnavista.com.tw/shop/stores_app*") || shExpMatch(url, "http://cnavista.com.tw/shop/stores_app*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cnd.org*") || shExpMatch(url, "http://cnd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wiki.cnitter.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cnn.com/video*") || shExpMatch(url, "http://cnn.com/video*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.cnyes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.code1984.com/64*") || shExpMatch(url, "http://code1984.com/64*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tosh.comedycentral.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*comefromchina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.contactmagazine.net*") || shExpMatch(url, "http://contactmagazine.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.coolaler.com*") || shExpMatch(url, "http://coolaler.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*coolder.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*corumcollege.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cpj.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*crackle.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*crd-net.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*creaders.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.crossthewall.net*") || shExpMatch(url, "http://crossthewall.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*csdparty.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cts.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cuhkacs.org/~benng*") || shExpMatch(url, "http://cuhkacs.org/~benng*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cuihua.org*") || shExpMatch(url, "http://cuihua.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.cuiweiping.net*") || shExpMatch(url, "http://cuiweiping.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.culture.tw*") || shExpMatch(url, "http://culture.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.cyberctm.com/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cytode.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cl.d0z.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dabr.co.uk*") || shExpMatch(url, "http://dabr.co.uk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dabr.mobi*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dadazim.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dadi360.com*") || shExpMatch(url, "http://dadi360.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dafagood.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dafahao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dailidaili.com*") || shExpMatch(url, "http://dailidaili.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dailymotion.com*") || shExpMatch(url, "http://dailymotion.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dajiyuan.com*") || shExpMatch(url, "http://dajiyuan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dajiyuan.eu*") || shExpMatch(url, "http://dajiyuan.eu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dalailama.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dalailamaworld.com*") || shExpMatch(url, "http://dalailamaworld.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dalianmeng.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.danke4china.net*") || shExpMatch(url, "http://danke4china.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.danwei.org*") || shExpMatch(url, "http://danwei.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*daolan.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*daxa.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn.dayabook.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.daylife.com/topic/dalai_lama*") || shExpMatch(url, "http://daylife.com/topic/dalai_lama*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ddc.com.tw*") || shExpMatch(url, "http://ddc.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.de-sci.org*") || shExpMatch(url, "http://de-sci.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lists.debian.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*packages.debian.org/zh-cn/lenny/gpass*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*delicious.com/GFWbookmark*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.democrats.org*") || shExpMatch(url, "http://democrats.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.dfanning.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.diaoyuislands.org*") || shExpMatch(url, "http://diaoyuislands.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*static.digg.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.diigo.com*") || shExpMatch(url, "http://diigo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dipity.com*") || shExpMatch(url, "http://dipity.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.discuss.com.hk*") || shExpMatch(url, "http://discuss.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*disp.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dit-inc.us*") || shExpMatch(url, "http://dit-inc.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dizhidizhi.com*") || shExpMatch(url, "http://dizhidizhi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*djangosnippets.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dojin.com*") || shExpMatch(url, "http://dojin.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dok-forum.net*") || shExpMatch(url, "http://dok-forum.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.domain.club.tw*") || shExpMatch(url, "http://domain.club.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dongde.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dongtaiwang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dongtaiwang.net*") || shExpMatch(url, "http://dongtaiwang.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dongyangjing.com*") || shExpMatch(url, "http://dongyangjing.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dontfilter.us*") || shExpMatch(url, "http://dontfilter.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dotplane.com*") || shExpMatch(url, "http://dotplane.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*doubleaf.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dowei.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dphk.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dpp.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*drsunacademy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.drtuber.com*") || shExpMatch(url, "http://drtuber.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dscn.info*") || shExpMatch(url, "http://dscn.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dtiserv2.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.duckload.com/download*") || shExpMatch(url, "http://duckload.com/download*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.duihua.org*") || shExpMatch(url, "http://duihua.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.duoweitimes.com*") || shExpMatch(url, "http://duoweitimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*duping.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dupola.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dupola.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dw.de*") || shExpMatch(url, "http://dw.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://dw.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dw-world.com*") || shExpMatch(url, "http://dw-world.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dw-world.de*") || shExpMatch(url, "http://dw-world.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*http://dw-world.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.dwheeler.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dwnews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dwnews.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xys.dxiong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dy24k.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dyndns.org*") || shExpMatch(url, "http://dyndns.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dzze.com*") || shExpMatch(url, "http://dzze.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.e-gold.com*") || shExpMatch(url, "http://e-gold.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://g.e-hentai.org/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*e-info.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.e-traderland.net/board*") || shExpMatch(url, "http://e-traderland.net/board*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.e123.hk*") || shExpMatch(url, "http://e123.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkjp.easyweb.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ebookbrowse.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ebookee.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ecministry.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.ecstart.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twimg\\.edgesuite\\.net\\/\\/?appledaily*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*edicypages.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*edoors.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.edubridge.com*") || shExpMatch(url, "http://edubridge.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*efcc.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*electionsmeter.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.eltondisney.com*") || shExpMatch(url, "http://eltondisney.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.emory.edu*") || shExpMatch(url, "http://emory.edu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.emule-ed2k.com*") || shExpMatch(url, "http://emule-ed2k.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://emule-ed2k.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.emuparadise.me*") || shExpMatch(url, "http://emuparadise.me*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinese.engadget.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes-bg.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes-romania.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.co.il*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.co.kr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.fr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.epochtimes.ie*") || shExpMatch(url, "http://epochtimes.ie*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimes.se*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*epochtimestr.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*erabaru.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.erepublik.com*") || shExpMatch(url, "http://erepublik.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*etaiwannews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ettoday.net*") || shExpMatch(url, "http://ettoday.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.eulam.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*eventful.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://blog.excite.co.jp/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.extremetube.com*") || shExpMatch(url, "http://extremetube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*eyevio.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.eyny.com*") || shExpMatch(url, "http://eyny.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ezpc.tk/category/soft*") || shExpMatch(url, "http://ezpc.tk/category/soft*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ezpeer.com*") || shExpMatch(url, "http://ezpeer.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.facebook.com*") || shExpMatch(url, "http://facebook.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fakku.net*") || shExpMatch(url, "http://fakku.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*falunart.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*falundafa.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*falundafamuseum.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fangongheike.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fanqianghou.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fapdu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fawanghuihui.org*") || shExpMatch(url, "http://fawanghuihui.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fanqiangyakexi.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fail.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fan-qiang.com*") || shExpMatch(url, "http://fan-qiang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fangbinxing.com*") || shExpMatch(url, "http://fangbinxing.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fangeming.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fanyue.info*") || shExpMatch(url, "http://fanyue.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.farwestchina.com*") || shExpMatch(url, "http://farwestchina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*favorious.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.favotter.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*favstar.fm*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*faydao.com/weblog*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fb.me*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fc2.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fc2china.com*") || shExpMatch(url, "http://fc2china.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shifeike.blog125.fc2blog.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.fdbox.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fdc89.jp*") || shExpMatch(url, "http://fdc89.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*feer.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fengzhenghu.com*") || shExpMatch(url, "http://fengzhenghu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fflick.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fgmtv.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fgmtv.org*") || shExpMatch(url, "http://fgmtv.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.filefactory.com/file*") || shExpMatch(url, "http://filefactory.com/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.files2me.com*") || shExpMatch(url, "http://files2me.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://files2me.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fileserve.com/file*") || shExpMatch(url, "http://fileserve.com/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fillthesquare.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*findbook.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*finler.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fireofliberty.org*") || shExpMatch(url, "http://fireofliberty.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.falsefire.com*") || shExpMatch(url, "http://falsefire.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fleshbot.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*flickrhivemind.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yuming.flnet.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://cn.fmnnow.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.foolsmountain.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.forum4hk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pioneer-worker.forums-free.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://4sq.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.foxbusiness.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.focusvpn.com*") || shExpMatch(url, "http://focusvpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fooooo.com*") || shExpMatch(url, "http://fooooo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*footwiball.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*foxtang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freakshare.com*") || shExpMatch(url, "http://freakshare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://freakshare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*free-gate.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.free.fr/adsl*") || shExpMatch(url, "http://free.fr/adsl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kineox.free.fr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*whitebear.freebearblog.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freechal.com*") || shExpMatch(url, "http://freechal.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freedomhouse.org*") || shExpMatch(url, "http://freedomhouse.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freegao.com*") || shExpMatch(url, "http://freegao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.free-hada-now.org*") || shExpMatch(url, "http://free-hada-now.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freelotto.com*") || shExpMatch(url, "http://freelotto.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freeman2.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freeopenvpn.com*") || shExpMatch(url, "http://freeopenvpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freemoren.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freemorenews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freenet-china.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freenewscn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freeoz.org/bbs*") || shExpMatch(url, "http://freeoz.org/bbs*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*free4u.com.ar*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.free-ssh.com*") || shExpMatch(url, "http://free-ssh.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freeoz.org*") || shExpMatch(url, "http://freeoz.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freewebs.com*") || shExpMatch(url, "http://freewebs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freexinwen.com*") || shExpMatch(url, "http://freexinwen.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.freeyoutubeproxy.net*") || shExpMatch(url, "http://freeyoutubeproxy.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*friendfeed.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*friendfeed-media.com/e99a4ebe2fb4c1985c2a58775eb4422961aa5a2e*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://ff.im*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.zensur.freerk.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freevpn.nl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fring.com*") || shExpMatch(url, "http://fring.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.frontlinedefenders.org*") || shExpMatch(url, "http://frontlinedefenders.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fsurf.com*") || shExpMatch(url, "http://fsurf.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ftchinese.com/story/001054103*") || shExpMatch(url, "http://ftchinese.com/story/001054103*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ftchinese.com/*video*") || shExpMatch(url, "http://ftchinese.com/*video*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ftchinese.com/comments*") || shExpMatch(url, "http://ftchinese.com/comments*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fuckcnnic.net*") || shExpMatch(url, "http://fuckcnnic.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fuckgfw.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fulue.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.funf.tw*") || shExpMatch(url, "http://funf.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*funp.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.futurechinaforum.org*") || shExpMatch(url, "http://futurechinaforum.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.fuyin.net*") || shExpMatch(url, "http://fuyin.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fzh999.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*fzh999.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gaeproxy.com*") || shExpMatch(url, "http://gaeproxy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gamebase.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gamer.com.tw*") || shExpMatch(url, "http://gamer.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gamez.com.tw*") || shExpMatch(url, "http://gamez.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gaoming.net*") || shExpMatch(url, "http://gaoming.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ganges.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gaopi.net*") || shExpMatch(url, "http://gaopi.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://gaopi.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gaozhisheng.org*") || shExpMatch(url, "http://gaozhisheng.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gaozhisheng.net*") || shExpMatch(url, "http://gaozhisheng.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gardennetworks.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*72.52.81.22*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gazotube.com*") || shExpMatch(url, "http://gazotube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gcpnews.com*") || shExpMatch(url, "http://gcpnews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gdbt.net/forum*") || shExpMatch(url, "http://gdbt.net/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gdzf.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*geekerhome.com/2010/03/xixiang-project-cross-gfw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.geocities.co.jp*") || shExpMatch(url, "http://geocities.co.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.geocities.com/SiliconValley/Circuit/5683/download.html*") || shExpMatch(url, "http://geocities.com/SiliconValley/Circuit/5683/download.html*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.geocities.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*geocities.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.getchu.com*") || shExpMatch(url, "http://getchu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.getfreedur.com*") || shExpMatch(url, "http://getfreedur.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.getlantern.org*") || shExpMatch(url, "http://getlantern.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.getjetso.com/forum*") || shExpMatch(url, "http://getjetso.com/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*getiton.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.getsocialscope.com*") || shExpMatch(url, "http://getsocialscope.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gfw.org.ua*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ggssl.com*") || shExpMatch(url, "http://ggssl.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://cn.giganews.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gigporno.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://gist.github.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*globaljihad.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*globalmuseumoncommunism.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.globalvoicesonline.org*") || shExpMatch(url, "http://globalvoicesonline.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gmbd.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*godfootsteps.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.goldenmelody.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gongmeng.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gongm.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gongminliliang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gongwt.com*") || shExpMatch(url, "http://gongwt.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.goodreads.com*") || shExpMatch(url, "http://goodreads.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.goodreaders.com*") || shExpMatch(url, "http://goodreaders.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.googlesile.com*") || shExpMatch(url, "http://googlesile.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gopetition.com*") || shExpMatch(url, "http://gopetition.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*grandtrial.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*greatfirewall.biz*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.greatfirewallofchina.org*") || shExpMatch(url, "http://greatfirewallofchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.greenparty.org.tw*") || shExpMatch(url, "http://greenparty.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gpass1.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*great-firewall.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*great-roc.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*greatroc.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*greatzhonghua.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.greenvpn.net*") || shExpMatch(url, "http://greenvpn.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gs-discuss.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*guancha.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gun-world.net*") || shExpMatch(url, "http://gun-world.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gzm.tv*") || shExpMatch(url, "http://gzm.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.appspot.com*") || shExpMatch(url, "http://appspot.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinaaid.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*echofon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://ub0.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wozy.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*anti.anti.cnn.googlepages.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*myboooks.googlepages.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.googlevideo.com*") || shExpMatch(url, "http://googlevideo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gospelherald.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://hk.gradconnection.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*greatfire.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*greatfirewallofchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.theguardian.co*") || shExpMatch(url, "http://theguardian.co*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*guishan.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.gyalwarinpoche.com*") || shExpMatch(url, "http://gyalwarinpoche.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*h1n1china.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hacken.cc/bbs*") || shExpMatch(url, "http://hacken.cc/bbs*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hahlo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hanunyi.com*") || shExpMatch(url, "http://hanunyi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*have8.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hecaitou.net*") || shExpMatch(url, "http://hecaitou.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hechaji.com*") || shExpMatch(url, "http://hechaji.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hellotxt.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hellouk.org/forum/lofiversion*") || shExpMatch(url, "http://hellouk.org/forum/lofiversion*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.helpeachpeople.com*") || shExpMatch(url, "http://helpeachpeople.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.helpzhuling.org*") || shExpMatch(url, "http://helpzhuling.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*heqinglian.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*here4news.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*app.heywire.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hgseav.com*") || shExpMatch(url, "http://hgseav.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hidden-advent.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hidecloud.com/blog/2008/07/29/fuck-beijing-olympics.html*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hidemyass.com*") || shExpMatch(url, "http://hidemyass.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hihiforum.com*") || shExpMatch(url, "http://hihiforum.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://hihiforum.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.higfw.com*") || shExpMatch(url, "http://higfw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.himemix.com*") || shExpMatch(url, "http://himemix.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.himemix.net*") || shExpMatch(url, "http://himemix.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*times.hinet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hjclub.info*") || shExpMatch(url, "http://hjclub.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hk-pub.com/forum*") || shExpMatch(url, "http://hk-pub.com/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://hk-pub.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hk32168.com*") || shExpMatch(url, "http://hk32168.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*app.hkatvnews.com/v3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkbc.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkbf.org*") || shExpMatch(url, "http://hkbf.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkchurch.org*") || shExpMatch(url, "http://hkchurch.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkday.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkdailynews.com.hk/china.php*") || shExpMatch(url, "http://hkdailynews.com.hk/china.php*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkej.com*") || shExpMatch(url, "http://hkej.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkepc.com/forum/viewthread.php?tid=1153322*") || shExpMatch(url, "http://hkepc.com/forum/viewthread.php?tid=1153322*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*global.hkepc.com*forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkfront.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkgolden.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkgreenradio.org/home*") || shExpMatch(url, "http://hkgreenradio.org/home*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkheadline.com*blog*") || shExpMatch(url, "http://hkheadline.com*blog*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkheadline.com/instantnews*") || shExpMatch(url, "http://hkheadline.com/instantnews*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkhkhk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkjc.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkjp.org*") || shExpMatch(url, "http://hkjp.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkptu.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkreporter.com*") || shExpMatch(url, "http://hkreporter.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hkwcc.org.hk*") || shExpMatch(url, "http://hkwcc.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*apps.hloli.net/gfwtube*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hnjhj.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*holyspiritspeaks.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://homeservershow.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hongmeimei.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hootsuite.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hotfile.com/dl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hotpot.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hotshame.com*") || shExpMatch(url, "http://hotshame.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hqcdp.org*") || shExpMatch(url, "http://hqcdp.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hrcir.com*") || shExpMatch(url, "http://hrcir.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hrichina.org*") || shExpMatch(url, "http://hrichina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.hrw.org*") || shExpMatch(url, "http://hrw.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.htkou.net*") || shExpMatch(url, "http://htkou.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*huaglad.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.huanghuagang.org*") || shExpMatch(url, "http://huanghuagang.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.huaren.us*") || shExpMatch(url, "http://huaren.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*huaxia-news.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*huaxin.ph*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hua-yue.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*t.huhaitai.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hutong9.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*iask.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*iask.bz*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ibiblio.org/pub/packages/ccic*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://cn.ibtimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blogs.icerocket.com/tag*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.icij.org*") || shExpMatch(url, "http://icij.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*w.idaiwan.com/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*idemocracy.asia*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.identi.ca*") || shExpMatch(url, "http://identi.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.idlcoyote.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.idouga.com*") || shExpMatch(url, "http://idouga.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.idsam.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.idv.tw*") || shExpMatch(url, "http://idv.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ieasynews.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ied2k.net*") || shExpMatch(url, "http://ied2k.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ifanqiang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ifanr.com/857*") || shExpMatch(url, "http://ifanr.com/857*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ifcss.org*") || shExpMatch(url, "http://ifcss.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ifjc.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*imageshack.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.imdb.com/name/nm0482730*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.img.ly*") || shExpMatch(url, "http://img.ly*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.imkev.com*") || shExpMatch(url, "http://imkev.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.imlive.com*") || shExpMatch(url, "http://imlive.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*immigration.gov.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tech2.in.com/video/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.initiativesforchina.org*") || shExpMatch(url, "http://initiativesforchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.inmediahk.net*") || shExpMatch(url, "http://inmediahk.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*instagram.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://internet.org/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*internetdefenseleague.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*internetfreedom.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*inxian.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ipobar.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://*.iptorrents.com*") || shExpMatch(url, "https://iptorrents.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://iptorrents.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*iredmail.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.beta.iset.com.tw/forum*") || shExpMatch(url, "http://beta.iset.com.tw/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*http://beta.iset.com.tw/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.iset.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.islam.org.hk*") || shExpMatch(url, "http://islam.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.islamicity.com*") || shExpMatch(url, "http://islamicity.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.isaacmao.com*") || shExpMatch(url, "http://isaacmao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*isohunt.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.istef.info/2007/10/21/myentunnel*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.istockphoto.com*") || shExpMatch(url, "http://istockphoto.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*isunaffairs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*isuntv.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*itaboo.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ithelp.ithome.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.itweet.net*") || shExpMatch(url, "http://itweet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://itweet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.iu45.com*") || shExpMatch(url, "http://iu45.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.iverycd.com*") || shExpMatch(url, "http://iverycd.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.izaobao.us*") || shExpMatch(url, "http://izaobao.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.izles.net*") || shExpMatch(url, "http://izles.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.jackjia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jbtalks.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jbtalks.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jbtalks.my*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jeanyim.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.jiehua.cz*") || shExpMatch(url, "http://jiehua.cz*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jieshibaobao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.jimoparty.com*") || shExpMatch(url, "http://jimoparty.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://jimoparty.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jinbushe.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zhao.jinhai.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jingpin.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ac.jiruan.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jkforum.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*research.jmsc.hku.hk/social*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*jpopforum.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.junefourth-20.net*") || shExpMatch(url, "http://junefourth-20.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*justfreevpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh-tw.justin.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*justtristan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*juziyue.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.jyxf.net*") || shExpMatch(url, "http://jyxf.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kagyuoffice.org.tw*") || shExpMatch(url, "http://kagyuoffice.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kaiyuan.de*") || shExpMatch(url, "http://kaiyuan.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kanzhongguo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kanzhongguo.eu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kechara.com*") || shExpMatch(url, "http://kechara.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.keepandshare.com/visit/visit_page.php?i=688154*") || shExpMatch(url, "http://keepandshare.com/visit/visit_page.php?i=688154*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kendincos.net*") || shExpMatch(url, "http://kendincos.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kenengba.com*") || shExpMatch(url, "http://kenengba.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wiki.keso.cn/Home*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.khmusic.com.tw*") || shExpMatch(url, "http://khmusic.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.kimy.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kingdomsalvation.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kinghost.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kingstone.com.tw*") || shExpMatch(url, "http://kingstone.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*killwall.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kissbbao.cn*") || shExpMatch(url, "http://kissbbao.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.knowledgerush.com/kr/encyclopedia*") || shExpMatch(url, "http://knowledgerush.com/kr/encyclopedia*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.koornk.com*") || shExpMatch(url, "http://koornk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kui.name/event*") || shExpMatch(url, "http://kui.name/event*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kun.im*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kusocity.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kwongwah.com.my*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*kyohk.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.kzeng.info*") || shExpMatch(url, "http://kzeng.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*la-forum.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ladbrokes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lagranepoca.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lalulalu.com*") || shExpMatch(url, "http://lalulalu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*laogai.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*laomiu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.laoyang.info*") || shExpMatch(url, "http://laoyang.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://laoyang.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.laqingdan.net*") || shExpMatch(url, "http://laqingdan.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*latelinenews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lemonde.fr*") || shExpMatch(url, "http://lemonde.fr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lerosua.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.lester850.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*letscorp.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*liansi.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lianyue.net*") || shExpMatch(url, "http://lianyue.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.liaowangxizang.net*") || shExpMatch(url, "http://liaowangxizang.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*libertytimes.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lidecheng.com/blog/fucking-gfw*") || shExpMatch(url, "http://lidecheng.com/blog/fucking-gfw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*limiao.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*abitno.linpie.com/use-ipv6-to-fuck-gfw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.linglingfa.com*") || shExpMatch(url, "http://linglingfa.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.linkideo.com*") || shExpMatch(url, "http://linkideo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*linuxtoy.org/archives/installing-west-chamber-on-ubuntu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lipuman.com*") || shExpMatch(url, "http://lipuman.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*listorious.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.liuhanyu.com*") || shExpMatch(url, "http://liuhanyu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.liujianshu.com*") || shExpMatch(url, "http://liujianshu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*liuxiaotong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*liu.lu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.liveleak.com*") || shExpMatch(url, "http://liveleak.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.livestation.com*") || shExpMatch(url, "http://livestation.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*livestream.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.livevideo.com*") || shExpMatch(url, "http://livevideo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lizhizhuangbi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lkcn.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://localpresshk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*logbot.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.longhair.hk*") || shExpMatch(url, "http://longhair.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lookatgame.com*") || shExpMatch(url, "http://lookatgame.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://lookatgame.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lotuslight.org.tw*") || shExpMatch(url, "http://lotuslight.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkreporter.loved.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://lrip.org/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lsd.org.hk*") || shExpMatch(url, "http://lsd.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lsforum.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.lupm.org*") || shExpMatch(url, "http://lupm.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lvhai.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*m-team.cc/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.macrovpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://maiplus.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*marguerite.su*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.maiio.net*") || shExpMatch(url, "http://maiio.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mail-archive.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*malaysiakini.com/cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*markmail.org*message*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*maruta.be/forget*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.marxist.com*") || shExpMatch(url, "http://marxist.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.marxists.org/chinese*") || shExpMatch(url, "http://marxists.org/chinese*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mayimayi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mcfog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.md-t.org*") || shExpMatch(url, "http://md-t.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mediafire.com/?*") || shExpMatch(url, "http://mediafire.com/?*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mefeedia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lich355.megabyet.net/%E7%BD%91%E7%BB%9C%E7%A5%9E%E5%85%BD%E5%8F%A4%E9%B8%BD%E8%BF%81%E7%A7%BB%E8%AE%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.megaporn.com*") || shExpMatch(url, "http://megaporn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*megavideo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*meirixiaochao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*memedia.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.memrijttm.org*") || shExpMatch(url, "http://memrijttm.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*merit-times.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mesotw.com/bbs*") || shExpMatch(url, "http://mesotw.com/bbs*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.metacafe.com*") || shExpMatch(url, "http://metacafe.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mgoon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mhradio.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://michaelanti.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*middle-way.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mihk.hk/forum*") || shExpMatch(url, "http://mihk.hk/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mihua.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mimivip.com*") || shExpMatch(url, "http://mimivip.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*minghui.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*minghui-school.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingjinglishi.com*") || shExpMatch(url, "http://mingjinglishi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mingjingnews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mingpao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingpaocanada.com*") || shExpMatch(url, "http://mingpaocanada.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingpaomonthly.com*") || shExpMatch(url, "http://mingpaomonthly.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mingpaonews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingpaony.com*") || shExpMatch(url, "http://mingpaony.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingpaosf.com*") || shExpMatch(url, "http://mingpaosf.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingpaotor.com*") || shExpMatch(url, "http://mingpaotor.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mingpaovan.com*") || shExpMatch(url, "http://mingpaovan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mininova.org/tor/2593503*") || shExpMatch(url, "http://mininova.org/tor/2593503*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.minzhuhua.net*") || shExpMatch(url, "http://minzhuhua.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*minzhuzhongguo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mirrorbooks.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mitbbs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mixero.com*") || shExpMatch(url, "http://mixero.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mixpod.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mixx.com*") || shExpMatch(url, "http://mixx.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mk5000.com*") || shExpMatch(url, "http://mk5000.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mlcool.com*") || shExpMatch(url, "http://mlcool.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*plurktop.mmdays.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mmmca.com*") || shExpMatch(url, "http://mmmca.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mobile01.com*") || shExpMatch(url, "http://mobile01.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mobypicture.com*") || shExpMatch(url, "http://mobypicture.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://moby.to*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wiki.moegirl.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*molihua.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.monlamit.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*c1522.mooo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.morbell.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mp3ye.eu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mpfinance.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mpinews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mrtweet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.msn.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.msguancha.com*") || shExpMatch(url, "http://msguancha.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*multiproxy.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.mymaji.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*multiupload.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.my-proxy.com*") || shExpMatch(url, "http://my-proxy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.my903.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*myactimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.myav.com.tw/bbs*") || shExpMatch(url, "http://myav.com.tw/bbs*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.mychinamyhome.com*") || shExpMatch(url, "http://mychinamyhome.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.myforum.com.hk*") || shExpMatch(url, "http://myforum.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.myfreshnet.com*") || shExpMatch(url, "http://myfreshnet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*mysinablog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.myspace.com*") || shExpMatch(url, "http://myspace.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*old.nabble.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nanyang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nanyangpost.com*") || shExpMatch(url, "http://nanyangpost.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nanzao.com*") || shExpMatch(url, "http://nanzao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nakido.com*") || shExpMatch(url, "http://nakido.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.naol.ca*") || shExpMatch(url, "http://naol.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cyberghost.natado.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nccwatch.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nch.com.tw*") || shExpMatch(url, "http://nch.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ncn.org*") || shExpMatch(url, "http://ncn.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nde.de*") || shExpMatch(url, "http://nde.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ndr.de*") || shExpMatch(url, "http://ndr.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.ned.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*t.neolee.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*netcolony.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bolin.netfirms.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.netlog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*netme.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*networkedblogs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*neverforget8964.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*new-3lunch.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.new-akiba.com*") || shExpMatch(url, "http://new-akiba.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.newcenturymc.com*") || shExpMatch(url, "http://newcenturymc.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://newcenturymc.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*newcenturynews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.newchen.com*") || shExpMatch(url, "http://newchen.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.newgrounds.com*") || shExpMatch(url, "http://newgrounds.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*newlandmagazine.com.au*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news100.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.newscn.org*") || shExpMatch(url, "http://newscn.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*newspeak.cc/story*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.newsancai.com*") || shExpMatch(url, "http://newsancai.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.newtaiwan.com.tw*") || shExpMatch(url, "http://newtaiwan.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*newtalk.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*newyorktimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk*.nextmedia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tw*.nextmedia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*static.apple.nextmedia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nexttv.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ngensis.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nicovideo.jp/watch/*") || shExpMatch(url, "http://nicovideo.jp/watch/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nintendium.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.dayaarmongol.ning.com*") || shExpMatch(url, "http://dayaarmongol.ning.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://dayaarmongol.ning.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwanyes.ning.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*njuice.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nlfreevpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nobelprize.org/nobel_prizes/peace/laureates/2010*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nobodycanstop.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nowtorrents.com*") || shExpMatch(url, "http://nowtorrents.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.noypf.com*") || shExpMatch(url, "http://noypf.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nps.gov*") || shExpMatch(url, "http://nps.gov*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nrk.no*") || shExpMatch(url, "http://nrk.no*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ntdtv.co*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ntdtv.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ntdtv.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ntdtv.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nuvid.com*") || shExpMatch(url, "http://nuvid.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nuzcom.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nvquan.org*") || shExpMatch(url, "http://nvquan.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nydus.ca*") || shExpMatch(url, "http://nydus.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.nytimes.com*") || shExpMatch(url, "http://nytimes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nysingtao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*observechina.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*oclp.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*offbeatchina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twtr2src.ogaoga.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.oikos.com.tw/v4*") || shExpMatch(url, "http://oikos.com.tw/v4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.oiktv.com*") || shExpMatch(url, "http://oiktv.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*oizoblog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.okayfreedom.com*") || shExpMatch(url, "http://okayfreedom.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*old-cat.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.olympicwatch.org*") || shExpMatch(url, "http://olympicwatch.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*omgili.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*omnitalk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.omy.sg*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.omy.sg*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*showbiz.omy.sg*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.on.cc*") || shExpMatch(url, "http://on.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://onedrive.live.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.onlylady.cn*") || shExpMatch(url, "http://onlylady.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*onmoon.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*onmoon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.oopsforum.com*") || shExpMatch(url, "http://oopsforum.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*open.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*opendemocracy.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*myopenid.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*openid.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.openleaks.org*") || shExpMatch(url, "http://openleaks.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*openvpn.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://help.opera.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*my.opera.com/dahema*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*opnir.com/215/myentunnel-ssh-autoproxy-cross-gfw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.orchidbbs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*orientaldaily.com.my*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*t.orzdream.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tui.orzdream.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*m.oulove.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*oursogo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*oursteps.com.au*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xinqimeng.over-blog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*share.ovi.com/media*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://owl.li*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://ht.ly*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://htl.li*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://mash.to*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.owind.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.oxid.it*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*oyax.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ozchinese.com/bbs*") || shExpMatch(url, "http://ozchinese.com/bbs*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.ozchinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ozyoyo.com*") || shExpMatch(url, "http://ozyoyo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pacificpoker.com*") || shExpMatch(url, "http://pacificpoker.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.packetix.net*") || shExpMatch(url, "http://packetix.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*page2rss.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.palacemoon.com*") || shExpMatch(url, "http://palacemoon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.palmislife.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*paper.li*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*paperb.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.panluan.net*") || shExpMatch(url, "http://panluan.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.panoramio.com*") || shExpMatch(url, "http://panoramio.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.parade.com/dictators/2009*") || shExpMatch(url, "http://parade.com/dictators/2009*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pastebin.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pastie.org*") || shExpMatch(url, "http://pastie.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pbs.org/wgbh/pages/frontline/gate*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pbs.org/wgbh/pages/frontline/tankman*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pbwiki.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pcdiscuss.com*") || shExpMatch(url, "http://pcdiscuss.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pcdvd.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pchome.com.tw*") || shExpMatch(url, "http://pchome.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://pcij.org/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pdetails.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*peacefire.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*peacehall.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.peeasian.com*") || shExpMatch(url, "http://peeasian.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pekingduck.org*") || shExpMatch(url, "http://pekingduck.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*penchinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.penchinese.net*") || shExpMatch(url, "http://penchinese.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pengyulong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.penthouse.com*") || shExpMatch(url, "http://penthouse.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.peopo.org*") || shExpMatch(url, "http://peopo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.percy.in*") || shExpMatch(url, "http://percy.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.perfectgirls.net*") || shExpMatch(url, "http://perfectgirls.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*perfectvpn.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*perfspot.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*philly.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.picidae.net*") || shExpMatch(url, "http://picidae.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*picturesocial.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pidown.com*") || shExpMatch(url, "http://pidown.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pign.net*") || shExpMatch(url, "http://pign.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.pilotmoon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pin6.com*") || shExpMatch(url, "http://pin6.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ping.fm*") || shExpMatch(url, "http://ping.fm*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.piring.com*") || shExpMatch(url, "http://piring.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pixnet.net*") || shExpMatch(url, "http://pixnet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pk.com*") || shExpMatch(url, "http://pk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://pictures.playboy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*plays.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*plm.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*plunder.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.plus28.com*") || shExpMatch(url, "http://plus28.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.plusbb.com*") || shExpMatch(url, "http://plusbb.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pmates.com*") || shExpMatch(url, "http://pmates.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pokerstars.com*") || shExpMatch(url, "http://pokerstars.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.pokerstrategy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*politicalchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*popyard.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.porn.com*") || shExpMatch(url, "http://porn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.porn2.com*") || shExpMatch(url, "http://porn2.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pornbase.org*") || shExpMatch(url, "http://pornbase.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pornhub.com*") || shExpMatch(url, "http://pornhub.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pornoxo.com*") || shExpMatch(url, "http://pornoxo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pornrapidshare.com*") || shExpMatch(url, "http://pornrapidshare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pornstarclub.com*") || shExpMatch(url, "http://pornstarclub.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.porntube.com*") || shExpMatch(url, "http://porntube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.pornvisit.com*") || shExpMatch(url, "http://pornvisit.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*postadult.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pubu.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*puffinbrowser.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://post.ly*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.posterous.com*") || shExpMatch(url, "http://posterous.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://posterous.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.power.com*") || shExpMatch(url, "http://power.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*powerapple.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*heix.pp.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*prisoner-state-secret-journal-premier*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*privatepaste.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*privatetunnel.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*provideocoalition.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*proxifier.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*api.proxlet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*proxy.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.proxypy.net*") || shExpMatch(url, "http://proxypy.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*proxyroad.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*prozz.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*psblog.name*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*psiphon.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ptt.cc*") || shExpMatch(url, "http://ptt.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.puffstore.com*") || shExpMatch(url, "http://puffstore.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.putlocker.com/file*") || shExpMatch(url, "http://putlocker.com/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pwned.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*python.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.python.com.tw*") || shExpMatch(url, "http://python.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://python.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.qanote.com*") || shExpMatch(url, "http://qanote.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*qi-gong.me*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.qidian.ca*") || shExpMatch(url, "http://qidian.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.qienkuen.org*") || shExpMatch(url, "http://qienkuen.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*qixianglu.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.qmzdd.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.qkshare.com*") || shExpMatch(url, "http://qkshare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*qoos.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.qooza.hk*dafengqixi*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*qusi8.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.qvodzy.org*") || shExpMatch(url, "http://qvodzy.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*nemesis2.qx.net*pages*MyEnTunnel*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*qxbbs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.radicalparty.org*") || shExpMatch(url, "http://radicalparty.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*radioaustralia.net.au*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*opml.radiotime.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*rangzen.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://blog.ranxiang.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ranyunfei.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rapbull.net*") || shExpMatch(url, "http://rapbull.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://rapidgator.net/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rapidsharedata.com*") || shExpMatch(url, "http://rapidsharedata.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*rcinet.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.read100.com*") || shExpMatch(url, "http://read100.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.readingtimes.com.tw*") || shExpMatch(url, "http://readingtimes.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.realraptalk.com*") || shExpMatch(url, "http://realraptalk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.recordhistory.org*") || shExpMatch(url, "http://recordhistory.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*redchinacn.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.redtube.com*") || shExpMatch(url, "http://redtube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*referer.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*relaxbbs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*renminbao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.renyurenquan.org*") || shExpMatch(url, "http://renyurenquan.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*subacme.rerouted.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.revleft.com*") || shExpMatch(url, "http://revleft.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*retweetist.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*connectedchina.reuters.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.reuters.com/news/video*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*revver.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rfa.org*") || shExpMatch(url, "http://rfa.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rfachina.com*") || shExpMatch(url, "http://rfachina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rfamobile.org*") || shExpMatch(url, "http://rfamobile.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rfi.fr*") || shExpMatch(url, "http://rfi.fr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://rfi.my/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rhcloud.com*") || shExpMatch(url, "http://rhcloud.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://vds.rightster.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rileyguide.com*") || shExpMatch(url, "http://rileyguide.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*riku.me/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rlwlw.com*") || shExpMatch(url, "http://rlwlw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rmjdw.com*") || shExpMatch(url, "http://rmjdw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinese.rnw.nl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rnw.nl*") || shExpMatch(url, "http://rnw.nl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*robtex.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.roodo.com*") || shExpMatch(url, "http://roodo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rotten.com*") || shExpMatch(url, "http://rotten.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rsf.org*") || shExpMatch(url, "http://rsf.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rsf-chinese.org*") || shExpMatch(url, "http://rsf-chinese.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rssmeme.com*") || shExpMatch(url, "http://rssmeme.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rthk.hk*") || shExpMatch(url, "http://rthk.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://rthk.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rthk.org.hk*") || shExpMatch(url, "http://rthk.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://rthk.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*rti.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ruanyifeng.com/blog*some_ways_to_break_the_great_firewall*") || shExpMatch(url, "http://ruanyifeng.com/blog*some_ways_to_break_the_great_firewall*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rushbee.com*") || shExpMatch(url, "http://rushbee.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*rutube.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ruyiseek.com*") || shExpMatch(url, "http://ruyiseek.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.rxhj.net*") || shExpMatch(url, "http://rxhj.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sacom.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.saiq.me*") || shExpMatch(url, "http://saiq.me*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.salvation.org.hk*") || shExpMatch(url, "http://salvation.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.samair.ru/proxy/type-01*") || shExpMatch(url, "http://samair.ru/proxy/type-01*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sammyjs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sandnoble.com/bookSearch/isbnInquiry.asp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sanmin.com.tw*") || shExpMatch(url, "http://sanmin.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sapikachu.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savemedia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savetibet.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savetibet.fr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savetibet.nl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savetibet.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savetibet.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*savevid.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.sciencemag.org/content/344/6187/953*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.scmp.com*") || shExpMatch(url, "http://scmp.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.scmpchinese.com*") || shExpMatch(url, "http://scmpchinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.scribd.com*") || shExpMatch(url, "http://scribd.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*seapuff.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*domainhelp.search.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*secretchina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*securitykiss.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*seesmic.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sejie.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sendspace.com/file*") || shExpMatch(url, "http://sendspace.com/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tweets.seraph.me/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sesawe.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sesawe.org*") || shExpMatch(url, "http://sesawe.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.setty.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sevenload.com*") || shExpMatch(url, "http://sevenload.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sex.com*") || shExpMatch(url, "http://sex.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sex-11.com*") || shExpMatch(url, "http://sex-11.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sex8.cc*") || shExpMatch(url, "http://sex8.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sexandsubmission.com*") || shExpMatch(url, "http://sexandsubmission.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sexhu.com*") || shExpMatch(url, "http://sexhu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sexhuang.com*") || shExpMatch(url, "http://sexhuang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sexinsex.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*67.220.91.18*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*67.220.91.23*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sf.net*") || shExpMatch(url, "http://sf.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sfileydy.com*") || shExpMatch(url, "http://sfileydy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shadow.ma*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shahamat-english.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.shangfang.org*") || shExpMatch(url, "http://shangfang.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shapeservices.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sharebee.com*") || shExpMatch(url, "http://sharebee.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sharpdaily.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sharpdaily.hk*") || shExpMatch(url, "http://sharpdaily.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.shaunthesheep.com*") || shExpMatch(url, "http://shaunthesheep.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sheikyermami.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shenshou.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shenyunperformingarts.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shenzhoufilm.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shinychan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.shitaotv.org*") || shExpMatch(url, "http://shitaotv.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.shizhao.org*") || shExpMatch(url, "http://shizhao.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*shkspr.mobi/dabr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.shopping.com*") || shExpMatch(url, "http://shopping.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.showtime.jp*") || shExpMatch(url, "http://showtime.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ch.shvoong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.shwchurch3.com*") || shExpMatch(url, "http://shwchurch3.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://shwchurch3.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sidelinessportseatery.com*") || shExpMatch(url, "http://sidelinessportseatery.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*simplecd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*simpleproductivityblog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.sina.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.sina.com%2F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.sina.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dailynews.sina.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*dailynews.sina.com%2F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.sina.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*home.sina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.sina.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.sina.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*singtao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*news.singtao.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sino-monthly.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sinocism.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sinomontreal.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sinonet.ca*") || shExpMatch(url, "http://sinonet.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sinopitt.info*") || shExpMatch(url, "http://sinopitt.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sinoants.com*") || shExpMatch(url, "http://sinoants.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sinoquebec.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sitebro.tw*") || shExpMatch(url, "http://sitebro.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sitetag.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sis.xxx*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sis001.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://skyhighpremium.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.skykiwi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.skype.com/intl/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.skype.com/zh-Hant*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xskywalker.com*") || shExpMatch(url, "http://xskywalker.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*m.slandr.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.slideshare.net*") || shExpMatch(url, "http://slideshare.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.slime.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.slutload.com*") || shExpMatch(url, "http://slutload.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*smhric.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.so-ga.net*") || shExpMatch(url, "http://so-ga.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.so-news.com*") || shExpMatch(url, "http://so-news.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*home.so-net.net.tw/yisa_tsai*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sod.co.jp*") || shExpMatch(url, "http://sod.co.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.softether.org*") || shExpMatch(url, "http://softether.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.softether-download.com*") || shExpMatch(url, "http://softether-download.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sohcradio.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.soumo.info*") || shExpMatch(url, "http://soumo.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.slinkset.com*") || shExpMatch(url, "http://slinkset.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.snaptu.com*") || shExpMatch(url, "http://snaptu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sneakme.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sobees.com*") || shExpMatch(url, "http://sobees.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*socialwhale.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.softether.co.jp*") || shExpMatch(url, "http://softether.co.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.sogoo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*soh.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sohfrance.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*chinese.soifind.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sokamonline.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.songjianjun.com*") || shExpMatch(url, "http://songjianjun.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sonidodelaesperanza.org*") || shExpMatch(url, "http://sonidodelaesperanza.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sopcast.com*") || shExpMatch(url, "http://sopcast.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sopcast.org*") || shExpMatch(url, "http://sopcast.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.soundofhope.kr*") || shExpMatch(url, "http://soundofhope.kr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*soundofhope.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sourceforge.net*") || shExpMatch(url, "http://sourceforge.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*southnews.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sowers.org.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.spankwire.com*") || shExpMatch(url, "http://spankwire.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*spinejs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*squarespace.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.stackfile.com/freedur*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*usinfo.state.gov*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.starp2p.com*") || shExpMatch(url, "http://starp2p.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.state168.com*") || shExpMatch(url, "http://state168.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sthoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.stickam.com*") || shExpMatch(url, "http://stickam.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*stickeraction.com/sesawe*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.stoptibetcrisis.net*") || shExpMatch(url, "http://stoptibetcrisis.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn.streetvoice.com/article*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn.streetvoice.com/diary*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn2.streetvoice.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tw.streetvoice.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.student.tw/db*") || shExpMatch(url, "http://student.tw/db*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*stupidvideos.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sugarsync.com*") || shExpMatch(url, "http://sugarsync.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*summify.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sun1911.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.suoluo.org*") || shExpMatch(url, "http://suoluo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*api.supertweet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.supertweet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.surfeasy.com.au*") || shExpMatch(url, "http://surfeasy.com.au*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*support/youtube/bin/request.py?contact_type=abuse&*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*/support/youtube/bin/static.py?page=start.cs&*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sydneytoday.com*") || shExpMatch(url, "http://sydneytoday.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sylfoundation.org*") || shExpMatch(url, "http://sylfoundation.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*sysresccd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.sytes.net*") || shExpMatch(url, "http://sytes.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.syx86.com/2009/09/puff*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.syx86.cn/2009/09/puff*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.szbbs.net*") || shExpMatch(url, "http://szbbs.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.t35.com*") || shExpMatch(url, "http://t35.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.t66y.com*") || shExpMatch(url, "http://t66y.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.taa-usa.org*") || shExpMatch(url, "http://taa-usa.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://taa-usa.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tabtter.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tacem.org*") || shExpMatch(url, "http://tacem.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tagwalk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taipei.gov.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.taipeisociety.org*") || shExpMatch(url, "http://taipeisociety.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.taiwandaily.net*") || shExpMatch(url, "http://taiwandaily.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwankiss.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwannation.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwannation.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwanus.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwanyes.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*taiwan-sex.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tangben.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.taolun.info*") || shExpMatch(url, "http://taolun.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.taragana.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.taweet.com*") || shExpMatch(url, "http://taweet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tbsseattle.org*") || shExpMatch(url, "http://tbsseattle.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tchrd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tcno.net*doc*tor*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.teashark.com/download.html*") || shExpMatch(url, "http://teashark.com/download.html*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.telecomspace.com*") || shExpMatch(url, "http://telecomspace.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tenacy.com*") || shExpMatch(url, "http://tenacy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*theblemish.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.thechinabeat.org*") || shExpMatch(url, "http://thechinabeat.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://thegioitinhoc.vn/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.thehots.info*") || shExpMatch(url, "http://thehots.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thehousenews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thepiratebay.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*theqii.info/blog*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thereallove.kr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thespeeder.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thetrotskymovie.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thevivekspot.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.thisav.com*") || shExpMatch(url, "http://thisav.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://thisav.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*thkphoto.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*threatchaos.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.thumbzilla.com*") || shExpMatch(url, "http://thumbzilla.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tiananmenmother.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tianhuayuan.com*") || shExpMatch(url, "http://tianhuayuan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tiantibooks.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tianzhu.org*") || shExpMatch(url, "http://tianzhu.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibet.at*") || shExpMatch(url, "http://tibet.at*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibet.com*") || shExpMatch(url, "http://tibet.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibet.net*") || shExpMatch(url, "http://tibet.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tibet.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tibetalk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibetanyouthcongress.org*") || shExpMatch(url, "http://tibetanyouthcongress.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibetcorps.org*") || shExpMatch(url, "http://tibetcorps.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tibetfund.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibetjustice.org*") || shExpMatch(url, "http://tibetjustice.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tibetoffice.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tibetonline.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibetonline.tv*") || shExpMatch(url, "http://tibetonline.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tibetsun.com*") || shExpMatch(url, "http://tibetsun.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.time.com/time/time100/leaders/profile/rebel*") || shExpMatch(url, "http://time.com/time/time100/leaders/profile/rebel*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.time.com/time/specials/packages/article/0,28804*") || shExpMatch(url, "http://time.com/time/specials/packages/article/0,28804*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.time.com/time/magazine*") || shExpMatch(url, "http://time.com/time/magazine*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tinychat.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tistory.com*") || shExpMatch(url, "http://tistory.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tmagazine.com*") || shExpMatch(url, "http://tmagazine.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tmi.me*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tnaflix.com*") || shExpMatch(url, "http://tnaflix.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*togetter.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tokyo-247.com*") || shExpMatch(url, "http://tokyo-247.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tokyo-hot.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tono-oka.jp*") || shExpMatch(url, "http://tono-oka.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tonyyan.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.toodoc.com*") || shExpMatch(url, "http://toodoc.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*toonel.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.topnews.in*") || shExpMatch(url, "http://topnews.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.topshareware.com*") || shExpMatch(url, "http://topshareware.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*topsy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tora.to*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.torproject.org*") || shExpMatch(url, "http://torproject.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*torrentcrazy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*touch99.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tpi.org.tw*") || shExpMatch(url, "http://tpi.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*trendsmap.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.trialofccp.org*") || shExpMatch(url, "http://trialofccp.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.trouw.nl*") || shExpMatch(url, "http://trouw.nl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.trt.net.tr*") || shExpMatch(url, "http://trt.net.tr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*trtc.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*trulyergonomic.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.truth101.co.tv*") || shExpMatch(url, "http://truth101.co.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://truth101.co.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.truveo.com*") || shExpMatch(url, "http://truveo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tsemtulku.com*") || shExpMatch(url, "http://tsemtulku.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tsquare.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tsunagarumon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.tsuru-bird.net/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tsctv.net*") || shExpMatch(url, "http://tsctv.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tttan.com*") || shExpMatch(url, "http://tttan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bb.ttv.com.tw/bb*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tuanzt.com*") || shExpMatch(url, "http://tuanzt.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tube.com*") || shExpMatch(url, "http://tube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tube8.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tubecao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tuidang.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tuidang.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*bbs.tuitui.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tunein.com*") || shExpMatch(url, "http://tunein.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tunein.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.turbobit.net*") || shExpMatch(url, "http://turbobit.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://turbobit.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tv.com*") || shExpMatch(url, "http://tv.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tv.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tvants.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*forum.tvb.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tvboxnow.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tvider.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tw-npo.org*") || shExpMatch(url, "http://tw-npo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twapperkeeper.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twaud.io*") || shExpMatch(url, "http://twaud.io*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twbbs.net.tw*") || shExpMatch(url, "http://twbbs.net.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twbbs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twbbs.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tweepmag.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tweepml.org*") || shExpMatch(url, "http://tweepml.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tweetbackup.com*") || shExpMatch(url, "http://tweetbackup.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tweetboard.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tweetboner.biz*") || shExpMatch(url, "http://tweetboner.biz*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tweetdeck.com*") || shExpMatch(url, "http://tweetdeck.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://deck.ly*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tweetphoto.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tweetree.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tweetymail.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twibase.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twibble.de*") || shExpMatch(url, "http://twibble.de*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twibbon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twicsy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twifan.com*") || shExpMatch(url, "http://twifan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://twifan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twiffo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twilog.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twimbow.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twipple.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twistar.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twisternow.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twistory.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitbrowser.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitgoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitiq.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitlonger.com*") || shExpMatch(url, "http://twitlonger.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://tl.gd/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitoaster.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitpic.com*") || shExpMatch(url, "http://twitpic.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitreferral.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twit2d.com*") || shExpMatch(url, "http://twit2d.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitstat.com*") || shExpMatch(url, "http://twitstat.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitvid.com*") || shExpMatch(url, "http://twitvid.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*199.59.148.20*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.t.co*") || shExpMatch(url, "http://t.co*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://twt.tl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twittbot.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitter.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twittercounter.com*") || shExpMatch(url, "http://twittercounter.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitterfeed.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twittergadget.com*") || shExpMatch(url, "http://twittergadget.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitterkr.com*") || shExpMatch(url, "http://twitterkr.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twittertim.es*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twitthat.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitturly.com*") || shExpMatch(url, "http://twitturly.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twitzap.com*") || shExpMatch(url, "http://twitzap.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twiyia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twreg.info*") || shExpMatch(url, "http://twreg.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twtkr.com*") || shExpMatch(url, "http://twtkr.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://twtkr.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twtrland.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*twurl.nl*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.twyac.org*") || shExpMatch(url, "http://twyac.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.tycool.com*") || shExpMatch(url, "http://tycool.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tynsoe.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*embr.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*guomin.us/login*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.srcf.ucam.org/salon/*") || shExpMatch(url, "http://srcf.ucam.org/salon/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://hum*.uchicago.edu/faculty/ywang/history/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.udn.com*") || shExpMatch(url, "http://udn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ufreevpn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ugo.com*") || shExpMatch(url, "http://ugo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*uhrp.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*uighurbiz.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ulike.net*") || shExpMatch(url, "http://ulike.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ukliferadio.co.uk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ultravpn.fr*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ultraxs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*uncyclomedia.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*uncyclopedia.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://uncyclopedia.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uni.cc*") || shExpMatch(url, "http://uni.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*unicode.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uniteddaily.com.my/index.php?*") || shExpMatch(url, "http://uniteddaily.com.my/index.php?*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.unix100.com*") || shExpMatch(url, "http://unix100.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*unpo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tor.updatestar.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.upload4u.info*") || shExpMatch(url, "http://upload4u.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://uploaded.net/file/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uploaded.to/file*") || shExpMatch(url, "http://uploaded.to/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://uploaded.to/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uploadstation.com/file*") || shExpMatch(url, "http://uploadstation.com/file*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.urbanoutfitters.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*myshare.url.com.tw/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*us.to*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*beta.usejump.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*earthquake.usgs.gov/eqcenter/recenteqsww/Maps/10/105_30.php*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ustream.tv*") || shExpMatch(url, "http://ustream.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*usus.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uushare.com*") || shExpMatch(url, "http://uushare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://uushare.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uwants.com*") || shExpMatch(url, "http://uwants.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.uwants.net*") || shExpMatch(url, "http://uwants.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*uygur.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*v70.us*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://v7976888.info/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.van698.com*") || shExpMatch(url, "http://van698.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.vanemu.cn*") || shExpMatch(url, "http://vanemu.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.vanilla-jp.com*") || shExpMatch(url, "http://vanilla-jp.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*vansky.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.velkaepocha.sk*") || shExpMatch(url, "http://velkaepocha.sk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.venbbs.com*") || shExpMatch(url, "http://venbbs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.venchina.com*") || shExpMatch(url, "http://venchina.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*veoh.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.verizon.net*") || shExpMatch(url, "http://verizon.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.vft.com.tw*") || shExpMatch(url, "http://vft.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*videobam.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.videomo.com*") || shExpMatch(url, "http://videomo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*vimeo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.tiscali.it/canali/truveo*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.vllcs.org*") || shExpMatch(url, "http://vllcs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn.voa.mobi*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tw.voa.mobi*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.voachineseblog.com*") || shExpMatch(url, "http://voachineseblog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*voagd.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*voacantonese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*voachinese.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*voatibetan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.voanews.com*") || shExpMatch(url, "http://voanews.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*vocn.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.vot.org*") || shExpMatch(url, "http://vot.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.voy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*vpnbook.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*vpnfire.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.vpngate.net*") || shExpMatch(url, "http://vpngate.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*lists.w3.org/archives/public*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.jyzj.waqn.com*") || shExpMatch(url, "http://jyzj.waqn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wahas.com*") || shExpMatch(url, "http://wahas.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.waigaobu.com*") || shExpMatch(url, "http://waigaobu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*waikeung.org/php_wind*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.waiwaier.com*") || shExpMatch(url, "http://waiwaier.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://waiwaier.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wallornot.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wangjinbo.org*") || shExpMatch(url, "http://wangjinbo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wanglixiong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wangruoshui.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.wangruowang.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*want-daily.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wapedia.mobi/zhsimp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wattpad.com*") || shExpMatch(url, "http://wattpad.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.makzhou.warehouse333.com*") || shExpMatch(url, "http://makzhou.warehouse333.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*washeng.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wdf5.com*") || shExpMatch(url, "http://wdf5.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wearn.com*") || shExpMatch(url, "http://wearn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*webbang.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*weblagu.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*webs-tv.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*webshots.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*websitepulse.com/help/testtools.china-test.html*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*webworkerdaily.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*weeewooo.net/hss/hotspot_cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.weekmag.info*") || shExpMatch(url, "http://weekmag.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wefong.com*") || shExpMatch(url, "http://wefong.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*weiboleak.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*weijingsheng.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.weiming.info*") || shExpMatch(url, "http://weiming.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*weiquanwang.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://weisuo.ws*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wengewang.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wengewang.org*") || shExpMatch(url, "http://wengewang.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wenhui.ch*") || shExpMatch(url, "http://wenhui.ch*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://blog.wenweipo.com/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wenxuecity.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wenyunchao.com*") || shExpMatch(url, "http://wenyunchao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*westca.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hkg.westkit.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.wet123.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wetpussygames.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wetplace.com*") || shExpMatch(url, "http://wetplace.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wexiaobo.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wezhiyong.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wforum.com*") || shExpMatch(url, "http://wforum.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.whatblocked.com*") || shExpMatch(url, "http://whatblocked.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.whippedass.com*") || shExpMatch(url, "http://whippedass.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://who.is/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*whylover.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*evchk.wikia.com/wiki/%E5%A4%A7%E7%B4%80%E5%85%83%E6%99%82%E5%A0%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*cn.uncyclopedia.wikia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.uncyclopedia.wikia.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wikileaks.org*") || shExpMatch(url, "http://wikileaks.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wikilivres.info/wiki/%E9%9B%B6%E5%85%AB%E5%AE%AA%E7%AB%A0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikinews.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*winwhispers.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wisevid.com*") || shExpMatch(url, "http://wisevid.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.witnessleeteaching.com*") || shExpMatch(url, "http://witnessleeteaching.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.witopia.net*") || shExpMatch(url, "http://witopia.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wo.tc*") || shExpMatch(url, "http://wo.tc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://woesermiddle-way.net/*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wolfax.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.womensrightsofchina.org*") || shExpMatch(url, "http://womensrightsofchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*woopie.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*woopie.tv*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.worldcat.org*") || shExpMatch(url, "http://worldcat.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*worldjournal.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wordpress.com*") || shExpMatch(url, "http://wordpress.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*woxinghuiguo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wow-life.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wpoforum.com*") || shExpMatch(url, "http://wpoforum.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wqlhw.com*") || shExpMatch(url, "http://wqlhw.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wqyd.org*") || shExpMatch(url, "http://wqyd.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wrchina.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wretch.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wsj.com*") || shExpMatch(url, "http://wsj.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wsj.net*") || shExpMatch(url, "http://wsj.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wtfpeople.com*") || shExpMatch(url, "http://wtfpeople.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wuala.com*") || shExpMatch(url, "http://wuala.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wuerkaixi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wufi.org.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wujie.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wujieliulan.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wukangrui.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wwitv.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*wzyboy.im/post/160*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://www.x-berry.com/goagent*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*x1949x.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*x365x.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xanga.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xbookcn.com*") || shExpMatch(url, "http://xbookcn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*x.xcity.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xcritic.com*") || shExpMatch(url, "http://xcritic.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*destiny.xfiles.to/ubbthreads*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xfm.pp.ru*") || shExpMatch(url, "http://xfm.pp.ru*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xgmyd.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xh4n.cn/blog*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xhamster.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*one.xthost.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xiaochuncnjp.com*") || shExpMatch(url, "http://xiaochuncnjp.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*s.xiaod.in*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xiaohexie.com*") || shExpMatch(url, "http://xiaohexie.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xiezhua.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xing.com*") || shExpMatch(url, "http://xing.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xinmiao.com.hk*") || shExpMatch(url, "http://xinmiao.com.hk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xinsheng.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xinshijue.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xinhuanet.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://xinyubbs.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xizang-zhiye.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xjp.cc*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xmovies.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xpdo.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.xuite.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*vlog.xuite.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xuzhiyong.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xuchao.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xvedios.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xvideos.com*") || shExpMatch(url, "http://xvideos.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.xxbbx.com*") || shExpMatch(url, "http://xxbbx.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xys.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xysblogs.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xyy69.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xyy69.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*page.bid.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blogs.yahoo.co.jp*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*buy.yahoo.com.tw/gdsale*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.knowledge.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.myblog.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.news.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.rd.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.search.yahoo.com/search*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*hk.video.news.yahoo.com/video*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*meme.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tw.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tw.myblog.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*tw.news.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*pulse.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*upcoming.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*video.yahoo.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yam.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yasni.co.uk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ydy.com*") || shExpMatch(url, "http://ydy.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yeeyi.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yegle.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yfrog.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yi.org*") || shExpMatch(url, "http://yi.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yidio.com*") || shExpMatch(url, "http://yidio.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yilubbs.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*xa.yimg.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yipub.com*") || shExpMatch(url, "http://yipub.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yogichen.org*") || shExpMatch(url, "http://yogichen.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yong.hu*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yorkbbs.ca*") || shExpMatch(url, "http://yorkbbs.ca*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yyii.org*") || shExpMatch(url, "http://yyii.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yzzk.com*") || shExpMatch(url, "http://yzzk.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.youjizz.com*") || shExpMatch(url, "http://youjizz.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*youmaker.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*youpai.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.your-freedom.net*") || shExpMatch(url, "http://your-freedom.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.yousendit.com*") || shExpMatch(url, "http://yousendit.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*youthbao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.youthnetradio.org/tmit/forum*") || shExpMatch(url, "http://youthnetradio.org/tmit/forum*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.youthwant.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*share.youthwant.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*topic.youthwant.com.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.youporn.com*") || shExpMatch(url, "http://youporn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.youtube.com*") || shExpMatch(url, "http://youtube.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.youtubecn.com*") || shExpMatch(url, "http://youtubecn.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*youversion.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*blog.youxu.info/2010/03/14/west-chamber*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ytht.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yuanming.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*yx51.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zacebook.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zaobao.com*") || shExpMatch(url, "http://zaobao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zaobao.com.sg*") || shExpMatch(url, "http://zaobao.com.sg*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zaozon.com*") || shExpMatch(url, "http://zaozon.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.zaurus.org.uk*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zdnet.com.tw/news/software/0,2000085678,20111187,00*") || shExpMatch(url, "http://zdnet.com.tw/news/software/0,2000085678,20111187,00*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zengjinyan.org*") || shExpMatch(url, "http://zengjinyan.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*www.zfreet.com/post/usejump-browns.html*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zgzcjj.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zhanbin.net*") || shExpMatch(url, "http://zhanbin.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zhenghui.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zhenlibu.info*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zhinengluyou.com*") || shExpMatch(url, "http://zhinengluyou.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zhuichaguoji.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.ziddu.com/download*") || shExpMatch(url, "http://ziddu.com/download*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zinio.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zkaip.com*") || shExpMatch(url, "http://zkaip.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zmw.cn*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zomobo.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zonaeuropa.com*") || shExpMatch(url, "http://zonaeuropa.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zoozle.net*") || shExpMatch(url, "http://zoozle.net*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*writer.zoho.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zshare.net/download*") || shExpMatch(url, "http://zshare.net/download*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zsrhao.com*") || shExpMatch(url, "http://zsrhao.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zuo.la*") || shExpMatch(url, "http://zuo.la*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.zuola.com*") || shExpMatch(url, "http://zuola.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zyzc9.com*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*freenet*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*q=freedom*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*q%3Dfreedom*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*remembering_tiananmen_20_years*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*safeweb*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*q=triangle*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*q%3DTriangle*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ultrareach*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ultrasurf*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zhengjian*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E7%BD%A2%E8%AF%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%8D%9A%E8%AE%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%A4%A7%E7%BA%AA%E5%85%83*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E9%92%93%E9%B1%BC%E5%B2%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E5%8A%A8%E6%80%81%E7%BD%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%A4%9A%E7%B6%AD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%A4%9A%E7%BB%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*freegate*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%B3%95%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E6%B3%95%E8%BD%AE%E5%A4%A7%E6%B3%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E6%B3%95%E8%BC%AA%E5%8A%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E6%B3%95%E8%BD%AE%E5%8A%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E8%83%A1%E6%B5%B7%E5%B3%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E8%83%A1%E6%B5%B7%E6%B8%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E8%8A%B1%E8%8A%B1%E5%85%AC%E5%AD%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%BC%CD%D4%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%BC%D3%C3%DC%B4%FA%C0%ED*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%8A%A0%E5%AF%86%E4%BB%A3%E7%90%86*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%B1%9F%E6%B5%81%E6%B0%93*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E7%9C%8B%E4%B8%AD%E5%9B%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%85%AD%E5%9B%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E5%88%98%E6%99%93%E6%B3%A2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E7%BE%8E%E5%9B%BD%E4%B9%8B%E9%9F%B3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E6%B0%91%E8%BF%9B%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E6%B0%91%E8%BF%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E8%89%B2%E6%83%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*%E7%8E%8B%E4%B8%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E7%BD%91%E7%89%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E7%8E%8B%E5%B8%8C%E5%93%B2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E9%AD%8F%E4%BA%AC%E7%94%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%96%87%E5%AD%97%E7%8B%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%88%91%E7%9A%84%E5%A5%8B%E6%96%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%97%A0%E7%95%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E9%82%AA%E6%81%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%B4%97%E8%84%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%96%B0%E5%94%90%E4%BA%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E6%96%B0%E8%AF%AD%E4%B8%9D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E5%AD%A6%E8%BF%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E4%B8%AD%E5%8A%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E4%B8%AD%E5%9B%BD%E8%AE%BA%E5%9D%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*search*%E4%B8%AD%E5%AE%A3%E9%83%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://upload.wikimedia.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "https://*.wikipedia.org*") || shExpMatch(url, "https://wikipedia.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wikipedia.org/wiki/Dalai_Lama*") || shExpMatch(url, "http://wikipedia.org/wiki/Dalai_Lama*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*.wikipedia.org/wiki/Dalai-Lama*") || shExpMatch(url, "http://wikipedia.org/wiki/Dalai-Lama*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*ar.wikipedia.org*%D8%AF%D8%A7%D9%84%D8%A7%D9%8A_%D9%84%D8%A7%D9%85%D8%A7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh-yue.wikipedia.org/wiki/%E5%8A%89%E6%9B%89%E6%B3%A2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Anti-communism*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Book_burning*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Censorship_in_the_People%27s_Republic_of_China*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Charter_08*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Chen_Guangcheng*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Deep_packet_inspection*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Freegate*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Golden_Shield_Project*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Great_Firewall_of_China*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Hong_Kong*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Huang_Qi*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Internet_censorship*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Java_Anon_Proxy*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Liu_Xiaobo*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Shi_Tao*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Tank_man*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Tiananmen_Papers*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Tiananmen_Square_protests_of_1989*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*en.wikipedia.org/wiki/Tibetan_independence_movement*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/Wikipedia:%E9%A0%81%E9%9D%A2%E5%AD%98%E5%BB%A2%E8%A8%8E%E8%AB%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.m.wikipedia.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikisource.org*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*2012%E5%B9%B4%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E8%85%90%E8%B4%A5%E6%A1%88%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*2014%E5%B9%B4%E6%98%86%E6%98%8E%E7%81%AB%E8%BD%A6%E7%AB%99%E6%9A%B4%E5%8A%9B%E6%81%90%E6%80%96%E8%A2%AD%E5%87%BB%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*512%E5%A4%A7%E5%9C%B0%E9%9C%87*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*08%E5%AE%AA%E7%AB%A0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*1959%E5%B9%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*1989%E5%B9%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*610%E8%BE%A6%E5%85%AC%E5%AE%A4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*Anti-CNN*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%98%BF%E5%BA%95%E5%B3%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%98%BF%E6%B2%9B%C2%B7%E9%98%BF%E6%97%BA%E6%99%8B%E7%BE%8E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%89%BE%E6%9C%AA%E6%9C%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%85%AB%E4%B9%9D%E5%AD%A6%E8%BF%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%85%AB%E6%80%9D%E5%B7%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8F%AD%E7%A6%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%B2%8D%E5%BD%A4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%AE%91%E5%BD%A4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8C%97%E4%BA%AC%E9%AB%98%E6%A0%A1%E5%AD%A6%E7%94%9F%E8%87%AA%E6%B2%BB%E8%81%94%E5%90%88%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8C%97%E4%BA%AC%E4%B9%8B%E6%98%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%96%84%E7%86%99%E6%9D%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8D%9A%E8%AE%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B8%83%E6%8B%89%E6%A0%BC%E4%B9%8B%E6%98%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9F%B4%E7%8E%B2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BB%93%E5%A4%AE%E5%98%89%E6%8E%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9B%B9%E9%95%B7%E9%9D%92*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%99%88%E5%85%89%E8%AF%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%A5%9A%E5%B8%83%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%e5%a4%a7%e5%8f%82%e8%80%83_(%e7%bd%91%e7%bb%9c%e6%9d%82%e5%bf%97)*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E7%B4%80%E5%85%83*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E7%BA%AA%E5%85%83%E6%97%B6%E6%8A%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%BE%BE%E8%B5%96%E5%96%87%E5%98%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%BE%BE%E5%85%B0%E8%90%A8%E6%8B%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%81%94%E8%98%AD%E8%96%A9%E6%8B%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%BE%BE%E5%B0%94%E7%BD%95%E6%B4%BB%E4%BD%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E8%B5%A6%E5%9B%BD%E9%99%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E8%B5%A6%E5%9C%8B%E9%9A%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E5%B1%A0%E6%9D%80%E5%88%97%E8%A1%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E8%97%8F%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A7%E6%98%AD%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%B9%E5%A2%9E%E5%98%89%E6%8E%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%81%E5%AD%90%E9%9C%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%9C%E9%A3%8E-21%E4%B8%AD%E7%A8%8B%E5%BC%B9%E9%81%93%E5%AF%BC%E5%BC%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%B1%E9%A2%A8-31%E6%B4%B2%E9%9A%9B%E5%BD%88%E9%81%93%E5%B0%8E%E5%BD%88*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%B1%E7%AA%81%E5%8E%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%9C%E7%AA%81%E5%8E%A5%E6%96%AF%E5%9D%A6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%9A%E7%BB%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%9A%E7%B6%AD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BF%84%E7%BE%85%E6%96%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B3%95%E6%8B%89%E5%88%A9%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8F%8D%E5%8D%8E%E5%8A%BF%E5%8A%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%98%B2%E7%81%AB%E9%95%BF%E5%9F%8E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B9%E5%8A%B1%E4%B9%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B9%E5%8B%B5%E4%B9%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B9%E8%88%9F%E5%AD%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%84%A4%E9%9D%92*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B0%81%E4%BB%8E%E5%BE%B7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B0%81%E5%BE%9E%E5%BE%B7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%86%AF%E6%AD%A3%E8%99%8E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%82%85%E9%93%81%E5%B1%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%99%B6%E5%80%AB%E8%B5%A4%E5%B7%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%AB%98%E6%99%BA%E6%99%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9B%B4%E7%99%BB%E7%A2%BA%E5%90%89%E5%B0%BC%E7%91%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%99%B6%E4%B8%BE%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%94%B9%E9%9D%A9%E5%8E%86%E7%A8%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%94%98%E4%B8%B9%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%AB%98%E8%A1%8C%E5%81%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%99%B6%E5%BD%93%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%A0%BC%E9%B2%81%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*GFW*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%85%AC%E5%85%B1%E7%9F%A5%E8%AF%86%E5%88%86%E5%AD%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*Google%E5%AE%A1%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-cn/%E8%B0%B7%E6%AD%8C%E9%80%80%E5%87%BA%E4%B8%AD%E5%9B%BD%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E8%B0%B7%E6%AD%8C%E9%80%80%E5%87%BA%E4%B8%AD%E5%9B%BD%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E5%B9%BF%E5%B7%9E%E5%B8%82%E6%96%B0%E5%A1%98%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9B%BD%E4%BF%9D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%83%AD%E4%BC%AF%E9%9B%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9B%BD%E9%99%85%E7%89%B9%E8%B5%A6%E7%BB%84%E7%BB%87*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9B%BD%E5%86%85%E5%AE%89%E5%85%A8%E4%BF%9D%E5%8D%AB%E6%94%AF%E9%98%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9C%8B%E5%8B%99%E9%99%A2%E9%98%B2%E7%AF%84%E5%92%8C%E8%99%95%E7%90%86%E9%82%AA%E6%95%99%E5%95%8F%E9%A1%8C%E8%BE%A6%E5%85%AC%E5%AE%A4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%9F%A9%E4%B8%9C%E6%96%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B4%BA%E5%9B%BD%E5%BC%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BD%95%E4%BF%8A%E4%BB%81*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B2%B3%E6%AE%87*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B4%AA%E5%93%B2%E5%8B%9D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BE%AF%E5%BE%B7%E5%BB%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BE%AF%E8%B5%9B%E5%9B%A0%E6%B1%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BE%AF%E5%BE%B7%E5%81%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E4%BD%B3_%281973%E5%B9%B4%29*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E4%BD%B3_%28%E7%A4%BE%E6%B4%BB%E5%8B%95%E5%AE%B6%29*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E4%BD%B3_%28%E7%A4%BE%E6%9C%83%E6%B4%BB%E5%8B%95%E5%AE%B6%29*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E9%94%A6%E6%B6%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E5%B9%B3_%28%E4%BD%9C%E5%AE%B6%29*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%91%BC%E5%9C%96%E5%85%8B%E5%9C%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E6%B8%A9%E4%BD%93%E5%88%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%83%A1%E8%80%80%E9%82%A6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8D%8E%E5%9B%BD%E9%94%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%8F%AF%E5%9C%8B%E9%8B%92*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8D%8E%E5%A4%8F%E6%96%87%E6%91%98*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%8A%B1%E5%9B%AD%E8%BD%AF%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%8A%B1%E5%9B%AD%E7%BD%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%BB%84%E7%90%A6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%BB%83%E7%90%A6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%BB%83%E9%9B%80%E8%A1%8C%E5%8B%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%BB%84%E4%B8%87%E9%87%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%BB%83%E6%9B%89%E6%95%8F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9B%9E%E8%89%AF%E7%8E%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%9C%8D%E8%8B%B1%E6%9D%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AF%82%E8%AD%B7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%BF%80%E6%B5%81%E4%B8%AD%E5%9B%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%98%89%E9%9D%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AE%B6%E4%B9%90%E7%A6%8F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B3%88%E6%85%B6%E6%9E%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B4%BE%E5%BA%86%E6%9E%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BB%BA%E5%9B%BD%E9%97%A8%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A7%9C%E7%BB%B4%E5%B9%B3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B1%9F%E6%B3%BD%E6%B0%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B1%9F%E6%BE%A4%E6%B0%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%87%91%E7%9B%BE%E5%B7%A5%E7%A8%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%BD%F0%B6%DC%B9%A4%B3%CC*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B9%9D%E8%AF%84%E5%85%B1%E4%BA%A7%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B9%9D%E8%A9%95%E5%85%B1%E7%94%A2%E9%BB%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B7%A8%E6%B5%AA2%E5%9E%8B%E6%BD%9C%E5%B0%84%E5%BC%B9%E9%81%93%E5%AF%BC%E5%BC%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A6%BA%E5%9B%8A%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BB%9D%E9%A3%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%8B%89%E5%8D%9C%E6%A5%9E%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%8B%89%E8%90%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%BB%8E%E5%AE%89%E5%8F%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E9%95%BF%E6%98%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E9%95%B7%E6%98%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E6%B4%AA%E5%BF%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E5%85%8B%E5%BC%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E9%B5%AC*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E9%B9%8F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E7%91%9E%E7%8E%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E7%91%9E%E7%92%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E6%85%8E%E4%B9%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8E%86%E5%8F%B2%E7%9A%84%E4%BC%A4%E5%8F%A3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E8%8B%B1%E6%B5%A9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E6%BA%90%E6%BD%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%8E%E5%8D%93%E4%BA%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BB%96%E4%BA%A6%E6%AD%A6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%93%AE%E8%8A%B1%E7%94%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%A2%81%E5%9B%BD%E9%9B%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%A2%81%E5%9C%8B%E9%9B%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%9B%B6%E5%85%AB%E5%AE%AA%E7%AB%A0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BB%A4%E8%B0%B7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BB%A4%E8%AE%A1%E5%88%92*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%88%98%E5%AE%BE%E9%9B%81*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8A%89%E5%89%9B_(%E6%B0%91%E9%81%8B%E4%BA%BA%E5%A3%AB)*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%88%98%E6%85%A7%E5%8D%BF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8A%89%E6%85%A7%E5%8D%BF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%88%98%E6%B7%87*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%85%AD%E5%9B%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh-yue.wikipedia.org*%E5%85%AD%E5%9B%9B%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8A%89%E6%9B%89%E6%B3%A2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%88%98%E5%BB%B6%E4%B8%9C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%88%98%E4%BA%91%E5%B1%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BE%85%E5%B9%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BE%85%E5%B9%B2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B4%9B%E6%A1%91%E6%A3%AE%E6%A0%BC*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%B6%A0%E5%A3%A9%C2%B7%E8%8A%B1%E5%AD%A3%E8%AD%B7%E8%88%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BB%BF%E5%9D%9D%C2%B7%E8%8A%B1%E5%AD%A3%E6%8A%A4%E8%88%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%e7%bb%bf%e5%9d%9d%e5%a8%98*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%A6%AC%E4%B8%89%E5%AE%B6%E5%A5%B3%E5%AD%90%E5%8B%9E%E6%95%99%E6%89%80*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%A6%AC%E8%8B%B1%E4%B9%9D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BE%8E%E5%9B%BD%E5%9B%BD%E5%AE%B6%E6%B0%91%E4%B8%BB%E5%9F%BA%E9%87%91%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%95%8F%E6%84%9F%E4%BA%BA%E5%A3%AB*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B0%91%E9%96%93%E4%BA%BA%E6%AC%8A%E9%99%A3%E7%B7%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%95%8F%E7%8F%A0%E6%9E%97%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B0%91%E4%B8%BB%E5%A5%B3%E7%A5%9E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B0%91%E4%B8%BB%E9%BB%A8_(%E9%A6%99%E6%B8%AF)*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B0%91%E4%B8%BB%E6%AD%8C%E8%81%B2%E7%8D%BB%E4%B8%AD%E8%8F%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%8C%89%E8%8E%89%E8%8A%B1%E9%9D%A9%E5%91%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8D%97%E6%96%B9%E9%83%BD%E5%B8%82%E6%8A%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E5%86%85%E8%92%99%E5%8F%A4%E6%8A%97%E8%AE%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-hk/%E5%86%85%E8%92%99%E5%8F%A4%E6%8A%97%E8%AE%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-tw/%E5%86%85%E8%92%99%E5%8F%A4%E6%8A%97%E8%AE%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%86%85%E8%92%99%E5%8F%A4%E4%BA%BA%E6%B0%91%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%85%A7%E8%92%99%E5%8F%A4%E4%BA%BA%E6%B0%91%E9%BB%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AE%81%E7%8E%9B%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%89%9B%E5%8D%9A%E7%BD%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%AF%BA%E8%B4%9D%E5%B0%94%E5%92%8C%E5%B9%B3%E5%A5%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%8C%AA%E5%A8%81*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%9B%98%E5%8F%A4%E4%B9%90%E9%98%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BD%AD%E4%B8%BD%E5%AA%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%A0%B4%E7%BD%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B5%A6%E5%BF%97%E5%BC%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%83%E4%B8%80%E9%81%8A%E8%A1%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%A7%A6%E5%9F%8E%E7%9B%91%E7%8B%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B8%85%E6%9C%9D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%85%A8%E7%90%83%E8%97%8F%E4%BA%BA%E7%89%B9%E5%88%AB%E5%A4%A7%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%C8%BC%C9%D5%C6%BF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%87%83%E7%83%A7%E7%93%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%83%AD%E6%AF%94%E5%A8%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%86%B1%E6%AF%94%E5%A9%AD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%91%9E%E5%85%B8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%90%A8%E8%BF%A6%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%89%E5%B9%B4%E8%87%AA%E7%84%B6%E7%81%BE%E5%AE%B3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%89%E9%80%80*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%89%B2%E6%8B%89%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9C%A3%E9%9B%84%E7%94%98%E5%9C%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%9B%9B%E9%9B%AA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-cn/%E4%B8%96%E7%95%8C%E5%90%84%E6%94%BF%E6%9D%83%E5%8F%97%E6%89%BF%E8%AE%A4%E7%8A%B6%E5%86%B5%E5%88%97%E8%A1%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%BB%8F%E6%B5%8E%E5%AF%BC%E6%8A%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%BB%B4%E5%90%BE%E5%B0%94%E5%A4%A7%E4%BC%9A!--Shi Jie Wei Wu Er Qing Nian Dai Biao Da Hui*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%BB%B4%E5%90%BE%E5%B0%94%E9%9D%92%E5%B9%B4%E4%BB%A3%E8%A1%A8%E5%A4%A7%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%96%E7%95%8C%E7%B6%AD%E5%90%BE%E7%88%BE%E4%BB%A3%E8%A1%A8%E5%A4%A7%E6%9C%83*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8D%81%E5%9B%9B%E4%B8%96%E8%BE%BE%E8%B5%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B8%88%E6%B6%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B8%AB%E6%BF%A4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%87%8A%E6%98%9F%E4%BA%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8F%B8%E5%BE%92%E5%8D%8E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8F%B8%E5%BE%92%E8%8F%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9B%9B%E4%BA%94%E8%A1%8C%E5%8B%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AE%8B%E5%BD%AC%E5%BD%AC*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AE%8B%E4%BB%BB%E7%A9%B7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AE%8B%E4%BB%BB%E7%AA%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%8B%8F%E5%AE%B6%E5%B1%AF%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AD%99%E6%96%87%E5%B9%BF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A1%94%E5%B0%94%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%8F%B0%E7%81%A3%E7%8D%A8%E7%AB%8B%E5%BB%BA%E5%9C%8B%E8%81%AF%E7%9B%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%AA%E5%AD%90%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%AA%E5%AD%90%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-cn/%E5%A4%AA%E5%AD%90%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B0%AD%E4%BD%9C%E4%BA%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%94%90%E6%9F%8F%E6%A1%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh/%E9%99%B6%E9%A9%B7%E9%A9%B9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E5%B9%BF%E5%9C%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E6%AF%8D%E4%BA%B2%E8%BF%90%E5%8A%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%96%80%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E6%96%87%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%96%80%E6%96%87%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E5%AE%89%E9%97%A8%E8%87%AA%E7%84%9A%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%A9%E8%91%AC*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-cn/Tor*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/zh-hk/Twitter*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%87%E9%87%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E5%86%9B%E6%B6%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E6%A8%82%E6%B3%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E7%AB%8B%E5%86%9B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E5%B2%90%E5%B1%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E5%8D%83%E6%BA%90*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E7%BB%B4%E6%9E%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E6%9C%89%E6%89%8D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%AD%8F%E4%BA%AC%E7%94%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B1%B6%E5%B7%9D%E5%A4%A7%E5%9C%B0%E9%9C%87*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E7%82%B3%E7%AB%A0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E4%B9%90%E6%B3%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E5%8A%9B%E9%9B%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BD%91%E7%BB%9C%E8%AF%84%E8%AE%BA%E5%91%98*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E7%8E%8B%E5%A7%93*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B1%AA%E6%B4%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%8E%8B%E5%85%86%E5%9B%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%94%AF%E8%89%B2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A8%81%E8%A7%86%E8%85%90%E8%B4%A5%E6%A1%88*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B1%B6%E5%B7%9D%E5%9C%B0%E9%9C%87*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B8%A9%E5%AE%B6%E5%AE%9D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B8%A9%E5%A6%82%E6%98%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%B8%A9%E4%BA%91%E6%9D%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%8B%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%8D%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%90%B4%E9%82%A6%E5%9B%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%88%91%E7%9A%84%E5%A5%8B%E6%96%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%90%BE%E5%B0%94%E5%BC%80%E5%B8%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%90%BE%E7%88%BE%E9%96%8B%E5%B8%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%97%A0%E5%9B%BD%E7%95%8C%E8%AE%B0%E8%80%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%90%B4%E5%BC%98%E8%BE%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%97%A0%E7%95%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%83%8F%E5%9D%8E%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B9%8C%E9%B2%81%E6%9C%A8%E9%BD%90%E4%B8%83%C2%B7%E4%BA%94%E6%9A%B4%E5%8A%9B%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BA%94%E6%AF%9B%E8%9B%8B%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A5%BF%E5%8D%95%E6%B0%91%E4%B8%BB%E5%A2%99*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%BF%92%E8%BF%91%E5%B9%B3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B9%A0%E8%BF%91%E5%B9%B3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A5%BF%E5%8E%A2%E8%AE%A1%E5%88%92*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A5%BF%E8%97%8F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B9%A0%E4%BB%B2%E5%8B%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%A4%8F%E7%91%AA%E5%B7%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%A6%99%E6%B8%AF%E7%8D%A8%E7%AB%8B%E9%81%8B%E5%8B%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%A6%99%E6%B8%AF%E6%B0%91%E4%B8%BB%E9%BB%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%A6%99%E6%B8%AF*%E6%B0%91%E4%B8%BB%E6%B4%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%A6%99%E6%B8%AF%E4%BA%BA%E6%AC%8A%E7%9B%A3%E5%AF%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B0%8F%E6%98%AD%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B0%A2%E5%BD%A6%E9%A3%9E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%BE%9B%E7%81%8F%E5%B9%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B0%E7%96%86%E7%8B%AC%E7%AB%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B0%E7%96%86%E7%8D%A8%E7%AB%8B*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B0%E5%94%90%E4%BA%BA%E9%9B%BB%E8%A6%96%E5%8F%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%96%B0%E9%97%BB%E8%87%AA%E7%94%B1%E6%8E%A0%E5%A4%BA%E8%80%85*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%98%9F%E4%BA%91%E6%B3%95%E5%B8%88*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%86%8A%E7%84%B1*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BE%90%E6%89%8D%E5%8E%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%AE%B8%E5%AE%B6%E5%B1%AF*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%9B%AA%E5%B1%B1%E7%8D%85%E5%AD%90%E6%97%97*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A9%A2%E5%95%8F%E8%99%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%9A%B4%E5%AE%B6%E5%85%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%A5%E5%AE%B6%E5%85%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%98%8E%E6%98%8E%E5%A4%8D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%9D%A8%E4%BD%B3%E8%A2%AD%E8%AD%A6%E6%A1%88*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%A5%8A%E5%BB%BA%E5%88%A9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%9A%81%E5%8A%9B%E7%A5%9E*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%9B%8D%E5%92%8C%E5%AE%AB*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%B9%BD%E7%81%B5%E7%BD%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BD%99%E6%9D%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BF%9E%E4%B8%BD%E8%90%8D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E9%9B%A8%E5%82%98%E9%9D%A9%E5%91%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%BF%9E%E6%AD%A3%E5%A3%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A2%81%E7%BA%A2%E5%86%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%A2%81%E7%B4%85%E5%86%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%97%8F%E4%BC%A0%E4%BD%9B%E6%95%99*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E6%89%8E%E4%BB%80%E4%BC%A6%E5%B8%83%E5%AF%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%A0%E5%BE%B7%E6%B1%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%A0%E9%AB%98%E4%B8%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%AB%A0%E5%98%89%E5%91%BC%E5%9B%BE%E5%85%8B%E5%9B%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%A0%E7%AB%8B%E6%98%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%A0%E5%9F%B9%E8%8E%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%B5%E6%96%87%E5%85%89*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%AB%A0%E8%A9%92%E5%92%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%AB%A0%E8%AF%92%E5%92%8C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%A0%E9%92%B0*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%BC%B5%E9%88%BA*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B5%B5%E7%B4%AB%E9%98%B3*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%B6%99%E7%B4%AB%E9%99%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%93%B2%E5%B8%83%E5%B0%8A%E4%B8%B9%E5%B7%B4%E5%91%BC%E5%9B%BE%E5%85%8B%E5%9B%BE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E7%9C%9F%E5%96%84%E5%BF%8D*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%85%B1%E4%B8%AD%E5%A4%AE%E5%AE%A3%E4%BC%A0%E9%83%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E6%8C%81%E4%B8%8D%E5%90%8C%E6%94%BF%E8%A6%8B%E8%80%85%E5%90%8D%E5%96%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86%E5%B0%81%E9%94%81%E7%BB%B4%E5%9F%BA%E5%AA%92%E4%BD%93%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86%E5%B0%81%E9%94%81%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E4%BA%8B%E4%BB%B6*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E5%A4%A7%E9%99%B8%E7%B6%B2%E8%B7%AF%E5%B0%81%E9%8E%96*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E7%94%B5%E8%A7%86%E5%AE%A1%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E6%B3%9B%E8%93%9D%E8%81%94%E7%9B%9F*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%85%B1%E4%BA%A7%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E5%85%B1%E7%94%A2%E9%BB*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%9F%BA%E7%9D%A3%E6%95%99%E5%8D%8F%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E5%AE%B6%E5%BA%AD%E6%95%99%E4%BC%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E8%81%AF%E9%82%A6%E4%B8%BB%E7%BE%A9*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E4%BA%BA%E6%AC%8A%E6%B0%91%E9%81%8B%E4%BF%A1%E6%81%AF%E4%B8%AD%E5%BF%83*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E6%B0%91%E4%B8%BB%E5%85%9A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E6%B0%91%E4%B8%BB%E8%BF%90%E5%8A%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E6%B0%91%E4%B8%BB%E9%81%8B%E5%8B%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E8%8C%89%E8%8E%89%E8%8A%B1%E9%9D%A9%E5%91%BD*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD*%E5%9B%BD%E4%BA%BA%E6%9D%83*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E7%BD%91%E7%BB%9C%E8%BD%AF%E4%BB%B6%E8%BF%87%E6%BB%A4%E5%85%B3%E9%94%AE%E5%AD%97%E5%88%97%E8%A1%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9B%BD%E7%BD%91%E7%BB%9C%E5%AE%A1%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%9C%8B%E7%B6%B2%E8%B7%AF%E5%AF%A9%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E4%BA%BA%E6%AC%8A*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E5%AF%A9%E6%9F%A5%E8%BE%AD%E5%BD%99%E5%88%97%E8%A1%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E5%AE%AA%E6%B3%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E5%9C%8B%E6%B0%91%E5%A4%A7%E6%9C%83*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E6%B2%BB%E8%97%8F%E6%AD%B7%E5%8F%B2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E7%B8%BD%E7%B5%B1%E5%BA%9C*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E7%BD%91%E7%BB%9C%E5%AE%A1%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E7%B6%B2%E7%B5%A1%E5%AF%A9%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E6%B0%91%E4%B8%BB%E9%81%8B%E5%8B%95*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8F%AF%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9C%8B%E5%AE%97%E6%95%99*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E6%96%87%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%A4%AE%E8%AD%A6%E8%A1%9B%E5%B1%80*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E5%A4%AE%E6%96%87%E5%8C%96%E9%9D%A9%E5%91%BD%E5%B0%8F%E7%BB%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E4%B8%AD%E8%8B%B1%E7%BA%8C%E8%A8%82%E8%97%8F%E5%8D%B0%E6%A2%9D%E7%B4%84*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%91%A8%E6%BB%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%91%A8%E6%B0%B8%E5%BA%B7*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%BD%AC%E6%B3%95%E8%BD%AE*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%87%AA%E7%94%B1%E9%97%A8*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E8%87%AA%E7%94%B1%E4%BA%9A%E6%B4%B2*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikipedia.org*%E5%AE%97%E5%96%80%E5%B7%B4*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*zh.wikibooks.org*%E7%AA%81%E7%A0%B4%E7%BD%91%E7%BB%9C%E5%AE%A1%E6%9F%A5*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*gov.tw*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*174.142.105.153*")) return 'SOCKS5 127.0.0.1:1080'; + if (shExpMatch(url, "http://*69.65.19.160*")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?altrec\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?beeg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?darpa\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fastpic\\.ru")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fxnetworks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?muzu\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?netflix\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pandora\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pure18\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rdio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?slacker\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?spotify\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?target\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?turntable\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vevo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zattoo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qq\\.co\\.za")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zozotown\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?0to255\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?1-apple\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?10musume\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?12bet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?12vpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?173ng\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?1984bbs\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?1984bbs\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?1pondo\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?2008xianzhang\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?32red\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?36rain\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?4bluestones\\.biz")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?4chan\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?4shared\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?51\\.ca")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?6-4\\.net/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?6park\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.6v6dota\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?7capture\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?881903\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?89-64\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?9bis\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?9bis\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?a-normal-day\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aboluowang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?acgkj\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aculo\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?addictedtocoffee\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?advanscene\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?advertfan\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aenhancers\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?af\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aiph\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ait\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aiweiweiblog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ajaxplorer\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.ajsands\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?akiba-online\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?al-qimmah\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?alabout\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?alasbarricadas\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?notes\\.alexdong\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?alkasir\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?allinfo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?allmovie\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?alternate-tools\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?alwaysdata\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?alwaysdata\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?am730\\.com\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ameblo\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?americangreencard\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?amiblockedornot\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?amnesty\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?amnestyusa\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?anchorfree\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?andfaraway\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?android\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?angularjs\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?anobii\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?anthonycalzadilla\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aobo\\.com\\.au")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aolchannels\\.aol\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?video\\.aol\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?aomiwang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?apiary\\.io")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?apigee\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?archive\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?areca-backup\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?army\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?asahichinese\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?asiaharvest\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?asianwomensfilm\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?askstudent\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?askynz\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?assembla\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?astonmartinnews\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?atc\\.org\\.au")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?atj\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?atlaspost\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?atnext\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?avaaz\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?avidemux\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?avoision\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?axureformac\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?backchina\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?baidu\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?baixing\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bannedbook\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?barnabu\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bayvoice\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bbcchinese\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bbsfeed\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bebo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?beijing1989\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?beijingspring\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?berlintwitterwall\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bestforchina\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bet365\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bettween\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?betvictor\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bfnn\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bfsh\\.hk/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bignews\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bill2-software\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?billywr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bitcointalk\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bitshare\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bjzc\\.org/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blinkx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blip\\.tv/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blockcn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blogblog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blogcatalog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blogger\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.kangye\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloglines\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloglovin\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^https?:\\/\\/[^\\/]+blogspot\\.(.*)")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloodshed\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloomberg\\.cn")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloomberg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloomberg\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bloomfortune\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bnrmetal\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?boardreader\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?boobstagram\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?books\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bowenpress\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dl\\.box\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?boxun\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?boxun\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?boxunblog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?br\\.st")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?brandonhutchinson\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?braumeister\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?break\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?breakingtweets\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?brightkite\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?brizzly\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bt95\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?budaedu\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bullog\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bullogger\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bugclub\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?buugaa\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bx\\.tl")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?c-spanvideo\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?c-est-simple\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cactusvpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cams\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?caobian\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?caochangqing\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?catch22\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?catfightpayperview\\.xxx")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?catholic\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?catholic\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ccavtop10\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ccdtr\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdig\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdjp\\.org/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdp1998\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdp2006\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdpweb\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdpwu\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdw\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cecc\\.gov")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cellulo\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cenci\\.tk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cenews\\.eu")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?centralnation\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chandoo\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?changp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chenguangcheng\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cherrysave\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?china101\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?china21\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?china21\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinaaffairs\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinaaid\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinacomments\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinachannel\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinadigitaltimes\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinaeweekly\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinafreepress\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinagfw\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinagreenparty\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinainperspective\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinainperspective\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinainterimgov\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinamule\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinasocialdemocraticparty\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinasoul\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinaworker\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinayuanmin\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinesedailynews\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chinesen\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chingcheong\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?christianstudy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chrlcg-hk\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chrome\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chromeadblock\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chuizi\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chrispederick\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chrispederick\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?christiantimes\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?allaboutalpha\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?civicparty\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?civilhrfront\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cjb\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ck101\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?classicalguitarblog\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cms\\.gov")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cna\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cnd\\.org/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cochina\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?codeshare\\.io")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?comefromchina\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?compileheart\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?conoyo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?coolaler\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?coolder\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?coolloud\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?couchdbwiki\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cotweet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cpj\\.org/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?crackle\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?creaders\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?crossthewall\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?csdparty\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?csuchen\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cuihua\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cuiweiping\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?curvefish\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?culture\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cyberghostvpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cynscribe\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ifan\\.cz\\.cc")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mike\\.cz\\.cc")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nic\\.cz\\.cc")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dabr\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dabr\\.mobi")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dabr\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dadazim\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dalailama\\.ru")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dailidaili\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dalailamaworld\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dalianmeng\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?danke4china\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?daxa\\.cn/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?de-sci\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?delcamp\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?democrats\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?desc\\.se/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?deutsche-welle\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dev102\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?deviantart\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?deviantart\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?devio\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?devpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dfas\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?diaoyuislands\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?digitalnomadsproject\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?diigo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?furl\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?directcreative\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?discuss\\.com\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dit-inc\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dl-laby\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dlsite\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dmcdn\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dnscrypt\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dns2go\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dolc\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dollf\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dongtaiwang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dongtaiwang\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dontmovetochina\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dotplane\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dotsub\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dougscripts\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?doxygen\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dpp\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?weigegebyc\\.dreamhosters\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?drgan\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dropbox\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dropboxusercontent\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dtiblog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dtic\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?duckduckgo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?duckmylife\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?duihua\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?duihuahrjournal\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?duoweitimes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?duplicati\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dvorak\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dw-world\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dwnews\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dwnews\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dynawebinc\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?e-gold\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?edubridge\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?eevpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?efmoe\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?eic-av\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?elpais\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?emacsblog\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?enewstree\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?englishfromengland\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?entermap\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?epochtimes-bg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?epochtimes-romania\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?epochtimes\\.co\\.il")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?epochtimes\\.co\\.kr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?epochtimes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?epochweekly\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ernestmandel\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?erights\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?etizer\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?exblog\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.exblog\\.co\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?expatshield\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?exploader\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?eyevio\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?facebook\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^https?:\\/\\/[^\\/]+facebook\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?connect\\.facebook\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?facesofnyfw\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?faiththedog\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?falunhr\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fanglizhi\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fangong\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fbcdn\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?famunion\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fangbinxing\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fanswong\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fastly\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?favorious\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?faststone\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?favstar\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fb\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fb\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fbsbx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fourface\\.nodesnoop\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?feedburner\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?feedzshare\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?feelssh\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?feministteacher\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fengzhenghu\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?finalion\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fireofliberty\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?falsefire\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?flickr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?staticflickr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fotop\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fringenetwork\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?flecheinthepeche\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?focustaiwan\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fofg\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fooooo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fourthinternational\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?foxdie\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?foxsub\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fqrouter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?franklc\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?free4u\\.com\\.ar")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?allonlinux\\.free\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dimitrik\\.free\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?puttycm\\.free\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freealim\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freedomhouse\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freegao\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freelotto\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freeoz\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.bulbous\\.freeserve\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freessh\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?free-ssh\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freenetproject\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freetibet\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freewallpaper4\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freeweibo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freeyoutubeproxy\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fring\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?frommel\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fscked\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fuckcnnic\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?furinkan\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?futuremessage\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fw\\.cm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gabocorp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?galenwu\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?game735\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gamer\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gamez\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gaoming\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gardennetworks\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gartlive\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gather\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gaymap\\.cc")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gazotube\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gcc\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gclooney\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?geek-art\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?geekmanuals\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?genuitec\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?geohot\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?geometrictools\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?get-digital-help\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?getfoxyproxy\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?getlantern\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ggssl\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ghost\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ghut\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?giga-web\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gimpshop\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?girlbanker\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?glennhilton\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?globalrescue\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?globalvoicesonline\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gmhz\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gnci\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goagent\\.biz")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goagentplus\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?godfootsteps\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goldbetsports\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goldwave\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goodreads\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goodreaders\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goofind\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gopetition\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gotw\\.ca/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?graphis\\.ne\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gravatar\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?greatfirewallofchina\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?greatfirewallofchina\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?greenvpn\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gtricks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gutteruncensored\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gvm\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gzone-anime\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?g\\.co")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ggpht\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gmail\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gmodules\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?goo\\.gl")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^https?:\\/\\/[^\\/]+google\\.(.*)")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?google-analytics\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googleadservices\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googleapis\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googleearth\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlecode\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googledrive\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlehosted\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlelabs\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlemail\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googleplus\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlesource\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlesyndication\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googletagmanager\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googletagservices\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googleusercontent\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?googlevideo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?appspot\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^https?:\\/\\/[^\\/]+appspot\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?golang\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.klip\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?freegateget\\.googlepages\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gospelherald\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?graylog2\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?greatfire\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?greatroc\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gstatic\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?guishan\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gunsamerica\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?h-china\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hackthatphone\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hakkatv\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hardsextube\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hasaowall\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hdtvb\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?heartyit\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hecaitou\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hechaji\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?helplinfen\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?helloandroid\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?helloqueer\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hellotxt\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?htxt\\.it/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?helpeachpeople\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?date\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?flightcaster\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?branch\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?awardwinningfjords\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?futureme\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?getcloudapp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cl\\.ly")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?getsmartlinks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?git-scm\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lesscss\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?list\\.ly")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?maxgif\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?overlapr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?peerpong\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pose\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?samsoff\\.es")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sendoid\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?speckleapp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stuffimreading\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tomayko\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twt\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?views\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?heungkongdiscuss\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hidden-advent\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hidemyass\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hideipvpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hihistory\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?highrockmedia\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hikinggfw\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?himemix\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hk32168\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hkreporter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hkzone\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hnjhj\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hola\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?holyspiritspeaks\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?derekhsu\\.homeip\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hongzhi\\.li")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hootsuite\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hotspotshield\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hougaige\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?howtoforge\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hqcdp\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hrichina\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hrw\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hsjp\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hsselite\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?htmldog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?huanghuagang\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?huaren\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hugoroy\\.eu")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?huhamhire\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hung-ya\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hungerstrikeforaids\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?huping\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hutianyi\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hwinfo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hypeshell\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hyperrate\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?i1\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?i2p2\\.de/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?i2runner\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iask\\.ca")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iask\\.bz")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iblogserv-f\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?icl-fi\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iconpaper\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?icu-project\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?identi\\.ca")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?idiomconnection\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ifcss\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?antidrm\\.hpg\\.ig\\.com\\.br")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?igfw\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ignitedetroit\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?igvita\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ihakka\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iicns\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?illusionfactory\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ilove80\\.be")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?im\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?im88\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?imageflea\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?imagevenue\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?imagezilla\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?img\\.ly")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?imkev\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?incredibox\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?inmediahk\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?innermongolia\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?interfaceaddiction\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?internationalrivers\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?internetpopculture\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?inxian\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iphone4hongkong\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iphonehacks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?iphonix\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ipicture\\.ru")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ippotv\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ipvanish\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ironicsoftware\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ironbigfools\\.compython\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ironpython\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?!--isaacmao\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?isgreat\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ismprofessional\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?israbox\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?itaboo\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?itshidden\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ixquick\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?gmozomg\\.izihost\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?j\\.mp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?japan-whores\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jgoodies\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jiaoyou8\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hk\\.jiepang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tw\\.jiepang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jinbushe\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jingpin\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jitouch\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?joachims\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jobso\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?joeedelman\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?journalofdemocracy\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?juliereyc\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?junauza\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?junefourth-20\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?juziyue\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jwmusic\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ka-wai\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kagyuoffice\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kakao\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?karayou\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kcsoftwares\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kenengba\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?keontech\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?killwall\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kodingen\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kompozer\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?koolsolutions\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?koornk\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kurtmunger\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kzeng\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?labiennale\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?laogai\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?laptoplockdown\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?larsgeorge\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lastfm\\.es")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lazarsearlymusic\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?leecheukyan\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lematin\\.ch")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lenwhite\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lerosua\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lesoir\\.be")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?letscorp\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?liaowangxizang\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?liberal\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?line\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lingvodics\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?api\\.linksalpha\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?apidocs\\.linksalpha\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.linksalpha\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?help\\.linksalpha\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?linux-engineer\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?linuxconfig\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?linuxreviews\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?listentoyoutube\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?liudejun\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?liujianshu\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?liuxiaotong\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?liveleak\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?livestream\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?livingonline\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?livingstream\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?livevideo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lockdown\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lockestek\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?logiqx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?logmike\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?longtermly\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lookingglasstheatre\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lookpic\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lrfz\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lsd\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lsm\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lsmchinese\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lsmkorean\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lupm\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lushstories\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lvhai\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mh4u\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mad-ar\\.ch")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?marc\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?martincartoons\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?makemymood\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?marines\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?martau\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?marxist\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?matainja\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mathiew-badimon\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?matsushimakaede\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mcadforums\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?md-t\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?meetup\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?megarotic\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?megurineluka\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?melon-peach\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?meteorshowersonline\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?metrolife\\.ca")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mgstage\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?michaelmarketl\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?minghui\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mingjinglishi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?minzhuhua\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?miroguide\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mixero\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mixx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mizzmona\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mmaaxx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mobatek\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mobileways\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mrdoob\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mondex\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?monitorchina\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?morningsun\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?movabletype\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?moviefap\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.moztw\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mp/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mpettis\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mrtweet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mthruf\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?multiply\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?muouju\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?muselinks\\.co\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?muzi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?muzi\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mx981\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?my-addr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myaudiocast\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bbs\\.mychat\\.to")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mychinamyhome\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.mycould\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myeclipseide\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myforum\\.com\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myforum\\.com\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myparagliding\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mypopescu\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?naacoalition\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?naitik\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?namsisi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nanyang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nanyangpost\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^http:\\/\\/[^\\/]+line\\.naver\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?navicat\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nakido\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?national-lottery\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?navy\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ncn\\.org/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?etools\\.ncol\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nekoslovakia\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?newchen\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?newscn\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?newsminer\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?newstapa\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?newtalk\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nexton-net\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nga\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nighost\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?njactb\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?njuice\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nobel\\.se")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nobodycanstop\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nokogiri\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nokola\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?noobbox\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?novelasia\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nownews\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?noypf\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?npa\\.go\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nrk\\.no")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nsc\\.gov\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cbs\\.ntu\\.edu\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nuexpo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nurgo-software\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nyt\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nytco\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nytimes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nytimg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nzchinese\\.net\\.nz")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?october-review\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ogaoga\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?olumpo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?myopenid\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?openid\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.openinkpot\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?openleaks\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?openvpn\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?openwebster\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?demo\\.opera-mini\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?orient-doll\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?orientaldaily\\.com\\.my")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?orn\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?t\\.orzdream\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?orzistic\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?osfoora\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ourdearamy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ow\\.ly")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pagodabox\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?paint\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?coveringweb\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?paper-replika\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?eriversoft\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?panoramio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?panluan\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pao-pao\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pastie\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.pathtosharepoint\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pbworks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?developers\\.box\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wiki\\.oauth\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wiki\\.phonegap\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wiki\\.jqueryui\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pbxes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pbxes\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pct\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pdproxy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pekingduck\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?penchinese\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.pentalogic\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?peopo\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?perlhowto\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?photofocus\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?phuquocservices\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?img.*\\.picturedip\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pin6\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ping\\.fm/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pinoy-n\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pixelqi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?css\\.pixnet\\.in")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pixnet\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?placemix\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?playboy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?m\\.plixi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?po2b\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?podictionary\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pokerstars\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?popvote\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?popyard\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pornmm\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pornrapidshare\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?powercx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.powerpointninja\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdn\\.printfriendly\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pts\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?post\\.anyu\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bralio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?calebelston\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?designerol\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.fizzik\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?nf\\.id\\.au")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?markmilian\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?log\\.riku\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sogrady\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vatn\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?veempiire\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.vegorpedersen\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ventureswell\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?webfee\\.tk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?whereiswerner\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bill\\.zhong\\.pp\\.ru")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?power\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?abc\\.pp\\.ru")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?prayforchina\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?premeforwindows7\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?presentationzen\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?prestige-av\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?privacybox\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?privateinternetaccess\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?privatepaste\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?privatetunnel\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?procopytips\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?prosiben\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?proxomitron\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?proxypy\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?psblog\\.name")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pullfolio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?pureconcepts\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?purepdf\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?purevpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qanote\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qienkuen\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qiwen\\.lu")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qoos\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?efksoft\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qstatus\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qtweeter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?qtrac\\.eu")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?quadedge\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.getyouram\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hiitch\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?radiovaticana\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?radiovncr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?raidcall\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ranyunfei\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rapidshare8\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?readingtimes\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?readmoo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?referer\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?reflectivecode\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?renyurenquan\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?retweetrank\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rferl\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rfi\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rlwlw\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?robustnessiskey\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rocmp\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rojo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ronjoneswriter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rsf\\.org/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rsf-chinese\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?rssmeme\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?s1heng\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?s8forum\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sacom\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sadpanda\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?saiq\\.me/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?salvation\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sankaizok\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?say2\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?scriptspot\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?secretgarden\\.no")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?default\\.secureserver\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?seevpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?seezone\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sesawe\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sethwklein\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sevenload\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sex3\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sexinsex\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shadowsocks\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shangfang\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sharecool\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sharkdolphin\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sharpdaily\\.com\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shaunthesheep\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shellmix\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shenzhoufilm\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shixiao\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shizhao\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?shodanhq\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sidelinesnews\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?simplecd\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?magazines\\.sina\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?singtao\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cdp\\.sinica\\.edu\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sinocast\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sinoants\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?site90\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?siteks\\.uk\\.to")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sitemaps\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sis001\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sjum\\.cn/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?skimtube\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?skybet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?skyvegas\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xskywalker\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?slavasoft\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?slheng\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sndcdn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?so-ga\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?so-news\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soc\\.mil/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sockslist\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?softether\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?softether-download\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sogclub\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sohcradio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.somee\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sorting-algorithms\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soup\\.io/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?slickvpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?snapchat\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?snaptu\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?snooper\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sobees\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?softwarebychuck\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soh\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sohfrance\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?somee\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?songjianjun\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soundcloud\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soundofhope\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?soupofmedia\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wlx\\.sowiki\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?space-scape\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?spb\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?spencertipping\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sproutcore\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ssh91\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?standupfortibet\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?starp2p\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?startpage\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?steel-storm\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sthoo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stonegames\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stoneip\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?storagenewsletter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stoptibetcrisis\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stoweboyd\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?streamingthe\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?strongvpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sugarsync\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?svwind\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sweux\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?swift-tools\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?syncback\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sysadmin1138\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?szetowah\\.org\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?t66y\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tafaward\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tagwalk\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taipeisociety\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taiwantt\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taiwandaily\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taiwannews\\.com\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tamiaode\\.tk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tanc\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taolun\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?taweet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tbpic\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tbsec\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tbsn\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?teamseesmic\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?techlifeweb\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?techparaiso\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?teck\\.in/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?telegraph\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?theampfactory\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?theappleblog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?theatrum-belli\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thebodyshop-usa\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thebcomplex\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thedieline\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thedw\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thegatesnotes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thehun\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thelifeyoucansave\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thelius\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thepiratebay\\.se")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thesartorialist\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thetibetpost\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thewgo\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thomasbernhard\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?throughnightsfire\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thywords\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tiananmenuniv\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tiananmenuniv\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tiandixing\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tibet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tibet\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tibetanyouthcongress\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tibetonline\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tibetonline\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tibetwrites\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.tiney\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tinypaste\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tidyread\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tkcs-collins\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tkforum\\.tk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tmagazine\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tnaflix\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tokyocn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?topshare\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?topstyle4\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?topsy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?torproject\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?torrentcrazy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?torrentproject\\.se")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?torvpn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?toutfr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tpi\\.org\\.tw")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?transgressionism\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?transparency\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?travelinlocal\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?trendsmap\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?trialofccp\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tripod\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?trustedbi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?truthcn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tt1069\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tttan\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tube8\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tubewolf\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tumutanzi\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tunnelbear\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?turningtorso\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tuxtraining\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?301works\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?365singles\\.com\\.ar")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?all-that-is-interesting\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?art-or-porn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?news\\.atebits\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tumblr\\.awflasher\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?badassjs\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?basetimesheightdividedby2\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?benjaminste\\.in")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.birdhouseapp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bobulate\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bonjourlesgeeks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bookshelfporn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.boxcar\\.io")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.bitly\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chevronwp7\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?clientsfromhell\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?codeboxapp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cookingtothegoodlife\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cubicle17\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?photos\\.dailyme\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?davidslog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.davidziegler\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.dayoneapp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?drewolanoff\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.dribbble\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?chaos\\.e-spacy\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?eamonnbrennan\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?everyday-carry\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?eyespirit\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?life\\.fly4ever\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fredwilson\\.vc")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?fuckgfw\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?geekmade\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?generesis\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?news\\.ghostery\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?givemesomethingtoread\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.gowalla\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?heiyo\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hellonewyork\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.hotpotato\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ialmostlaugh\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.ifttt\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.instagram\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.instapaper\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?interestinglaugh\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.iphone-dev\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jayparkinsonmd\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.joeyrobert\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?kt\\.kcome\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?my\\.keso\\.cn")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.kickstarter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.kl\\.am")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.klip\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?t\\.kun\\.im")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.lightbox\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?littlebigdetails\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lovequicksilver\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?lyricsquote\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?madmenunbuttoned\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?marco\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?minimalmac\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mixedmedialabs\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?modfetish\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.mongodb\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?navigeaters\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?london\\.neighborhoodr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.path\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?parislemon\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.pikchur\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.rockmelt\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.romanandreg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?solozorro\\.tk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.sparrowmailapp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?stuffimreading\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.summify\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thedailywh\\.at")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?theinternetwishlist\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thisiswhyyouarefat\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.tiffanyarment\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tjholowaychuk\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tomsc\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.topify\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?thehungrydudes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tumblweed\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?status\\.twhirl\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.usa\\.gov")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?photo\\.utom\\.us")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?v-state\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wellplacedpixels\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?whydidyoubuymethat\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wordboner\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wordsandturds\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?worstthingieverate\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xmusic\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xuzhuoer\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?bd\\.zhe\\.la")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?cocoa\\.zonble\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.tv\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tv-intros\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tvunetworks\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twapperkeeper\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twaud\\.io")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twblogger\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweepml\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetbackup\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetboard\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetboner\\.biz")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetdeck\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?mtw\\.tl")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetedtimes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetmylast\\.fm")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetphoto\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetrans\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetree\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweetwally\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twftp\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twibble\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twibs\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twiffo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twimbow\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twindexx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twipple\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twip\\.me/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitcause\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitgether\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twiggit\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitiq\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitlonger\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitoaster\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitonmsn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitpic\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twit2d\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitstat\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?dotheyfolloweachother\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?firstfivefollowers\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?retweeteffect\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweeplike\\.me")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tweepguide\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?turbotwitter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitvid\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?t\\.co")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitter\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twttr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^https?:\\/\\/[^\\/]+twitter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitter4j\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twittercounter\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twittergadget\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitterkr\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twittermail\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twittertim\\.es")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitturk\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twitturly\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twreg\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twstar\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twimg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?twyac\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tycool\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tzangms\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?typepad\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.expofutures\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?legaltech\\.law\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.loiclemeur\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?latimesblogs\\.latimes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blog\\.palm\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?blogs\\.tampabay\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?contests\\.twilio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?embr\\.in")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?uberproxy\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ucdc1998\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?uderzo\\.it")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?udn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ukliferadio\\.co\\.uk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ultravpn\\.fr")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?unblock\\.cn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?unblocksit\\.es")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?unholyknight\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?unknownspace\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?uocn\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?urlborg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?urlparser\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?usacn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?usfk\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?usmc\\.mil")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ustream\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?uyghurcongress\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vaayoo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?value-domain\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vapurl\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vcf-online\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vcfbuilder\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?verybs\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?videobam\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vidoemo\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?viki\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vimgolf\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vimperator\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vincnd\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vinniev\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vmixcore\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?voachineseblog\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?voacantonese\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?voachinese\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?voatibetan\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vot\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.vpncup\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vpngate\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vpngate\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vpnpop\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vpnpronet\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?vtunnel\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?waffle1999\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?jyzj\\.waqn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wallpapercasa\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?www\\.wan-press\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wanderinghorse\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wangafu\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wangjinbo\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wattpad\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?watchmygf\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wearn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?hudatoriq\\.web\\.id")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?web2project\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?webmproject\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wengewang\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wenku\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wenyunchao\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?westca\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?westernwolves\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wepn\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wexiaobo\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wezone\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wforum\\.com/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?whatblocked\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?whyx\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikileaks\\.ch")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikileaks\\.de")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikileaks\\.eu")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikileaks\\.lu")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikileaks\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikileaks\\.pl")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?collateralmurder\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?collateralmurder\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikimapia\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?secure\\.wikimedia\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikimedia\\.org\\.mo")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wikiwiki\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?sports\\.williamhill\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?willw\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?windowsphoneme\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wiredbytes\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wiredpen\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wireshark\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wisevid\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?woeser\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wolfax\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?womensrightsofchina\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?woopie\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?woopie\\.tv")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?workatruna\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wordpress\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?.*\\.wp\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wowlegacy\\.ml")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wpoforum\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wqyd\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wuguoguang\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?wujieliulan\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?x-art\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?x-wall\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xbabe\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xbookcn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xcafe\\.in")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xiaoma\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xiaohexie\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xing\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xinmiao\\.com\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xjp\\.cc")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xml-training-guide\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xnxx\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xpud\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?k2\\.xrea\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xtube\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xuchao\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xuchao\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?xxxx\\.com\\.au")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yahoo\\.com\\.hk")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yam\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yasukuni\\.or\\.jp")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yeelou\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yegle\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yhcw\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yidio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yipub\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yogichen\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youxu\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yyii\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yzzk\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youjizz\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youpai\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yousendit\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youporn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youtu\\.be")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youtube\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youtube-nocookie\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?youversion\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ytimg\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yunchao\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yvesgeleyn\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?yymaya\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zannel\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?tap11\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zaobao\\.com\\.sg")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zarias\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zeutch\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhanbin\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhenlibu\\.info")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhongguotese\\.net")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhongmeng\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhreader\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zhuichaguoji\\.org")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zillionk\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zinio\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?ziplib\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zkaip\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zlib\\.net/")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zonaeuropa\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zootool\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zuo\\.la")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zuola\\.com")) return 'SOCKS5 127.0.0.1:1080'; + if (regExpMatch(url, "^[\\w\\-]+:\\/+(?!\\/)(?:[^\\/]+\\.)?zvereff\\.com")) return 'SOCKS5 127.0.0.1:1080'; + return 'DIRECT'; +} \ No newline at end of file diff --git a/test/test.sh b/test/test.sh index a5f7c9a..153bd0c 100755 --- a/test/test.sh +++ b/test/test.sh @@ -1,9 +1,20 @@ #!/bin/bash -pushd .. && \ -PYTHONPATH=. python gfwlist2pac/main.py -i test/gfwlist.txt -f test/proxy.pac -p 'SOCKS5 127.0.0.1:1080' && \ +pushd .. +coverage erase +PYTHONPATH=. coverage run -a gfwlist2pac/main.py -i test/gfwlist.txt -f test/proxy.pac -p 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;' --user-rule https://raw.githubusercontent.com/clowwindy/gfwlist2pac/master/test/user_rule.txt && \ +PYTHONPATH=. coverage run -a gfwlist2pac/main.py -f test/proxy.pac -p 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;' --user-rule test/user_rule.txt && \ +PYTHONPATH=. coverage run -a gfwlist2pac/main.py -i test/gfwlist.txt -f test/proxy.pac -p 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;' --user-rule test/user_rule.txt && \ +cat test/gfwlist.txt | base64 -d | PYTHONPATH=. coverage run -a gfwlist2pac/main.py -i /dev/stdin -f test/proxy_nobase64.pac -p 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;' --user-rule test/user_rule.txt && \ +PYTHONPATH=. coverage run -a gfwlist2pac/main.py --precise -i test/gfwlist.txt -f test/proxy_abp.pac -p 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT;' --user-rule test/user_rule.txt && \ +diff test/proxy.pac test/proxy_nobase64.pac && \ popd && \ -cat proxy.pac && \ cat proxy.pac test_case.js > /tmp/test.js && \ node /tmp/test.js && \ -echo 'Test passed' \ No newline at end of file +cat proxy_abp.pac test_case.js > /tmp/test.js && \ +node /tmp/test.js && \ +cd .. && coverage report --include=gfwlist2pac/* && \ +rm -rf htmlcov && \ +coverage html --include=gfwlist2pac/* && \ +coverage report --include=gfwlist2pac/* | tail -n1 | rev | cut -d' ' -f 1 | rev > /tmp/gfwlist2pac-coverage && \ +echo 'Test passed' diff --git a/test/test_case.js b/test/test_case.js index d432e13..34e0b6e 100644 --- a/test/test_case.js +++ b/test/test_case.js @@ -15,7 +15,14 @@ console.assert('PROXY' == FindProxyForURL('http://www.facebook.com/', 'www.faceb console.assert('PROXY' == FindProxyForURL('http://www.youtube.com/', 'www.youtube.com')); console.assert('PROXY' == FindProxyForURL('http://s.ytimg.com/', 's.ytimg.com')); console.assert('PROXY' == FindProxyForURL('https://r1---sn-a5m7zu7l.googlevideo.com/videoplayback?expire=1395089125&fexp=931919%2C936903%2C943103%2C916625%2C910834%2C937417%2C913434%2C936910%2C936913%2C934022%2C3300001%2C3300101%2C3300130%2C3300137%2C3300161%2C3310623%2C3310649&id=cb048f5eb94374cb&requiressl=yes&signature=AA0F7DB3A18F4D376BBD224E27124CF17291D7FF.38C0D47ECEFE8EBE13941024D6E0C2C8F60FA028&clen=1843858&sparams=clen%2Cdur%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Crequiressl%2Csource%2Cupn%2Cexpire&ipbits=0&upn=oj-aQXhXwbw&itag=243&dur=74.520&lmt=1395027800917214&ip=106.187.46.253&key=yt5&gir=yes&sver=3&source=youtube&cpn=vm3zeV79pZjco-re&alr=yes&mime=video%2Fwebm&ratebypass=yes&redirect_counter=1&cms_redirect=yes&ms=tsu&mt=1395068116&mv=m&range=255812-336599&keepalive=yes', 'r1---sn-a5m7zu7l.googlevideo.com')); +console.assert('PROXY' == FindProxyForURL('http://appspot.com/', 'appspot.com')); +console.assert('PROXY' == FindProxyForURL('http://my.appspot.com/', 'my.appspot.com')); + +console.assert('PROXY' == FindProxyForURL('http://www.userdefined.com/', 'www.userdefined.com')); +console.assert('DIRECT;' == FindProxyForURL('http://userdefined.whitelist.com/', 'userdefined.whitelist.com')); console.assert('DIRECT;' == FindProxyForURL('http://www.baidu.com', 'www.baidu.com')); console.assert('DIRECT;' == FindProxyForURL('http://www.youku.com', 'www.youku.com')); console.assert('DIRECT;' == FindProxyForURL('http://www.taobao.com', 'www.taobao.com')); +console.assert('DIRECT;' == FindProxyForURL('http://www.baidu.com', '.com')); +console.assert('DIRECT;' == FindProxyForURL('http://www.baidu.com', '.')); diff --git a/test/user_rule.txt b/test/user_rule.txt new file mode 100644 index 0000000..d7f6578 --- /dev/null +++ b/test/user_rule.txt @@ -0,0 +1,9 @@ +!this is a user defined rule +||userdefined.com +||www.userdefined2.com +||amazonaws.com +||akamai.net +||akamaiedge.net +||cloudfront.net +http://[incomplete_ipv6_addr/ +@@userdefined.whitelist.com