Module Expr Str ImportFrom alias alias alias Import alias alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam defaults body For NameStore Call NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Num Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str Call NameLoad NameLoad Str NameLoad Str Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str For NameStore NameLoad body Assign TupleStore NameStore NameStore TupleLoad SubscriptLoad NameLoad Slice Num SubscriptLoad NameLoad Index Num Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Num Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr NameLoad body Assign NameStore Str Assign NameStore ListLoad TupleLoad Str Str Str Str Str Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num decorator_list decorator_list ClassDef bases NameLoad body Assign NameStore Str Assign NameStore ListLoad TupleLoad Str Str Str Str Str Str TupleLoad Str Str Str Str Str Str TupleLoad Str Str Str Str Str Str TupleLoad Str Str Str Str Str Str decorator_list ClassDef bases NameLoad body Assign NameStore Str Assign NameStore ListLoad TupleLoad Str Str Str Str Str Str Str decorator_list ClassDef bases NameLoad body Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Assign NameStore Dict Str Str Str Str Str Str Str Str Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If UnaryOpNot BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Delete AttributeDel NameLoad attr Delete AttributeDel NameLoad attr Delete AttributeDel NameLoad attr Delete AttributeDel NameLoad attr decorator_list decorator_list FunctionDef arguments args defaults kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return NameLoad decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str Assign NameStore ListLoad TupleLoad Call NameLoad Str Num Dict Str NameLoad TupleLoad Call NameLoad keyword ListLoad Str Str Num Dict Str ListLoad Str TupleLoad Call NameLoad Str Num Dict Str NameLoad TupleLoad Call NameLoad Str Num Dict Str NameLoad FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr For TupleStore NameStore NameStore NameStore NameStore AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad For NameStore Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad SubscriptLoad NameLoad Index NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpMult Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad BinOpMult Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpMult Str BinOpSub AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Str BinOpMult Str BinOpSub AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd BinOpMult Str AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad BinOpMult Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad FunctionDef arguments args NameParam defaults body TryExcept body Expr Call AttributeLoad NameLoad attr Str handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr Call NameLoad decorator_list Assign NameStore Call NameLoad Num AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpMult Str Num Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad SubscriptLoad NameLoad Index Num attr NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad SubscriptLoad NameLoad Index Num attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpMult Str BinOpSub AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpMult Str AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore ListLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr For NameStore Str body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Str Str Str Str Str Str Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Lambda arguments args NameParam defaults NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Lambda arguments args NameParam defaults NameLoad Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Lambda arguments args NameParam defaults NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Assign NameStore ListLoad FunctionDef arguments args NameParam defaults body TryExcept body Expr Call AttributeLoad NameLoad attr handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr Call NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad decorator_list Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Expr Call AttributeLoad NameLoad attr NameLoad ListLoad NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Assign NameStore ListLoad Str Str Str Str Str Str FunctionDef arguments args NameParam defaults body For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad Str Call AttributeLoad NameLoad attr Call AttributeLoad Str attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad Str attr ListComp Call AttributeLoad Str attr Call AttributeLoad NameLoad attr NameLoad comprehension NameStore AttributeLoad NameLoad attr Assign NameStore ListLoad Assign NameStore Str For NameStore NameLoad body Assign NameStore BinOpAdd NameLoad NameLoad TryExcept body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Pass Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num body Assign NameStore Call AttributeLoad NameLoad attr Str Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad For NameStore NameLoad body If AttributeLoad AttributeLoad NameLoad attr attr body Break Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad Str If NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Delete AttributeDel NameLoad attr orelse Expr Call AttributeLoad NameLoad attr UnaryOpNot Call NameLoad NameLoad Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore NameLoad ClassDef bases AttributeLoad NameLoad attr body Assign NameStore ListLoad FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list decorator_list For TupleStore NameStore NameStore ListLoad TupleLoad Str Str TupleLoad Str Str body Assign SubscriptStore AttributeLoad NameLoad attr Slice ListLoad NameLoad NameLoad Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Assign NameStore BinOpMod Str TupleLoad Call AttributeLoad Call AttributeLoad NameLoad attr Str attr Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Assign NameStore ListLoad Str Str Str Str Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad NameLoad Num Assign ListStore NameStore NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list Assign NameStore ListLoad Str For NameStore Call NameLoad BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad Expr Call AttributeLoad NameLoad attr ListLoad Str Str Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad NameLoad Num Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Num Assign NameStore ListLoad Str Str Str Str Str Str Str Str Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad NameLoad Num Assign ListStore NameStore NameStore NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore NameLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore NameLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Str Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore NameLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore BinOpMod Str TupleLoad Call NameLoad NameLoad NameLoad Assign NameStore NameLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Str ListLoad Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore NameLoad ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str keyword Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str keyword Num Call AttributeLoad NameLoad attr Str keyword Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str FunctionDef arguments args defaults body For NameStore TupleLoad Str Str body For NameStore TupleLoad Str body For NameStore TupleLoad NameLoad Num body For NameStore TupleLoad Str Str body If CompareIsNot NameLoad NameLoad body Assign NameStore BinOpAdd BinOpAdd NameLoad Str Call NameLoad NameLoad Expr Yield Call NameLoad TupleLoad NameLoad NameLoad NameLoad Str Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad decorator_list Expr Call NameLoad For NameStore Call NameLoad body Expr Call NameLoad NameLoad NameLoad Expr Call NameLoad NameLoad NameLoad Expr Call NameLoad For NameStore Call NameLoad body Expr Call NameLoad NameLoad NameLoad Expr Call NameLoad NameLoad NameLoad For NameStore Call NameLoad body Expr Call NameLoad Expr Call NameLoad NameLoad NameLoad Expr Call NameLoad Expr Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad Call NameLoad NameLoad NameLoad attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr SubscriptLoad Call NameLoad NameLoad NameLoad Index Str Str Expr Call NameLoad NameLoad NameLoad Dict Str Str Expr Call AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad Call NameLoad NameLoad NameLoad attr ListLoad TupleLoad Str ListLoad Str Expr Call NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Dict decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Dict Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Dict decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Dict Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr SubscriptLoad Call AttributeLoad Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr Index Num BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr SubscriptLoad Call AttributeLoad Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr attr Index Num BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Num Assign AttributeStore NameLoad attr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr ListLoad TupleLoad Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Num Assign AttributeStore NameLoad attr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr ListLoad TupleLoad Str Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Num Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr ListLoad TupleLoad Str Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Dict Str Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str ListLoad Str Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Dict Str Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call NameLoad Call NameLoad Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr ListLoad Str AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad Call NameLoad AttributeLoad NameLoad attr Str NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad Call NameLoad AttributeLoad NameLoad attr Str NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr ListLoad TupleLoad NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr ListLoad TupleLoad NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call NameLoad Call NameLoad Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad Call NameLoad Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list Assign NameStore Dict Str Str Str Str Str Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str decorator_list decorator_list
N/A N/A 
Test HTTP support.
 urlparse urlparse urlunsplit clear_cache N/A random urllib cgi twisted.python.compat set twisted.python.failure Failure twisted.trial unittest twisted.trial.unittest TestCase twisted.web http http_headers twisted.web.http PotentialDataLoss _DataLoss twisted.web.http _IdentityTransferDecoder twisted.protocols loopback twisted.internet.task Clock twisted.internet.error ConnectionLost twisted.test.proto_helpers StringTransport twisted.test.test_internet DummyProducer twisted.web.test.test_web DummyChannel DateTimeTest N/A N/A unittest TestCase N/A N/A Test date parsing functions. testRoundtrip N/A N/A self N/A N/A N/A i N/A range 10000 N/A N/A time N/A N/A random randint 0 2000000000 N/A timestr N/A N/A http datetimeToString time N/A time2 N/A N/A http stringToDatetime timestr N/A N/A N/A self assertEqual time time2 N/A N/A DummyHTTPHandler N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A N/A self content seek 0 0 N/A data N/A N/A N/A self content read N/A length N/A N/A self getHeader content-length N/A request N/A N/A N/A N/A '''
 N/A str length data '''
 N/A N/A N/A self setResponseCode 200 N/A N/A N/A self setHeader Request N/A self uri N/A N/A N/A self setHeader Command N/A self method N/A N/A N/A self setHeader Version N/A self clientproto N/A N/A N/A self setHeader Content-Length N/A len request N/A N/A N/A self write request N/A N/A N/A self finish N/A N/A LoopbackHTTPClient N/A N/A http HTTPClient N/A connectionMade N/A N/A self N/A N/A N/A N/A N/A self sendCommand GET /foo/bar N/A N/A N/A self sendHeader Content-Length 10 N/A N/A N/A self endHeaders N/A N/A N/A N/A self transport write 0123456789 N/A N/A ResponseTestMixin N/A object N/A N/A 
    A mixin that provides a simple means of comparing an actual response string
    to an expected response string by performing the minimal parsing.
     assertResponseEquals N/A N/A self responses expected N/A N/A N/A 
        Assert that the C{responses} matches the C{expected} responses.

        @type responses: C{str}
        @param responses: The bytes sent in response to one or more requests.

        @type expected: C{list} of C{tuple} of C{str}
        @param expected: The expected values for the responses.  Each tuple
            element of the list represents one response.  Each string element
            of the tuple is a full header line without delimiter, except for
            the last element which gives the full response body.
         N/A response expected N/A N/A N/A expectedHeaders expectedContent N/A N/A response N/A -1 N/A response N/A -1 N/A N/A headers rest N/A N/A responses split 1 N/A headers N/A N/A headers splitlines N/A N/A N/A self assertEqual N/A set headers N/A set expectedHeaders N/A content N/A rest N/A N/A len expectedContent N/A responses N/A rest N/A N/A len expectedContent N/A N/A N/A self assertEqual content expectedContent N/A N/A HTTP1_0TestCase N/A N/A unittest TestCase ResponseTestMixin N/A N/A requests GET / HTTP/1.0

GET / HTTP/1.1
Accept: text/html

 N/A expected_response N/A N/A HTTP/1.0 200 OK Request: / Command: GET Version: HTTP/1.0 Content-Length: 13 '''
None
'''
 test_buffer N/A N/A self N/A N/A N/A 
        Send requests over a channel and check responses match what is expected.
         N/A b N/A StringTransport N/A a N/A N/A http HTTPChannel N/A N/A a requestFactory DummyHTTPHandler N/A N/A N/A a makeConnection b N/A byte N/A self requests N/A N/A N/A N/A a dataReceived byte N/A N/A N/A a connectionLost N/A IOError all one N/A value N/A N/A b value N/A N/A N/A self assertResponseEquals value N/A self expected_response N/A test_requestBodyTimeout N/A N/A self N/A N/A N/A 
        L{HTTPChannel} resets its timeout whenever data from a request body is
        delivered to it.
         N/A clock N/A Clock N/A transport N/A StringTransport N/A protocol N/A N/A http HTTPChannel N/A N/A protocol timeOut 100 N/A N/A protocol callLater N/A clock callLater N/A N/A N/A protocol makeConnection transport N/A N/A N/A protocol dataReceived POST / HTTP/1.0
Content-Length: 2

 N/A N/A N/A clock advance 99 N/A N/A N/A self assertFalse N/A transport disconnecting N/A N/A N/A protocol dataReceived x N/A N/A N/A clock advance 99 N/A N/A N/A self assertFalse N/A transport disconnecting N/A N/A N/A protocol dataReceived x N/A N/A N/A self assertEqual N/A len N/A protocol requests 1 N/A N/A HTTP1_1TestCase N/A HTTP1_0TestCase N/A N/A requests GET / HTTP/1.1
Accept: text/html

POST / HTTP/1.1
Content-Length: 10

0123456789POST / HTTP/1.1
Content-Length: 10

0123456789HEAD / HTTP/1.1

 N/A expected_response N/A N/A HTTP/1.1 200 OK Request: / Command: GET Version: HTTP/1.1 Content-Length: 13 '''
None
'''
 N/A HTTP/1.1 200 OK Request: / Command: POST Version: HTTP/1.1 Content-Length: 21 '''
10
0123456789'''
 N/A HTTP/1.1 200 OK Request: / Command: POST Version: HTTP/1.1 Content-Length: 21 '''
10
0123456789'''
 N/A HTTP/1.1 200 OK Request: / Command: HEAD Version: HTTP/1.1 Content-Length: 13 N/A HTTP1_1_close_TestCase N/A HTTP1_0TestCase N/A N/A requests GET / HTTP/1.1
Accept: text/html
Connection: close

GET / HTTP/1.0

 N/A expected_response N/A N/A HTTP/1.1 200 OK Connection: close Request: / Command: GET Version: HTTP/1.1 Content-Length: 13 '''
None
'''
 N/A HTTP0_9TestCase N/A HTTP1_0TestCase N/A N/A requests GET /
 N/A expected_response HTTP/1.1 400 Bad Request

 assertResponseEquals N/A N/A self response expectedResponse N/A N/A N/A N/A N/A self assertEqual response expectedResponse N/A N/A HTTPLoopbackTestCase N/A N/A unittest TestCase N/A N/A expectedHeaders N/A request command version content-length /foo/bar GET HTTP/1.0 21 N/A numHeaders 0 N/A gotStatus 0 N/A gotResponse 0 N/A gotEndHeaders 0 _handleStatus N/A N/A self version status message N/A N/A N/A N/A self gotStatus 1 N/A N/A N/A self assertEqual version HTTP/1.0 N/A N/A N/A self assertEqual status 200 N/A _handleResponse N/A N/A self data N/A N/A N/A N/A self gotResponse 1 N/A N/A N/A self assertEqual data '''
10
0123456789'''
 N/A _handleHeader N/A N/A self key value N/A N/A N/A N/A self numHeaders N/A N/A self numHeaders 1 N/A N/A N/A self assertEqual N/A N/A self expectedHeaders N/A N/A N/A key lower value N/A _handleEndHeaders N/A N/A self N/A N/A N/A N/A self gotEndHeaders 1 N/A N/A N/A self assertEqual N/A self numHeaders 4 N/A testLoopback N/A N/A self N/A N/A N/A server N/A N/A http HTTPChannel N/A N/A server requestFactory DummyHTTPHandler N/A client N/A LoopbackHTTPClient N/A N/A client handleResponse N/A self _handleResponse N/A N/A client handleHeader N/A self _handleHeader N/A N/A client handleEndHeaders N/A self _handleEndHeaders N/A N/A client handleStatus N/A self _handleStatus N/A d N/A N/A loopback loopbackAsync server client N/A N/A N/A d addCallback N/A self _cbTestLoopback N/A d N/A _cbTestLoopback N/A N/A self ignored N/A N/A N/A N/A N/A N/A self gotStatus N/A self gotResponse N/A self gotEndHeaders N/A N/A N/A RuntimeError N/A didn't got all callbacks %s N/A N/A self gotStatus N/A self gotResponse N/A self gotEndHeaders N/A N/A self gotEndHeaders N/A N/A self gotResponse N/A N/A self gotStatus N/A N/A self numHeaders N/A N/A _prequest N/A N/A N/A headers N/A N/A 
    Make a request with the given request headers for the persistence tests.
     N/A request N/A N/A http Request N/A DummyChannel None N/A N/A k v N/A N/A headers iteritems N/A N/A N/A N/A N/A request requestHeaders setRawHeaders k v N/A request N/A PersistenceTestCase N/A N/A unittest TestCase N/A N/A 
    Tests for persistent HTTP connections.
     N/A ptests N/A N/A N/A _prequest HTTP/1.0 0 N/A connection None N/A N/A _prequest connection N/A close HTTP/1.1 0 N/A connection N/A close N/A N/A _prequest HTTP/1.1 1 N/A connection None N/A N/A _prequest HTTP/0.9 0 N/A connection None testAlgorithm N/A N/A self N/A N/A N/A c N/A N/A http HTTPChannel N/A N/A req version correctResult resultHeaders N/A self ptests N/A N/A result N/A N/A c checkPersistence req version N/A N/A N/A self assertEqual result correctResult N/A header N/A N/A resultHeaders keys N/A N/A N/A N/A self assertEqual N/A N/A N/A req responseHeaders getRawHeaders header None N/A resultHeaders N/A header N/A N/A IdentityTransferEncodingTests N/A TestCase N/A N/A 
    Tests for L{_IdentityTransferDecoder}.
     setUp N/A N/A self N/A N/A N/A 
        Create an L{_IdentityTransferDecoder} with callbacks hooked up so that
        calls to them can be inspected.
         N/A N/A self data N/A N/A N/A self finish N/A N/A N/A self contentLength 10 N/A N/A self decoder N/A _IdentityTransferDecoder N/A self contentLength N/A N/A self data append N/A N/A self finish append N/A test_exactAmountReceived N/A N/A self N/A N/A N/A 
        If L{_IdentityTransferDecoder.dataReceived} is called with a string
        with length equal to the content length passed to
        L{_IdentityTransferDecoder}'s initializer, the data callback is invoked
        with that string and the finish callback is invoked with a zero-length
        string.
         N/A N/A N/A N/A self decoder dataReceived N/A x N/A self contentLength N/A N/A N/A self assertEqual N/A self data N/A N/A x N/A self contentLength N/A N/A N/A self assertEqual N/A self finish N/A N/A test_shortStrings N/A N/A self N/A N/A N/A 
        If L{_IdentityTransferDecoder.dataReceived} is called multiple times
        with strings which, when concatenated, are as long as the content
        length provided, the data callback is invoked with each string and the
        finish callback is invoked only after the second call.
         N/A N/A N/A N/A self decoder dataReceived x N/A N/A N/A self assertEqual N/A self data N/A x N/A N/A N/A self assertEqual N/A self finish N/A N/A N/A N/A N/A self decoder dataReceived N/A y N/A N/A self contentLength 1 N/A N/A N/A self assertEqual N/A self data N/A x N/A y N/A N/A self contentLength 1 N/A N/A N/A self assertEqual N/A self finish N/A N/A test_longString N/A N/A self N/A N/A N/A 
        If L{_IdentityTransferDecoder.dataReceived} is called with a string
        with length greater than the provided content length, only the prefix
        of that string up to the content length is passed to the data callback
        and the remainder is passed to the finish callback.
         N/A N/A N/A N/A self decoder dataReceived N/A N/A x N/A self contentLength y N/A N/A N/A self assertEqual N/A self data N/A N/A x N/A self contentLength N/A N/A N/A self assertEqual N/A self finish N/A y N/A test_rejectDataAfterFinished N/A N/A self N/A N/A N/A 
        If data is passed to L{_IdentityTransferDecoder.dataReceived} after the
        finish callback has been invoked, L{RuntimeError} is raised.
         N/A failures N/A finish N/A N/A bytes N/A N/A N/A N/A N/A N/A N/A decoder dataReceived foo N/A N/A N/A N/A N/A N/A failures append N/A Failure N/A N/A decoder N/A _IdentityTransferDecoder 5 N/A N/A self data append finish N/A N/A N/A decoder dataReceived N/A x 4 N/A N/A N/A self assertEqual failures N/A N/A N/A N/A decoder dataReceived y N/A N/A N/A N/A failures N/A 0 trap RuntimeError N/A N/A N/A self assertEqual N/A str N/A N/A failures N/A 0 value _IdentityTransferDecoder cannot decode data after finishing N/A test_unknownContentLength N/A N/A self N/A N/A N/A 
        If L{_IdentityTransferDecoder} is constructed with C{None} for the
        content length, it passes all data delivered to it through to the data
        callback.
         N/A data N/A N/A finish N/A N/A decoder N/A _IdentityTransferDecoder None N/A data append N/A finish append N/A N/A N/A decoder dataReceived x N/A N/A N/A self assertEqual data N/A x N/A N/A N/A decoder dataReceived y N/A N/A N/A self assertEqual data N/A x y N/A N/A N/A self assertEqual finish N/A N/A _verifyCallbacksUnreferenced N/A N/A self decoder N/A N/A N/A 
        Check the decoder's data and finish callbacks and make sure they are
        None in order to help avoid references cycles.
         N/A N/A N/A self assertIdentical N/A decoder dataCallback None N/A N/A N/A self assertIdentical N/A decoder finishCallback None N/A test_earlyConnectionLose N/A N/A self N/A N/A N/A 
        L{_IdentityTransferDecoder.noMoreData} raises L{_DataLoss} if it is
        called and the content length is known but not enough bytes have been
        delivered.
         N/A N/A N/A N/A self decoder dataReceived N/A x N/A N/A self contentLength 1 N/A N/A N/A self assertRaises _DataLoss N/A N/A self decoder noMoreData N/A N/A N/A self _verifyCallbacksUnreferenced N/A self decoder N/A test_unknownContentLengthConnectionLose N/A N/A self N/A N/A N/A 
        L{_IdentityTransferDecoder.noMoreData} calls the finish callback and
        raises L{PotentialDataLoss} if it is called and the content length is
        unknown.
         N/A body N/A N/A finished N/A N/A decoder N/A _IdentityTransferDecoder None N/A body append N/A finished append N/A N/A N/A self assertRaises PotentialDataLoss N/A decoder noMoreData N/A N/A N/A self assertEqual body N/A N/A N/A N/A self assertEqual finished N/A N/A N/A N/A self _verifyCallbacksUnreferenced decoder N/A test_finishedConnectionLose N/A N/A self N/A N/A N/A 
        L{_IdentityTransferDecoder.noMoreData} does not raise any exception if
        it is called when the content length is known and that many bytes have
        been delivered.
         N/A N/A N/A N/A self decoder dataReceived N/A x N/A self contentLength N/A N/A N/A N/A self decoder noMoreData N/A N/A N/A self _verifyCallbacksUnreferenced N/A self decoder N/A N/A ChunkedTransferEncodingTests N/A N/A unittest TestCase N/A N/A 
    Tests for L{_ChunkedTransferDecoder}, which turns a byte stream encoded
    using HTTP I{chunked} C{Transfer-Encoding} back into the original byte
    stream.
     test_decoding N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} decodes chunked-encoded data
        and passes the result to the specified callback.
         N/A L N/A N/A p N/A N/A http _ChunkedTransferDecoder N/A L append None N/A N/A N/A p dataReceived 3
abc
5
12345
 N/A N/A N/A p dataReceived a
0123456789
 N/A N/A N/A self assertEqual L N/A abc 12345 0123456789 N/A test_short N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} decodes chunks broken up and
        delivered in multiple calls.
         N/A L N/A N/A finished N/A N/A p N/A N/A http _ChunkedTransferDecoder N/A L append N/A finished append N/A s 3
abc
5
12345
0

 N/A N/A N/A N/A p dataReceived s N/A N/A N/A self assertEqual L N/A a b c 1 2 3 4 5 N/A N/A N/A self assertEqual finished N/A N/A test_newlines N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} doesn't treat CR LF pairs
        embedded in chunk bodies specially.
         N/A L N/A N/A p N/A N/A http _ChunkedTransferDecoder N/A L append None N/A N/A N/A p dataReceived 2


 N/A N/A N/A self assertEqual L N/A N/A test_extensions N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} disregards chunk-extension
        fields.
         N/A L N/A N/A p N/A N/A http _ChunkedTransferDecoder N/A L append None N/A N/A N/A p dataReceived 3; x-foo=bar
abc
 N/A N/A N/A self assertEqual L N/A abc N/A test_finish N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} interprets a zero-length
        chunk as the end of the chunked data stream and calls the completion
        callback.
         N/A finished N/A N/A p N/A N/A http _ChunkedTransferDecoder None N/A finished append N/A N/A N/A p dataReceived 0

 N/A N/A N/A self assertEqual finished N/A N/A test_extra N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} passes any bytes which come
        after the terminating zero-length chunk to the completion callback.
         N/A finished N/A N/A p N/A N/A http _ChunkedTransferDecoder None N/A finished append N/A N/A N/A p dataReceived 0

hello N/A N/A N/A self assertEqual finished N/A hello N/A test_afterFinished N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.dataReceived} raises L{RuntimeError} if it
        is called after it has seen the last chunk.
         N/A p N/A N/A http _ChunkedTransferDecoder None N/A N/A N/A bytes N/A None N/A N/A N/A p dataReceived 0

 N/A N/A N/A self assertRaises RuntimeError N/A p dataReceived hello N/A test_earlyConnectionLose N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.noMoreData} raises L{_DataLoss} if it is
        called and the end of the last trailer has not yet been received.
         N/A parser N/A N/A http _ChunkedTransferDecoder None N/A N/A N/A bytes N/A None N/A N/A N/A parser dataReceived 0

 N/A exc N/A N/A self assertRaises _DataLoss N/A parser noMoreData N/A N/A N/A self assertEqual N/A str exc Chunked decoder in 'TRAILER' state, still expecting more data to get to 'FINISHED' state. N/A test_finishedConnectionLose N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.noMoreData} does not raise any exception if
        it is called after the terminal zero length chunk is received.
         N/A parser N/A N/A http _ChunkedTransferDecoder None N/A N/A N/A bytes N/A None N/A N/A N/A parser dataReceived 0

 N/A N/A N/A parser noMoreData N/A test_reentrantFinishedNoMoreData N/A N/A self N/A N/A N/A 
        L{_ChunkedTransferDecoder.noMoreData} can be called from the finished
        callback without raising an exception.
         N/A errors N/A N/A successes N/A finished N/A N/A extra N/A N/A N/A N/A N/A N/A N/A parser noMoreData N/A N/A N/A N/A N/A N/A errors append N/A Failure N/A N/A N/A N/A successes append True N/A N/A parser N/A N/A http _ChunkedTransferDecoder None finished N/A N/A N/A parser dataReceived 0

 N/A N/A N/A self assertEqual errors N/A N/A N/A N/A self assertEqual successes N/A True N/A N/A ChunkingTestCase N/A N/A unittest TestCase N/A N/A strings N/A abcv fdfsd423 Ffasfas
 523523

fsdf 4234 testChunks N/A N/A self N/A N/A N/A s N/A self strings N/A N/A N/A N/A self assertEqual N/A s N/A N/A http fromChunk N/A N/A join N/A N/A http toChunk s N/A N/A N/A self assertRaises ValueError N/A http fromChunk -5
malformed!
 N/A testConcatenatedChunks N/A N/A self N/A N/A N/A chunked N/A N/A join N/A N/A N/A join N/A N/A http toChunk t N/A t N/A self strings N/A result N/A N/A buffer N/A c chunked N/A N/A buffer N/A buffer c N/A N/A N/A N/A data buffer N/A N/A http fromChunk buffer N/A N/A N/A result append data N/A N/A N/A ValueError N/A N/A N/A N/A N/A self assertEqual result N/A self strings N/A N/A ParsingTestCase N/A N/A unittest TestCase N/A N/A 
    Tests for protocol parsing in L{HTTPChannel}.
     runRequest N/A N/A self httpRequest requestClass success N/A 1 N/A N/A httpRequest N/A N/A httpRequest replace N/A b N/A StringTransport N/A a N/A N/A http HTTPChannel N/A N/A a requestFactory requestClass N/A N/A N/A a makeConnection b N/A byte httpRequest N/A N/A N/A N/A a transport disconnecting N/A N/A N/A N/A N/A a dataReceived byte N/A N/A N/A a connectionLost N/A IOError all done N/A success N/A N/A N/A N/A self assertEqual N/A self didRequest 1 N/A N/A self didRequest N/A N/A N/A N/A self assert_ N/A N/A hasattr self didRequest N/A a N/A test_basicAuth N/A N/A self N/A N/A N/A 
        L{HTTPChannel} provides username and password information supplied in
        an I{Authorization} header to the L{Request} which makes it available
        via its C{getUser} and C{getPassword} methods.
         N/A testcase self Request N/A N/A http Request N/A N/A l N/A process N/A N/A self N/A N/A N/A N/A N/A testcase assertEqual N/A N/A self getUser N/A N/A self l N/A 0 N/A N/A N/A testcase assertEqual N/A N/A self getPassword N/A N/A self l N/A 1 N/A N/A N/A N/A u p N/A N/A foo bar N/A hello there:z N/A N/A N/A N/A Request l N/A N/A u p N/A s N/A %s:%s N/A u p N/A f N/A GET / HTTP/1.0
Authorization: Basic %s

 N/A N/A N/A N/A N/A s encode base64 strip N/A N/A N/A self runRequest f Request 0 N/A test_headers N/A N/A self N/A N/A N/A 
        Headers received by L{HTTPChannel} in a request are made available to
        the L{Request}.
         N/A processed N/A MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A processed append self N/A N/A N/A self finish N/A N/A N/A requestLines N/A GET / HTTP/1.0 Foo: bar baz: Quux baz: quux N/A N/A N/A self runRequest N/A N/A join requestLines MyRequest 0 N/A N/A request processed N/A N/A N/A self assertEqual N/A N/A N/A request requestHeaders getRawHeaders foo N/A bar N/A N/A N/A self assertEqual N/A N/A N/A request requestHeaders getRawHeaders bAz N/A Quux quux N/A test_tooManyHeaders N/A N/A self N/A N/A N/A 
        L{HTTPChannel} enforces a limit of C{HTTPChannel.maxHeaders} on the
        number of headers received per request.
         N/A processed N/A MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A processed append self N/A N/A N/A requestLines N/A GET / HTTP/1.0 N/A i N/A range N/A N/A N/A http HTTPChannel maxHeaders 2 N/A N/A N/A N/A requestLines append N/A %s: foo N/A i N/A N/A N/A requestLines extend N/A N/A channel N/A N/A self runRequest N/A N/A join requestLines MyRequest 0 N/A N/A N/A self assertEqual processed N/A N/A N/A N/A self assertEqual N/A N/A N/A channel transport value HTTP/1.1 400 Bad Request

 N/A test_headerLimitPerRequest N/A N/A self N/A N/A N/A 
        L{HTTPChannel} enforces the limit of C{HTTPChannel.maxHeaders} per
        request so that headers received in an earlier request do not count
        towards the limit when processing a later request.
         N/A processed N/A MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A processed append self N/A N/A N/A self finish N/A N/A N/A N/A N/A self patch N/A http HTTPChannel maxHeaders 1 N/A requestLines N/A GET / HTTP/1.1 Foo: bar GET / HTTP/1.1 Bar: baz N/A channel N/A N/A self runRequest N/A N/A join requestLines MyRequest 0 N/A N/A first second processed N/A N/A N/A self assertEqual N/A N/A first getHeader foo bar N/A N/A N/A self assertEqual N/A N/A second getHeader bar baz N/A N/A N/A self assertEqual N/A N/A N/A channel transport value HTTP/1.1 200 OK
Transfer-Encoding: chunked

0

HTTP/1.1 200 OK
Transfer-Encoding: chunked

0

 N/A testCookies N/A N/A self N/A N/A N/A 
        Test cookies parsing and reading.
         N/A httpRequest GET / HTTP/1.0
Cookie: rabbit="eat carrot"; ninja=secret; spam="hey 1=1!"

 N/A testcase self MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A testcase assertEqual N/A N/A self getCookie rabbit "eat carrot" N/A N/A N/A testcase assertEqual N/A N/A self getCookie ninja secret N/A N/A N/A testcase assertEqual N/A N/A self getCookie spam "hey 1=1!" N/A N/A testcase didRequest 1 N/A N/A N/A self finish N/A N/A N/A N/A N/A self runRequest httpRequest MyRequest N/A testGET N/A N/A self N/A N/A N/A httpRequest GET /?key=value&multiple=two+words&multiple=more%20words&empty= HTTP/1.0

 N/A testcase self MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A testcase assertEqual N/A self method GET N/A N/A N/A testcase assertEqual N/A N/A self args N/A key N/A value N/A N/A N/A testcase assertEqual N/A N/A self args N/A empty N/A N/A N/A N/A testcase assertEqual N/A N/A self args N/A multiple N/A two words more words N/A N/A testcase didRequest 1 N/A N/A N/A self finish N/A N/A N/A N/A N/A self runRequest httpRequest MyRequest N/A test_extraQuestionMark N/A N/A self N/A N/A N/A 
        While only a single '?' is allowed in an URL, several other servers
        allow several and pass all after the first through as part of the
        query arguments.  Test that we emulate this behavior.
         N/A httpRequest GET /foo?bar=?&baz=quux HTTP/1.0

 N/A testcase self MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A testcase assertEqual N/A self method GET N/A N/A N/A testcase assertEqual N/A self path /foo N/A N/A N/A testcase assertEqual N/A N/A self args N/A bar N/A ? N/A N/A N/A testcase assertEqual N/A N/A self args N/A baz N/A quux N/A N/A testcase didRequest 1 N/A N/A N/A self finish N/A N/A N/A N/A N/A self runRequest httpRequest MyRequest N/A test_formPOSTRequest N/A N/A self N/A N/A N/A 
        The request body of a I{POST} request with a I{Content-Type} header
        of I{application/x-www-form-urlencoded} is parsed according to that
        content type and made available in the C{args} attribute of the
        request object.  The original bytes of the request may still be read
        from the C{content} attribute.
         N/A query key=value&multiple=two+words&multiple=more%20words&empty= N/A httpRequest N/A POST / HTTP/1.0
Content-Length: %d
Content-Type: application/x-www-form-urlencoded

%s N/A N/A len query query N/A testcase self MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A testcase assertEqual N/A self method POST N/A N/A N/A testcase assertEqual N/A N/A self args N/A key N/A value N/A N/A N/A testcase assertEqual N/A N/A self args N/A empty N/A N/A N/A N/A testcase assertEqual N/A N/A self args N/A multiple N/A two words more words N/A N/A N/A testcase assertEqual N/A N/A N/A self content read query N/A N/A testcase didRequest 1 N/A N/A N/A self finish N/A N/A N/A N/A N/A self runRequest httpRequest MyRequest N/A testMissingContentDisposition N/A N/A self N/A N/A N/A req POST / HTTP/1.0
Content-Type: multipart/form-data; boundary=AaB03x
Content-Length: 103

--AaB03x
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

abasdfg
--AaB03x--
 N/A N/A N/A self runRequest req N/A http Request success False N/A test_chunkedEncoding N/A N/A self N/A N/A N/A 
        If a request uses the I{chunked} transfer encoding, the request body is
        decoded accordingly before it is made available on the request.
         N/A httpRequest GET / HTTP/1.0
Content-Type: text/plain
Transfer-Encoding: chunked

6
Hello,
14
 spam,eggs spam spam
0

 N/A testcase self MyRequest N/A N/A http Request N/A process N/A N/A self N/A N/A N/A N/A N/A testcase assertIsInstance N/A N/A N/A self content fileno int N/A N/A N/A testcase assertEqual N/A self method GET N/A N/A N/A testcase assertEqual N/A self path / N/A content N/A N/A N/A self content read N/A N/A N/A testcase assertEqual content Hello, spam,eggs spam spam N/A N/A N/A testcase assertIdentical N/A N/A self channel _transferDecoder None N/A N/A testcase didRequest 1 N/A N/A N/A self finish N/A N/A N/A N/A N/A self runRequest httpRequest MyRequest N/A N/A QueryArgumentsTestCase N/A N/A unittest TestCase N/A testParseqs N/A N/A self N/A N/A N/A N/A N/A self assertEqual N/A N/A cgi parse_qs a=b&d=c;+=f N/A N/A http parse_qs a=b&d=c;+=f N/A N/A N/A self failUnlessRaises ValueError N/A http parse_qs blah strict_parsing 1 N/A N/A N/A self assertEqual N/A N/A cgi parse_qs a=&b=c keep_blank_values 1 N/A N/A http parse_qs a=&b=c keep_blank_values 1 N/A N/A N/A self assertEqual N/A N/A cgi parse_qs a=&b=c N/A N/A http parse_qs a=&b=c N/A test_urlparse N/A N/A self N/A N/A N/A 
        For a given URL, L{http.urlparse} should behave the same as
        L{urlparse}, except it should always return C{str}, never C{unicode}.
         urls N/A N/A N/A N/A N/A scheme N/A http https N/A N/A host N/A example.com N/A N/A port N/A None 100 N/A N/A path N/A path N/A N/A N/A port None N/A N/A host N/A N/A host : N/A str port N/A N/A N/A urlunsplit N/A scheme host path N/A assertSameParsing N/A N/A url decode N/A N/A N/A 
            Verify that C{url} is parsed into the same objects by both
            L{http.urlparse} and L{urlparse}.
             N/A urlToStandardImplementation url N/A decode N/A N/A urlToStandardImplementation N/A N/A url decode ascii N/A standardResult N/A urlparse urlToStandardImplementation N/A N/A scheme netloc path params query fragment N/A N/A http urlparse url N/A N/A N/A self assertEqual N/A scheme netloc path params query fragment standardResult N/A N/A N/A self assertTrue N/A isinstance scheme str N/A N/A N/A self assertTrue N/A isinstance netloc str N/A N/A N/A self assertTrue N/A isinstance path str N/A N/A N/A self assertTrue N/A isinstance params str N/A N/A N/A self assertTrue N/A isinstance query str N/A N/A N/A self assertTrue N/A isinstance fragment str N/A N/A N/A clear_cache N/A url N/A urls N/A N/A N/A assertSameParsing url True N/A N/A assertSameParsing url False N/A N/A clear_cache N/A url N/A urls N/A N/A N/A assertSameParsing url False N/A N/A assertSameParsing url True N/A url N/A urls N/A N/A N/A clear_cache N/A N/A assertSameParsing url True N/A N/A clear_cache N/A N/A assertSameParsing url False N/A test_urlparseRejectsUnicode N/A N/A self N/A N/A N/A 
        L{http.urlparse} should reject unicode input early.
         N/A N/A N/A self assertRaises TypeError N/A http urlparse http://example.org/path N/A N/A ClientDriver N/A N/A http HTTPClient N/A handleStatus N/A N/A self version status message N/A N/A N/A N/A self version version N/A N/A self status status N/A N/A self message message N/A N/A ClientStatusParsing N/A N/A unittest TestCase N/A testBaseline N/A N/A self N/A N/A N/A c N/A ClientDriver N/A N/A N/A c lineReceived HTTP/1.0 201 foo N/A N/A N/A self assertEqual N/A c version HTTP/1.0 N/A N/A N/A self assertEqual N/A c status 201 N/A N/A N/A self assertEqual N/A c message foo N/A testNoMessage N/A N/A self N/A N/A N/A c N/A ClientDriver N/A N/A N/A c lineReceived HTTP/1.0 201 N/A N/A N/A self assertEqual N/A c version HTTP/1.0 N/A N/A N/A self assertEqual N/A c status 201 N/A N/A N/A self assertEqual N/A c message N/A testNoMessage_trailingSpace N/A N/A self N/A N/A N/A c N/A ClientDriver N/A N/A N/A c lineReceived HTTP/1.0 201  N/A N/A N/A self assertEqual N/A c version HTTP/1.0 N/A N/A N/A self assertEqual N/A c status 201 N/A N/A N/A self assertEqual N/A c message N/A N/A RequestTests N/A N/A unittest TestCase ResponseTestMixin N/A N/A 
    Tests for L{http.Request}
     _compatHeadersTest N/A N/A self oldName newName N/A N/A N/A 
        Verify that each of two different attributes which are associated with
        the same state properly reflect changes made through the other.

        This is used to test that the C{headers}/C{responseHeaders} and
        C{received_headers}/C{requestHeaders} pairs interact properly.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A getattr req newName setRawHeaders test N/A lemur N/A N/A N/A self assertEqual N/A N/A getattr req oldName N/A test lemur N/A N/A setattr req oldName N/A foo bar N/A N/A N/A self assertEqual N/A list N/A N/A N/A getattr req newName getAllRawHeaders N/A N/A Foo N/A bar N/A N/A setattr req newName N/A N/A http_headers Headers N/A N/A N/A self assertEqual N/A getattr req oldName N/A N/A test_received_headers N/A N/A self N/A N/A N/A 
        L{Request.received_headers} is a backwards compatible API which
        accesses and allows mutation of the state at L{Request.requestHeaders}.
         N/A N/A N/A self _compatHeadersTest received_headers requestHeaders N/A test_headers N/A N/A self N/A N/A N/A 
        L{Request.headers} is a backwards compatible API which accesses and
        allows mutation of the state at L{Request.responseHeaders}.
         N/A N/A N/A self _compatHeadersTest headers responseHeaders N/A test_getHeader N/A N/A self N/A N/A N/A 
        L{http.Request.getHeader} returns the value of the named request
        header.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A req requestHeaders setRawHeaders test N/A lemur N/A N/A N/A self assertEqual N/A N/A req getHeader test lemur N/A test_getHeaderReceivedMultiples N/A N/A self N/A N/A N/A 
        When there are multiple values for a single request header,
        L{http.Request.getHeader} returns the last value.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A req requestHeaders setRawHeaders test N/A lemur panda N/A N/A N/A self assertEqual N/A N/A req getHeader test panda N/A test_getHeaderNotFound N/A N/A self N/A N/A N/A 
        L{http.Request.getHeader} returns C{None} when asked for the value of a
        request header which is not present.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A self assertEqual N/A N/A req getHeader test None N/A test_getAllHeaders N/A N/A self N/A N/A N/A 
        L{http.Request.getAllheaders} returns a C{dict} mapping all request
        header names to their corresponding values.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A req requestHeaders setRawHeaders test N/A lemur N/A N/A N/A self assertEqual N/A N/A req getAllHeaders N/A test lemur N/A test_getAllHeadersNoHeaders N/A N/A self N/A N/A N/A 
        L{http.Request.getAllHeaders} returns an empty C{dict} if there are no
        request headers.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A self assertEqual N/A N/A req getAllHeaders N/A N/A test_getAllHeadersMultipleHeaders N/A N/A self N/A N/A N/A 
        When there are multiple values for a single request header,
        L{http.Request.getAllHeaders} returns only the last value.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A req requestHeaders setRawHeaders test N/A lemur panda N/A N/A N/A self assertEqual N/A N/A req getAllHeaders N/A test panda N/A test_setResponseCode N/A N/A self N/A N/A N/A 
        L{http.Request.setResponseCode} takes a status code and causes it to be
        used as the response status.
         N/A channel N/A DummyChannel N/A req N/A N/A http Request channel None N/A N/A N/A req setResponseCode 201 N/A N/A N/A req write N/A N/A N/A self assertEqual N/A N/A N/A N/A N/A N/A N/A channel transport written getvalue splitlines N/A 0 N/A %s 201 Created N/A N/A req clientproto N/A test_setResponseCodeAndMessage N/A N/A self N/A N/A N/A 
        L{http.Request.setResponseCode} takes a status code and a message and
        causes them to be used as the response status.
         N/A channel N/A DummyChannel N/A req N/A N/A http Request channel None N/A N/A N/A req setResponseCode 202 happily accepted N/A N/A N/A req write N/A N/A N/A self assertEqual N/A N/A N/A N/A N/A N/A N/A channel transport written getvalue splitlines N/A 0 N/A %s 202 happily accepted N/A N/A req clientproto N/A test_setResponseCodeAcceptsIntegers N/A N/A self N/A N/A N/A 
        L{http.Request.setResponseCode} accepts C{int} or C{long} for the code
        parameter and raises L{TypeError} if passed anything else.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A req setResponseCode 1 N/A N/A N/A req setResponseCode 1 N/A N/A N/A self assertRaises TypeError N/A req setResponseCode 1 N/A test_setHost N/A N/A self N/A N/A N/A 
        L{http.Request.setHost} sets the value of the host request header.
        The port should not be added because it is the default.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A req setHost example.com 80 N/A N/A N/A self assertEqual N/A N/A N/A req requestHeaders getRawHeaders host N/A example.com N/A test_setHostSSL N/A N/A self N/A N/A N/A 
        L{http.Request.setHost} sets the value of the host request header.
        The port should not be added because it is the default.
         N/A d N/A DummyChannel N/A N/A d transport N/A N/A DummyChannel SSL N/A req N/A N/A http Request d None N/A N/A N/A req setHost example.com 443 N/A N/A N/A self assertEqual N/A N/A N/A req requestHeaders getRawHeaders host N/A example.com N/A test_setHostNonDefaultPort N/A N/A self N/A N/A N/A 
        L{http.Request.setHost} sets the value of the host request header.
        The port should be added because it is not the default.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A req setHost example.com 81 N/A N/A N/A self assertEqual N/A N/A N/A req requestHeaders getRawHeaders host N/A example.com:81 N/A test_setHostSSLNonDefaultPort N/A N/A self N/A N/A N/A 
        L{http.Request.setHost} sets the value of the host request header.
        The port should be added because it is not the default.
         N/A d N/A DummyChannel N/A N/A d transport N/A N/A DummyChannel SSL N/A req N/A N/A http Request d None N/A N/A N/A req setHost example.com 81 N/A N/A N/A self assertEqual N/A N/A N/A req requestHeaders getRawHeaders host N/A example.com:81 N/A test_setHeader N/A N/A self N/A N/A N/A 
        L{http.Request.setHeader} sets the value of the given response header.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A req setHeader test lemur N/A N/A N/A self assertEqual N/A N/A N/A req responseHeaders getRawHeaders test N/A lemur N/A test_firstWrite N/A N/A self N/A N/A N/A 
        For an HTTP 1.0 request, L{http.Request.write} sends an HTTP 1.0
        Response-Line and whatever response headers are set.
         N/A req N/A N/A http Request N/A DummyChannel None N/A trans N/A StringTransport N/A N/A req transport trans N/A N/A N/A req setResponseCode 200 N/A N/A req clientproto HTTP/1.0 N/A N/A N/A N/A req responseHeaders setRawHeaders test N/A lemur N/A N/A N/A req write Hello N/A N/A N/A self assertResponseEquals N/A N/A trans value N/A N/A HTTP/1.0 200 OK Test: lemur Hello N/A test_firstWriteHTTP11Chunked N/A N/A self N/A N/A N/A 
        For an HTTP 1.1 request, L{http.Request.write} sends an HTTP 1.1
        Response-Line, whatever response headers are set, and uses chunked
        encoding for the response body.
         N/A req N/A N/A http Request N/A DummyChannel None N/A trans N/A StringTransport N/A N/A req transport trans N/A N/A N/A req setResponseCode 200 N/A N/A req clientproto HTTP/1.1 N/A N/A N/A N/A req responseHeaders setRawHeaders test N/A lemur N/A N/A N/A req write Hello N/A N/A N/A req write World! N/A N/A N/A self assertResponseEquals N/A N/A trans value N/A N/A HTTP/1.1 200 OK Test: lemur Transfer-Encoding: chunked 5
Hello
6
World!
 N/A test_firstWriteLastModified N/A N/A self N/A N/A N/A 
        For an HTTP 1.0 request for a resource with a known last modified time,
        L{http.Request.write} sends an HTTP Response-Line, whatever response
        headers are set, and a last-modified header with that time.
         N/A req N/A N/A http Request N/A DummyChannel None N/A trans N/A StringTransport N/A N/A req transport trans N/A N/A N/A req setResponseCode 200 N/A N/A req clientproto HTTP/1.0 N/A N/A req lastModified 0 N/A N/A N/A N/A req responseHeaders setRawHeaders test N/A lemur N/A N/A N/A req write Hello N/A N/A N/A self assertResponseEquals N/A N/A trans value N/A N/A HTTP/1.0 200 OK Test: lemur Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT Hello N/A test_parseCookies N/A N/A self N/A N/A N/A 
        L{http.Request.parseCookies} extracts cookies from C{requestHeaders}
        and adds them to C{received_cookies}.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A req requestHeaders setRawHeaders cookie N/A test="lemur"; test2="panda" N/A N/A N/A req parseCookies N/A N/A N/A self assertEqual N/A req received_cookies N/A test test2 "lemur" "panda" N/A test_parseCookiesMultipleHeaders N/A N/A self N/A N/A N/A 
        L{http.Request.parseCookies} can extract cookies from multiple Cookie
        headers.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A N/A req requestHeaders setRawHeaders cookie N/A test="lemur" test2="panda" N/A N/A N/A req parseCookies N/A N/A N/A self assertEqual N/A req received_cookies N/A test test2 "lemur" "panda" N/A test_connectionLost N/A N/A self N/A N/A N/A 
        L{http.Request.connectionLost} closes L{Request.content} and drops the
        reference to the L{HTTPChannel} to assist with garbage collection.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A req gotLength 10 N/A content N/A req content N/A N/A N/A req handleContentChunk hello N/A N/A N/A req connectionLost N/A Failure N/A ConnectionLost Finished N/A N/A N/A self assertTrue N/A content closed N/A N/A N/A self assertIdentical N/A req channel None N/A test_registerProducerTwiceFails N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} when a producer is already
        registered raises ValueError.
         N/A req N/A N/A http Request N/A DummyChannel None N/A N/A N/A req registerProducer N/A DummyProducer True N/A N/A N/A self assertRaises ValueError N/A req registerProducer N/A DummyProducer True N/A test_registerProducerWhenQueuedPausesPushProducer N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} with an IPushProducer when the
        request is queued pauses the producer.
         N/A req N/A N/A http Request N/A DummyChannel True N/A producer N/A DummyProducer N/A N/A N/A req registerProducer producer True N/A N/A N/A self assertEqual N/A pause N/A producer events N/A test_registerProducerWhenQueuedDoesntPausePullProducer N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} with an IPullProducer when the
        request is queued does not pause the producer, because it doesn't make
        sense to pause a pull producer.
         N/A req N/A N/A http Request N/A DummyChannel True N/A producer N/A DummyProducer N/A N/A N/A req registerProducer producer False N/A N/A N/A self assertEqual N/A N/A producer events N/A test_registerProducerWhenQueuedDoesntRegisterPushProducer N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} with an IPushProducer when the
        request is queued does not register the producer on the request's
        transport.
         N/A N/A N/A self assertIdentical None N/A getattr N/A http StringTransport registerProducer None StringTransport cannot implement registerProducer for this test to be valid. N/A req N/A N/A http Request N/A DummyChannel True N/A producer N/A DummyProducer N/A N/A N/A req registerProducer producer True N/A N/A N/A self assertIsInstance N/A req transport N/A http StringTransport N/A test_registerProducerWhenQueuedDoesntRegisterPullProducer N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} with an IPullProducer when the
        request is queued does not register the producer on the request's
        transport.
         N/A N/A N/A self assertIdentical None N/A getattr N/A http StringTransport registerProducer None StringTransport cannot implement registerProducer for this test to be valid. N/A req N/A N/A http Request N/A DummyChannel True N/A producer N/A DummyProducer N/A N/A N/A req registerProducer producer False N/A N/A N/A self assertIsInstance N/A req transport N/A http StringTransport N/A test_registerProducerWhenNotQueuedRegistersPushProducer N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} with an IPushProducer when the
        request is not queued registers the producer as a push producer on the
        request's transport.
         N/A req N/A N/A http Request N/A DummyChannel False N/A producer N/A DummyProducer N/A N/A N/A req registerProducer producer True N/A N/A N/A self assertEqual N/A N/A producer True N/A N/A req transport producers N/A test_registerProducerWhenNotQueuedRegistersPullProducer N/A N/A self N/A N/A N/A 
        Calling L{Request.registerProducer} with an IPullProducer when the
        request is not queued registers the producer as a pull producer on the
        request's transport.
         N/A req N/A N/A http Request N/A DummyChannel False N/A producer N/A DummyProducer N/A N/A N/A req registerProducer producer False N/A N/A N/A self assertEqual N/A N/A producer False N/A N/A req transport producers N/A test_connectionLostNotification N/A N/A self N/A N/A N/A 
        L{Request.connectionLost} triggers all finish notification Deferreds
        and cleans up per-request state.
         N/A d N/A DummyChannel N/A request N/A N/A http Request d True N/A finished N/A N/A request notifyFinish N/A N/A N/A request connectionLost N/A Failure N/A ConnectionLost Connection done N/A N/A N/A self assertIdentical N/A request channel None N/A N/A N/A self assertFailure finished ConnectionLost N/A test_finishNotification N/A N/A self N/A N/A N/A 
        L{Request.finish} triggers all finish notification Deferreds.
         N/A request N/A N/A http Request N/A DummyChannel False N/A finished N/A N/A request notifyFinish N/A N/A N/A request gotLength 1 N/A N/A N/A request finish N/A finished N/A test_writeAfterFinish N/A N/A self N/A N/A N/A 
        Calling L{Request.write} after L{Request.finish} has been called results
        in a L{RuntimeError} being raised.
         N/A request N/A N/A http Request N/A DummyChannel False N/A finished N/A N/A request notifyFinish N/A N/A N/A request gotLength 1 N/A N/A N/A request write foobar N/A N/A N/A request finish N/A N/A N/A self assertRaises RuntimeError N/A request write foobar N/A finished N/A test_finishAfterConnectionLost N/A N/A self N/A N/A N/A 
        Calling L{Request.finish} after L{Request.connectionLost} has been
        called results in a L{RuntimeError} being raised.
         N/A channel N/A DummyChannel N/A transport N/A channel transport N/A req N/A N/A http Request channel False N/A N/A N/A req connectionLost N/A Failure N/A ConnectionLost The end. N/A N/A N/A self assertRaises RuntimeError N/A req finish N/A N/A MultilineHeadersTestCase N/A N/A unittest TestCase N/A N/A 
    Tests to exercise handling of multiline headers by L{HTTPClient}.  RFCs 1945
    (HTTP 1.0) and 2616 (HTTP 1.1) state that HTTP message header fields can
    span multiple lines if each extra line is preceded by at least one space or
    horizontal tab.
     setUp N/A N/A self N/A N/A N/A 
        Initialize variables used to verify that the header-processing functions
        are getting called.
         N/A N/A self handleHeaderCalled False N/A N/A self handleEndHeadersCalled False N/A N/A expectedHeaders N/A Content-Length X-Multiline X-Multiline2 10 line-0	line-1 line-2 line-3 ourHandleHeader N/A N/A self key val N/A N/A N/A 
        Dummy implementation of L{HTTPClient.handleHeader}.
         N/A N/A self handleHeaderCalled True N/A N/A N/A self assertEqual val N/A N/A self expectedHeaders N/A key N/A ourHandleEndHeaders N/A N/A self N/A N/A N/A 
        Dummy implementation of L{HTTPClient.handleEndHeaders}.
         N/A N/A self handleEndHeadersCalled True N/A test_extractHeader N/A N/A self N/A N/A N/A 
        A header isn't processed by L{HTTPClient.extractHeader} until it is
        confirmed in L{HTTPClient.lineReceived} that the header has been
        received completely.
         N/A c N/A ClientDriver N/A N/A c handleHeader N/A self ourHandleHeader N/A N/A c handleEndHeaders N/A self ourHandleEndHeaders N/A N/A N/A c lineReceived HTTP/1.0 201 N/A N/A N/A c lineReceived Content-Length: 10 N/A N/A N/A self assertIdentical N/A c length None N/A N/A N/A self assertFalse N/A self handleHeaderCalled N/A N/A N/A self assertFalse N/A self handleEndHeadersCalled N/A N/A N/A c lineReceived N/A N/A N/A self assertTrue N/A self handleHeaderCalled N/A N/A N/A self assertTrue N/A self handleEndHeadersCalled N/A N/A N/A self assertEqual N/A c length 10 N/A test_noHeaders N/A N/A self N/A N/A N/A 
        An HTTP request with no headers will not cause any calls to
        L{handleHeader} but will cause L{handleEndHeaders} to be called on
        L{HTTPClient} subclasses.
         N/A c N/A ClientDriver N/A N/A c handleHeader N/A self ourHandleHeader N/A N/A c handleEndHeaders N/A self ourHandleEndHeaders N/A N/A N/A c lineReceived HTTP/1.0 201 N/A N/A N/A c lineReceived N/A N/A N/A self assertFalse N/A self handleHeaderCalled N/A N/A N/A self assertTrue N/A self handleEndHeadersCalled N/A N/A N/A self assertEqual N/A c version HTTP/1.0 N/A N/A N/A self assertEqual N/A c status 201 N/A test_multilineHeaders N/A N/A self N/A N/A N/A 
        L{HTTPClient} parses multiline headers by buffering header lines until
        an empty line or a line that does not start with whitespace hits
        lineReceived, confirming that the header has been received completely.
         N/A c N/A ClientDriver N/A N/A c handleHeader N/A self ourHandleHeader N/A N/A c handleEndHeaders N/A self ourHandleEndHeaders N/A N/A N/A c lineReceived HTTP/1.0 201 N/A N/A N/A c lineReceived X-Multiline: line-0 N/A N/A N/A self assertFalse N/A self handleHeaderCalled N/A N/A N/A c lineReceived 	line-1 N/A N/A N/A c lineReceived X-Multiline2: line-2 N/A N/A N/A self assertTrue N/A self handleHeaderCalled N/A N/A N/A c lineReceived  line-3 N/A N/A N/A c lineReceived Content-Length: 10 N/A N/A N/A c lineReceived N/A N/A N/A self assertTrue N/A self handleEndHeadersCalled N/A N/A N/A self assertEqual N/A c version HTTP/1.0 N/A N/A N/A self assertEqual N/A c status 201 N/A N/A N/A self assertEqual N/A c length 10 N/A N/A Expect100ContinueServerTests N/A N/A unittest TestCase N/A N/A 
    Test that the HTTP server handles 'Expect: 100-continue' header correctly.

    The tests in this class all assume a simplistic behavior where user code
    cannot choose to deny a request. Once ticket #288 is implemented and user
    code can run before the body of a POST is processed this should be
    extended to support overriding this behavior.
     test_HTTP10 N/A N/A self N/A N/A N/A 
        HTTP/1.0 requests do not get 100-continue returned, even if 'Expect:
        100-continue' is included (RFC 2616 10.1.1).
         N/A transport N/A StringTransport N/A channel N/A N/A http HTTPChannel N/A N/A channel requestFactory DummyHTTPHandler N/A N/A N/A channel makeConnection transport N/A N/A N/A channel dataReceived GET / HTTP/1.0
 N/A N/A N/A channel dataReceived Host: www.example.com
 N/A N/A N/A channel dataReceived Content-Length: 3
 N/A N/A N/A channel dataReceived Expect: 100-continue
 N/A N/A N/A channel dataReceived N/A N/A N/A self assertEqual N/A N/A transport value N/A N/A N/A channel dataReceived abc N/A N/A N/A self assertEqual N/A N/A transport value HTTP/1.0 200 OK
Command: GET
Content-Length: 13
Version: HTTP/1.0
Request: /

'''
3
abc'''
 N/A test_expect100ContinueHeader N/A N/A self N/A N/A N/A 
        If a HTTP/1.1 client sends a 'Expect: 100-continue' header, the server
        responds with a 100 response code before handling the request body, if
        any. The normal resource rendering code will then be called, which
        will send an additional response code.
         N/A transport N/A StringTransport N/A channel N/A N/A http HTTPChannel N/A N/A channel requestFactory DummyHTTPHandler N/A N/A N/A channel makeConnection transport N/A N/A N/A channel dataReceived GET / HTTP/1.1
 N/A N/A N/A channel dataReceived Host: www.example.com
 N/A N/A N/A channel dataReceived Expect: 100-continue
 N/A N/A N/A channel dataReceived Content-Length: 3
 N/A N/A N/A self assertEqual N/A N/A transport value N/A N/A N/A channel dataReceived N/A N/A N/A self assertEqual N/A N/A transport value HTTP/1.1 100 Continue

 N/A N/A N/A channel dataReceived abc N/A N/A N/A self assertEqual N/A N/A transport value HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Command: GET
Content-Length: 13
Version: HTTP/1.1
Request: /

'''
3
abc'''
 N/A test_expect100ContinueWithPipelining N/A N/A self N/A N/A N/A 
        If a HTTP/1.1 client sends a 'Expect: 100-continue' header, followed
        by another pipelined request, the 100 response does not interfere with
        the response to the second request.
         N/A transport N/A StringTransport N/A channel N/A N/A http HTTPChannel N/A N/A channel requestFactory DummyHTTPHandler N/A N/A N/A channel makeConnection transport N/A N/A N/A channel dataReceived GET / HTTP/1.1
Host: www.example.com
Expect: 100-continue
Content-Length: 3

abcPOST /foo HTTP/1.1
Host: www.example.com
Content-Length: 4

defg N/A N/A N/A self assertEqual N/A N/A transport value HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Command: GET
Content-Length: 13
Version: HTTP/1.1
Request: /

'''
3
abc'''
HTTP/1.1 200 OK
Command: POST
Content-Length: 14
Version: HTTP/1.1
Request: /foo

'''
4
defg'''
 N/A N/A