morepath/morepath

webob exceptions slow down over time

Opened this issue · 11 comments

I just did some benchmarking on 'notfound' errors in Morepath. Morepath is slower at this than it should be, and it seems to get worse the more iterations I run per test. The benchmarking tool is howareyou:

https://github.com/faassen/howareyou

When I run the default amount of iterations (100,000) then I get these results:

howareyou -b notfound -f morepath
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     95624    1046     343    135

If I use half those iterations:

 howareyou -b notfound -f morepath -n 50000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     25138    1989     343    135

if I use less iterations:

(py2)[faassen@cosmos howareyou]$ howareyou -b notfound -f morepath -n 10000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath      2433    4110     343    135

and even less iterations:

$ howareyou -b notfound -f morepath -n 1000
Benchmark : notfound
Frameworks: morepath, flask
                ms     rps  tcalls  funcs
morepath       225    4437     343    135

This isn't supposed to happen. When I profile, I find that lazify in webob's exc.py totally dominates performance::

   Ordered by: internal time
   List reduced from 147 to 10 due to restriction <10>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
   100000   64.692    0.001   64.765    0.001 exc.py:191(lazify)

This is on Python 2.

I cannot reproduce this issue on Python 3.

I can reproduce this with github master of webob. The line number is 188 now but it's still lazify.

If I get rid of lazify on line 283 in exc.py then while I see slightly lower rps, it is stable and doesn't shrink over time.

Python 2.7.10 on OS X with master of WebOb and pip install -r requirements.txt in howareyou repo.

Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath    111361     898     481    145

With the profiler:

(howareyou)alexandra:howareyou xistence$ python -m cProfile -s tottime ~/.ve/howareyou/bin/howareyou -b notfound -f morepath -n 50000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     43358    1153     481    145
         24122935 function calls (24119073 primitive calls) in 43.737 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    50000   14.638    0.000   14.699    0.000 exc.py:188(lazify)
   100000    1.385    0.000    7.850    0.000 response.py:176(__init__)
   100105    1.032    0.000    3.961    0.000 {method 'sub' of '_sre.SRE_Pattern' objects}
   100000    0.965    0.000    1.115    0.000 response.py:363(_status__set)
   700000    0.959    0.000    1.405    0.000 headers.py:15(__getitem__)
  2953708    0.902    0.000    0.902    0.000 {method 'lower' of 'str' objects}
   300000    0.797    0.000    1.282    0.000 headers.py:43(__setitem__)
   250000    0.763    0.000    0.990    0.000 acceptparse.py:35(parse)
   300000    0.744    0.000    2.929    0.000 string.py:162(convert)
   250000    0.647    0.000    1.838    0.000 acceptparse.py:252(parse)
    50000    0.634    0.000   30.082    0.001 exc.py:324(generate_response)

I am seeing more tcalls/funcs than you though... are there changes that are not in the howareyou repo?

Changing lazify to:

class _lazify(object):
    def __init__(self, func):
        self.func = func

    def __call__(self, value):
        self.value = value
        return self

    def __str__(self):
        return self.func(self.value)

def lazify(func):
    return _lazify(func)

I get the following numbers:

(howareyou)alexandra:howareyou xistence$ howareyou -b notfound -f morepath
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     35253    2837     481    145

Nearly triple what I was getting before...

(howareyou)alexandra:howareyou xistence$ python -m cProfile -s tottime ~/.ve/howareyou/bin/howareyou -b notfound -f morepath -n 50000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     24750    2020     481    145
         24122938 function calls (24119076 primitive calls) in 25.007 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
   100000    1.201    0.000    7.131    0.000 response.py:176(__init__)
   700000    0.906    0.000    1.355    0.000 headers.py:15(__getitem__)
  2953708    0.904    0.000    0.904    0.000 {method 'lower' of 'str' objects}
   100105    0.878    0.000    3.407    0.000 {method 'sub' of '_sre.SRE_Pattern' objects}
   100000    0.831    0.000    0.971    0.000 response.py:363(_status__set)
   300000    0.726    0.000    1.190    0.000 headers.py:43(__setitem__)
   250000    0.709    0.000    0.920    0.000 acceptparse.py:35(parse)
   300000    0.622    0.000    2.529    0.000 string.py:162(convert)
   250000    0.609    0.000    1.729    0.000 acceptparse.py:252(parse)
   700000    0.562    0.000    1.917    0.000 _abcoll.py:379(get)
    50000    0.534    0.000   13.423    0.000 exc.py:330(generate_response)
   100000    0.448    0.000    3.116    0.000 response.py:796(_content_type__set)
   700943    0.442    0.000    0.442    0.000 {method 'split' of 'str' objects}
   250000    0.431    0.000    1.777    0.000 response.py:762(_content_type__get)
   250001    0.406    0.000    0.527    0.000 {method 'decode' of 'str' objects}
  1050000    0.402    0.000    0.701    0.000 response.py:432(_headers__get)
   200000    0.401    0.000    1.655    0.000 util.py:12(html_escape)
   250000    0.386    0.000    1.342    0.000 response.py:716(_charset__get)
   350087    0.381    0.000    0.381    0.000 {method 'search' of '_sre.SRE_Pattern' objects}
  1307485    0.370    0.000    0.371    0.000 {isinstance}
    50000    0.331    0.000    1.344    0.000 request.py:23(__init__)
    50000    0.330    0.000    0.961    0.000 response.py:852(_content_type_params__set)
    50000    0.305    0.000    0.521    0.000 acceptparse.py:126(best_match)
    50000    0.297    0.000    0.576    0.000 response.py:836(_content_type_params__get)
    50000    0.264    0.000    8.886    0.000 core.py:171(excview_tween)
  1300923    0.257    0.000    0.257    0.000 {method 'group' of '_sre.SRE_Match' objects}
   301474    0.252    0.000    0.318    0.000 {getattr}
    50000    0.251    0.000    1.980    0.000 acceptparse.py:30(__init__)
    50000    0.245    0.000    4.476    0.000 exc.py:265(__init__)
   200000    0.233    0.000    0.432    0.000 cgi.py:1039(escape)
   400461    0.232    0.000    0.232    0.000 {range}
   150000    0.218    0.000    0.218    0.000 __init__.py:57(get)

Here's the entries for _lazify and lazify:

    50000    0.044    0.000    0.061    0.000 exc.py:199(lazify)
        1    0.000    0.000    0.000    0.000 exc.py:188(_lazify)

I will drop that patch into WebOb and backport it to 1.6.x. I have no problems fixing performance issues as they come along.

(howareyou)alexandra:howareyou xistence$ howareyou -b notfound -f morepath -n 10000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath      3526    2836     481    145
(howareyou)alexandra:howareyou xistence$ howareyou -b notfound -f morepath -n 500000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath    174118    2872     481    145

With that patch iterations no longer matters either...

Cool, thanks, @bertjwregeer ! Definitely weird Python behavior that a nested class can have this cumulative effect...

I can't explain fully why you see a different amount of tcalls and funcs than I do, but I think earlier I was testing with an unreleased version of Morepath which affected things. When I test with the 0.15 version I get this:

                ms     rps  tcalls  funcs
morepath     37745    2649     460    141

Which is still less function calls. It's possible there are some differences depending on platform in the Python standard library; I'm testing on Linux.

That patch I provided doesn't do what it was supposed to do... I definitely should not code tired.

Updated:

class _lazified(object):
    def __init__(self, func, value):
        self.func = func
        self.value = value

    def __str__(self):
        return self.func(self.value)

def lazify(func):
    def wrapper(value):
        return _lazified(func, value)
    return wrapper
(howareyou)alexandra:howareyou xistence$ howareyou -b notfound -f morepath
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     33640    2973     483    145
(howareyou)alexandra:howareyou xistence$ howareyou -b notfound -f morepath
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     33640    2973     483    145
(howareyou)alexandra:howareyou xistence$ howareyou -b notfound -f morepath -n 500000
Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath    174269    2869     483    145

Note that this is running on my desktop, so some variations with browsers/terminal windows is to be expected. It's close enough for government work ;-)

cProfile output

Benchmark : notfound
Frameworks: morepath
                ms     rps  tcalls  funcs
morepath     25717    1944     483    145
         24222938 function calls (24219076 primitive calls) in 25.973 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
   100000    1.240    0.000    7.330    0.000 response.py:176(__init__)
   700000    0.930    0.000    1.360    0.000 headers.py:15(__getitem__)
   100105    0.913    0.000    3.557    0.000 {method 'sub' of '_sre.SRE_Pattern' objects}
  2953708    0.873    0.000    0.873    0.000 {method 'lower' of 'str' objects}
   100000    0.871    0.000    1.014    0.000 response.py:363(_status__set)
   300000    0.752    0.000    1.219    0.000 headers.py:43(__setitem__)
   250000    0.722    0.000    0.933    0.000 acceptparse.py:35(parse)
   300000    0.663    0.000    2.644    0.000 string.py:162(convert)
   250000    0.617    0.000    1.750    0.000 acceptparse.py:252(parse)
   700000    0.589    0.000    1.948    0.000 _abcoll.py:379(get)
    50000    0.561    0.000   13.966    0.000 exc.py:329(generate_response)
   100000    0.463    0.000    3.209    0.000 response.py:796(_content_type__set)
   700943    0.450    0.000    0.450    0.000 {method 'split' of 'str' objects}
   250000    0.445    0.000    1.823    0.000 response.py:762(_content_type__get)
   250001    0.412    0.000    0.541    0.000 {method 'decode' of 'str' objects}
   200000    0.411    0.000    1.726    0.000 util.py:12(html_escape)
  1050000    0.409    0.000    0.715    0.000 response.py:432(_headers__get)
   350087    0.395    0.000    0.395    0.000 {method 'search' of '_sre.SRE_Pattern' objects}
   250000    0.392    0.000    1.366    0.000 response.py:716(_charset__get)
  1307485    0.373    0.000    0.373    0.000 {isinstance}
    50000    0.350    0.000    1.407    0.000 request.py:23(__init__)
    50000    0.339    0.000    0.990    0.000 response.py:852(_content_type_params__set)
    50000    0.314    0.000    0.534    0.000 acceptparse.py:126(best_match)
    50000    0.309    0.000    0.592    0.000 response.py:836(_content_type_params__get)
    50000    0.279    0.000    9.198    0.000 core.py:171(excview_tween)
    50000    0.261    0.000    2.011    0.000 acceptparse.py:30(__init__)
   301474    0.261    0.000    0.329    0.000 {getattr}
   200000    0.254    0.000    0.468    0.000 cgi.py:1039(escape)
    50000    0.253    0.000    4.582    0.000 exc.py:264(__init__)
  1300923    0.252    0.000    0.252    0.000 {method 'group' of '_sre.SRE_Match' objects}
   400461    0.246    0.000    0.246    0.000 {range}
    50000    0.232    0.000   25.669    0.001 run.py:42(<lambda>)
   150000    0.229    0.000    0.229    0.000 __init__.py:57(get)
   200000    0.223    0.000    0.804    0.000 argextract.py:109(__call__)
    50000    0.221    0.000    3.366    0.000 exc.py:286(_make_body)
    50000    0.215    0.000    1.019    0.000 predicate.py:137(get_key)
   800082    0.213    0.000    0.213    0.000 {method 'replace' of 'str' objects}
   100000    0.203    0.000    0.269    0.000 response.py:393(_status_code__get)
   100000    0.201    0.000    3.772    0.000 string.py:148(substitute)
    50000    0.200    0.000   14.243    0.000 exc.py:354(__call__)
    50000    0.198    0.000    4.391    0.000 exc.py:313(html_body)
    50000    0.191    0.000    0.191    0.000 {_warnings.warn}
    50005    0.184    0.000    0.333    0.000 predicate.py:146(key_by_predicate_name)
    50000    0.173    0.000    0.574    0.000 response.py:731(_charset__set)
    50000    0.173    0.000    9.523    0.000 core.py:210(poisoned_host_header_protection_tween)
    50000    0.169    0.000    6.685    0.000 registry.py:376(call)
    50000    0.165    0.000    0.255    0.000 headers.py:79(pop)
   200000    0.163    0.000    0.536    0.000 compat.py:24(text_)
    50000    0.157    0.000    0.285    0.000 traject.py:325(consume)
   100010    0.154    0.000    0.155    0.000 {method 'encode' of 'unicode' objects}
    50000    0.154    0.000    0.197    0.000 response.py:1215(_abs_headerlist)
   100000    0.149    0.000    0.282    0.000 multidict.py:45(view_list)
    50000    0.148    0.000    4.834    0.000 mapply.py:27(lookup_mapply)
977641/977052    0.144    0.000    0.144    0.000 {len}
   901300    0.143    0.000    0.143    0.000 {method 'get' of 'dict' objects}
    50000    0.142    0.000    0.217    0.000 descriptors.py:148(fdel)
   250000    0.134    0.000    0.172    0.000 descriptors.py:47(fget)
    50000    0.132    0.000    7.107    0.000 publish.py:121(resolve_response)
   100000    0.130    0.000    0.252    0.000 dispatch.py:74(get_lookup)
   100000    0.127    0.000    0.127    0.000 {method 'finditer' of '_sre.SRE_Pattern' objects}
   200000    0.127    0.000    1.853    0.000 exc.py:193(__str__)
    50493    0.124    0.000    0.124    0.000 {method 'match' of '_sre.SRE_Pattern' objects}
    50000    0.123    0.000    0.261    0.000 argextract.py:60(__call__)
    50000    0.122    0.000    1.446    0.000 registry.py:205(predicate_key)
    50000    0.121    0.000    0.290    0.000 view.py:47(__call__)
    50000    0.120    0.000   25.361    0.001 app.py:94(__call__)
    50004    0.116    0.000    0.184    0.000 traject.py:368(parse_path)
   668559    0.115    0.000    0.115    0.000 {method 'append' of 'list' objects}
   100000    0.112    0.000    0.138    0.000 argextract.py:82(extract_arg)
    50000    0.106    0.000    0.324    0.000 response.py:1202(__call__)
    50000    0.102    0.000    0.293    0.000 util.py:48(warn_deprecation)
    50000    0.102    0.000    0.577    0.000 publish.py:44(resolve_model)
   150000    0.101    0.000    0.161    0.000 exc.py:197(wrapper)
    50000    0.101    0.000    0.239    0.000 request.py:897(_is_body_readable__get)
   100000    0.101    0.000    0.116    0.000 multidict.py:28(__init__)
   200022    0.099    0.000    0.122    0.000 predicate.py:42(key_by_predicate_name)
    50000    0.094    0.000    0.364    0.000 request.py:168(encget)
   100000    0.094    0.000    0.305    0.000 descriptors.py:166(fget)
    50000    0.092    0.000    0.092    0.000 {_codecs.utf_8_decode}
   300000    0.092    0.000    0.092    0.000 {method 'count' of 'str' objects}
   100000    0.092    0.000    0.266    0.000 registry.py:300(component)
    50000    0.083    0.000    0.102    0.000 request.py:109(__init__)
    50000    0.082    0.000    4.664    0.000 core.py:46(model_not_found)
    50000    0.081    0.000    6.883    0.000 dispatch.py:54(__call__)
50003/50002    0.079    0.000    0.419    0.000 reify.py:41(__get__)
    50037    0.077    0.000    0.077    0.000 {method 'copy' of 'dict' objects}
    50000    0.072    0.000    0.257    0.000 request.py:179(encset)
   100019    0.071    0.000    0.071    0.000 {method 'pop' of 'dict' objects}
    50000    0.069    0.000    0.646    0.000 registry.py:440(component_key_dict)
    50000    0.067    0.000    0.067    0.000 descriptors.py:268(parse_int)
    50000    0.067    0.000    1.474    0.000 app.py:86(request)
    50000    0.065    0.000    0.350    0.000 publish.py:84(consume)
    50024    0.065    0.000    0.065    0.000 {sorted}
    50000    0.064    0.000    0.100    0.000 descriptors.py:133(fget)
    50009    0.060    0.000    0.452    0.000 registry.py:184(key_dict_to_predicate_key)
   150000    0.060    0.000    0.060    0.000 exc.py:189(__init__)
   106291    0.059    0.000    0.059    0.000 {method 'startswith' of 'str' objects}
    50000    0.058    0.000    0.077    0.000 response.py:531(_has_body__get)
    50000    0.058    0.000    0.837    0.000 dispatch.py:64(component_key_dict)
    50000    0.057    0.000    0.090    0.000 implicit.py:15(set_implicit)
   100000    0.057    0.000    0.113    0.000 response.py:1448(_content_type_has_charset)
    50000    0.056    0.000    0.056    0.000 {method 'split' of 'unicode' objects}
    50000    0.055    0.000    0.069    0.000 traject.py:228(get)
    50000    0.055    0.000    0.092    0.000 publish.py:143(get_view_name)
    50000    0.054    0.000    7.738    0.000 publish.py:28(publish)
    50000    0.053    0.000    0.471    0.000 core.py:93(body_model_predicate)
   100000    0.051    0.000    0.051    0.000 implicit.py:68(lookup)
    50007    0.048    0.000    0.381    0.000 predicate.py:285(key_by_predicate_name)
        1    0.048    0.048   25.717   25.717 timeit.py:96(inner)
   200000    0.048    0.000    0.048    0.000 response.py:412(_headerlist__get)
    50000    0.047    0.000    0.322    0.000 request.py:64(body_obj)
   102416    0.046    0.000    0.046    0.000 {min}
    50000    0.045    0.000    0.054    0.000 traject.py:359(create_path)
    50000    0.044    0.000    0.302    0.000 descriptors.py:69(fset)
    50000    0.044    0.000    0.408    0.000 descriptors.py:67(fget)
    50260    0.043    0.000    0.125    0.000 compat.py:29(bytes_)
    50000    0.041    0.000    0.068    0.000 acceptparse.py:278(_match)
    50000    0.040    0.000    0.095    0.000 registry.py:319(fallback)
    50000    0.040    0.000    0.077    0.000 core.py:74(request_method_predicate)
    50000    0.037    0.000    0.276    0.000 request.py:694(_body__get)
   150000    0.037    0.000    0.037    0.000 response.py:357(_status__get)
    50000    0.036    0.000    0.128    0.000 utf_8.py:15(decode)
   150307    0.035    0.000    0.035    0.000 {method 'items' of 'dict' objects}
    50000    0.035    0.000    0.125    0.000 app.py:83(set_implicit)
    50000    0.034    0.000    1.054    0.000 predicate.py:282(key)
    50000    0.033    0.000    0.033    0.000 {method 'startswith' of 'unicode' objects}
    50000    0.032    0.000    0.032    0.000 implicit.py:75(lookup)
    50000    0.031    0.000    0.031    0.000 response.py:1428(_code_has_body)
    50000    0.030    0.000    0.030    0.000 request.py:657(_host__get)
    50000    0.029    0.000    0.029    0.000 {method 'lstrip' of 'unicode' objects}
    50000    0.025    0.000    0.025    0.000 exc.py:196(lazify)
   100295    0.024    0.000    0.024    0.000 {max}
    50000    0.022    0.000    0.022    0.000 core.py:37(model_predicate)
    50035    0.022    0.000    0.022    0.000 arginfo.py:5(arginfo)
    50000    0.020    0.000    0.020    0.000 request.py:325(clear_after)
     3044    0.020    0.000    0.020    0.000 {posix.lstat}
    50262    0.020    0.000    0.020    0.000 {method 'pop' of 'list' objects}
    50000    0.019    0.000    0.019    0.000 request.py:1663(_is_utf8)
   100944    0.018    0.000    0.019    0.000 {method 'join' of 'str' objects}
    50175    0.017    0.000    0.017    0.000 {setattr}
    50000    0.013    0.000    0.013    0.000 descriptors.py:273(parse_int_safe)
  566/106    0.013    0.000    0.036    0.000 sre_parse.py:395(_parse)
    50000    0.011    0.000    0.011    0.000 core.py:55(name_predicate)
    50000    0.010    0.000    0.010    0.000 run.py:17(start_response)
     9450    0.010    0.000    0.011    0.000 sre_parse.py:193(__next)
        1    0.008    0.008    0.115    0.115 __init__.py:15(<module>)
    50000    0.008    0.000    0.008    0.000 core.py:219(standard_exception_view)
    50006    0.007    0.000    0.007    0.000 {method 'reverse' of 'list' objects}
  1073/94    0.007    0.000    0.017    0.000 sre_compile.py:64(_compile)
  397/337    0.006    0.000    0.040    0.000 posixpath.py:380(_joinrealpath)
       18    0.006    0.000    0.006    0.000 {method 'read' of 'file' objects}
       99    0.005    0.000    0.005    0.000 {imp.find_module}
       12    0.005    0.000    0.006    0.000 collections.py:293(namedtuple)
     3222    0.004    0.000    0.007    0.000 posixpath.py:61(join)
      397    0.004    0.000    0.004    0.000 {posix.stat}
     3044    0.004    0.000    0.026    0.000 posixpath.py:132(islink)
 1512/542    0.004    0.000    0.004    0.000 sre_parse.py:151(getwidth)
      560    0.003    0.000    0.006    0.000 posixpath.py:329(normpath)
     8334    0.003    0.000    0.013    0.000 sre_parse.py:212(get)
     4565    0.003    0.000    0.005    0.000 sre_parse.py:141(__getitem__)
        1    0.003    0.003    0.018    0.018 utils.py:5(<module>)
        1    0.003    0.003    0.015    0.015 request.py:1(<module>)
        2    0.003    0.001    0.007    0.003 compat.py:3(<module>)
      393    0.003    0.000    0.004    0.000 sre_compile.py:256(_optimize_charset)
        1    0.002    0.002    0.002    0.002 hashlib.py:56(<module>)
        8    0.002    0.000    0.041    0.005 __init__.py:1(<module>)
       24    0.002    0.000    0.002    0.000 {posix.listdir}
        1    0.002    0.002   25.974   25.974 howareyou:3(<module>)
        1    0.002    0.002    0.002    0.002 socket.py:45(<module>)
      108    0.002    0.000    0.015    0.000 __init__.py:2098(find_on_path)
        1    0.002    0.002    0.002    0.002 {method 'enable' of '_lsprof.Profiler' objects}
        1    0.002    0.002    0.006    0.006 urllib.py:23(<module>)
        1    0.002    0.002    0.002    0.002 exc.py:166(<module>)
   396/96    0.002    0.000    0.037    0.000 sre_parse.py:317(_parse_sub)
        1    0.002    0.002    0.002    0.002 __init__.py:24(<module>)
     7730    0.002    0.000    0.002    0.000 {method 'endswith' of 'str' objects}
        2    0.002    0.001    0.002    0.001 run.py:1(<module>)
        1    0.002    0.002    0.006    0.006 zipfile.py:3(<module>)
      254    0.001    0.000    0.006    0.000 inspect.py:440(getsourcefile)
     3021    0.001    0.000    0.002    0.000 stat.py:55(S_ISLNK)
        1    0.001    0.001    0.002    0.002 __init__.py:4(<module>)
      220    0.001    0.000    0.063    0.000 re.py:230(_compile)
        1    0.001    0.001    0.042    0.042 request.py:5(<module>)
        1    0.001    0.001    0.002    0.002 collections.py:1(<module>)
        2    0.001    0.001    0.140    0.070 app.py:1(<module>)
        1    0.001    0.001    0.004    0.004 random.py:40(<module>)
     3229    0.001    0.000    0.002    0.000 sre_parse.py:206(match)
        1    0.001    0.001    0.115    0.115 __init__.py:13(<module>)
      393    0.001    0.000    0.006    0.000 sre_compile.py:228(_compile_charset)
      5/4    0.001    0.000    0.126    0.031 {__import__}
       82    0.001    0.000    0.003    0.000 version.py:208(__init__)
      208    0.001    0.000    0.001    0.000 {built-in method __new__ of type object at 0x10d213d48}
        1    0.001    0.001    0.002    0.002 httplib.py:67(<module>)
    26/18    0.001    0.000    0.043    0.002 inspect.py:472(getmodule)
        1    0.001    0.001    0.003    0.003 shutil.py:5(<module>)
        1    0.001    0.001    0.015    0.015 config.py:1(<module>)
        1    0.001    0.001    0.004    0.004 main.py:1(<module>)
     3131    0.001    0.000    0.001    0.000 stat.py:24(S_IFMT)
     3044    0.001    0.000    0.001    0.000 {method 'partition' of 'str' objects}
        1    0.001    0.001    0.004    0.004 urllib2.py:76(<module>)
        1    0.001    0.001    0.002    0.002 plistlib.py:51(<module>)
        1    0.001    0.001    0.003    0.003 __init__.py:458(get_build_platform)
        1    0.001    0.001    0.001    0.001 io.py:34(<module>)
        1    0.001    0.001    0.001    0.001 tween.py:16(TweenRegistry)
        2    0.001    0.000    0.030    0.015 __init__.py:2(<module>)
       94    0.001    0.000    0.005    0.000 sre_compile.py:433(_compile_info)
        1    0.001    0.001    0.001    0.001 autosetup.py:6(<module>)
        1    0.001    0.001    0.004    0.004 directive.py:30(<module>)
        1    0.001    0.001    0.014    0.014 inspect.py:25(<module>)
        1    0.001    0.001    0.002    0.002 plistlib.py:400(parse)
        1    0.001    0.001    0.001    0.001 datetime_utils.py:34(_UTC)
     1675    0.001    0.000    0.001    0.000 sre_parse.py:149(append)
        1    0.001    0.001    0.020    0.020 message.py:5(<module>)
        1    0.001    0.001    0.008    0.008 uuid.py:45(<module>)
        1    0.001    0.001    0.001    0.001 heapq.py:31(<module>)
     2176    0.001    0.000    0.001    0.000 sre_parse.py:137(__len__)
      443    0.001    0.000    0.001    0.000 sre_compile.py:428(_simple)
      558    0.001    0.000    0.007    0.000 posixpath.py:358(abspath)
        1    0.001    0.001    0.010    0.010 registry.py:1(<module>)
   173/65    0.001    0.000    0.002    0.000 abc.py:148(__subclasscheck__)
       42    0.001    0.000    0.002    0.000 __init__.py:2700(insert_on)
        1    0.001    0.001    0.043    0.043 app.py:16(<module>)
       82    0.001    0.000    0.001    0.000 version.py:353(_cmpkey)
        1    0.001    0.001    0.001    0.001 expat.py:1(<module>)
     1107    0.001    0.000    0.001    0.000 sre_parse.py:92(__init__)
       36    0.001    0.000    0.001    0.000 __init__.py:2994(_get_mro)
        1    0.001    0.001    0.051    0.051 core.py:21(<module>)
       45    0.001    0.000    0.002    0.000 abc.py:86(__new__)
        1    0.001    0.001    0.001    0.001 {function seed at 0x10d758668}
     1249    0.001    0.000    0.001    0.000 {method 'find' of 'bytearray' objects}
        1    0.000    0.000    0.001    0.001 mimetools.py:1(<module>)
       94    0.000    0.000    0.061    0.001 sre_compile.py:567(compile)
       84    0.000    0.000    0.006    0.000 __init__.py:2470(from_location)
        1    0.000    0.000    0.001    0.001 zipfile.py:433(_GenerateCRCTable)
    96/94    0.000    0.000    0.038    0.000 sre_parse.py:706(parse)
        1    0.000    0.000    0.003    0.003 generic.py:13(<module>)
        1    0.000    0.000    0.001    0.001 sysconfig.py:353(_init_posix)
        1    0.000    0.000    0.002    0.002 ssl.py:88(<module>)
       99    0.000    0.000    0.015    0.000 pkgutil.py:176(find_module)
        1    0.000    0.000    0.001    0.001 argparse.py:62(<module>)
      221    0.000    0.000    0.008    0.000 inspect.py:460(getabsfile)
      955    0.000    0.000    0.001    0.000 posixpath.py:52(isabs)
        1    0.000    0.000    0.021    0.021 feedparser.py:20(<module>)
      764    0.000    0.000    0.000    0.000 {hasattr}
      337    0.000    0.000    0.045    0.000 posixpath.py:372(realpath)
        1    0.000    0.000    0.001    0.001 traject.py:28(<module>)
       54    0.000    0.000    0.000    0.000 sre_compile.py:411(_mk_bitmap)
       79    0.000    0.000    0.001    0.000 version.py:246(__str__)
        1    0.000    0.000    0.002    0.002 acceptparse.py:10(<module>)
      281    0.000    0.000    0.003    0.000 genericpath.py:23(exists)
      236    0.000    0.000    0.001    0.000 sre_parse.py:236(_class_escape)
        1    0.000    0.000    0.003    0.003 __init__.py:99(<module>)
        1    0.000    0.000    0.003    0.003 cookies.py:1(<module>)
        1    0.000    0.000    0.001    0.001 _parseaddr.py:7(<module>)
       17    0.000    0.000    0.000    0.000 {posix.getcwd}
       85    0.000    0.000    0.001    0.000 __init__.py:754(add)
       60    0.000    0.000    0.000    0.000 {posix.readlink}
        1    0.000    0.000    0.001    0.001 predicate.py:1(<module>)
        1    0.000    0.000    0.009    0.009 __init__.py:2818(_compute_dependencies)
        1    0.000    0.000    0.001    0.001 util.py:1(<module>)
      257    0.000    0.000    0.001    0.000 cookies.py:310(<genexpr>)
      958    0.000    0.000    0.001    0.000 string.py:222(lower)
       84    0.000    0.000    0.004    0.000 __init__.py:2458(__init__)
      733    0.000    0.000    0.001    0.000 inspect.py:51(ismodule)
        1    0.000    0.000    0.000    0.000 __init__.py:5(<module>)
        1    0.000    0.000    0.001    0.001 dis.py:1(<module>)
        1    0.000    0.000   25.841   25.841 run.py:21(run)
      485    0.000    0.000    0.000    0.000 urlparse.py:332(<genexpr>)
        1    0.000    0.000    0.001    0.001 scanner.py:2(<module>)
        1    0.000    0.000    0.005    0.005 dyld.py:6(<module>)
      485    0.000    0.000    0.000    0.000 urllib.py:1221(<genexpr>)
        1    0.000    0.000    0.000    0.000 {posix.popen}
        1    0.000    0.000    0.001    0.001 response.py:1(<module>)
     2280    0.000    0.000    0.000    0.000 {chr}
        1    0.000    0.000    0.000    0.000 tempfile.py:18(<module>)
      309    0.000    0.000    0.001    0.000 inspect.py:398(getfile)
        1    0.000    0.000    0.002    0.002 sysconfig.py:522(get_platform)
        1    0.000    0.000    0.022    0.022 parser.py:5(<module>)
        1    0.000    0.000    0.019    0.019 charset.py:6(<module>)
      254    0.000    0.000    0.000    0.000 {imp.get_suffixes}
      142    0.000    0.000    0.000    0.000 _weakrefset.py:36(__init__)
      345    0.000    0.000    0.000    0.000 {method 'format' of 'str' objects}
      251    0.000    0.000    0.000    0.000 sre_parse.py:268(_escape)
      254    0.000    0.000    0.000    0.000 __init__.py:2526(key)
  292/143    0.000    0.000    0.001    0.000 toposort.py:26(visit)
        2    0.000    0.000    0.000    0.000 {_ctypes.dlopen}
       20    0.000    0.000    0.000    0.000 {open}
        1    0.000    0.000    0.000    0.000 argextract.py:1(<module>)
      300    0.000    0.000    0.000    0.000 version.py:217(<genexpr>)
       34    0.000    0.000    0.000    0.000 config.py:718(log)
        1    0.000    0.000    0.001    0.001 headers.py:1(<module>)
        1    0.000    0.000    0.000    0.000 bisect.py:1(<module>)
        1    0.000    0.000    0.007    0.007 datetime_utils.py:1(<module>)
        1    0.000    0.000    0.000    0.000 benchmarks.py:1(<module>)
      257    0.000    0.000    0.000    0.000 cookies.py:362(<genexpr>)
        1    0.000    0.000    0.005    0.005 util.py:4(<module>)
       77    0.000    0.000    0.003    0.000 __init__.py:1369(safe_version)
      123    0.000    0.000    0.016    0.000 __init__.py:2165(_handle_ns)
      654    0.000    0.000    0.000    0.000 sre_compile.py:101(fixup)
       94    0.000    0.000    0.000    0.000 {_sre.compile}
        1    0.000    0.000    0.001    0.001 threading.py:1(<module>)
      122    0.000    0.000    0.062    0.001 re.py:192(compile)
      918    0.000    0.000    0.000    0.000 {_sre.getlower}
      137    0.000    0.000    0.001    0.000 _weakrefset.py:58(__iter__)
        1    0.000    0.000    0.000    0.000 authentication.py:11(<module>)
        1    0.000    0.000    0.000    0.000 {posix.urandom}
        1    0.000    0.000    0.000    0.000 calendar.py:6(<module>)
      207    0.000    0.000    0.000    0.000 sre_parse.py:74(opengroup)
       18    0.000    0.000    0.046    0.003 inspect.py:518(findsource)
      159    0.000    0.000    0.000    0.000 pkgutil.py:366(get_importer)
        1    0.000    0.000    0.000    0.000 view.py:13(<module>)
      780    0.000    0.000    0.002    0.000 __init__.py:2264(_normalize_cached)
        3    0.000    0.000    0.001    0.000 feedparser.py:216(_parsegen)
       63    0.000    0.000    0.017    0.000 {map}
        1    0.000    0.000    0.000    0.000 __init__.py:17(<module>)
       94    0.000    0.000    0.023    0.000 sre_compile.py:552(_code)
       36    0.000    0.000    0.017    0.000 __init__.py:679(add_entry)
        1    0.000    0.000    0.000    0.000 path.py:6(<module>)
      261    0.000    0.000    0.000    0.000 feedparser.py:73(readline)
        1    0.000    0.000    0.018    0.018 base64mime.py:25(<module>)
        9    0.000    0.000    0.000    0.000 {dir}
        1    0.000    0.000    0.003    0.003 descriptors.py:1(<module>)
        1    0.000    0.000    0.000    0.000 ast.py:27(<module>)
       32    0.000    0.000    0.002    0.000 config.py:301(execute)
        1    0.000    0.000    0.002    0.002 decoder.py:2(<module>)
        3    0.000    0.000    0.000    0.000 __init__.py:38(clear)
        1    0.000    0.000    0.000    0.000 ascii.py:8(<module>)
        1    0.000    0.000    0.002    0.002 urlparse.py:29(<module>)
       41    0.000    0.000    0.019    0.000 __init__.py:2619(activate)
     1420    0.000    0.000    0.000    0.000 {ord}
      150    0.000    0.000    0.000    0.000 __init__.py:2655(__getattr__)
      109    0.000    0.000    0.001    0.000 genericpath.py:46(isdir)
  303/208    0.000    0.000    0.002    0.000 {issubclass}
        1    0.000    0.000    0.005    0.005 version.py:14(<module>)
        4    0.000    0.000    0.000    0.000 {compile}
        1    0.000    0.000    0.000    0.000 mimetypes.py:24(<module>)
      356    0.000    0.000    0.000    0.000 _weakrefset.py:70(__contains__)
        1    0.000    0.000    0.000    0.000 errors.py:5(<module>)
       84    0.000    0.000    0.000    0.000 genericpath.py:93(_splitext)
        1    0.000    0.000    0.000    0.000 template.py:4(<module>)
      553    0.000    0.000    0.000    0.000 collections.py:337(<genexpr>)
        1    0.000    0.000    0.000    0.000 dispatch.py:1(<module>)
       63    0.000    0.000    0.002    0.000 __init__.py:2614(_get_metadata)
      261    0.000    0.000    0.000    0.000 feedparser.py:150(next)
       55    0.000    0.000    0.000    0.000 abc.py:89(<genexpr>)
       60    0.000    0.000    0.000    0.000 sre_parse.py:227(isname)
        1    0.000    0.000    0.001    0.001 tween.py:11(<module>)
        1    0.000    0.000    0.006    0.006 markers.py:16(<module>)
       24    0.000    0.000    0.000    0.000 {posix.access}
      455    0.000    0.000    0.000    0.000 sre_parse.py:145(__setitem__)
        1    0.000    0.000    0.015    0.015 specifiers.py:14(<module>)
        1    0.000    0.000    0.000    0.000 hmac.py:4(<module>)
       16    0.000    0.000    0.001    0.000 __init__.py:1727(_get)
       76    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 message.py:92(Message)
      231    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
      156    0.000    0.000    0.000    0.000 _weakrefset.py:83(add)
        1    0.000    0.000    0.000    0.000 etag.py:5(<module>)
       41    0.000    0.000    0.010    0.000 __init__.py:2224(fixup_namespace_packages)
        3    0.000    0.000    0.002    0.001 config.py:78(setup)
       32    0.000    0.000    0.001    0.000 config.py:133(setup_config)
        1    0.000    0.000    0.001    0.001 {built-in method ParseFile}
       18    0.000    0.000    0.046    0.003 inspect.py:988(getframeinfo)
       59    0.000    0.000    0.000    0.000 __init__.py:1676(_fn)
        1    0.000    0.000    0.001    0.001 cachecontrol.py:3(<module>)
        1    0.000    0.000    0.010    0.010 tokenize.py:23(<module>)
        1    0.000    0.000    0.000    0.000 scan.py:1(<module>)
      188    0.000    0.000    0.000    0.000 sre_compile.py:546(isstring)
       23    0.000    0.000    0.000    0.000 descriptors.py:35(environ_getter)
      126    0.000    0.000    0.000    0.000 _weakrefset.py:26(__exit__)
        5    0.000    0.000    0.000    0.000 ssl.py:114(_import_symbols)
        7    0.000    0.000    0.000    0.000 {eval}
        1    0.000    0.000    0.000    0.000 opcode.py:5(<module>)
      207    0.000    0.000    0.000    0.000 sre_parse.py:85(closegroup)
      819    0.000    0.000    0.000    0.000 {method 'add' of 'set' objects}
        1    0.000    0.000    0.000    0.000 feedparser.py:452(_parse_headers)
       23    0.000    0.000    0.000    0.000 {_struct.calcsize}
        1    0.000    0.000    0.000    0.000 base64.py:3(<module>)
        1    0.000    0.000    0.000    0.000 converter.py:13(<module>)
       32    0.000    0.000    0.000    0.000 config.py:250(prepare)
       97    0.000    0.000    0.000    0.000 sre_parse.py:189(__init__)
      291    0.000    0.000    0.000    0.000 version.py:254(<genexpr>)
        1    0.000    0.000    0.000    0.000 error.py:4(<module>)
       22    0.000    0.000    0.000    0.000 inspect.py:744(getargs)
       43    0.000    0.000    0.000    0.000 posixpath.py:120(dirname)
       60    0.000    0.000    0.000    0.000 config.py:897(factory_key)
        1    0.000    0.000    0.000    0.000 request.py:101(BaseRequest)
        1    0.000    0.000    0.000    0.000 rfc822.py:71(<module>)
       93    0.000    0.000    0.001    0.000 re.py:148(sub)
        1    0.000    0.000    0.000    0.000 query.py:1(<module>)
        3    0.000    0.000    0.000    0.000 compat.py:33(with_metaclass)
      210    0.000    0.000    0.000    0.000 {method 'remove' of 'list' objects}
       37    0.000    0.000    0.000    0.000 util.py:38(header_docstring)
      353    0.000    0.000    0.000    0.000 sre_parse.py:221(isident)
        1    0.000    0.000    0.000    0.000 error.py:15(<module>)
       18    0.000    0.000    0.047    0.003 app.py:159(method)
        5    0.000    0.000    0.000    0.000 {posix.uname}
       96    0.000    0.000    0.000    0.000 sre_parse.py:67(__init__)
       23    0.000    0.000    0.000    0.000 app.py:148(__call__)
       45    0.000    0.000    0.001    0.000 toposort.py:4(topological_sort)
        1    0.000    0.000    0.000    0.000 hello.py:1(<module>)
       23    0.000    0.000    0.000    0.000 functools.py:17(update_wrapper)
        1    0.000    0.000    0.000    0.000 implicit.py:3(<module>)
        1    0.000    0.000    0.000    0.000 __init__.py:14(<module>)
        3    0.000    0.000    0.000    0.000 __init__.py:78(CFUNCTYPE)
       15    0.000    0.000    0.000    0.000 dispatch.py:46(__init__)
        3    0.000    0.000    0.000    0.000 compat.py:1(<module>)
        1    0.000    0.000    0.000    0.000 hex_codec.py:8(<module>)
      126    0.000    0.000    0.000    0.000 _weakrefset.py:20(__enter__)
      122    0.000    0.000    0.000    0.000 {all}
    54/38    0.000    0.000    0.000    0.000 {repr}
       18    0.000    0.000    0.046    0.003 config.py:878(create_code_info)
    62/47    0.000    0.000    0.000    0.000 __init__.py:2279(yield_lines)
        2    0.000    0.000    0.000    0.000 template.py:27(__init__)
       12    0.000    0.000    0.006    0.001 __init__.py:2192(declare_namespace)
        2    0.000    0.000    0.000    0.000 {method 'readlines' of 'file' objects}
       50    0.000    0.000    0.000    0.000 config.py:491(_get_config_kw)
        1    0.000    0.000    0.000    0.000 tool.py:1(<module>)
       28    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
        2    0.000    0.000    0.000    0.000 __init__.py:349(__init__)
      328    0.000    0.000    0.000    0.000 {method 'setdefault' of 'dict' objects}
       89    0.000    0.000    0.001    0.000 __init__.py:1361(safe_name)
       22    0.000    0.000    0.000    0.000 inspect.py:804(getargspec)
       42    0.000    0.000    0.000    0.000 {method 'index' of 'list' objects}
      246    0.000    0.000    0.000    0.000 version.py:308(_parse_letter_version)
        1    0.000    0.000    0.001    0.001 encoder.py:2(<module>)
        1    0.000    0.000    0.000    0.000 _endian.py:4(<module>)
      109    0.000    0.000    0.000    0.000 stat.py:40(S_ISDIR)
     19/2    0.000    0.000    0.000    0.000 ast.py:290(generic_visit)
        1    0.000    0.000    0.000    0.000 latin_1.py:8(<module>)
      150    0.000    0.000    0.000    0.000 inspect.py:142(isfunction)
        3    0.000    0.000    0.000    0.000 gettext.py:424(find)
       84    0.000    0.000    0.000    0.000 posixpath.py:97(splitext)
       18    0.000    0.000    0.000    0.000 __init__.py:1023(getLogger)
       43    0.000    0.000    0.001    0.000 __init__.py:1610(has_metadata)
       32    0.000    0.000    0.000    0.000 config.py:160(delete_config)
       36    0.000    0.000    0.001    0.000 __init__.py:3001(_find_adapter)
    66/12    0.000    0.000    0.000    0.000 predicate.py:335(multipredicate_permutations)
       42    0.000    0.000    0.000    0.000 __init__.py:737(__iter__)
       36    0.000    0.000    0.001    0.000 __init__.py:2066(find_distributions)
        1    0.000    0.000    0.000    0.000 Queue.py:1(<module>)
        1    0.000    0.000    0.000    0.000 predicate.py:11(<module>)
        1    0.000    0.000    0.000    0.000 symbol.py:3(<module>)
        1    0.000    0.000    0.000    0.000 error.py:1(<module>)
       32    0.000    0.000    0.000    0.000 config.py:277(get_actions)
       14    0.000    0.000    0.000    0.000 __init__.py:147(_check_size)
       21    0.000    0.000    0.000    0.000 descriptors.py:159(converter)
      488    0.000    0.000    0.000    0.000 {method 'isalnum' of 'str' objects}
       64    0.000    0.000    0.000    0.000 config.py:230(__init__)
        3    0.000    0.000    0.000    0.000 __init__.py:493(PYFUNCTYPE)
        2    0.000    0.000    0.000    0.000 {_ctypes.POINTER}
        1    0.000    0.000    0.000    0.000 sysconfig.py:3(<module>)
        1    0.000    0.000    0.008    0.008 platform.py:10(<module>)
        5    0.000    0.000    0.000    0.000 __init__.py:2936(__init__)
        6    0.000    0.000    0.000    0.000 gettext.py:132(_expand_lang)
        5    0.000    0.000    0.000    0.000 argparse.py:1263(add_argument)
      257    0.000    0.000    0.000    0.000 cookies.py:313(<genexpr>)
       43    0.000    0.000    0.000    0.000 __init__.py:1715(_has)
        1    0.000    0.000    0.000    0.000 contextlib.py:1(<module>)
      123    0.000    0.000    0.000    0.000 pkgutil.py:173(__init__)
       94    0.000    0.000    0.000    0.000 inspect.py:209(iscode)
        1    0.000    0.000    0.000    0.000 _sysconfigdata.py:2(<module>)
        1    0.000    0.000    0.000    0.000 _structures.py:14(<module>)
       11    0.000    0.000    0.000    0.000 __init__.py:2871(parse_requirements)
      126    0.000    0.000    0.000    0.000 _weakrefset.py:16(__init__)
        1    0.000    0.000    0.000    0.000 multidict.py:6(<module>)
       32    0.000    0.000    0.000    0.000 config.py:200(action_extends)
        1    0.000    0.000    0.000    0.000 settings.py:4(<module>)
        1    0.000    0.000    0.000    0.000 response.py:75(Response)
       99    0.000    0.000    0.000    0.000 inspect.py:67(ismethod)
       18    0.000    0.000    0.000    0.000 config.py:664(__init__)
       66    0.000    0.000    0.000    0.000 {method 'translate' of 'str' objects}
       18    0.000    0.000    0.000    0.000 threading.py:147(acquire)
        1    0.000    0.000    0.001    0.001 byterange.py:1(<module>)
        3    0.000    0.000    0.001    0.000 __init__.py:71(search_function)
       34    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
       20    0.000    0.000    0.000    0.000 descriptors.py:129(header_getter)
        4    0.000    0.000    0.000    0.000 traject.py:56(__init__)
      126    0.000    0.000    0.000    0.000 _weakrefset.py:52(_commit_removals)
      241    0.000    0.000    0.000    0.000 posixpath.py:44(normcase)
       13    0.000    0.000    0.000    0.000 argextract.py:100(__init__)
        1    0.000    0.000    0.000    0.000 cgi.py:16(<module>)
        1    0.000    0.000    0.000    0.000 reify.py:4(<module>)
        5    0.000    0.000    0.000    0.000 argparse.py:154(__init__)
        3    0.000    0.000    0.000    0.000 {print}
       19    0.000    0.000    0.000    0.000 abc.py:128(__instancecheck__)
       77    0.000    0.000    0.000    0.000 inspect.py:59(isclass)
      130    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
       16    0.000    0.000    0.001    0.000 __init__.py:1614(get_metadata)
        1    0.000    0.000    0.000    0.000 token.py:1(<module>)
        3    0.000    0.000    0.001    0.000 config.py:176(group_actions)
       41    0.000    0.000    0.019    0.000 __init__.py:3109(<lambda>)
        1    0.000    0.000    0.000    0.000 socket.py:183(_socketobject)
        3    0.000    0.000    0.005    0.002 config.py:212(execute)
        1    0.000    0.000    0.019    0.019 __init__.py:959(subscribe)
       90    0.000    0.000    0.000    0.000 inspect.py:181(istraceback)
        1    0.000    0.000    0.000    0.000 os.py:35(_get_exports_list)
      110    0.000    0.000    0.000    0.000 {method 'extend' of 'list' objects}
        1    0.000    0.000    0.000    0.000 argparse.py:1742(_parse_known_args)
       18    0.000    0.000    0.000    0.000 config.py:687(action)
        1    0.000    0.000    0.000    0.000 arginfo.py:1(<module>)
       18    0.000    0.000    0.000    0.000 threading.py:187(release)
       34    0.000    0.000    0.001    0.000 config.py:467(_log)
       24    0.000    0.000    0.000    0.000 {zip}
       65    0.000    0.000    0.000    0.000 collections.py:361(<genexpr>)
        1    0.000    0.000    0.000    0.000 quoprimime.py:27(<module>)
       80    0.000    0.000    0.000    0.000 __init__.py:2035(__init__)
       50    0.000    0.000    0.000    0.000 config.py:940(dotted_name)
        6    0.000    0.000    0.000    0.000 __init__.py:1069(_fixupParents)
        2    0.000    0.000    0.000    0.000 predicate.py:79(get_predicates)
       65    0.000    0.000    0.000    0.000 collections.py:363(<genexpr>)
       12    0.000    0.000    0.000    0.000 plistlib.py:409(handleBeginElement)
       32    0.000    0.000    0.000    0.000 config.py:286(combine)
       22    0.000    0.000    0.000    0.000 arginfo.py:55(get_callable_info)
       76    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
        1    0.000    0.000    0.000    0.000 __init__.py:265(_reset_cache)
        1    0.000    0.000    0.000    0.000 uu.py:31(<module>)
        5    0.000    0.000    0.000    0.000 argparse.py:1400(_get_optional_kwargs)
        1    0.000    0.000    0.000    0.000 cachingreg.py:6(<module>)
        7    0.000    0.000    0.000    0.000 registry.py:151(register_function_by_predicate_key)
        1    0.000    0.000    0.000    0.000 toposort.py:2(<module>)
       90    0.000    0.000    0.000    0.000 inspect.py:191(isframe)
        2    0.000    0.000    0.000    0.000 linecache.py:72(updatecache)
      119    0.000    0.000    0.000    0.000 opcode.py:27(def_op)
        1    0.000    0.000    0.000    0.000 timeit.py:149(setup)
        7    0.000    0.000    0.000    0.000 registry.py:487(same_signature)
     17/2    0.000    0.000    0.000    0.000 markers.py:70(visit)
       19    0.000    0.000    0.002    0.000 __init__.py:2260(normalize_path)
      168    0.000    0.000    0.000    0.000 _structures.py:43(__neg__)
        3    0.000    0.000    0.000    0.000 argparse.py:1182(__init__)
       12    0.000    0.000    0.000    0.000 plistlib.py:415(handleEndElement)
        1    0.000    0.000    0.000    0.000 cProfile.py:5(<module>)
        2    0.000    0.000    0.000    0.000 {_ssl.txt2obj}
        2    0.000    0.000    0.000    0.000 __init__.py:382(__getitem__)
        3    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
        1    0.000    0.000    0.000    0.000 sentinel.py:1(<module>)
        4    0.000    0.000    0.000    0.000 message.py:354(get)
        1    0.000    0.000    0.001    0.001 random.py:100(seed)
        1    0.000    0.000    0.000    0.000 implicit.py:7(<module>)
        1    0.000    0.000    0.000    0.000 compat.py:7(<module>)
        1    0.000    0.000    0.000    0.000 functools.py:53(total_ordering)
        1    0.000    0.000    0.000    0.000 timeit.py:53(<module>)
        6    0.000    0.000    0.000    0.000 argextract.py:15(__init__)
       23    0.000    0.000    0.000    0.000 app.py:67(directive)
       15    0.000    0.000    0.000    0.000 predicate.py:275(register)
        1    0.000    0.000    0.003    0.003 framework.py:6(<module>)
        2    0.000    0.000    0.000    0.000 message.py:370(get_all)
       18    0.000    0.000    0.000    0.000 config.py:911(get_factory_arguments)
        1    0.000    0.000    0.000    0.000 pstats.py:1(<module>)
        1    0.000    0.000    0.000    0.000 ssl.py:129(<dictcomp>)
        5    0.000    0.000    0.000    0.000 specifiers.py:601(__init__)
        8    0.000    0.000    0.000    0.000 predicate.py:123(__init__)
       34    0.000    0.000    0.000    0.000 __init__.py:1358(isEnabledFor)
        5    0.000    0.000    0.000    0.000 genericpath.py:34(isfile)
        1    0.000    0.000    0.000    0.000 sre_parse.py:734(parse_template)
        7    0.000    0.000    0.000    0.000 __init__.py:1125(__init__)
       13    0.000    0.000    0.000    0.000 headers.py:108(_trans_key)
        1    0.000    0.000    0.000    0.000 {binascii.hexlify}
       10    0.000    0.000    0.000    0.000 predicate.py:220(get)
        1    0.000    0.000    0.000    0.000 dyld.py:125(dyld_find)
        6    0.000    0.000    0.000    0.000 locale.py:363(normalize)
        2    0.000    0.000    0.000    0.000 markers.py:94(compile)
        6    0.000    0.000    0.000    0.000 __init__.py:2879(scan_list)
        3    0.000    0.000    0.000    0.000 app.py:21(__new__)
       34    0.000    0.000    0.000    0.000 __init__.py:1344(getEffectiveLevel)
       41    0.000    0.000    0.000    0.000 __init__.py:967(_added_new)
     17/2    0.000    0.000    0.000    0.000 ast.py:237(visit)
        1    0.000    0.000    0.000    0.000 argparse.py:147(HelpFormatter)
        3    0.000    0.000    0.000    0.000 {method 'clear' of 'dict' objects}
        1    0.000    0.000    0.037    0.037 __init__.py:3084(_initialize_master_working_set)
       25    0.000    0.000    0.000    0.000 config.py:56(register_action_class)
       30    0.000    0.000    0.000    0.000 {sys._getframe}
        2    0.000    0.000    0.000    0.000 platform.py:1389(_sys_version)
       92    0.000    0.000    0.000    0.000 version.py:362(<lambda>)
       41    0.000    0.000    0.000    0.000 ast.py:161(iter_fields)
      126    0.000    0.000    0.000    0.000 {method '__subclasses__' of 'type' objects}
        2    0.000    0.000    0.001    0.000 _osx_support.py:83(_get_system_version)
      2/1    0.000    0.000    0.001    0.001 sysconfig.py:443(get_config_vars)
       33    0.000    0.000    0.000    0.000 plistlib.py:420(handleData)
       34    0.000    0.000    0.000    0.000 argparse.py:1234(register)
       24    0.000    0.000    0.000    0.000 toposort.py:40(_convert_before_after)
       82    0.000    0.000    0.000    0.000 version.py:342(_parse_local_version)
       51    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
      126    0.000    0.000    0.000    0.000 {method 'remove' of 'set' objects}
        3    0.000    0.000    0.000    0.000 posixpath.py:251(expanduser)
        1    0.000    0.000    0.000    0.000 _compat.py:30(with_metaclass)
        3    0.000    0.000    0.000    0.000 toposort.py:6(toposorted)
       18    0.000    0.000    0.000    0.000 __init__.py:211(_acquireLock)
       20    0.000    0.000    0.000    0.000 predicate.py:10(__init__)
        4    0.000    0.000    0.000    0.000 uuid.py:101(__init__)
        1    0.000    0.000    0.002    0.002 platform.py:776(_mac_ver_xml)
       18    0.000    0.000    0.000    0.000 __init__.py:1565(getLogger)
       24    0.000    0.000    0.000    0.000 predicate.py:172(add)
        2    0.000    0.000    0.001    0.001 __init__.py:2788(_parsed_pkg_info)
        1    0.000    0.000    0.000    0.000 calendar.py:47(_localized_month)
        2    0.000    0.000    0.000    0.000 warnings.py:49(filterwarnings)
        8    0.000    0.000    0.000    0.000 abc.py:105(register)
        5    0.000    0.000    0.000    0.000 argparse.py:765(__init__)
        6    0.000    0.000    0.000    0.000 registry.py:36(register_predicates)
        3    0.000    0.000    0.000    0.000 __init__.py:2967(__contains__)
       10    0.000    0.000    0.000    0.000 plistlib.py:433(getData)
        1    0.000    0.000    0.002    0.002 plistlib.py:68(readPlist)
        6    0.000    0.000    0.000    0.000 argextract.py:39(_initialize_defaults)
       14    0.000    0.000    0.000    0.000 dispatch.py:17(__init__)
        1    0.000    0.000    0.001    0.001 argparse.py:1556(__init__)
        1    0.000    0.000    0.000    0.000 cachecontrol.py:139(CacheControl)
        5    0.000    0.000    0.000    0.000 argparse.py:2326(_get_formatter)
        8    0.000    0.000    0.000    0.000 predicate.py:35(register_predicate)
       18    0.000    0.000    0.000    0.000 <string>:8(__new__)
        1    0.000    0.000    0.000    0.000 path.py:55(register_path)
        1    0.000    0.000    0.006    0.006 platform.py:1000(_syscmd_uname)
        1    0.000    0.000    0.000    0.000 re.py:208(escape)
        3    0.000    0.000    0.000    0.000 __init__.py:21(__init__)
       34    0.000    0.000    0.000    0.000 __init__.py:1143(debug)
       14    0.000    0.000    0.000    0.000 dispatch.py:26(__call__)
       96    0.000    0.000    0.000    0.000 config.py:823(<lambda>)
        5    0.000    0.000    0.000    0.000 argparse.py:1320(_add_action)
      148    0.000    0.000    0.000    0.000 {method '__subclasshook__' of 'object' objects}
        1    0.000    0.000    0.000    0.000 uuid.py:53(UUID)
        1    0.000    0.000    0.000    0.000 publish.py:16(<module>)
        6    0.000    0.000    0.000    0.000 registry.py:54(register_callable_predicates)
        1    0.000    0.000    0.010    0.010 __init__.py:624(__init__)
        5    0.000    0.000    0.000    0.000 argparse.py:573(_format_args)
        1    0.000    0.000    0.001    0.001 parser.py:56(parse)
       10    0.000    0.000    0.000    0.000 directive.py:335(perform)
        1    0.000    0.000    0.009    0.009 __init__.py:784(resolve)
    23/21    0.000    0.000    0.000    0.000 config.py:826(expand_actions)
       20    0.000    0.000    0.000    0.000 {method 'acquire' of 'thread.lock' objects}
        1    0.000    0.000   25.717   25.717 timeit.py:184(timeit)
       30    0.000    0.000    0.000    0.000 message.py:296(__setitem__)
        6    0.000    0.000    0.000    0.000 argextract.py:22(_initialize_names)
        1    0.000    0.000    0.000    0.000 collections.py:26(OrderedDict)
        1    0.000    0.000    0.000    0.000 argparse.py:1025(_SubParsersAction)
       31    0.000    0.000    0.000    0.000 predicate.py:198(permutations)
        1    0.000    0.000    0.013    0.013 specifiers.py:285(Specifier)
        1    0.000    0.000    0.000    0.000 directive.py:136(PredicateFallbackAction)
       16    0.000    0.000    0.000    0.000 UserDict.py:58(get)
       18    0.000    0.000    0.000    0.000 linecache.py:33(getlines)
        3    0.000    0.000    0.000    0.000 codecs.py:83(__new__)
       18    0.000    0.000    0.000    0.000 config.py:869(__init__)
        1    0.000    0.000    0.000    0.000 __future__.py:48(<module>)
        3    0.000    0.000    0.000    0.000 argparse.py:1789(take_action)
       15    0.000    0.000    0.001    0.000 __init__.py:1624(get_metadata_lines)
        1    0.000    0.000    0.000    0.000 app.py:29(App)
        5    0.000    0.000    0.000    0.000 predicate.py:113(match_class)
        7    0.000    0.000    0.000    0.000 argextract.py:130(__init__)
        6    0.000    0.000    0.000    0.000 __init__.py:49(normalize_encoding)
        1    0.000    0.000    0.000    0.000 {posix.chdir}
        3    0.000    0.000    0.000    0.000 argparse.py:2200(_get_values)
       33    0.000    0.000    0.000    0.000 pyexpat.c:441(CharacterData)
        1    0.000    0.000    0.000    0.000 argparse.py:1538(ArgumentParser)
       65    0.000    0.000    0.000    0.000 {method '__contains__' of 'frozenset' objects}
        6    0.000    0.000    0.000    0.000 argextract.py:54(_initialize_index)
        4    0.000    0.000    0.000    0.000 __init__.py:228(_declare_state)
        2    0.000    0.000    0.000    0.000 threading.py:260(__init__)
        2    0.000    0.000    0.000    0.000 weakref.py:47(__init__)
        9    0.000    0.000    0.000    0.000 config.py:816(sort_action_classes)
       19    0.000    0.000    0.000    0.000 tokenize.py:45(group)
        3    0.000    0.000    0.000    0.000 __init__.py:69(put)
        7    0.000    0.000    0.000    0.000 registry.py:171(register_function)
        1    0.000    0.000    0.000    0.000 threading.py:640(Thread)
        3    0.000    0.000    0.000    0.000 __init__.py:2567(version)
        7    0.000    0.000    0.000    0.000 predicate.py:99(match_argname)
       18    0.000    0.000    0.000    0.000 __init__.py:220(_releaseLock)
       11    0.000    0.000    0.000    0.000 {method 'update' of 'set' objects}
        3    0.000    0.000    0.000    0.000 view.py:128(register_view)
       38    0.000    0.000    0.000    0.000 {thread.get_ident}
        1    0.000    0.000    0.000    0.000 quopri.py:3(<module>)
        6    0.000    0.000    0.000    0.000 markers.py:56(default_environment)
        1    0.000    0.000    0.000    0.000 __init__.py:3074(_initialize)
       12    0.000    0.000    0.000    0.000 predicate.py:32(create_index)
       53    0.000    0.000    0.000    0.000 {imp.release_lock}
       18    0.000    0.000    0.000    0.000 config.py:66(register_directive)
       16    0.000    0.000    0.000    0.000 dispatch.py:51(__repr__)
        3    0.000    0.000    0.000    0.000 specifiers.py:92(__init__)
        1    0.000    0.000    0.000    0.000 threading.py:656(__init__)
       18    0.000    0.000    0.000    0.000 config.py:707(__call__)
        1    0.000    0.000    0.000    0.000 __init__.py:2454(Distribution)
       53    0.000    0.000    0.000    0.000 {imp.acquire_lock}
        7    0.000    0.000    0.000    0.000 registry.py:132(register_value)
       12    0.000    0.000    0.000    0.000 predicate.py:168(__init__)
        8    0.000    0.000    0.000    0.000 {method 'upper' of 'str' objects}
        1    0.000    0.000    0.000    0.000 specifiers.py:31(BaseSpecifier)
        1    0.000    0.000    0.000    0.000 implicit.py:45(initialize)
        1    0.000    0.000    0.000    0.000 feedparser.py:161(__init__)
        6    0.000    0.000    0.000    0.000 registry.py:71(register_dispatch_predicates)
        1    0.000    0.000    0.010    0.010 __init__.py:637(_build_master)
        1    0.000    0.000    0.000    0.000 zipfile.py:709(ZipFile)
        1    0.000    0.000    0.000    0.000 __init__.py:2580(_dep_map)
        2    0.000    0.000    0.000    0.000 directive.py:1029(__init__)
        1    0.000    0.000    0.000    0.000 traceback.py:1(<module>)
        2    0.000    0.000    0.000    0.000 __init__.py:2806(_preparse_requirement)
        1    0.000    0.000    0.000    0.000 encoders.py:5(<module>)
       37    0.000    0.000    0.000    0.000 {method 'isupper' of 'str' objects}
        3    0.000    0.000    0.000    0.000 predicate.py:297(all)
        1    0.000    0.000    0.000    0.000 random.py:72(Random)
        2    0.000    0.000    0.000    0.000 argparse.py:1486(__init__)
        2    0.000    0.000    0.000    0.000 markers.py:83(parse_marker)
        2    0.000    0.000    0.006    0.003 platform.py:1166(uname)
       12    0.000    0.000    0.000    0.000 predicate.py:58(class_predicate)
        1    0.000    0.000   25.842   25.842 main.py:19(main)
        1    0.000    0.000    0.000    0.000 platform.py:365(_popen)
       11    0.000    0.000    0.000    0.000 {method 'setter' of 'property' objects}
        2    0.000    0.000    0.000    0.000 descriptors.py:85(upath_property)
        2    0.000    0.000    0.010    0.005 __init__.py:2600(requires)
        6    0.000    0.000    0.000    0.000 markers.py:106(marker_fn)
       18    0.000    0.000    0.000    0.000 config.py:242(add)
        1    0.000    0.000    0.000    0.000 {pyexpat.ParserCreate}
        1    0.000    0.000    0.000    0.000 pstats.py:32(Stats)
       34    0.000    0.000    0.000    0.000 config.py:283(<lambda>)
        1    0.000    0.000    0.000    0.000 specifiers.py:173(contains)
        1    0.000    0.000    0.000    0.000 variable.py:1(<module>)
        1    0.000    0.000    0.009    0.009 __init__.py:2798(_dep_map)
       33    0.000    0.000    0.000    0.000 {method 'values' of 'dict' objects}
       22    0.000    0.000    0.000    0.000 UserDict.py:70(__contains__)
       12    0.000    0.000    0.000    0.000 pyexpat.c:566(StartElement)
        2    0.000    0.000    0.000    0.000 {math.log}
        2    0.000    0.000    0.000    0.000 directive.py:84(after)
        2    0.000    0.000    0.000    0.000 feedparser.py:96(push)
       12    0.000    0.000    0.000    0.000 toposort.py:34(__init__)
        4    0.000    0.000    0.000    0.000 acceptparse.py:343(accept_property)
        6    0.000    0.000    0.000    0.000 descriptors.py:194(converter_date)
        1    0.000    0.000    0.000    0.000 mimetypes.py:378(_default_mime_types)
        1    0.000    0.000    0.000    0.000 config.py:327(Action)
        1    0.000    0.000    0.004    0.004 version.py:201(Version)
        7    0.000    0.000    0.000    0.000 specifiers.py:276(_require_version_compare)
        3    0.000    0.000    0.000    0.000 predicate.py:216(add)
        1    0.000    0.000    0.005    0.005 __init__.py:261(get_supported_platform)
        3    0.000    0.000    0.000    0.000 gettext.py:530(dgettext)
        6    0.000    0.000    0.000    0.000 hashlib.py:100(__get_openssl_constructor)
        4    0.000    0.000    0.000    0.000 message.py:432(get_content_type)
        1    0.000    0.000    0.000    0.000 <string>:1(_Version)
        1    0.000    0.000    0.000    0.000 iterators.py:5(<module>)
        1    0.000    0.000    0.000    0.000 __init__.py:1398(MarkerEvaluation)
        1    0.000    0.000    0.002    0.002 __init__.py:440(_macosx_vers)
        4    0.000    0.000    0.000    0.000 headers.py:118(_trans_name)
        1    0.000    0.000    0.000    0.000 request.py:18(Request)
        1    0.000    0.000    0.000    0.000 __init__.py:1587(NullProvider)
        1    0.000    0.000    0.000    0.000 decoder.py:17(_floatconstants)
        3    0.000    0.000    0.000    0.000 locale.py:347(_replace_encoding)
        3    0.000    0.000    0.000    0.000 specifiers.py:710(contains)
        9    0.000    0.000    0.000    0.000 registry.py:103(register_dispatch)
       24    0.000    0.000    0.000    0.000 __init__.py:2997(cls)
        1    0.000    0.000    0.000    0.000 <string>:1(Attribute)
        8    0.000    0.000    0.000    0.000 string.py:131(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:296(CacheMaker)
        1    0.000    0.000    0.000    0.000 <string>:1(ParseResult)
        6    0.000    0.000    0.000    0.000 __init__.py:3025(split_sections)
        4    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
        1    0.000    0.000    0.000    0.000 markers.py:60(ASTWhitelist)
        8    0.000    0.000    0.000    0.000 predicate.py:52(register_predicate_fallback)
        1    0.000    0.000    0.000    0.000 cgi.py:352(FieldStorage)
        1    0.000    0.000    0.005    0.005 config.py:782(commit)
        1    0.000    0.000    0.000    0.000 httplib.py:725(HTTPConnection)
        2    0.000    0.000    0.000    0.000 predicate.py:64(install_predicates)
        2    0.000    0.000    0.000    0.000 predicate.py:140(argnames)
        1    0.000    0.000    0.000    0.000 argparse.py:1707(parse_known_args)
        5    0.000    0.000    0.000    0.000 argparse.py:557(_metavar_formatter)
        1    0.000    0.000    0.000    0.000 keyword.py:11(<module>)
        1    0.000    0.000    0.001    0.001 _osx_support.py:128(_supports_universal_builds)
        1    0.000    0.000    0.000    0.000 calendar.py:126(Calendar)
        1    0.000    0.000    0.000    0.000 registry.py:291(__init__)
        1    0.000    0.000    0.000    0.000 ascii.py:41(getregentry)
        8    0.000    0.000    0.000    0.000 directive.py:228(perform)
        1    0.000    0.000    0.000    0.000 calendar.py:66(_localized_day)
        3    0.000    0.000    0.000    0.000 traject.py:272(__init__)
        2    0.000    0.000    0.000    0.000 __init__.py:2984(parse)
        1    0.000    0.000    0.000    0.000 _osx_support.py:429(get_platform_osx)
       11    0.000    0.000    0.000    0.000 UserDict.py:18(__getitem__)
        3    0.000    0.000    0.001    0.000 feedparser.py:180(_call_parse)
       12    0.000    0.000    0.000    0.000 pyexpat.c:618(EndElement)
        1    0.000    0.000    0.000    0.000 notfound.py:1(<module>)
        1    0.000    0.000    0.000    0.000 __init__.py:2684(get_entry_map)
        4    0.000    0.000    0.000    0.000 directive.py:190(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:546(get_distribution)
        2    0.000    0.000    0.001    0.000 re.py:143(search)
        3    0.000    0.000    0.000    0.000 feedparser.py:140(pushlines)
        1    0.000    0.000    0.000    0.000 <string>:1(manifest_mod)
        1    0.000    0.000    0.000    0.000 mapply.py:1(<module>)
        7    0.000    0.000    0.000    0.000 cookies.py:212(cookie_property)
       35    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
        5    0.000    0.000    0.000    0.000 argparse.py:1508(_add_action)
        1    0.000    0.000    0.000    0.000 ssl.py:492(SSLSocket)
        1    0.000    0.000    0.000    0.000 <string>:1(DefaultVerifyPaths)
        1    0.000    0.000    0.000    0.000 exc.py:229(WSGIHTTPException)
        8    0.000    0.000    0.000    0.000 functools.py:39(wraps)
        1    0.000    0.000    0.000    0.000 threading.py:576(set)
        1    0.000    0.000    0.000    0.000 <string>:1(Traceback)
        3    0.000    0.000    0.000    0.000 directive.py:742(perform)
        2    0.000    0.000    0.000    0.000 ssl.py:304(__new__)
        1    0.000    0.000    0.000    0.000 __init__.py:2383(parse)
       11    0.000    0.000    0.000    0.000 inspect.py:340(getmro)
        1    0.000    0.000    0.000    0.000 path.py:149(register_inverse_path)
        2    0.000    0.000    0.000    0.000 weakref.py:98(__setitem__)
        1    0.000    0.000    0.000    0.000 __init__.py:698(find)
        3    0.000    0.000    0.000    0.000 argparse.py:1810(consume_optional)
        1    0.000    0.000    0.000    0.000 <string>:1(SplitResult)
        1    0.000    0.000    0.000    0.000 traject.py:304(add_pattern)
        1    0.000    0.000    0.000    0.000 _osx_support.py:1(<module>)
        6    0.000    0.000    0.000    0.000 predicate.py:270(__init__)
        1    0.000    0.000    0.000    0.000 multidict.py:21(MultiDict)
       10    0.000    0.000    0.000    0.000 predicate.py:35(argnames)
       35    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
        4    0.000    0.000    0.000    0.000 tween.py:22(register_tween_factory)
        1    0.000    0.000    0.005    0.005 __init__.py:985(Environment)
        1    0.000    0.000    0.000    0.000 <string>:1(ArgInfo)
        1    0.000    0.000    0.000    0.000 directive.py:339(PathAction)
        1    0.000    0.000    0.000    0.000 cookies.py:34(RequestCookies)
       15    0.000    0.000    0.000    0.000 predicate.py:175(get)
        4    0.000    0.000    0.000    0.000 traject.py:449(create_variables_re)
       13    0.000    0.000    0.000    0.000 argparse.py:1238(_registry_get)
        1    0.000    0.000    0.000    0.000 __init__.py:621(WorkingSet)
        1    0.000    0.000    0.000    0.000 <string>:1(ArgSpec)
        7    0.000    0.000    0.000    0.000 converter.py:41(__init__)
        4    0.000    0.000    0.000    0.000 traject.py:432(parse_variables)
        1    0.000    0.000    0.000    0.000 directive.py:648(ViewAction)
        1    0.000    0.000    0.000    0.000 <string>:1(_ASN1Object)
        3    0.000    0.000    0.000    0.000 gettext.py:464(translation)
        1    0.000    0.000    0.000    0.000 tempfile.py:507(SpooledTemporaryFile)
        1    0.000    0.000   25.717   25.717 timeit.py:233(timeit)
       10    0.000    0.000    0.000    0.000 __init__.py:974(append)
        1    0.000    0.000    0.000    0.000 cProfile.py:66(Profile)
       19    0.000    0.000    0.000    0.000 __init__.py:75(__init__)
        1    0.000    0.000    0.001    0.001 parser.py:74(parsestr)
        2    0.000    0.000    0.000    0.000 directive.py:674(__init__)
        1    0.000    0.000    0.000    0.000 {_struct.unpack}
        2    0.000    0.000    0.000    0.000 converter.py:151(__init__)
        4    0.000    0.000    0.000    0.000 dyld.py:103(dyld_default_search)
        1    0.000    0.000    0.010    0.010 __init__.py:2367(require)
        4    0.000    0.000    0.000    0.000 __init__.py:2831(reqs_for_extra)
        1    0.000    0.000    0.005    0.005 app.py:207(mounted_app_classes)
       10    0.000    0.000    0.000    0.000 converter.py:154(register_converter)
        1    0.000    0.000    0.000    0.000 specifiers.py:425(_compare_equal)
        1    0.000    0.000    0.001    0.001 dylib.py:6(<module>)
        1    0.000    0.000    0.000    0.000 util.py:76(find_library)
        1    0.000    0.000    0.000    0.000 <string>:1(ModuleInfo)
       23    0.000    0.000    0.000    0.000 app.py:144(__init__)
       37    0.000    0.000    0.000    0.000 threading.py:64(_note)
       75    0.000    0.000    0.000    0.000 {globals}
        2    0.000    0.000    0.000    0.000 re.py:264(_compile_repl)
        8    0.000    0.000    0.000    0.000 cachecontrol.py:102(__init__)
        3    0.000    0.000    0.000    0.000 argparse.py:2020(_match_argument)
        7    0.000    0.000    0.000    0.000 __init__.py:183(_checkLevel)
       13    0.000    0.000    0.000    0.000 argparse.py:95(_callable)
        1    0.000    0.000    0.000    0.000 <string>:1(Arguments)
        1    0.000    0.000    0.000    0.000 __init__.py:1818(ZipProvider)
        1    0.000    0.000    0.000    0.000 _compat.py:14(<module>)
        3    0.000    0.000    0.000    0.000 compat.py:39(__new__)
        1    0.000    0.000    0.000    0.000 feedparser.py:186(close)
        1    0.000    0.000    0.000    0.000 threading.py:125(_RLock)
       12    0.000    0.000    0.000    0.000 {method 'title' of 'str' objects}
        1    0.000    0.000    0.000    0.000 __init__.py:1110(Logger)
        1    0.000    0.000    0.000    0.000 __init__.py:2425(parse_map)
        1    0.000    0.000    0.000    0.000 __about__.py:14(<module>)
        7    0.000    0.000    0.000    0.000 __init__.py:585(__init__)
        2    0.000    0.000    0.001    0.000 feedparser.py:175(feed)
        1    0.000    0.000    0.000    0.000 registry.py:273(CachingKeyLookup)
        1    0.000    0.000    0.001    0.001 tween.py:43(wrap)
        1    0.000    0.000    0.000    0.000 directive.py:454(PermissionRuleAction)
        2    0.000    0.000    0.000    0.000 platform.py:1487(python_implementation)
        2    0.000    0.000    0.000    0.000 predicate.py:212(__init__)
        1    0.000    0.000    0.000    0.000 rfc822.py:85(Message)
        1    0.000    0.000    0.000    0.000 mimetypes.py:56(MimeTypes)
        2    0.000    0.000    0.000    0.000 __init__.py:375(__getattr__)
        1    0.000    0.000    0.000    0.000 cookies.py:240(Morsel)
        1    0.000    0.000    0.000    0.000 multidict.py:425(NoVars)
        1    0.000    0.000    0.000    0.000 sysconfig.py:170(_getuserbase)
     13/8    0.000    0.000    0.000    0.000 {hash}
       11    0.000    0.000    0.000    0.000 opcode.py:31(name_op)
        1    0.000    0.000    0.000    0.000 zipfile.py:262(ZipInfo)
        9    0.000    0.000    0.000    0.000 {thread.allocate_lock}
       10    0.000    0.000    0.000    0.000 dispatch.py:21(_make_predicate)
       38    0.000    0.000    0.000    0.000 {_ctypes.sizeof}
        1    0.000    0.000    0.004    0.004 __init__.py:2357(resolve)
        1    0.000    0.000    0.000    0.000 __init__.py:654(Handler)
        3    0.000    0.000    0.000    0.000 re.py:138(match)
        8    0.000    0.000    0.000    0.000 directive.py:165(perform)
        1    0.000    0.000    0.000    0.000 urlparse.py:73(ResultMixin)
        1    0.000    0.000    0.000    0.000 toposort.py:1(<module>)
        1    0.000    0.000    0.000    0.000 __init__.py:2322(__init__)
        1    0.000    0.000    0.000    0.000 plistlib.py:393(PlistParser)
        2    0.000    0.000    0.000    0.000 path.py:48(__init__)
        1    0.000    0.000    0.000    0.000 path.py:253(__init__)
        1    0.000    0.000    0.001    0.001 __init__.py:2319(EntryPoint)
        1    0.000    0.000    0.000    0.000 registry.py:10(Registry)
        2    0.000    0.000    0.000    0.000 registry.py:27(clear)
        3    0.000    0.000    0.000    0.000 warnings.py:322(__init__)
        1    0.000    0.000    0.000    0.000 specifiers.py:88(_IndividualSpecifier)
        1    0.000    0.000    0.000    0.000 fnmatch.py:11(<module>)
        2    0.000    0.000    0.000    0.000 predicate.py:129(__init__)
        3    0.000    0.000    0.000    0.000 argparse.py:2156(_get_nargs_pattern)
        1    0.000    0.000    0.000    0.000 threading.py:1090(__init__)
        5    0.000    0.000    0.000    0.000 argparse.py:1435(_pop_action_class)
        5    0.000    0.000    0.000    0.000 directive.py:734(key_dict)
        1    0.000    0.000    0.000    0.000 message.py:107(__init__)
        4    0.000    0.000    0.000    0.000 __init__.py:1998(__init__)
        9    0.000    0.000    0.000    0.000 abc.py:15(abstractmethod)
        2    0.000    0.000    0.000    0.000 weakref.py:267(__init__)
        3    0.000    0.000    0.000    0.000 warnings.py:343(__enter__)
        1    0.000    0.000    0.000    0.000 sysconfig.py:123(is_python_build)
        5    0.000    0.000    0.000    0.000 plistlib.py:451(end_key)
        3    0.000    0.000    0.000    0.000 config.py:37(__init__)
        1    0.000    0.000    0.000    0.000 directive.py:244(FunctionAction)
        1    0.000    0.000    0.000    0.000 plistlib.py:444(begin_dict)
        1    0.000    0.000    0.000    0.000 argparse.py:865(__init__)
        1    0.000    0.000    0.000    0.000 atexit.py:6(<module>)
       19    0.000    0.000    0.000    0.000 {method 'release' of 'thread.lock' objects}
        1    0.000    0.000    0.000    0.000 {math.exp}
        1    0.000    0.000    0.000    0.000 directive.py:388(__init__)
        1    0.000    0.000    0.000    0.000 predicate.py:18(PredicateRegistry)
        1    0.000    0.000    0.000    0.000 traject.py:193(add)
        1    0.000    0.000    0.000    0.000 cachingreg.py:27(caching_lookup)
        1    0.000    0.000    0.000    0.000 converter.py:219(explicit_converters)
        1    0.000    0.000    0.000    0.000 directive.py:575(TemplateLoaderAction)
       28    0.000    0.000    0.000    0.000 config.py:572(after)
        1    0.000    0.000    0.000    0.000 converter.py:26(Converter)
        2    0.000    0.000    0.000    0.000 argparse.py:1310(add_argument_group)
        1    0.000    0.000    0.000    0.000 timeit.py:121(__init__)
        1    0.000    0.000    0.000    0.000 hex_codec.py:70(getregentry)
        6    0.000    0.000    0.000    0.000 plistlib.py:423(addObject)
        1    0.000    0.000    0.000    0.000 path.py:328(get_arguments)
        3    0.000    0.000    0.000    0.000 argparse.py:2252(_get_value)
        1    0.000    0.000    0.000    0.000 plistlib.py:230(PlistWriter)
        1    0.000    0.000    0.000    0.000 specifiers.py:599(SpecifierSet)
        1    0.000    0.000    0.000    0.000 decoder.py:304(__init__)
        1    0.000    0.000    0.000    0.000 tempfile.py:372(_TemporaryFileWrapper)
        3    0.000    0.000    0.000    0.000 argparse.py:1439(_get_handler)
        1    0.000    0.000    0.000    0.000 latin_1.py:41(getregentry)
        1    0.000    0.000    0.000    0.000 etag.py:130(IfRange)
        1    0.000    0.000    0.014    0.014 __init__.py:2342(load)
        1    0.000    0.000    0.000    0.000 directive.py:604(TemplateRenderAction)
        4    0.000    0.000    0.000    0.000 traject.py:70(validate)
        1    0.000    0.000    0.000    0.000 httplib.py:1375(LineAndFileWrapper)
        1    0.000    0.000    0.000    0.000 predicate.py:269(PredicateRegistry)
        1    0.000    0.000    0.000    0.000 predicate.py:7(Predicate)
        3    0.000    0.000    0.000    0.000 gettext.py:568(gettext)
        2    0.000    0.000    0.000    0.000 __init__.py:1381(safe_extra)
        1    0.000    0.000    0.000    0.000 __init__.py:1141(ResourceManager)
        1    0.000    0.000    0.000    0.000 urllib2.py:944(AbstractDigestAuthHandler)
        1    0.000    0.000    0.014    0.014 __init__.py:2677(load_entry_point)
       32    0.000    0.000    0.000    0.000 config.py:560(before)
        2    0.000    0.000    0.000    0.000 re.py:284(_subx)
        4    0.000    0.000    0.000    0.000 predicate.py:288(argnames)
        1    0.000    0.000    0.000    0.000 threading.py:114(RLock)
        5    0.000    0.000    0.000    0.000 plistlib.py:469(end_string)
        1    0.000    0.000    0.000    0.000 directive.py:363(identifier)
        1    0.000    0.000    0.000    0.000 charset.py:156(Charset)
       14    0.000    0.000    0.000    0.000 {method 'discard' of 'set' objects}
        1    0.000    0.000    0.000    0.000 __init__.py:2412(parse_group)
        3    0.000    0.000    0.000    0.000 warnings.py:359(__exit__)
        1    0.000    0.000    0.014    0.014 __init__.py:556(load_entry_point)
        6    0.000    0.000    0.000    0.000 opcode.py:39(jabs_op)
        1    0.000    0.000    0.000    0.000 parser.py:17(Parser)
        1    0.000    0.000    0.000    0.000 urllib.py:120(URLopener)
        1    0.000    0.000    0.002    0.002 cProfile.py:137(runctx)
        3    0.000    0.000    0.000    0.000 _osx_support.py:138(<genexpr>)
        1    0.000    0.000    0.000    0.000 feedparser.py:198(_new_message)
        1    0.000    0.000    0.000    0.000 acceptparse.py:170(NilAccept)
        4    0.000    0.000    0.000    0.000 {next}
        2    0.000    0.000    0.000    0.000 etag.py:20(etag_property)
        1    0.000    0.000    0.000    0.000 multidict.py:281(GetDict)
        3    0.000    0.000    0.000    0.000 version.py:34(parse)
        1    0.000    0.000    0.000    0.000 string.py:250(strip)
        4    0.000    0.000    0.000    0.000 weakref.py:69(__getitem__)
        1    0.000    0.000    0.001    0.001 specifiers.py:224(LegacySpecifier)
       32    0.000    0.000    0.000    0.000 predicate.py:178(permutations)
        5    0.000    0.000    0.000    0.000 threading.py:59(__init__)
        1    0.000    0.000    0.000    0.000 predicate.py:153(Index)
        1    0.000    0.000    0.001    0.001 __init__.py:1778(MemoizedZipManifests)
        1    0.000    0.000    0.000    0.000 urllib2.py:338(OpenerDirector)
        1    0.000    0.000    0.000    0.000 argparse.py:1700(parse_args)
        1    0.000    0.000    0.000    0.000 contextlib.py:54(contextmanager)
        1    0.000    0.000    0.000    0.000 headers.py:124(EnvironHeaders)
        3    0.000    0.000    0.000    0.000 descriptors.py:176(list_header)
        1    0.000    0.000    0.000    0.000 feedparser.py:43(BufferedSubFile)
        3    0.000    0.000    0.000    0.000 traject.py:187(__init__)
        1    0.000    0.000    0.000    0.000 directive.py:1156(DumpJsonAction)
        1    0.000    0.000    0.000    0.000 collections.py:395(Counter)
        1    0.000    0.000    0.000    0.000 path.py:242(Path)
        2    0.000    0.000    0.000    0.000 {locals}
        1    0.000    0.000    0.000    0.000 zipfile.py:501(ZipExtFile)
        1    0.000    0.000    0.000    0.000 directive.py:855(MountAction)
        1    0.000    0.000    0.000    0.000 config.py:585(Composite)
        2    0.000    0.000    0.000    0.000 framework.py:22(framework_info)
        2    0.000    0.000    0.000    0.000 descriptors.py:60(environ_decoder)
        5    0.000    0.000    0.000    0.000 specifiers.py:634(__hash__)
        6    0.000    0.000    0.000    0.000 reify.py:37(__init__)
        7    0.000    0.000    0.000    0.000 __future__.py:75(__init__)
        1    0.000    0.000    0.000    0.000 mimetools.py:20(Message)
        1    0.000    0.000    0.000    0.000 _parseaddr.py:452(AddressList)
        1    0.000    0.000    0.000    0.000 request.py:1369(LegacyRequest)
        2    0.000    0.000    0.000    0.000 traject.py:287(variables)
        1    0.000    0.000    0.000    0.000 __init__.py:111(_SetuptoolsVersionMixin)
        1    0.000    0.000    0.000    0.000 {method 'toordinal' of 'datetime.date' objects}
        4    0.000    0.000    0.000    0.000 directive.py:149(__init__)
       10    0.000    0.000    0.000    0.000 toposort.py:25(<lambda>)
        1    0.000    0.000    0.000    0.000 {method 'union' of 'set' objects}
        3    0.000    0.000    0.000    0.000 __init__.py:494(CFunctionType)
        1    0.000    0.000    0.000    0.000 registry.py:362(Lookup)
        1    0.000    0.000    0.000    0.000 feedparser.py:67(close)
        1    0.000    0.000    0.000    0.000 version.py:276(public)
        4    0.000    0.000    0.000    0.000 directive.py:225(identifier)
        2    0.000    0.000    0.000    0.000 traject.py:301(__init__)
        1    0.000    0.000    0.000    0.000 {binascii.a2b_hex}
        1    0.000    0.000    0.000    0.000 dyld.py:79(dyld_override_search)
        1    0.000    0.000    0.000    0.000 multidict.py:332(NestedMultiDict)
        2    0.000    0.000    0.000    0.000 core.py:155(datetime_converter)
        3    0.000    0.000    0.000    0.000 {time.time}
        1    0.000    0.000    0.000    0.000 urllib2.py:780(HTTPPasswordMgr)
        1    0.000    0.000    0.000    0.000 exc.py:1049(HTTPNotImplemented)
        2    0.000    0.000    0.000    0.000 core.py:141(date_converter)
        1    0.000    0.000    0.000    0.000 __init__.py:336(VersionConflict)
        2    0.000    0.000    0.000    0.000 argparse.py:807(__init__)
        2    0.000    0.000    0.000    0.000 predicate.py:291(component)
        1    0.000    0.000    0.000    0.000 directive.py:369(perform)
        1    0.000    0.000    0.000    0.000 registry.py:240(fallback)
        6    0.000    0.000    0.000    0.000 opcode.py:35(jrel_op)
        2    0.000    0.000    0.000    0.000 registry.py:226(component)
        1    0.000    0.000    0.000    0.000 directive.py:170(PredicateAction)
        5    0.000    0.000    0.000    0.000 argparse.py:1448(_check_conflict)
        1    0.000    0.000    0.000    0.000 copy_reg.py:14(pickle)
        3    0.000    0.000    0.000    0.000 argparse.py:2277(_check_value)
        1    0.000    0.000    0.000    0.000 __init__.py:593(IResourceProvider)
        1    0.000    0.000    0.000    0.000 threading.py:373(notify)
        1    0.000    0.000    0.002    0.002 platform.py:797(mac_ver)
        1    0.000    0.000    0.000    0.000 argparse.py:651(ArgumentDefaultsHelpFormatter)
        2    0.000    0.000    0.000    0.000 core.py:112(int_converter)
        1    0.000    0.000    0.000    0.000 urllib2.py:177(HTTPError)
        2    0.000    0.000    0.000    0.000 predicate.py:105(sorted_predicate_infos)
        1    0.000    0.000    0.001    0.001 random.py:91(__init__)
        1    0.000    0.000    0.000    0.000 hex_codec.py:27(hex_decode)
        2    0.000    0.000    0.000    0.000 UserDict.py:4(__init__)
        1    0.000    0.000    0.000    0.000 feedparser.py:51(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:501(BufferingFormatter)
        3    0.000    0.000    0.000    0.000 specifiers.py:121(__hash__)
        1    0.000    0.000    0.000    0.000 argparse.py:137(_ensure_value)
        2    0.000    0.000    0.000    0.000 ast.py:32(parse)
        2    0.000    0.000    0.000    0.000 threading.py:242(Condition)
        3    0.000    0.000    0.000    0.000 _osx_support.py:455(<genexpr>)
        1    0.000    0.000    0.000    0.000 ast.py:254(NodeTransformer)
        1    0.000    0.000    0.000    0.000 implicit.py:9(Implicit)
        1    0.000    0.000    0.000    0.000 _compat.py:38(__new__)
        1    0.000    0.000    0.000    0.000 __init__.py:2696(get_entry_info)
        1    0.000    0.000    0.000    0.000 urllib2.py:224(Request)
        1    0.000    0.000    0.005    0.005 app.py:238(commit)
        3    0.000    0.000    0.000    0.000 compat.py:38(metaclass)
        2    0.000    0.000    0.000    0.000 sre_parse.py:741(literal)
        3    0.000    0.000    0.000    0.000 {method 'index' of 'str' objects}
        1    0.000    0.000    0.000    0.000 threading.py:561(__init__)
        1    0.000    0.000    0.000    0.000 copy.py:66(copy)
        1    0.000    0.000    0.000    0.000 cachingreg.py:17(RegRegistry)
        1    0.000    0.000    0.000    0.000 argparse.py:1109(FileType)
        1    0.000    0.000    0.000    0.000 argparse.py:928(__call__)
        1    0.000    0.000    0.000    0.000 urllib.py:616(FancyURLopener)
        1    0.000    0.000    0.000    0.000 app.py:70(lookup)
        1    0.000    0.000    0.000    0.000 socket.py:239(_fileobject)
        1    0.000    0.000    0.000    0.000 traject.py:252(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:1712(DefaultProvider)
        1    0.000    0.000    0.000    0.000 dyld.py:48(dyld_image_suffix)
        1    0.000    0.000    0.000    0.000 cookies.py:610(CookieProfile)
        1    0.000    0.000    0.000    0.000 tempfile.py:108(_RandomNameSequence)
        3    0.000    0.000    0.000    0.000 {method 'read' of 'cStringIO.StringI' objects}
        1    0.000    0.000    0.000    0.000 version.py:82(LegacyVersion)
        7    0.000    0.000    0.000    0.000 {built-in method fromkeys}
        1    0.000    0.000    0.006    0.006 platform.py:1331(version)
        1    0.000    0.000    0.000    0.000 acceptparse.py:246(MIMEAccept)
       65    0.000    0.000    0.000    0.000 {method 'isdigit' of 'str' objects}
       24    0.000    0.000    0.000    0.000 {method 'find_module' of 'imp.NullImporter' objects}
        1    0.000    0.000    0.000    0.000 __init__.py:2935(Requirement)
        3    0.000    0.000    0.000    0.000 descriptors.py:197(date_header)
        2    0.000    0.000    0.000    0.000 directive.py:435(actions)
        4    0.000    0.000    0.000    0.000 directive.py:162(identifier)
        1    0.000    0.000    0.001    0.001 _osx_support.py:368(customize_config_vars)
        2    0.000    0.000    0.000    0.000 registry.py:24(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:2783(DistInfoDistribution)
        1    0.000    0.000    0.000    0.000 response.py:1317(ResponseBodyFile)
        1    0.000    0.000    0.000    0.000 __init__.py:381(DistributionNotFound)
        4    0.000    0.000    0.000    0.000 traject.py:458(generalize_variables)
        2    0.000    0.000    0.000    0.000 __init__.py:967(__init__)
        1    0.000    0.000    0.000    0.000 response.py:1406(EmptyResponse)
        1    0.000    0.000    0.000    0.000 etag.py:96(ETagMatcher)
        1    0.000    0.000    0.000    0.000 directive.py:377(PathCompositeAction)
        1    0.000    0.000    0.000    0.000 platform.py:1340(machine)
        4    0.000    0.000    0.000    0.000 traject.py:90(validate_variables)
        1    0.000    0.000    0.000    0.000 latin_1.py:13(Codec)
        1    0.000    0.000    0.001    0.001 app.py:112(publish)
        1    0.000    0.000    0.000    0.000 {method 'groupdict' of '_sre.SRE_Match' objects}
        1    0.000    0.000    0.000    0.000 calendar.py:132(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:133(ExpiringLRUCache)
        1    0.000    0.000    0.000    0.000 directive.py:1121(VerifyIdentityAction)
        3    0.000    0.000    0.000    0.000 compat.py:9(<lambda>)
        2    0.000    0.000    0.000    0.000 dyld.py:40(dyld_env)
        2    0.000    0.000    0.037    0.018 __init__.py:3069(_call_aside)
        1    0.000    0.000    0.000    0.000 sysconfig.py:97(_safe_realpath)
        3    0.000    0.000    0.000    0.000 __init__.py:419(register_loader_type)
        1    0.000    0.000    0.000    0.000 converter.py:228(argument_and_explicit_converters)
        1    0.000    0.000    0.000    0.000 traject.py:275(discriminator)
        1    0.000    0.000    0.000    0.000 directive.py:53(SettingAction)
        1    0.000    0.000    0.000    0.000 config.py:222(ActionGroup)
        1    0.000    0.000    0.000    0.000 {_hashlib.openssl_md5}
        1    0.000    0.000    0.000    0.000 exc.py:736(HTTPNotAcceptable)
        1    0.000    0.000    0.000    0.000 __init__.py:428(get_provider)
        1    0.000    0.000    0.000    0.000 {_functools.reduce}
        5    0.000    0.000    0.000    0.000 directive.py:317(__init__)
        4    0.000    0.000    0.000    0.000 directive.py:1065(perform)
        1    0.000    0.000    0.000    0.000 ssl.py:328(SSLContext)
        1    0.000    0.000    0.000    0.000 directive.py:1016(TweenFactoryAction)
        2    0.000    0.000    0.000    0.000 weakref.py:262(__new__)
        1    0.000    0.000    0.000    0.000 random.py:655(WichmannHill)
        1    0.000    0.000    0.000    0.000 version.py:299(is_prerelease)
        1    0.000    0.000    0.000    0.000 predicate.py:247(fallback)
       17    0.000    0.000    0.000    0.000 config.py:532(discriminators)
        2    0.000    0.000    0.000    0.000 directive.py:239(after)
        1    0.000    0.000    0.000    0.000 threading.py:542(Event)
        1    0.000    0.000    0.000    0.000 {_ctypes.set_conversion_mode}
        1    0.000    0.000    0.000    0.000 path.py:343(filter_arguments)
        6    0.000    0.000    0.000    0.000 cachecontrol.py:70(__init__)
        1    0.000    0.000    0.000    0.000 plistlib.py:331(Plist)
        1    0.000    0.000    0.000    0.000 sysconfig.py:514(get_config_var)
        1    0.000    0.000    0.000    0.000 __init__.py:368(ContextualVersionConflict)
        1    0.000    0.000    0.000    0.000 httplib.py:369(HTTPResponse)
        1    0.000    0.000    0.000    0.000 urllib.py:860(ftpwrapper)
        1    0.000    0.000    0.000    0.000 version.py:293(local)
        1    0.000    0.000    0.000    0.000 path.py:28(PathRegistry)
        1    0.000    0.000    0.000    0.000 plistlib.py:151(DumbXMLWriter)
        1    0.000    0.000    0.000    0.000 plistlib.py:448(end_dict)
        1    0.000    0.000    0.000    0.000 copy_reg.py:27(constructor)
        1    0.000    0.000    0.000    0.000 rfc822.py:775(AddressList)
        1    0.000    0.000    0.000    0.000 sysconfig.py:172(joinuser)
        1    0.000    0.000    0.000    0.000 Queue.py:21(Queue)
        2    0.000    0.000    0.000    0.000 posixpath.py:112(basename)
        1    0.000    0.000    0.000    0.000 byterange.py:89(ContentRange)
        1    0.000    0.000    0.000    0.000 exc.py:484(_HTTPMove)
        1    0.000    0.000    0.000    0.000 threading.py:132(__init__)
        4    0.000    0.000    0.000    0.000 specifiers.py:735(<genexpr>)
        1    0.000    0.000    0.000    0.000 directive.py:958(DeferClassLinksAction)
        2    0.000    0.000    0.000    0.000 authentication.py:51(__init__)
        1    0.000    0.000    0.000    0.000 tween.py:36(sorted_tween_factories)
        2    0.000    0.000    0.000    0.000 {method 'insert' of 'list' objects}
        1    0.000    0.000    0.000    0.000 specifiers.py:146(_get_operator)
        1    0.000    0.000    0.000    0.000 version.py:75(_compare)
        1    0.000    0.000    0.000    0.000 __init__.py:353(Formatter)
        1    0.000    0.000    0.001    0.001 urllib2.py:854(AbstractBasicAuthHandler)
        4    0.000    0.000    0.000    0.000 traject.py:79(validate_parts)
        1    0.000    0.000    0.000    0.000 weakref.py:48(remove)
        2    0.000    0.000    0.000    0.000 predicate.py:30(__init__)
        1    0.000    0.000    0.000    0.000 argparse.py:1887(consume_positionals)
        1    0.000    0.000    0.000    0.000 directive.py:509(TemplateDirectoryAction)
        1    0.000    0.000    0.000    0.000 rfc822.py:501(AddrlistClass)
        1    0.000    0.000    0.000    0.000 _parseaddr.py:172(AddrlistClass)
        3    0.000    0.000    0.000    0.000 message.py:456(get_content_maintype)
        1    0.000    0.000    0.000    0.000 request.py:1381(AdhocAttrMixin)
        2    0.000    0.000    0.000    0.000 predicate.py:134(create_index)
        1    0.000    0.000    0.000    0.000 byterange.py:8(Range)
        1    0.000    0.000    0.000    0.000 __init__.py:15(LRUCache)
        1    0.000    0.000    0.000    0.000 request.py:1550(FakeCGIBody)
        1    0.000    0.000    0.000    0.000 config.py:20(Configurable)
        2    0.000    0.000    0.000    0.000 view.py:115(predicate_key)
        1    0.000    0.000    0.000    0.000 reify.py:4(reify)
        1    0.000    0.000    0.000    0.000 app.py:31(App)
        1    0.000    0.000    0.000    0.000 config.py:807(sort_configurables)
        1    0.000    0.000    0.000    0.000 encoder.py:101(__init__)
        2    0.000    0.000    0.000    0.000 sentinel.py:2(__init__)
        1    0.000    0.000    0.000    0.000 threading.py:423(_Semaphore)
        1    0.000    0.000    0.000    0.000 calendar.py:259(TextCalendar)
        1    0.000    0.000    0.000    0.000 __init__.py:569(IMetadataProvider)
        2    0.000    0.000    0.000    0.000 app.py:92(private_action_class)
        1    0.000    0.000    0.000    0.000 argparse.py:2039(_match_arguments_partial)
        1    0.000    0.000    0.000    0.000 io.py:69(IOBase)
        1    0.000    0.000    0.000    0.000 directive.py:914(DeferLinksAction)
        1    0.000    0.000    0.000    0.000 atexit.py:37(register)
        2    0.000    0.000    0.000    0.000 directive.py:739(identifier)
        1    0.000    0.000    0.000    0.000 argparse.py:1180(_ActionsContainer)
        4    0.000    0.000    0.000    0.000 {method 'findall' of '_sre.SRE_Pattern' objects}
        1    0.000    0.000    0.000    0.000 calendar.py:376(HTMLCalendar)
        1    0.000    0.000    0.000    0.000 encoder.py:70(JSONEncoder)
        1    0.000    0.000    0.001    0.001 zipfile.py:420(_ZipDecrypter)
        5    0.000    0.000    0.000    0.000 argparse.py:566(format)
        1    0.000    0.000    0.000    0.000 __init__.py:1751(ZipManifests)
        1    0.000    0.000    0.000    0.000 Queue.py:212(PriorityQueue)
        1    0.000    0.000    0.000    0.000 exc.py:720(HTTPMethodNotAllowed)
        1    0.000    0.000    0.000    0.000 traject.py:48(Step)
        1    0.000    0.000    0.000    0.000 __future__.py:74(_Feature)
        1    0.000    0.000    0.000    0.000 cachecontrol.py:65(exists_property)
        1    0.000    0.000    0.000    0.000 timeit.py:105(Timer)
        1    0.000    0.000    0.000    0.000 __init__.py:1399(LoggerAdapter)
        6    0.000    0.000    0.000    0.000 argparse.py:2055(_parse_optional)
        1    0.000    0.000    0.000    0.000 implicit.py:84(__init__)
        1    0.000    0.000    0.000    0.000 acceptparse.py:22(Accept)
        1    0.000    0.000    0.000    0.000 request.py:1500(LimitedLengthFile)
        1    0.000    0.000    0.000    0.000 threading.py:255(_Condition)
        1    0.000    0.000    0.000    0.000 headers.py:10(ResponseHeaders)
        1    0.000    0.000    0.000    0.000 argparse.py:983(__init__)
        1    0.000    0.000    0.000    0.000 converter.py:250(__init__)
        1    0.000    0.000    0.000    0.000 parser.py:18(__init__)
        2    0.000    0.000    0.000    0.000 __init__.py:359(_FuncPtr)
        1    0.000    0.000    0.001    0.001 core.py:193(poisoned_host_header_protection_tween_factory)
        1    0.000    0.000    0.000    0.000 __init__.py:1737(EmptyProvider)
        6    0.000    0.000    0.000    0.000 version.py:258(<genexpr>)
        1    0.000    0.000    0.000    0.000 directive.py:352(__init__)
        1    0.000    0.000    0.000    0.000 predicate.py:294(fallback)
        1    0.000    0.000    0.000    0.000 feedparser.py:158(FeedParser)
        1    0.000    0.000    0.000    0.000 tokenize.py:46(any)
        1    0.000    0.000    0.000    0.000 __init__.py:1798(ContextualZipFile)
        1    0.000    0.000    0.000    0.000 latin_1.py:28(StreamWriter)
        2    0.000    0.000    0.000    0.000 markers.py:61(__init__)
        1    0.000    0.000    0.000    0.000 ascii.py:13(Codec)
        1    0.000    0.000    0.000    0.000 io.py:76(BufferedIOBase)
        1    0.000    0.000    0.000    0.000 app.py:67(__init__)
        1    0.000    0.000    0.000    0.000 dispatch.py:39(__call__)
        1    0.000    0.000    0.000    0.000 {gc.isenabled}
        1    0.000    0.000    0.000    0.000 exc.py:620(HTTPTemporaryRedirect)
        1    0.000    0.000    0.000    0.000 argparse.py:197(_Section)
        1    0.000    0.000    0.000    0.000 exc.py:810(HTTPLengthRequired)
        1    0.000    0.000    0.000    0.000 app.py:234(<setcomp>)
        1    0.000    0.000    0.000    0.000 cachecontrol.py:6(UpdateDict)
        1    0.000    0.000    0.000    0.000 argparse.py:714(Action)
        1    0.000    0.000    0.000    0.000 httplib.py:255(HTTPMessage)
        1    0.000    0.000    0.000    0.000 directive.py:98(SettingValue)
        1    0.000    0.000    0.000    0.000 directive.py:1095(IdentityPolicyAction)
        1    0.000    0.000    0.000    0.000 exc.py:955(HTTPPreconditionRequired)
        1    0.000    0.000    0.000    0.000 threading.py:789(_set_ident)
        1    0.000    0.000    0.000    0.000 __init__.py:2403(_parse_extras)
        1    0.000    0.000    0.000    0.000 settings.py:35(SettingSection)
        1    0.000    0.000    0.000    0.000 plistlib.py:322(Dict)
        1    0.000    0.000    0.000    0.000 httplib.py:1334(IncompleteRead)
        1    0.000    0.000    0.000    0.000 httplib.py:1317(NotConnected)
        1    0.000    0.000    0.000    0.000 __init__.py:10(<module>)
        1    0.000    0.000    0.000    0.000 dispatch.py:45(Dispatch)
        1    0.000    0.000    0.000    0.000 implicit.py:83(Local)
        1    0.000    0.000    0.000    0.000 exc.py:1134(HTTPNetworkAuthenticationRequired)
        1    0.000    0.000    0.000    0.000 urlparse.py:121(SplitResult)
        2    0.000    0.000    0.000    0.000 argparse.py:1602(identity)
        1    0.000    0.000    0.000    0.000 socket.py:171(_closedsocket)
        1    0.000    0.000    0.000    0.000 errors.py:29(CharsetError)
        1    0.000    0.000    0.000    0.000 argparse.py:1692(_get_positional_actions)
        1    0.000    0.000    0.000    0.000 hex_codec.py:45(Codec)
        1    0.000    0.000    0.000    0.000 converter.py:238(ParameterFactory)
        1    0.000    0.000    0.000    0.000 argparse.py:863(_StoreTrueAction)
        1    0.000    0.000    0.000    0.000 error.py:36(DirectiveReportError)
        1    0.000    0.000    0.000    0.000 httplib.py:1245(HTTPSConnection)
        1    0.000    0.000    0.000    0.000 argparse.py:840(_StoreConstAction)
        1    0.000    0.000    0.000    0.000 error.py:71(QueryError)
        2    0.000    0.000    0.000    0.000 calendar.py:71(__init__)
        1    0.000    0.000    0.000    0.000 tokenize.py:146(TokenError)
        1    0.000    0.000    0.000    0.000 traject.py:200(add_name_node)
        1    0.000    0.000    0.000    0.000 directive.py:1196(LoadJsonAction)
        1    0.000    0.000    0.000    0.000 ascii.py:34(StreamConverter)
        1    0.000    0.000    0.000    0.000 directive.py:106(SettingSectionAction)
        1    0.000    0.000    0.000    0.000 traject.py:298(TrajectRegistry)
        3    0.000    0.000    0.000    0.000 __init__.py:104(CFunctionType)
        1    0.000    0.000    0.000    0.000 etag.py:169(IfRangeDate)
        1    0.000    0.000    0.000    0.000 exc.py:590(HTTPNotModified)
        1    0.000    0.000    0.000    0.000 threading.py:1058(_Timer)
        1    0.000    0.000    0.000    0.000 request.py:1670(Transcoder)
        1    0.000    0.000    0.000    0.000 __init__.py:255(c_void_p)
        1    0.000    0.000    0.000    0.000 argparse.py:1518(_MutuallyExclusiveGroup)
        1    0.000    0.000    0.000    0.000 traject.py:247(StepNode)
        1    0.000    0.000    0.000    0.000 cgi.py:327(MiniFieldStorage)
        1    0.000    0.000    0.000    0.000 predicate.py:167(KeyIndex)
        1    0.000    0.000    0.000    0.000 string.py:283(split)
        1    0.000    0.000    0.000    0.000 etag.py:69(_NoETag)
        1    0.000    0.000    0.000    0.000 parser.py:86(HeaderParser)
        1    0.000    0.000    0.000    0.000 traject.py:280(interpolation_str)
        2    0.000    0.000    0.000    0.000 view.py:111(__init__)
        1    0.000    0.000    0.000    0.000 exc.py:468(HTTPPartialContent)
        1    0.000    0.000    0.000    0.000 __init__.py:580(Filterer)
        1    0.000    0.000    0.000    0.000 __init__.py:1986(FileMetadata)
        1    0.000    0.000    0.000    0.000 authentication.py:129(IdentityPolicy)
        1    0.000    0.000    0.000    0.000 predicate.py:211(MultiIndex)
        1    0.000    0.000    0.000    0.000 io.py:73(RawIOBase)
        1    0.000    0.000    0.000    0.000 exc.py:823(HTTPPreconditionFailed)
        1    0.000    0.000    0.000    0.000 urllib2.py:1244(HTTPCookieProcessor)
        1    0.000    0.000    0.000    0.000 urllib2.py:539(HTTPErrorProcessor)
        1    0.000    0.000    0.000    0.000 contextlib.py:9(GeneratorContextManager)
        2    0.000    0.000    0.000    0.000 predicate.py:320(argnames)
        1    0.000    0.000    0.000    0.000 tokenize.py:179(Untokenizer)
        5    0.000    0.000    0.000    0.000 argparse.py:199(__init__)
        1    0.000    0.000    0.000    0.000 random.py:805(SystemRandom)
        1    0.000    0.000    0.000    0.000 exc.py:968(HTTPTooManyRequests)
        2    0.000    0.000    0.000    0.000 predicate.py:244(permutations)
        1    0.000    0.000    0.000    0.000 decoder.py:274(JSONDecoder)
        1    0.000    0.000    0.000    0.000 implicit.py:41(__init__)
        5    0.000    0.000    0.000    0.000 directive.py:332(identifier)
        1    0.000    0.000    0.000    0.000 exc.py:402(HTTPCreated)
        1    0.000    0.000    0.000    0.000 cgi.py:783(FormContentDict)
        1    0.000    0.000    0.000    0.000 error.py:24(AutoImportError)
        1    0.000    0.000    0.000    0.000 exc.py:1147(HTTPExceptionMiddleware)
        1    0.000    0.000    0.000    0.000 message.py:218(set_payload)
        1    0.000    0.000    0.000    0.000 predicate.py:117(PredicateInfo)
        1    0.000    0.000    0.000    0.000 __init__.py:1391(__init__)
        1    0.000    0.000    0.000    0.000 cookies.py:487(Base64Serializer)
        2    0.000    0.000    0.000    0.000 markers.py:88(compile_marker)
        1    0.000    0.000    0.000    0.000 exc.py:939(HTTPFailedDependency)
        1    0.000    0.000    0.000    0.000 settings.py:7(SettingRegistry)
        1    0.000    0.000    0.000    0.000 argextract.py:120(ClassKeyExtractor)
        1    0.000    0.000    0.000    0.000 __init__.py:1125(ExtractionError)
        1    0.000    0.000    0.000    0.000 threading.py:57(_Verbose)
        1    0.000    0.000    0.000    0.000 argparse.py:934(_AppendConstAction)
        1    0.000    0.000    0.000    0.000 exc.py:454(HTTPResetContent)
        1    0.000    0.000    0.000    0.000 argparse.py:897(_AppendAction)
        1    0.000    0.000    0.000    0.000 urllib.py:1018(addinfourl)
        1    0.000    0.000    0.000    0.000 urllib2.py:1224(HTTPHandler)
        1    0.000    0.000    0.000    0.000 errors.py:50(MisplacedEnvelopeHeaderDefect)
        1    0.000    0.000    0.000    0.000 arginfo.py:88(Dummy)
        1    0.000    0.000    0.000    0.000 app.py:129(is_committed)
        1    0.000    0.000    0.000    0.000 directive.py:1070(IdentityPolicyFunctionAction)
        1    0.000    0.000    0.000    0.000 hmac.py:23(HMAC)
        1    0.000    0.000    0.000    0.000 exc.py:1107(HTTPVersionNotSupported)
        1    0.000    0.000    0.000    0.000 cachecontrol.py:96(value_property)
        1    0.000    0.000    0.000    0.000 urllib.py:988(addclosehook)
        1    0.000    0.000    0.000    0.000 predicate.py:304(SingleValueRegistry)
        1    0.000    0.000    0.000    0.000 urllib2.py:1084(HTTPDigestAuthHandler)
        1    0.000    0.000    0.000    0.000 __init__.py:889(FileHandler)
        1    0.000    0.000    0.000    0.000 query.py:163(Obj)
        1    0.000    0.000    0.000    0.000 __init__.py:267(lru_cache)
        1    0.000    0.000    0.000    0.000 converter.py:143(ConverterRegistry)
        1    0.000    0.000    0.000    0.000 ssl.py:299(_ASN1Object)
        1    0.000    0.000    0.000    0.000 urllib2.py:904(HTTPBasicAuthHandler)
        1    0.000    0.000    0.000    0.000 exc.py:865(HTTPUnsupportedMediaType)
        1    0.000    0.000    0.000    0.000 __init__.py:1013(__init__)
        1    0.000    0.000    0.000    0.000 httplib.py:1354(CannotSendHeader)
        1    0.000    0.000    0.000    0.000 urllib2.py:1262(UnknownHandler)
        1    0.000    0.000    0.000    0.000 feedparser.py:208(_pop_message)
        1    0.000    0.000    0.000    0.000 __init__.py:1687(NullHandler)
        1    0.000    0.000    0.000    0.000 argparse.py:842(__init__)
        3    0.000    0.000    0.000    0.000 view.py:41(__init__)
        1    0.000    0.000    0.000    0.000 _endian.py:26(_swapped_meta)
        1    0.000    0.000    0.000    0.000 error.py:4(ConfigError)
        1    0.000    0.000    0.000    0.000 urllib2.py:164(URLError)
        2    0.000    0.000    0.000    0.000 predicate.py:308(register)
        1    0.000    0.000    0.000    0.000 {_hashlib.openssl_sha384}
        1    0.000    0.000    0.000    0.000 threading.py:400(notifyAll)
        1    0.000    0.000    0.000    0.000 stat.py:49(S_ISREG)
        1    0.000    0.000    0.000    0.000 calendar.py:21(IllegalMonthError)
        1    0.000    0.000    0.000    0.000 error.py:64(TopologicalSortError)
        1    0.000    0.000    0.000    0.000 __init__.py:2015(PathMetadata)
        2    0.000    0.000    0.000    0.000 feedparser.py:147(__iter__)
        1    0.000    0.000    0.000    0.000 exc.py:414(HTTPAccepted)
        1    0.000    0.000    0.000    0.000 dispatch.py:9(dispatch)
        1    0.000    0.000    0.000    0.000 __init__.py:543(Filter)
        1    0.000    0.000    0.000    0.000 httplib.py:1278(HTTPS)
        1    0.000    0.000    0.000    0.000 registry.py:373(__init__)
        1    0.000    0.000    0.000    0.000 directive.py:1221(LinkPrefixAction)
        1    0.000    0.000    0.000    0.000 __init__.py:214(SetuptoolsLegacyVersion)
        1    0.000    0.000    0.000    0.000 shutil.py:38(ExecError)
        1    0.000    0.000    0.000    0.000 __init__.py:291(c_wchar_p)
        1    0.000    0.000    0.000    0.000 exc.py:440(HTTPNoContent)
        4    0.000    0.000    0.000    0.000 predicate.py:231(<lambda>)
        1    0.000    0.000    0.000    0.000 template.py:12(TemplateEngineRegistry)
        1    0.000    0.000    0.000    0.000 Queue.py:17(Full)
        1    0.000    0.000    0.000    0.000 _structures.py:49(NegativeInfinity)
        1    0.000    0.000    0.000    0.000 __init__.py:210(SetuptoolsVersion)
        1    0.000    0.000    0.000    0.000 version.py:52(_BaseVersion)
        1    0.000    0.000    0.000    0.000 __init__.py:397(__init__)
        1    0.000    0.000    0.000    0.000 exc.py:665(HTTPBadRequest)
        1    0.000    0.000    0.000    0.000 __init__.py:428(LibraryLoader)
        1    0.000    0.000    0.000    0.000 argparse.py:112(_AttributeHolder)
        1    0.000    0.000    0.000    0.000 errors.py:13(MessageParseError)
        1    0.000    0.000    0.000    0.000 error.py:6(KeyExtractorError)
        1    0.000    0.000    0.000    0.000 exc.py:379(HTTPRedirection)
        1    0.000    0.000    0.000    0.000 zipfile.py:1373(PyZipFile)
        1    0.000    0.000    0.000    0.000 threading.py:552(_Event)
        1    0.000    0.000    0.000    0.000 error.py:1(RegistrationError)
        1    0.000    0.000    0.000    0.000 __init__.py:172(c_ushort)
        1    0.000    0.000    0.000    0.000 exc.py:577(HTTPSeeOther)
        1    0.000    0.000    0.000    0.000 __init__.py:2866(RequirementParseError)
        1    0.000    0.000    0.000    0.000 response.py:1350(AppIterRange)
        1    0.000    0.000    0.000    0.000 __init__.py:159(py_object)
        1    0.000    0.000    0.000    0.000 calendar.py:488(TimeEncoding)
        1    0.000    0.000    0.000    0.000 request.py:84(_NoDefault)
        1    0.000    0.000    0.000    0.000 registry.py:356(lookup)
        1    0.000    0.000    0.000    0.000 config.py:756(DirectiveAbbreviation)
        1    0.000    0.000    0.000    0.000 cgi.py:803(SvFormContentDict)
        1    0.000    0.000    0.000    0.000 cgi.py:865(FormContent)
        1    0.000    0.000    0.000    0.000 view.py:97(ViewRegistry)
        1    0.000    0.000    0.000    0.000 threading.py:515(_BoundedSemaphore)
        1    0.000    0.000    0.000    0.000 latin_1.py:20(IncrementalEncoder)
        1    0.000    0.000    0.000    0.000 config.py:654(Directive)
        1    0.000    0.000    0.000    0.000 exc.py:684(HTTPPaymentRequired)
        1    0.000    0.000    0.000    0.000 plistlib.py:395(__init__)
        1    0.000    0.000    0.000    0.000 toposort.py:28(Info)
        1    0.000    0.000    0.000    0.000 __init__.py:1008(Manager)
        1    0.000    0.000    0.000    0.000 cookies.py:163(Cookie)
        1    0.000    0.000    0.000    0.000 exc.py:984(HTTPRequestHeaderFieldsTooLarge)
        1    0.000    0.000    0.000    0.000 authentication.py:37(IdentityPolicyRegistry)
        1    0.000    0.000    0.000    0.000 directive.py:304(ConverterAction)
        2    0.000    0.000    0.000    0.000 tween.py:19(__init__)
        2    0.000    0.000    0.000    0.000 dyld.py:34(ensure_utf8)
        1    0.000    0.000    0.000    0.000 argparse.py:1153(Namespace)
        1    0.000    0.000    0.000    0.000 app.py:4(App)
        1    0.000    0.000    0.000    0.000 dispatch.py:32(dispatch_external_predicates)
        1    0.000    0.000    0.000    0.000 urllib2.py:520(BaseHandler)
        1    0.000    0.000    0.000    0.000 exc.py:562(HTTPFound)
        1    0.000    0.000    0.000    0.000 exc.py:837(HTTPRequestEntityTooLarge)
        1    0.000    0.000    0.000    0.000 {filter}
        1    0.000    0.000    0.000    0.000 converter.py:88(ListConverter)
        1    0.000    0.000    0.000    0.000 version.py:63(__eq__)
        1    0.000    0.000    0.000    0.000 etag.py:45(_AnyETag)
        1    0.000    0.000    0.000    0.000 argparse.py:1160(__init__)
        1    0.000    0.000    0.000    0.000 pstats.py:451(TupleComp)
        1    0.000    0.000    0.000    0.000 __init__.py:330(ResolutionError)
        1    0.000    0.000    0.000    0.000 urllib2.py:1326(FileHandler)
        1    0.000    0.000    0.000    0.000 plistlib.py:365(Data)
        2    0.000    0.000    0.000    0.000 __init__.py:429(__init__)
        2    0.000    0.000    0.000    0.000 predicate.py:305(__init__)
        1    0.000    0.000    0.000    0.000 __init__.py:8(<module>)
        1    0.000    0.000    0.000    0.000 version.py:64(<lambda>)
        1    0.000    0.000    0.000    0.000 exc.py:1092(HTTPGatewayTimeout)
        5    0.000    0.000    0.000    0.000 argparse.py:1680(_add_action)
        1    0.000    0.000    0.000    0.000 timeit.py:94(_template_func)
        1    0.000    0.000    0.000    0.000 urllib2.py:1378(FTPHandler)
        1    0.000    0.000    0.000    0.000 exc.py:707(HTTPNotFound)
        1    0.000    0.000    0.000    0.000 {_hashlib.openssl_sha1}
        1    0.000    0.000    0.000    0.000 inspect.py:630(EndOfBlock)
        1    0.000    0.000    0.000    0.000 urllib2.py:560(HTTPRedirectHandler)
        1    0.000    0.000    0.000    0.000 _compat.py:37(metaclass)
        1    0.000    0.000    0.000    0.000 cookies.py:815(SignedCookieProfile)
        4    0.000    0.000    0.000    0.000 sre_parse.py:216(tell)
        1    0.000    0.000    0.000    0.000 argparse.py:960(_CountAction)
        1    0.000    0.000    0.000    0.000 cookies.py:519(SignedSerializer)
        1    0.000    0.000    0.000    0.000 __init__.py:1691(EggProvider)
        1    0.000    0.000    0.000    0.000 argparse.py:899(__init__)
        1    0.000    0.000    0.000    0.000 app.py:16(AppMeta)
        1    0.000    0.000    0.000    0.000 cookies.py:477(JSONSerializer)
        1    0.000    0.000    0.000    0.000 {_hashlib.openssl_sha512}
        1    0.000    0.000    0.000    0.000 specifiers.py:277(wrapped)
        1    0.000    0.000    0.000    0.000 ascii.py:24(IncrementalDecoder)
        1    0.000    0.000    0.000    0.000 httplib.py:1320(InvalidURL)
        1    0.000    0.000    0.000    0.000 __init__.py:243(c_char_p)
        1    0.000    0.000    0.000    0.000 version.py:46(InvalidVersion)
        2    0.000    0.000    0.000    0.000 calendar.py:52(__init__)
        1    0.000    0.000    0.000    0.000 ast.py:217(NodeVisitor)
        1    0.000    0.000    0.000    0.000 acceptparse.py:223(AcceptCharset)
        1    0.000    0.000    0.000    0.000 httplib.py:1149(HTTP)
        1    0.000    0.000    0.000    0.000 traject.py:184(Node)
        1    0.000    0.000    0.000    0.000 argparse.py:805(_StoreAction)
        1    0.000    0.000    0.000    0.000 plistlib.py:291(_InternalDict)
        1    0.000    0.000    0.000    0.000 argparse.py:629(RawDescriptionHelpFormatter)
        1    0.000    0.000    0.000    0.000 arginfo.py:95(get_class_init)
        1    0.000    0.000    0.000    0.000 calendar.py:501(LocaleTextCalendar)
        1    0.000    0.000    0.000    0.000 traject.py:262(Path)
        1    0.000    0.000    0.000    0.000 sentinel.py:1(Sentinel)
        2    0.000    0.000    0.000    0.000 tokenize.py:47(maybe)
        1    0.000    0.000    0.000    0.000 query.py:6(Callable)
        1    0.000    0.000    0.000    0.000 argparse.py:1027(_ChoicesPseudoAction)
        1    0.000    0.000    0.000    0.000 errors.py:53(MalformedHeaderDefect)
        1    0.000    0.000    0.000    0.000 urllib2.py:1438(CacheFTPHandler)
        1    0.000    0.000    0.000    0.000 io.py:79(TextIOBase)
        1    0.000    0.000    0.000    0.000 calendar.py:536(LocaleHTMLCalendar)
        1    0.000    0.000    0.000    0.000 threading.py:1128(_DummyThread)
        4    0.000    0.000    0.000    0.000 traject.py:467(interpolation_str)
        1    0.000    0.000    0.000    0.000 __init__.py:74(LazyImporter)
        1    0.000    0.000    0.000    0.000 exc.py:1001(HTTPUnavailableForLegalReasons)
        2    0.000    0.000    0.000    0.000 __init__.py:2001(has_metadata)
        1    0.000    0.000    0.000    0.000 exc.py:632(HTTPPermanentRedirect)
        4    0.000    0.000    0.000    0.000 {method 'count' of 'list' objects}
        4    0.000    0.000    0.000    0.000 message.py:474(get_default_type)
        1    0.000    0.000    0.000    0.000 _structures.py:17(Infinity)
        1    0.000    0.000    0.000    0.000 _osx_support.py:277(_check_for_unavailable_sdk)
        1    0.000    0.000    0.000    0.000 errors.py:9(MessageError)
        1    0.000    0.000    0.000    0.000 argextract.py:6(ArgExtractor)
        1    0.000    0.000    0.000    0.000 error.py:50(DirectiveError)
        1    0.000    0.000    0.000    0.000 __init__.py:388(PyDLL)
        1    0.000    0.000    0.000    0.000 inspect.py:632(BlockFinder)
        1    0.000    0.000    0.000    0.000 request.py:1496(DisconnectionError)
        1    0.000    0.000    0.000    0.000 {method 'groups' of '_sre.SRE_Match' objects}
        1    0.000    0.000    0.000    0.000 _osx_support.py:260(_override_all_archs)
        1    0.000    0.000    0.000    0.000 exc.py:649(HTTPClientError)
        2    0.000    0.000    0.000    0.000 warnings.py:15(warnpy3k)
        1    0.000    0.000    0.000    0.000 predicate.py:128(MultiPredicate)
        1    0.000    0.000    0.000    0.000 exc.py:188(_lazified)
        1    0.000    0.000    0.000    0.000 __init__.py:332(CDLL)
        1    0.000    0.000    0.000    0.000 __init__.py:104(PEP440Warning)
        1    0.000    0.000    0.000    0.000 exc.py:926(HTTPLocked)
        1    0.000    0.000    0.000    0.000 argparse.py:685(ArgumentError)
        3    0.000    0.000    0.000    0.000 __init__.py:2148(register_namespace_handler)
        1    0.000    0.000    0.000    0.000 argparse.py:1484(_ArgumentGroup)
        1    0.000    0.000    0.000    0.000 exc.py:605(HTTPUseProxy)
        1    0.000    0.000    0.000    0.000 request.py:329(Response)
        1    0.000    0.000    0.000    0.000 authentication.py:98(Identity)
        1    0.000    0.000    0.000    0.000 autosetup.py:149(DependencyMap)
        1    0.000    0.000    0.000    0.000 urllib.py:959(addbase)
        1    0.000    0.000    0.000    0.000 app.py:8(Welcome)
        1    0.000    0.000    0.000    0.000 contextlib.py:132(closing)
        1    0.000    0.000    0.000    0.000 __init__.py:2040(EggMetadata)
        1    0.000    0.000    0.000    0.000 urlparse.py:129(ParseResult)
        1    0.000    0.000    0.000    0.000 app.py:7(Config)
        1    0.000    0.000    0.000    0.000 sre_parse.py:87(checkgroup)
        1    0.000    0.000    0.000    0.000 errors.py:17(HeaderParseError)
        1    0.000    0.000    0.000    0.000 threading.py:1088(_MainThread)
        1    0.000    0.000    0.000    0.000 traject.py:106(discriminator_info)
        1    0.000    0.000    0.000    0.000 ssl.py:320(Purpose)
        1    0.000    0.000    0.000    0.000 exc.py:694(HTTPForbidden)
        1    0.000    0.000    0.000    0.000 ascii.py:28(StreamWriter)
        1    0.000    0.000    0.000    0.000 argparse.py:1000(_VersionAction)
        1    0.000    0.000    0.000    0.000 dyld.py:62(dyld_fallback_library_path)
        1    0.000    0.000    0.000    0.000 acceptparse.py:335(MIMENilAccept)
        1    0.000    0.000    0.000    0.000 request.py:1405(Request)
        1    0.000    0.000    0.000    0.000 __init__.py:260(c_bool)
        1    0.000    0.000    0.000    0.000 exc.py:221(HTTPException)
        1    0.000    0.000    0.000    0.000 argextract.py:127(NameKeyExtractor)
        1    0.000    0.000    0.000    0.000 httplib.py:1360(BadStatusLine)
        1    0.000    0.000    0.000    0.000 exc.py:370(HTTPError)
        1    0.000    0.000    0.000    0.000 error.py:11(NoImplicitLookupError)
        1    0.000    0.000    0.000    0.000 path.py:258(<setcomp>)
        1    0.000    0.000    0.000    0.000 acceptparse.py:219(NoAccept)
        1    0.000    0.000    0.000    0.000 calendar.py:138(setfirstweekday)
        1    0.000    0.000    0.000    0.000 urllib2.py:1114(AbstractHTTPHandler)
        7    0.000    0.000    0.000    0.000 {iter}
        4    0.000    0.000    0.000    0.000 sre_parse.py:139(__delitem__)
        1    0.000    0.000    0.000    0.000 __init__.py:201(c_double)
        1    0.000    0.000    0.000    0.000 template.py:126(TemplateDirectoryInfo)
        1    0.000    0.000    0.000    0.000 errors.py:44(StartBoundaryNotFoundDefect)
        1    0.000    0.000    0.000    0.000 cgi.py:837(InterpFormContentDict)
        1    0.000    0.000    0.000    0.000 config.py:10(NotFound)
        1    0.000    0.000    0.000    0.000 {math.sqrt}
        1    0.000    0.000    0.000    0.000 dyld.py:96(dyld_executable_path_search)
        1    0.000    0.000    0.000    0.000 query.py:133(Filter)
        1    0.000    0.000    0.000    0.000 exc.py:1078(HTTPServiceUnavailable)
        1    0.000    0.000    0.000    0.000 exc.py:427(HTTPNonAuthoritativeInformation)
       15    0.000    0.000    0.000    0.000 {method 'end' of '_sre.SRE_Match' objects}
        1    0.000    0.000    0.000    0.000 __init__.py:205(c_longdouble)
        1    0.000    0.000    0.000    0.000 error.py:48(TrajectError)
        2    0.000    0.000    0.000    0.000 core.py:118(unicode_converter)
        1    0.000    0.000    0.000    0.000 directive.py:851(DummyModel)
        1    0.000    0.000    0.000    0.000 httplib.py:1367(LineTooLong)
        1    0.000    0.000    0.000    0.000 __init__.py:197(c_float)
        4    0.000    0.000    0.000    0.000 {method 'intersection' of 'set' objects}
        1    0.000    0.000    0.000    0.000 argparse.py:981(_HelpAction)
        1    0.000    0.000    0.000    0.000 _endian.py:49(BigEndianStructure)
        1    0.000    0.000    0.000    0.000 exc.py:782(HTTPConflict)
        1    0.000    0.000    0.000    0.000 httplib.py:1323(UnknownProtocol)
        1    0.000    0.000    0.000    0.000 exc.py:883(HTTPRequestRangeNotSatisfiable)
        1    0.000    0.000    0.000    0.000 argparse.py:880(_StoreFalseAction)
        1    0.000    0.000    0.000    0.000 httplib.py:1348(ImproperConnectionState)
        1    0.000    0.000    0.000    0.000 threading.py:300(_is_owned)
        2    0.000    0.000    0.000    0.000 sre_parse.py:224(isdigit)
        1    0.000    0.000    0.000    0.000 exc.py:668(HTTPUnauthorized)
        1    0.000    0.000    0.000    0.000 {_hashlib.openssl_sha224}
        1    0.000    0.000    0.000    0.000 app.py:138(DirectiveDirective)
        1    0.000    0.000    0.000    0.000 exc.py:534(HTTPMultipleChoices)
        1    0.000    0.000    0.000    0.000 __init__.py:226(c_ubyte)
        1    0.000    0.000    0.000    0.000 __init__.py:818(StreamHandler)
        2    0.000    0.000    0.000    0.000 sysconfig.py:164(_get_default_scheme)
        1    0.000    0.000    0.000    0.000 hex_codec.py:52(IncrementalEncoder)
        2    0.000    0.000    0.000    0.000 argparse.py:836(__call__)
        1    0.000    0.000    0.000    0.000 exc.py:549(HTTPMovedPermanently)
        1    0.000    0.000    0.000    0.000 ssl.py:183(CertificateError)
        1    0.000    0.000    0.000    0.000 __init__.py:233(c_byte)
        1    0.000    0.000    0.000    0.000 __init__.py:231(LogRecord)
        1    0.000    0.000    0.000    0.000 tokenize.py:148(StopTokenizing)
       12    0.000    0.000    0.000    0.000 __init__.py:2094(find_nothing)
        1    0.000    0.000    0.000    0.000 error.py:16(ConflictError)
        1    0.000    0.000    0.000    0.000 specifiers.py:158(version)
        1    0.000    0.000    0.000    0.000 predicate.py:197(ClassIndex)
        1    0.000    0.000    0.000    0.000 urllib2.py:1232(HTTPSHandler)
        1    0.000    0.000    0.000    0.000 ascii.py:20(IncrementalEncoder)
        1    0.000    0.000    0.000    0.000 __init__.py:168(c_short)
        1    0.000    0.000    0.000    0.000 httplib.py:1331(UnimplementedFileMode)
        1    0.000    0.000    0.000    0.000 ascii.py:31(StreamReader)
        1    0.000    0.000    0.000    0.000 Queue.py:13(Empty)
        1    0.000    0.000    0.000    0.000 __init__.py:193(c_uint)
        1    0.000    0.000    0.000    0.000 errors.py:21(BoundaryError)
        1    0.000    0.000    0.000    0.000 __init__.py:189(c_int)
        1    0.000    0.000    0.000    0.000 <string>:1(<module>)
        1    0.000    0.000    0.000    0.000 exc.py:1121(HTTPInsufficientStorage)
        1    0.000    0.000    0.000    0.000 exc.py:912(HTTPUnprocessableEntity)
        1    0.000    0.000    0.000    0.000 urllib2.py:737(ProxyHandler)
        1    0.000    0.000    0.000    0.000 directive.py:800(HtmlAction)
        1    0.000    0.000    0.000    0.000 urllib2.py:1102(ProxyDigestAuthHandler)
        1    0.000    0.000    0.000    0.000 hex_codec.py:57(IncrementalDecoder)
        1    0.000    0.000    0.000    0.000 httplib.py:1312(HTTPException)
        1    0.000    0.000    0.000    0.000 argparse.py:640(RawTextHelpFormatter)
        1    0.000    0.000    0.000    0.000 traject.py:111(has_variables)
        1    0.000    0.000    0.000    0.000 exc.py:851(HTTPRequestURITooLong)
        1    0.000    0.000    0.000    0.000 exc.py:768(HTTPRequestTimeout)
        1    0.000    0.000    0.000    0.000 path.py:204(PathInfo)
        1    0.000    0.000    0.000    0.000 hex_codec.py:62(StreamWriter)
        1    0.000    0.000    0.000    0.000 urllib.py:114(ContentTooShortError)
        1    0.000    0.000    0.000    0.000 dyld.py:56(dyld_library_path)
        1    0.000    0.000    0.000    0.000 core.py:161(excview_tween_factory)
        1    0.000    0.000    0.000    0.000 converter.py:225(<dictcomp>)
        1    0.000    0.000    0.000    0.000 zipfile.py:20(BadZipfile)
        1    0.000    0.000    0.000    0.000 __init__.py:1745(__init__)
        1    0.000    0.000    0.000    0.000 shutil.py:34(SpecialFileError)
        1    0.000    0.000    0.000    0.000 latin_1.py:24(IncrementalDecoder)
        1    0.000    0.000    0.000    0.000 {gc.disable}
        1    0.000    0.000    0.000    0.000 {_hashlib.openssl_sha256}
        1    0.000    0.000    0.000    0.000 errors.py:41(NoBoundaryInMultipartDefect)
        1    0.000    0.000    0.000    0.000 query.py:19(Base)
        1    0.000    0.000    0.000    0.000 httplib.py:1328(UnknownTransferEncoding)
        2    0.000    0.000    0.000    0.000 directive.py:1062(identifier)
        1    0.000    0.000    0.000    0.000 exc.py:1031(HTTPServerError)
        1    0.000    0.000    0.000    0.000 __init__.py:408(UnknownExtra)
        1    0.000    0.000    0.000    0.000 {gc.enable}
        1    0.000    0.000    0.000    0.000 exc.py:899(HTTPExpectationFailed)
        1    0.000    0.000    0.000    0.000 urllib2.py:844(HTTPPasswordMgrWithDefaultRealm)
        1    0.000    0.000    0.000    0.000 urllib2.py:556(HTTPDefaultErrorHandler)
        1    0.000    0.000    0.000    0.000 exc.py:755(HTTPProxyAuthenticationRequired)
        1    0.000    0.000    0.000    0.000 __init__.py:238(c_char)
        1    0.000    0.000    0.000    0.000 __init__.py:180(c_ulong)
        1    0.000    0.000    0.000    0.000 __init__.py:1385(RootLogger)
        2    0.000    0.000    0.000    0.000 core.py:126(str_converter)
        1    0.000    0.000    0.000    0.000 config.py:858(CodeInfo)
        1    0.000    0.000    0.000    0.000 threading.py:1097(_set_daemon)
        1    0.000    0.000    0.000    0.000 shutil.py:31(Error)
        1    0.000    0.000    0.000    0.000 argextract.py:93(KeyExtractor)
        1    0.000    0.000    0.000    0.000 errors.py:35(MessageDefect)
        1    0.000    0.000    0.000    0.000 view.py:25(View)
        1    0.000    0.000    0.000    0.000 tool.py:11(ToolError)
        1    0.000    0.000    0.000    0.000 errors.py:56(MultipartInvariantViolationDefect)
        1    0.000    0.000    0.000    0.000 urllib.py:1008(addinfo)
        1    0.000    0.000    0.000    0.000 specifiers.py:149(_coerce_version)
        1    0.000    0.000    0.000    0.000 latin_1.py:31(StreamReader)
        1    0.000    0.000    0.000    0.000 __init__.py:294(c_wchar)
        2    0.000    0.000    0.000    0.000 predicate.py:317(key_by_predicate_name)
        1    0.000    0.000    0.000    0.000 acceptparse.py:235(AcceptLanguage)
        3    0.000    0.000    0.000    0.000 __init__.py:2056(register_finder)
        3    0.000    0.000    0.000    0.000 config.py:813(<lambda>)
        1    0.000    0.000    0.000    0.000 authentication.py:22(NoIdentity)
        1    0.000    0.000    0.000    0.000 calendar.py:28(IllegalWeekdayError)
        1    0.000    0.000    0.000    0.000 error.py:53(LinkError)
        1    0.000    0.000    0.000    0.000 uu.py:39(Error)
        1    0.000    0.000    0.000    0.000 __init__.py:961(PlaceHolder)
        1    0.000    0.000    0.000    0.000 httplib.py:1357(ResponseNotReady)
        1    0.000    0.000    0.000    0.000 copy.py:113(_copy_with_constructor)
        3    0.000    0.000    0.000    0.000 __init__.py:2979(__hash__)
        1    0.000    0.000    0.000    0.000 latin_1.py:34(StreamConverter)
        1    0.000    0.000    0.000    0.000 directive.py:749(JsonAction)
        1    0.000    0.000    0.000    0.000 errors.py:47(FirstHeaderLineIsContinuationDefect)
        1    0.000    0.000    0.000    0.000 exc.py:1064(HTTPBadGateway)
        1    0.000    0.000    0.000    0.000 dyld.py:65(dyld_image_suffix_search)
        1    0.000    0.000    0.000    0.000 path.py:339(<dictcomp>)
        1    0.000    0.000    0.000    0.000 errors.py:25(MultipartConversionError)
        1    0.000    0.000    0.000    0.000 hex_codec.py:65(StreamReader)
        1    0.000    0.000    0.000    0.000 zipfile.py:24(LargeZipFile)
        1    0.000    0.000    0.000    0.000 query.py:150(Attrs)
        1    0.000    0.000    0.000    0.000 path.py:353(<dictcomp>)
        1    0.000    0.000    0.000    0.000 specifiers.py:154(operator)
        3    0.000    0.000    0.000    0.000 <environment marker>:1(<module>)
        1    0.000    0.000    0.000    0.000 exc.py:389(HTTPOk)
        1    0.000    0.000    0.000    0.000 query.py:63(Query)
        1    0.000    0.000    0.000    0.000 specifiers.py:25(InvalidSpecifier)
        1    0.000    0.000    0.000    0.000 httplib.py:1351(CannotSendRequest)
        1    0.000    0.000    0.000    0.000 directive.py:366(discriminators)
        1    0.000    0.000    0.000    0.000 __init__.py:176(c_long)
        1    0.000    0.000    0.000    0.000 exc.py:1046(HTTPInternalServerError)
        1    0.000    0.000    0.000    0.000 __init__.py:1145(__init__)
        1    0.000    0.000    0.000    0.000 exc.py:796(HTTPGone)
        1    0.000    0.000    0.000    0.000 urllib2.py:915(ProxyBasicAuthHandler)
        1    0.000    0.000    0.000    0.000 Queue.py:231(LifoQueue)
        2    0.000    0.000    0.000    0.000 registry.py:88(register_external_predicates)
        1    0.000    0.000    0.000    0.000 argparse.py:705(ArgumentTypeError)

So this issue should be fixed with the next release of webob, and also should be fixed if you use Python 3.