Module Expr Str Assign NameStore ListLoad Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Assign NameStore Str Import alias identifier Import alias identifier Import alias identifier TryExcept body ImportFrom alias identifier Assign NameStore Call NameLoad Str Str handlers ExceptHandler type NameLoad body Assign NameStore Lambda arguments args defaults vararg NameLoad Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body Pass decorator_list decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body If NameLoad body Assign NameStore Call NameLoad AttributeLoad SubscriptLoad NameLoad Index Num attr AttributeLoad SubscriptLoad NameLoad Index Num attr Str NameLoad Return Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body Return NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults vararg body Return SubscriptLoad NameLoad Index NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body Return NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults vararg body Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults vararg body If CompareIn AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad body Return SubscriptLoad NameLoad Index NameLoad If CompareEq NameLoad Num body If CompareEq AttributeLoad NameLoad attr NameLoad body Return SubscriptLoad NameLoad Index NameLoad Return Call NameLoad NameLoad BinOpMult Str AttributeLoad NameLoad attr BinOpAdd BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num If CompareEq NameLoad Num body If CompareEq AttributeLoad NameLoad attr NameLoad body Return SubscriptLoad NameLoad Index NameLoad Return Call NameLoad NameLoad BinOpMult Str AttributeLoad NameLoad attr BinOpAdd BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list decorator_list ClassDef bases NameLoad NameLoad NameLoad body Expr Str decorator_list Assign NameStore ListLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Dict NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad TryExcept body Import alias handlers ExceptHandler type NameLoad body Import alias ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults NameLoad body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad decorator_list decorator_list Assign NameStore Call NameLoad Delete NameDel NameDel TryExcept body Expr AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body If Call NameLoad Call AttributeLoad NameLoad attr Str body Delete AttributeDel Call AttributeLoad NameLoad attr attr FunctionDef arguments args NameParam defaults body Expr Str If CompareIn NameLoad TupleLoad NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign AttributeStore Call AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args defaults body Expr Str TryExcept body Return AttributeLoad Call AttributeLoad NameLoad attr attr handlers ExceptHandler type NameLoad body Assign NameStore Call NameLoad Assign AttributeStore Call AttributeLoad NameLoad attr attr NameLoad Return NameLoad decorator_list orelse Assign NameStore Call AttributeLoad NameLoad attr If Call NameLoad NameLoad Str body Delete AttributeDel NameLoad attr FunctionDef arguments args NameParam defaults NameLoad body Expr Str TryExcept body Return AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Assign NameStore Call NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIn NameLoad TupleLoad NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad decorator_list Delete NameDel NameDel FunctionDef arguments args NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Return Call NameLoad NameLoad decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore TupleLoad Str Str Str Str FunctionDef arguments args NameParam NameParam NameParam defaults Str NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Return Call AttributeLoad NameLoad attr NameLoad BinOpMod Str NameLoad If CompareEq Call AttributeLoad NameLoad attr Str Str body Assign AttributeStore NameLoad attr Num orelse Assign AttributeStore NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr Str If CompareIsNot NameLoad NameLoad body Assign NameStore BoolOpOr Call AttributeLoad NameLoad attr Str Str Assign NameStore Call NameLoad BoolOpOr Call AttributeLoad NameLoad attr Str Str Assign AttributeStore NameLoad attr Call NameLoad Call NameLoad BinOpAdd NameLoad NameLoad Assign AttributeStore NameLoad attr BinOpSub NameLoad Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr Str If CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad Call NameLoad Call NameLoad BoolOpOr NameLoad Str attr Str If Call AttributeLoad NameLoad attr Str body Assign AttributeStore NameLoad attr Str orelse Assign AttributeStore NameLoad attr Str orelse Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr NameLoad Return NameLoad If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body If CompareGtE NameLoad Num body Assign AttributeStore NameLoad attr Num orelse Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Call NameLoad Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad If Call NameLoad NameLoad NameLoad body 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 Return NameLoad If Call NameLoad NameLoad NameLoad body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Return NameLoad If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body If CompareNotEq Call NameLoad NameLoad Num body Raise Call NameLoad Str If UnaryOpNot BoolOpAnd Call NameLoad SubscriptLoad NameLoad Index Num TupleLoad NameLoad NameLoad CompareIn SubscriptLoad NameLoad Index Num TupleLoad Num Num body Raise Call NameLoad Str Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num If CompareEq SubscriptLoad NameLoad Index Num Str body Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr NameLoad orelse Assign NameStore ListLoad For NameStore SubscriptLoad NameLoad Index Num body If BoolOpAnd Call NameLoad NameLoad TupleLoad NameLoad NameLoad CompareLtELtE Num NameLoad Num body If BoolOpOr NameLoad CompareNotEq NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad orelse Raise Call NameLoad Str If CompareIn SubscriptLoad NameLoad Index Num TupleLoad Str Str body Assign AttributeStore NameLoad attr Call AttributeLoad Str attr Call NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr NameLoad orelse If Call NameLoad SubscriptLoad NameLoad Index Num TupleLoad NameLoad NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad Str attr Call NameLoad NameLoad BoolOpOr NameLoad ListLoad Num Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr NameLoad orelse Raise Call NameLoad Str Return NameLoad If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr 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 Return NameLoad Raise Call NameLoad BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body Return Call NameLoad NameLoad If BoolOpOr Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad body Return Call NameLoad Call NameLoad NameLoad If CompareEq Call AttributeLoad NameLoad attr Num NameLoad Num body Assign NameStore Num orelse Assign NameStore Num Assign TupleStore NameStore NameStore Call AttributeLoad Call NameLoad NameLoad attr Assign NameStore BinOpSub Call AttributeLoad NameLoad attr Num Assign NameStore Call NameLoad NameLoad Call NameLoad BinOpMult NameLoad BinOpPow Num NameLoad UnaryOpUSub NameLoad If CompareIs NameLoad NameLoad body Return NameLoad orelse Return Call NameLoad NameLoad decorator_list Assign NameStore Call NameLoad NameLoad FunctionDef arguments args NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr If CompareEq NameLoad Str body Return Num orelse If CompareEq NameLoad Str body Return Num Return Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareEq AttributeLoad NameLoad attr Str body If AttributeLoad NameLoad attr body Return Num Return Num Return Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Assign NameStore NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad Return Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad orelse If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad orelse If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad orelse If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad Return Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BoolOpOr AttributeLoad NameLoad attr CompareNotEq AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If CompareEq NameLoad NameLoad body Return Num orelse If CompareLt NameLoad NameLoad body Return Num orelse Return Num If UnaryOpNot NameLoad body If UnaryOpNot NameLoad body Return Num orelse Return UnaryOpUSub BinOpPow Num AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Return BinOpPow Num AttributeLoad NameLoad attr If CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Num If CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Num Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If CompareEq NameLoad NameLoad body Assign NameStore BinOpAdd AttributeLoad NameLoad attr BinOpMult Str BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpAdd AttributeLoad NameLoad attr BinOpMult Str BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq NameLoad NameLoad body Return Num orelse If CompareLt NameLoad NameLoad body Return UnaryOpUSub BinOpPow Num AttributeLoad NameLoad attr orelse Return BinOpPow Num AttributeLoad NameLoad attr orelse If CompareGt NameLoad NameLoad body Return BinOpPow Num AttributeLoad NameLoad attr orelse Return UnaryOpUSub BinOpPow Num AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr NameLoad NameLoad body Return NameLoad Return CompareEq Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr NameLoad NameLoad body Return NameLoad Return CompareNotEq Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Return CompareLt Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Return CompareLtE Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Return CompareGt Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Return CompareGtE Call AttributeLoad NameLoad attr NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpOr AttributeLoad NameLoad attr BoolOpAnd NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Return Call NameLoad Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Raise Call NameLoad Str orelse If Call AttributeLoad NameLoad attr body Return Num orelse If AttributeLoad NameLoad attr body Return Num orelse Return Num Assign NameStore Call NameLoad NameLoad If CompareEq Call AttributeLoad NameLoad attr NameLoad NameLoad body Return Call NameLoad NameLoad If Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Return Call NameLoad BinOpMult BinOpMult BinOpPow Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad Num AttributeLoad NameLoad attr BinOpSub BinOpPow Num Num Num Return Call NameLoad TupleLoad AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad AttributeLoad NameLoad attr Call NameLoad Call NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore SubscriptLoad ListLoad Str Str Index AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body If CompareEq AttributeLoad NameLoad attr Str body Return BinOpAdd NameLoad Str orelse If CompareEq AttributeLoad NameLoad attr Str body Return BinOpAdd BinOpAdd NameLoad Str AttributeLoad NameLoad attr orelse Return BinOpAdd BinOpAdd NameLoad Str AttributeLoad NameLoad attr Assign NameStore BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr If BoolOpAnd CompareLtE AttributeLoad NameLoad attr Num CompareGt NameLoad Num body Assign NameStore NameLoad orelse If UnaryOpNot NameLoad body Assign NameStore Num orelse If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore BinOpSub BinOpMod BinOpAdd NameLoad Num Num Num orelse Assign NameStore BinOpAdd BinOpMod BinOpSub NameLoad Num Num Num If CompareLtE NameLoad Num body Assign NameStore Str Assign NameStore BinOpAdd BinOpAdd Str BinOpMult Str UnaryOpUSub NameLoad AttributeLoad NameLoad attr orelse If CompareGtE NameLoad Call NameLoad AttributeLoad NameLoad attr body Assign NameStore BinOpAdd AttributeLoad NameLoad attr BinOpMult Str BinOpSub NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore Str orelse Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad Assign NameStore BinOpAdd Str SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad If CompareEq NameLoad NameLoad body Assign NameStore Str orelse If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore BinOpAdd SubscriptLoad ListLoad Str Str Index AttributeLoad NameLoad attr BinOpMod Str BinOpSub NameLoad NameLoad Return BinOpAdd BinOpAdd BinOpAdd NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Return Call AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpAnd UnaryOpNot NameLoad CompareNotEq AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse Assign NameStore Call AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpAnd UnaryOpNot NameLoad CompareNotEq AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr body If BoolOpAnd CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str Return Call NameLoad NameLoad If Call AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Num If BoolOpAnd CompareEq AttributeLoad NameLoad attr NameLoad CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If NameLoad body Assign NameStore Num Assign NameStore Call NameLoad NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad If UnaryOpNot NameLoad body Assign NameStore Call NameLoad NameLoad BinOpSub BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad If UnaryOpNot NameLoad body Assign NameStore Call NameLoad NameLoad BinOpSub BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad If CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad If CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore TupleLoad NameLoad NameLoad If CompareEq AttributeLoad NameLoad attr Num body Assign AttributeStore NameLoad attr Num Assign TupleStore AttributeStore NameLoad attr AttributeStore NameLoad attr TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Assign AttributeStore NameLoad attr Num orelse If CompareEq AttributeLoad NameLoad attr Num body Assign AttributeStore NameLoad attr Num Assign TupleStore AttributeStore NameLoad attr AttributeStore NameLoad attr TupleLoad Num Num orelse Assign AttributeStore NameLoad attr Num If CompareEq AttributeLoad NameLoad attr Num body Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Assign AttributeStore NameLoad attr BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr body If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Return SubscriptLoad NameLoad Index NameLoad If Call AttributeLoad NameLoad attr body If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Return SubscriptLoad NameLoad Index NameLoad Assign NameStore BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot NameLoad UnaryOpNot NameLoad body Assign NameStore Call NameLoad NameLoad Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Call NameLoad BinOpMult AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If BoolOpAnd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If Call AttributeLoad NameLoad attr body Return SubscriptLoad NameLoad Index NameLoad If Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Str Return Call NameLoad NameLoad Str Call AttributeLoad NameLoad attr If UnaryOpNot NameLoad body If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If UnaryOpNot NameLoad body Assign NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Num orelse Assign NameStore BinOpAdd BinOpAdd BinOpSub Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Assign NameStore BinOpSub BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If CompareGtE NameLoad Num body Assign TupleStore NameStore NameStore Call NameLoad BinOpMult AttributeLoad NameLoad attr BinOpPow Num NameLoad AttributeLoad NameLoad attr orelse Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr BinOpMult AttributeLoad NameLoad attr BinOpPow Num UnaryOpUSub NameLoad If NameLoad body If CompareEq BinOpMod NameLoad Num Num body AugAssignAdd NameStore Num orelse Assign NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr While BoolOpAnd CompareLt NameLoad NameLoad CompareEq BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignAdd NameStore Num Assign NameStore Call NameLoad NameLoad Call NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr If Call AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpSub Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot NameLoad Call AttributeLoad NameLoad attr CompareLtE NameLoad Num body Return TupleLoad Call NameLoad NameLoad Str Num Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr If CompareLtE NameLoad AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If CompareGtE AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignMult AttributeStore NameLoad attr BinOpPow Num BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse AugAssignMult AttributeStore NameLoad attr BinOpPow Num BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareLt NameLoad BinOpPow Num AttributeLoad NameLoad attr body Return TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad Num Call NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list Assign NameStore NameLoad Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return TupleLoad NameLoad NameLoad Assign NameStore BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr If Call AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Return TupleLoad NameLoad NameLoad orelse Return TupleLoad SubscriptLoad NameLoad Index NameLoad Call AttributeLoad NameLoad attr NameLoad Str If UnaryOpNot NameLoad body If UnaryOpNot NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Return TupleLoad NameLoad NameLoad orelse Return TupleLoad Call AttributeLoad NameLoad attr NameLoad Str NameLoad Call AttributeLoad NameLoad attr NameLoad Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str orelse If UnaryOpNot NameLoad body If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str orelse Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If UnaryOpNot NameLoad body If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str orelse Return Call AttributeLoad NameLoad attr NameLoad Str If Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Str NameLoad Return Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpSub Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr If CompareGtE NameLoad BinOpAdd AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad If CompareLtE NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If CompareGtE AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignMult AttributeStore NameLoad attr BinOpPow Num BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse AugAssignMult AttributeStore NameLoad attr BinOpPow Num BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareGt BinOpAdd BinOpMult Num NameLoad BinOpBitAnd NameLoad Num AttributeLoad NameLoad attr body AugAssignSub NameStore AttributeLoad NameLoad attr AugAssignAdd NameStore Num If CompareGtE NameLoad BinOpPow Num AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr If CompareLt NameLoad Num body Assign NameStore BinOpSub Num NameLoad Assign NameStore UnaryOpUSub NameLoad Assign NameStore Call NameLoad NameLoad Call NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If Call AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str orelse Return SubscriptLoad NameLoad Index BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr If UnaryOpNot NameLoad body If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Return Call AttributeLoad NameLoad attr NameLoad Str Return SubscriptLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If Call AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign NameStore IfExp AttributeLoad NameLoad attr Str Str orelse Assign NameStore Call NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Raise Call NameLoad Str orelse If Call AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign NameStore BinOpPow Num AttributeLoad NameLoad attr If CompareGtE AttributeLoad NameLoad attr Num body Return BinOpMult BinOpMult NameLoad Call NameLoad AttributeLoad NameLoad attr BinOpPow Num AttributeLoad NameLoad attr orelse Return BinOpMult NameLoad Call NameLoad BoolOpOr SubscriptLoad AttributeLoad NameLoad attr Slice AttributeLoad NameLoad attr Str decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list Assign NameStore Call NameLoad NameLoad FunctionDef arguments args NameParam defaults body Return Call NameLoad Num decorator_list Assign NameStore Call NameLoad NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareGt Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Slice BinOpSub Call NameLoad NameLoad NameLoad attr Str Return Call NameLoad AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad orelse Return Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Assign NameStore SubscriptLoad ListLoad AttributeLoad NameLoad attr NameLoad Index AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad AttributeLoad NameLoad attr Str NameLoad orelse Return Call NameLoad NameLoad Assign NameStore BinOpSub BinOpAdd Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareGt NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad Assign NameStore CompareLt NameLoad NameLoad If NameLoad body Assign NameStore NameLoad If CompareLt AttributeLoad NameLoad attr NameLoad body Assign NameStore BinOpSub BinOpAdd Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If CompareLt NameLoad Num body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Str BinOpSub NameLoad Num Assign NameStore Num Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore BoolOpOr SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad Str If CompareGt NameLoad Num body Assign NameStore Call NameLoad BinOpAdd Call NameLoad NameLoad Num If CompareGt Call NameLoad NameLoad AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad NameLoad Slice Num AugAssignAdd NameStore Num If CompareGt NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad If BoolOpAnd NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareGt AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpAdd AttributeLoad NameLoad attr BinOpMult Str BinOpSub AttributeLoad NameLoad attr NameLoad Return Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If Call NameLoad AttributeLoad NameLoad attr NameLoad body Return Num orelse Return Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return UnaryOpUSub Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareIn SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Str body Return Num orelse If Call NameLoad AttributeLoad NameLoad attr NameLoad body Return Num orelse Return Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If Call NameLoad AttributeLoad NameLoad attr NameLoad body Return Num orelse Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If BoolOpAnd Call NameLoad AttributeLoad NameLoad attr NameLoad BoolOpOr CompareEq NameLoad Num CompareIn SubscriptLoad AttributeLoad NameLoad attr Index BinOpSub NameLoad Num Str body Return Num orelse Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad orelse Return UnaryOpUSub Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad orelse Return UnaryOpUSub Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If BoolOpAnd NameLoad CompareNotIn SubscriptLoad AttributeLoad NameLoad attr Index BinOpSub NameLoad Num Str body Return Call AttributeLoad NameLoad attr NameLoad orelse Return UnaryOpUSub Call AttributeLoad NameLoad attr NameLoad decorator_list Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If CompareEq AttributeLoad NameLoad attr Str body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If CompareEq AttributeLoad NameLoad attr Str body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore NameLoad orelse If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore NameLoad orelse If CompareEq AttributeLoad NameLoad attr Str body If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore SubscriptLoad NameLoad Index BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr Str body If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore SubscriptLoad NameLoad Index BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad BinOpBitXor AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad BinOpMult Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad NameLoad body If CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot BoolOpAnd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If CompareLt NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Str If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str If CompareGtE Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If BoolOpAnd UnaryOpNot NameLoad UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str If Call AttributeLoad NameLoad attr body Assign NameStore Num orelse Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Assign NameStore BinOpMod BinOpMult BinOpMod AttributeLoad NameLoad attr NameLoad Call NameLoad Num AttributeLoad NameLoad attr NameLoad NameLoad For NameStore Call NameLoad AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Num NameLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad Call NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr While CompareEq BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignAdd NameStore Num Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr While CompareEq BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignAdd NameStore Num If CompareEq NameLoad Num body AugAssignMult NameStore NameLoad While CompareEq BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignAdd NameStore Num If CompareLt NameLoad Num body Return NameLoad Assign NameStore BinOpMult NameLoad BinOpPow Num NameLoad If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore UnaryOpUSub NameLoad If BoolOpAnd Call AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr Num body Assign NameStore BinOpMult AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpSub NameLoad NameLoad BinOpSub NameLoad Num orelse Assign NameStore Num Return Call NameLoad Num BinOpAdd Str BinOpMult Str NameLoad BinOpSub NameLoad NameLoad If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore BinOpMod NameLoad Num If CompareIn NameLoad TupleLoad Num Num Num Num body If CompareNotEq BinOpBitAnd NameLoad UnaryOpUSub NameLoad NameLoad body Return NameLoad Assign NameStore BinOpSub Call NameLoad NameLoad Num Assign NameStore BinOpFloorDiv BinOpMult NameLoad Num Num If CompareGtE NameLoad Call NameLoad Call NameLoad NameLoad body Return NameLoad Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad NameLoad Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad NameLoad If BoolOpOr CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad body Return NameLoad If CompareGt NameLoad NameLoad body Return NameLoad Assign NameStore BinOpPow Num NameLoad orelse If CompareEq NameLoad Num body Assign NameStore BinOpFloorDiv BinOpMult Call NameLoad NameLoad Num Num Assign TupleStore NameStore NameStore Call NameLoad BinOpPow Num NameLoad NameLoad If NameLoad body Return NameLoad While CompareEq BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignSub NameStore Num Assign NameStore BinOpFloorDiv BinOpMult NameLoad Num Num If CompareGtE NameLoad Call NameLoad Call NameLoad NameLoad body Return NameLoad Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad NameLoad Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad NameLoad If BoolOpOr CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad body Return NameLoad If CompareGt NameLoad NameLoad body Return NameLoad Assign NameStore BinOpPow Num NameLoad orelse Return NameLoad If CompareGtE NameLoad BinOpPow Num NameLoad body Return NameLoad Assign NameStore BinOpSub UnaryOpUSub NameLoad NameLoad Return Call NameLoad Num Call NameLoad NameLoad NameLoad If CompareGtE NameLoad Num body Assign TupleStore NameStore NameStore TupleLoad BinOpMult NameLoad BinOpPow Num NameLoad Num orelse If BoolOpAnd CompareNotEq NameLoad Num CompareLtE Call NameLoad Call NameLoad Call NameLoad BinOpMult NameLoad NameLoad UnaryOpUSub NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad If BoolOpAnd CompareNotEq NameLoad Num CompareLtE Call NameLoad Call NameLoad BinOpMult Call NameLoad NameLoad NameLoad UnaryOpUSub NameLoad body Return NameLoad Assign TupleStore NameStore NameStore TupleLoad NameLoad BinOpPow Num UnaryOpUSub NameLoad While CompareEqEq BinOpMod NameLoad Num BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignFloorDiv NameStore Num While CompareEqEq BinOpMod NameLoad Num BinOpMod NameLoad Num Num body AugAssignFloorDiv NameStore Num AugAssignFloorDiv NameStore Num If CompareGt NameLoad Num body If BoolOpAnd CompareNotEq NameLoad Num CompareLtE NameLoad NameLoad body Return NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad If CompareNotEq NameLoad Num body Return NameLoad Assign NameStore BinOpLShift Num UnaryOpUSub BinOpFloorDiv UnaryOpUSub Call NameLoad NameLoad NameLoad While NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad BinOpPow NameLoad BinOpSub NameLoad Num If CompareLtE NameLoad NameLoad body Break orelse Assign NameStore BinOpFloorDiv BinOpAdd BinOpMult NameLoad BinOpSub NameLoad Num NameLoad NameLoad If UnaryOpNot BoolOpAnd CompareEq NameLoad NameLoad CompareEq NameLoad Num body Return NameLoad Assign NameStore NameLoad If BoolOpAnd CompareGt NameLoad Num CompareGt NameLoad BinOpFloorDiv BinOpMult NameLoad Num Call NameLoad NameLoad body Return NameLoad Assign NameStore BinOpPow NameLoad NameLoad AugAssignMult NameStore NameLoad If CompareGt NameLoad BinOpPow Num NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad If BoolOpAnd Call AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr Num body Assign NameStore BinOpMult AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpSub NameLoad NameLoad BinOpSub NameLoad Call NameLoad NameLoad orelse Assign NameStore Num Return Call NameLoad Num BinOpAdd NameLoad BinOpMult Str NameLoad BinOpSub NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If CompareIsNot NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If UnaryOpNot NameLoad body If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str orelse Return NameLoad Assign NameStore Num If CompareEq AttributeLoad NameLoad attr Num body If Call AttributeLoad NameLoad attr body If UnaryOpNot Call AttributeLoad NameLoad attr body Assign NameStore Num orelse If NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr If UnaryOpNot NameLoad body If CompareEq AttributeLoad NameLoad attr Num body Return Call NameLoad NameLoad Str Num orelse Return SubscriptLoad NameLoad Index NameLoad If Call AttributeLoad NameLoad attr body If CompareEq AttributeLoad NameLoad attr Num body Return SubscriptLoad NameLoad Index NameLoad orelse Return Call NameLoad NameLoad Str Num If CompareEq NameLoad NameLoad body If Call AttributeLoad NameLoad attr body If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore Num orelse If CompareGt NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad Assign NameStore BinOpMult AttributeLoad NameLoad attr NameLoad If CompareLt NameLoad BinOpSub Num AttributeLoad NameLoad attr body Assign NameStore BinOpSub Num AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpSub Num AttributeLoad NameLoad attr Return Call NameLoad NameLoad BinOpAdd Str BinOpMult Str UnaryOpUSub NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr If Call AttributeLoad NameLoad attr body If CompareEq CompareEq AttributeLoad NameLoad attr Num CompareLt NameLoad Num body Return Call NameLoad NameLoad Str Num orelse Return SubscriptLoad NameLoad Index NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr If CompareEq CompareGtE NameLoad Num CompareEq AttributeLoad NameLoad attr Num body If CompareGtE NameLoad Call NameLoad Call NameLoad AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Str BinOpAdd AttributeLoad NameLoad attr Num orelse Assign NameStore Call AttributeLoad NameLoad attr If CompareGtE NameLoad Call NameLoad Call NameLoad UnaryOpUSub NameLoad body Assign NameStore Call NameLoad NameLoad Str BinOpSub NameLoad Num If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd AttributeLoad NameLoad attr Num If CompareIsNot NameLoad NameLoad body If CompareEq NameLoad Num body Assign NameStore Call NameLoad Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore NameLoad If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore UnaryOpUSub NameLoad Assign NameStore Num While NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad BinOpAdd NameLoad NameLoad If BinOpMod NameLoad BinOpMult Num BinOpPow Num BinOpSub BinOpSub Call NameLoad Call NameLoad NameLoad NameLoad Num body Break AugAssignAdd NameStore Num Assign NameStore Call NameLoad NameLoad Call NameLoad NameLoad NameLoad If BoolOpAnd NameLoad UnaryOpNot Call AttributeLoad NameLoad attr body If CompareLtE Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore BinOpSub BinOpAdd AttributeLoad NameLoad attr Num Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr BinOpMult Str NameLoad BinOpSub AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr For NameStore NameLoad body Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad If SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Str AttributeLoad NameLoad attr For NameStore TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad body If SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call AttributeLoad NameLoad attr body Return NameLoad If UnaryOpNot NameLoad body Return Call NameLoad AttributeLoad NameLoad attr Str Num Assign NameStore SubscriptLoad ListLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr While BoolOpAnd CompareEq SubscriptLoad AttributeLoad NameLoad attr Index BinOpSub NameLoad Num Str CompareLt NameLoad NameLoad body AugAssignAdd NameStore Num AugAssignSub NameStore Num Return Call NameLoad AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If BoolOpOr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr body If BoolOpAnd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad Str If UnaryOpNot NameLoad body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If CompareGt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad If UnaryOpNot CompareLtELtE Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If UnaryOpNot NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr If CompareGt NameLoad AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If CompareGt BinOpAdd BinOpSub NameLoad AttributeLoad NameLoad attr Num AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If CompareGt Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If CompareGt Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str If BoolOpAnd NameLoad CompareLt Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad If CompareGt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return BoolOpOr BoolOpAnd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr BoolOpAnd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Return CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Return Call NameLoad NameLoad If UnaryOpNot NameLoad body Return Call NameLoad AttributeLoad NameLoad attr Str NameLoad If CompareGtE AttributeLoad NameLoad attr NameLoad body Return Call NameLoad AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr BinOpMult Str BinOpSub AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore BinOpSub BinOpAdd Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If CompareLt NameLoad Num body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Str BinOpSub NameLoad Num Assign NameStore Num Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore BoolOpOr SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad Str If CompareEq NameLoad Num body Assign NameStore Call NameLoad BinOpAdd Call NameLoad NameLoad Num Return Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareLtE NameLoad Num body Raise Call NameLoad Str If BoolOpOr AttributeLoad NameLoad attr UnaryOpNot NameLoad body Return Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpSub BinOpAdd Call AttributeLoad NameLoad attr Num NameLoad NameLoad If CompareNotEq Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr BinOpSub BinOpAdd Call AttributeLoad NameLoad attr Num NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad Return Call NameLoad NameLoad If CompareGtE AttributeLoad NameLoad attr Num body Return Call NameLoad NameLoad If UnaryOpNot NameLoad body Return Call NameLoad AttributeLoad NameLoad attr Str Num If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Num NameLoad If CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad Return Call NameLoad NameLoad If CompareGtE AttributeLoad NameLoad attr Num body Return Call NameLoad NameLoad orelse Return Call AttributeLoad NameLoad attr Num NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If BoolOpAnd Call AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr Num body Return Call NameLoad NameLoad If UnaryOpNot NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Str BinOpFloorDiv AttributeLoad NameLoad attr Num Return Call AttributeLoad NameLoad attr NameLoad If CompareEq AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore BinOpAdd AttributeLoad NameLoad attr Num Assign NameStore Call NameLoad NameLoad Assign NameStore BinOpRShift AttributeLoad NameLoad attr Num If BinOpBitAnd AttributeLoad NameLoad attr Num body Assign NameStore BinOpMult AttributeLoad NameLoad attr Num Assign NameStore BinOpAdd BinOpRShift Call NameLoad AttributeLoad NameLoad attr Num Num orelse Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpRShift BinOpAdd Call NameLoad AttributeLoad NameLoad attr Num Num Assign NameStore BinOpSub NameLoad NameLoad If CompareGtE NameLoad Num body AugAssignMult NameStore BinOpPow Num NameLoad Assign NameStore NameLoad orelse Assign TupleStore NameStore NameStore Call NameLoad NameLoad BinOpPow Num UnaryOpUSub NameLoad Assign NameStore UnaryOpNot NameLoad AugAssignSub NameStore NameLoad Assign NameStore BinOpPow Num NameLoad While NameLoad body Assign NameStore BinOpFloorDiv NameLoad NameLoad If CompareLtE NameLoad NameLoad body Break orelse Assign NameStore BinOpRShift BinOpAdd NameLoad NameLoad Num Assign NameStore BoolOpAnd NameLoad CompareEq BinOpMult NameLoad NameLoad NameLoad If NameLoad body If CompareGtE NameLoad Num body AugAssignFloorDiv NameStore BinOpPow Num NameLoad orelse AugAssignMult NameStore BinOpPow Num UnaryOpUSub NameLoad AugAssignAdd NameStore NameLoad orelse If CompareEq BinOpMod NameLoad Num Num body AugAssignAdd NameStore Num Assign NameStore Call NameLoad Num Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad body If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore NameLoad orelse Assign NameStore NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad body If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore NameLoad orelse Assign NameStore NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Return NameLoad If CompareGtE AttributeLoad NameLoad attr Num body Return NameLoad Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Slice AttributeLoad NameLoad attr Return CompareEq NameLoad BinOpMult Str Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If BoolOpOr UnaryOpNot NameLoad CompareGt AttributeLoad NameLoad attr Num body Return NameLoad Return CompareIn SubscriptLoad AttributeLoad NameLoad attr Index BinOpAdd Num AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str TryExcept body Return BinOpSub BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num handlers ExceptHandler type NameLoad body Return Num decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpAnd AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr body Return NameLoad If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad body If CompareEq NameLoad NameLoad body Assign NameStore TupleLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore TupleLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareLt NameLoad NameLoad body If NameLoad body Return NameLoad orelse Return NameLoad If CompareGt NameLoad NameLoad body If NameLoad body Return NameLoad orelse Return NameLoad Return NameLoad If NameLoad body If CompareEq NameLoad Num body Return NameLoad If CompareEq NameLoad Num body Return NameLoad If CompareEq NameLoad Num body Return NameLoad If CompareEq NameLoad Num body Return NameLoad orelse If CompareEq NameLoad Num body Return NameLoad If CompareEq NameLoad Num body Return NameLoad If CompareEq NameLoad Num body Return NameLoad If CompareEq NameLoad Num body Return NameLoad If CompareLt NameLoad NameLoad body Return NameLoad If CompareGt NameLoad NameLoad body Return NameLoad If CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If NameLoad body Return NameLoad orelse Return NameLoad If CompareGt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If NameLoad body Return NameLoad orelse Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Return Call NameLoad Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Return Call NameLoad Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return NameLoad If UnaryOpNot NameLoad body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareGt NameLoad Call NameLoad Call NameLoad BinOpMult BinOpAdd AttributeLoad NameLoad attr Num Num body Assign NameStore Call NameLoad Num Str BinOpAdd AttributeLoad NameLoad attr Num orelse If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareGt NameLoad Call NameLoad Call NameLoad BinOpMult BinOpAdd UnaryOpUSub Call AttributeLoad NameLoad attr Num Num body Assign NameStore Call NameLoad Num Str BinOpSub Call AttributeLoad NameLoad attr Num orelse If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareLt NameLoad UnaryOpUSub NameLoad body Assign NameStore Call NameLoad Num BinOpAdd BinOpAdd Str BinOpMult Str BinOpSub NameLoad Num Str UnaryOpUSub NameLoad orelse If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareLt NameLoad BinOpSub UnaryOpUSub NameLoad Num body Assign NameStore Call NameLoad Num BinOpMult Str BinOpAdd NameLoad Num BinOpSub UnaryOpUSub NameLoad Num orelse Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq AttributeLoad NameLoad attr Num body Assign NameStore UnaryOpUSub NameLoad Assign NameStore Num While NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad BinOpAdd NameLoad NameLoad If BinOpMod NameLoad BinOpMult Num BinOpPow Num BinOpSub BinOpSub Call NameLoad Call NameLoad NameLoad NameLoad Num body Break AugAssignAdd NameStore Num Assign NameStore Call NameLoad Num Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return UnaryOpNot AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return CompareEq AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return CompareIn AttributeLoad NameLoad attr TupleLoad Str Str decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If BoolOpOr AttributeLoad NameLoad attr UnaryOpNot NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Return CompareLtE AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return CompareEq AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return CompareEq AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return CompareEq AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If BoolOpOr AttributeLoad NameLoad attr UnaryOpNot NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Return CompareLt Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr CompareEq AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore BinOpSub BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num If CompareGtE NameLoad Num body Return BinOpSub Call NameLoad Call NameLoad BinOpFloorDiv BinOpMult NameLoad Num Num Num If CompareLtE NameLoad Num body Return BinOpSub Call NameLoad Call NameLoad BinOpFloorDiv BinOpMult BinOpSub Num NameLoad Num Num Num Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq NameLoad Num body Assign NameStore Call NameLoad BinOpSub NameLoad BinOpPow Num UnaryOpUSub NameLoad Assign NameStore Call NameLoad NameLoad Return BinOpSub BinOpSub Call NameLoad NameLoad Call NameLoad NameLoad CompareLt NameLoad NameLoad Return BinOpSub BinOpAdd NameLoad Call NameLoad Call NameLoad BinOpSub BinOpPow Num UnaryOpUSub NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If UnaryOpNot NameLoad body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return NameLoad If CompareEq NameLoad NameLoad body Return NameLoad If CompareEq AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpAdd BinOpSub NameLoad Call AttributeLoad NameLoad attr Num While NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If BinOpMod NameLoad BinOpMult Num BinOpPow Num BinOpSub BinOpSub Call NameLoad Call NameLoad Call NameLoad NameLoad NameLoad Num body Break AugAssignAdd NameStore Num Assign NameStore Call NameLoad Call NameLoad CompareLt NameLoad Num Call NameLoad Call NameLoad NameLoad UnaryOpUSub NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore BinOpSub BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num If CompareGtE NameLoad Num body Return BinOpSub Call NameLoad Call NameLoad NameLoad Num If CompareLtE NameLoad Num body Return BinOpSub Call NameLoad Call NameLoad BinOpSub Num NameLoad Num Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq NameLoad Num body Assign NameStore Call NameLoad BinOpSub NameLoad BinOpPow Num UnaryOpUSub NameLoad Assign NameStore Call NameLoad BinOpMult Num NameLoad Return BinOpAdd BinOpSub BinOpSub Call NameLoad NameLoad Call NameLoad NameLoad CompareLt NameLoad NameLoad Num Assign NameStore Call NameLoad BinOpSub BinOpPow Num UnaryOpUSub NameLoad NameLoad Return BinOpSub BinOpSub BinOpAdd Call NameLoad NameLoad NameLoad CompareLt NameLoad Str Num decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If UnaryOpNot NameLoad body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return NameLoad If CompareEq AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad Str If BoolOpAnd CompareEq SubscriptLoad AttributeLoad NameLoad attr Index Num Str CompareEq SubscriptLoad AttributeLoad NameLoad attr Slice Num BinOpMult Str BinOpSub Call NameLoad AttributeLoad NameLoad attr Num body Assign NameStore Call NameLoad BinOpSub BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Num orelse Assign NameStore Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpAdd BinOpSub NameLoad Call AttributeLoad NameLoad attr Num While NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If BinOpMod NameLoad BinOpMult Num BinOpPow Num BinOpSub BinOpSub Call NameLoad Call NameLoad Call NameLoad NameLoad NameLoad Num body Break AugAssignAdd NameStore Num Assign NameStore Call NameLoad Call NameLoad CompareLt NameLoad Num Call NameLoad Call NameLoad NameLoad UnaryOpUSub NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If Call AttributeLoad NameLoad attr body Return NameLoad If UnaryOpNot NameLoad body Return Call AttributeLoad NameLoad attr NameLoad Str Num Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If BoolOpOr CompareNotEq AttributeLoad NameLoad attr Num CompareNotEq AttributeLoad NameLoad attr Num body Return NameLoad For NameStore AttributeLoad NameLoad attr body If CompareNotIn NameLoad Str body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore BinOpSub AttributeLoad NameLoad attr Call NameLoad NameLoad If CompareGt NameLoad Num body Assign NameStore BinOpAdd BinOpMult Str NameLoad NameLoad orelse If CompareLt NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub AttributeLoad NameLoad attr Assign NameStore BinOpSub AttributeLoad NameLoad attr Call NameLoad NameLoad If CompareGt NameLoad Num body Assign NameStore BinOpAdd BinOpMult Str NameLoad NameLoad orelse If CompareLt NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub AttributeLoad NameLoad attr Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpOr UnaryOpNot Call AttributeLoad NameLoad attr UnaryOpNot Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Str attr ListComp Call NameLoad BinOpBitAnd Call NameLoad NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Return Call NameLoad Num BoolOpOr Call AttributeLoad NameLoad attr Str Str Num decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad Num BinOpMult Str AttributeLoad NameLoad attr Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpOr UnaryOpNot Call AttributeLoad NameLoad attr UnaryOpNot Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Str attr ListComp Call NameLoad BinOpBitOr Call NameLoad NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Return Call NameLoad Num BoolOpOr Call AttributeLoad NameLoad attr Str Str Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpOr UnaryOpNot Call AttributeLoad NameLoad attr UnaryOpNot Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Str attr ListComp Call NameLoad BinOpBitXor Call NameLoad NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Return Call NameLoad Num BoolOpOr Call AttributeLoad NameLoad attr Str Str Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad body If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr If CompareEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore NameLoad orelse Assign NameStore NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If BoolOpOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If BoolOpOr NameLoad NameLoad body If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad If BoolOpAnd CompareEq NameLoad Num CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr If CompareEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore NameLoad orelse Assign NameStore NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return Call NameLoad Num BinOpMult Str AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad Num Str BinOpSub Call AttributeLoad NameLoad attr Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return NameLoad If CompareEq Call AttributeLoad NameLoad attr Num body Return Call NameLoad Num BinOpMult Str AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad Num Str BinOpSub Call AttributeLoad NameLoad attr Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Return Call AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad orelse If CompareLt Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If Call AttributeLoad NameLoad attr body Return Str If Call AttributeLoad NameLoad attr body Return Str Assign NameStore Call AttributeLoad NameLoad attr If CompareEq NameLoad Num body Return Str If CompareEq NameLoad Num body Return Str If Call AttributeLoad NameLoad attr body If AttributeLoad NameLoad attr body Return Str orelse Return Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad If Call AttributeLoad NameLoad attr keyword NameLoad body If AttributeLoad NameLoad attr body Return Str orelse Return Str If AttributeLoad NameLoad attr body Return Str orelse Return Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If CompareNotEq AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot CompareLtELtE UnaryOpUSub AttributeLoad NameLoad attr Call NameLoad NameLoad AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad If Call AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpSub AttributeLoad NameLoad attr Call NameLoad NameLoad If CompareGt NameLoad Num body Assign NameStore BinOpAdd BinOpMult Str NameLoad NameLoad orelse If CompareLt NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice NameLoad SubscriptLoad NameLoad Slice NameLoad Return Call NameLoad AttributeLoad NameLoad attr BoolOpOr Call AttributeLoad NameLoad attr Str Str AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If CompareNotEq AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMult Num BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpMult Num BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr If UnaryOpNot CompareLtELtE NameLoad Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad If Call AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Return NameLoad If CompareNotEq AttributeLoad NameLoad attr Num body Return Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot CompareLtELtE UnaryOpUSub AttributeLoad NameLoad attr Call NameLoad NameLoad AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad If Call AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpSub AttributeLoad NameLoad attr Call NameLoad NameLoad If CompareGt NameLoad Num body Assign NameStore BinOpAdd BinOpMult Str NameLoad NameLoad orelse If CompareLt NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad If CompareLt NameLoad Num body Assign NameStore SubscriptLoad NameLoad Slice NameLoad orelse Assign NameStore BinOpAdd NameLoad BinOpMult Str NameLoad Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub AttributeLoad NameLoad attr Return Call NameLoad AttributeLoad NameLoad attr BoolOpOr Call AttributeLoad NameLoad attr Str Str AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return TupleLoad AttributeLoad NameLoad attr TupleLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body If CompareIs Call NameLoad NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareIs Call NameLoad NameLoad NameLoad body Return NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad keyword NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Return Call NameLoad NameLoad NameLoad NameLoad If CompareIs SubscriptLoad NameLoad Index Str NameLoad body Assign SubscriptStore NameLoad Index Str SubscriptLoad ListLoad Str Str Index AttributeLoad NameLoad attr If CompareEq SubscriptLoad NameLoad Index Str Str body Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Num Assign NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index Str If CompareIsNot NameLoad NameLoad body If CompareIn SubscriptLoad NameLoad Index Str Str body Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad Num NameLoad orelse If CompareIn SubscriptLoad NameLoad Index Str Str body Assign NameStore Call AttributeLoad NameLoad attr UnaryOpUSub NameLoad NameLoad orelse If BoolOpAnd CompareIn SubscriptLoad NameLoad Index Str Str CompareGt Call NameLoad AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If BoolOpAnd UnaryOpNot NameLoad CompareGt AttributeLoad NameLoad attr Num CompareIn SubscriptLoad NameLoad Index Str Str body Assign NameStore Call AttributeLoad NameLoad attr Num NameLoad Assign NameStore BinOpAdd AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr If CompareIn SubscriptLoad NameLoad Index Str Str body If BoolOpAnd UnaryOpNot NameLoad CompareIsNot NameLoad NameLoad body Assign NameStore BinOpSub Num NameLoad orelse Assign NameStore Num orelse If CompareIn SubscriptLoad NameLoad Index Str Str body Assign NameStore NameLoad orelse If CompareIn SubscriptLoad NameLoad Index Str Str body If BoolOpAnd CompareLtE AttributeLoad NameLoad attr Num CompareGt NameLoad Num body Assign NameStore NameLoad orelse Assign NameStore Num If CompareLt NameLoad Num body Assign NameStore Str Assign NameStore BinOpAdd BinOpMult Str UnaryOpUSub NameLoad AttributeLoad NameLoad attr orelse If CompareGt NameLoad Call NameLoad AttributeLoad NameLoad attr body Assign NameStore BinOpAdd AttributeLoad NameLoad attr BinOpMult Str BinOpSub NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore Str orelse Assign NameStore BoolOpOr SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad Str Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad Assign NameStore BinOpSub NameLoad NameLoad Return Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad decorator_list decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Call NameLoad Expr Call NameLoad AttributeLoad NameLoad attr Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Call NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Num NameLoad body TryExcept body Assign NameStore NameLoad handlers ExceptHandler type NameLoad body Pass Assign AttributeStore NameLoad attr IfExp CompareIsNot NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr IfExp CompareIsNot NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr IfExp CompareIsNot NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr IfExp CompareIsNot NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr IfExp CompareIsNot NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr IfExp CompareIsNot NameLoad NameLoad NameLoad AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr ListLoad orelse Assign AttributeStore NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr orelse If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign AttributeStore NameLoad attr Call NameLoad GeneratorExp TupleLoad NameLoad Call NameLoad CompareIn NameLoad NameLoad comprehension NameStore NameLoad orelse Assign AttributeStore NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Num orelse If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign AttributeStore NameLoad attr Call NameLoad GeneratorExp TupleLoad NameLoad Call NameLoad CompareIn NameLoad NameLoad comprehension NameStore NameLoad orelse Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str Call NameLoad NameLoad Assign NameStore ListComp AttributeLoad NameLoad attr comprehension TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str Call AttributeLoad Str attr NameLoad Str Assign NameStore ListComp AttributeLoad NameLoad attr comprehension TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str Call AttributeLoad Str attr NameLoad Str Return BinOpAdd Call AttributeLoad Str attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str For NameStore AttributeLoad NameLoad attr body Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad vararg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareIn NameLoad AttributeLoad NameLoad attr body Return Call AttributeLoad Call NameLoad attr NameLoad NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad Num If UnaryOpNot SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body Return Call AttributeLoad Call NameLoad attr NameLoad NameLoad Raise Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg body Expr Str Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr Call NameLoad NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg body Expr Str If BoolOpAnd NameLoad Call NameLoad SubscriptLoad NameLoad Index Num TupleLoad NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num For NameStore NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad BinOpAdd BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad BinOpAdd BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Str body Expr Str If BoolOpAnd Call NameLoad NameLoad NameLoad CompareNotEq NameLoad Call AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call NameLoad NameLoad keyword NameLoad If BoolOpAnd Call AttributeLoad NameLoad attr CompareGt Call NameLoad AttributeLoad NameLoad attr BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return Call AttributeLoad NameLoad attr NameLoad Str Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpMod Str NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad keyword NameLoad Return Call AttributeLoad NameLoad attr keyword NameLoad decorator_list Assign NameStore NameLoad decorator_list ClassDef bases NameLoad body Assign NameStore TupleLoad Str Str Str FunctionDef arguments args NameParam NameParam defaults NameLoad body If CompareIs NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr orelse Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list Assign NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str If CompareLt AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore NameLoad Assign NameStore NameLoad orelse Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Call NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore BinOpAdd AttributeLoad NameLoad attr Call NameLoad Num BinOpSub BinOpSub NameLoad NameLoad Num If CompareLt BinOpSub BinOpAdd NameLoad AttributeLoad NameLoad attr Num NameLoad body Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr NameLoad AugAssignMult AttributeStore NameLoad attr BinOpPow Num BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Dict Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Num Num Num Num Num Num Num Num Num Num Num Num Num Num Num Num body Expr Str If CompareLt NameLoad Num body Raise Call NameLoad Str Assign NameStore BinOpMod Str NameLoad Return BinOpSub BinOpMult Num Call NameLoad NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareEq NameLoad Num body Return Num orelse If CompareGtE NameLoad Num body Return BinOpMult NameLoad BinOpPow Num NameLoad orelse Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore BinOpSub Call NameLoad NameLoad Call NameLoad Call AttributeLoad NameLoad attr Str Return IfExp CompareLt NameLoad UnaryOpUSub NameLoad NameLoad BinOpFloorDiv NameLoad BinOpPow Num UnaryOpUSub NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If BoolOpOr CompareLtE NameLoad Num CompareLtE NameLoad Num body Raise Call NameLoad Str Assign NameStore Num While CompareNotEq NameLoad NameLoad body Assign TupleStore NameStore NameStore TupleLoad NameLoad BinOpRShift BinOpSub NameLoad BinOpFloorDiv UnaryOpUSub NameLoad NameLoad Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore TupleLoad BinOpLShift Num NameLoad BinOpRShift NameLoad NameLoad Return BinOpAdd NameLoad CompareGt BinOpAdd BinOpMult Num BinOpBitAnd NameLoad BinOpSub NameLoad Num BinOpBitAnd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Return BinOpAdd NameLoad CompareGt BinOpAdd BinOpMult Num NameLoad BinOpBitAnd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore Num While BoolOpOr BoolOpAnd CompareLtE NameLoad NameLoad CompareGtE BinOpLShift Call NameLoad Call NameLoad NameLoad BinOpSub NameLoad NameLoad NameLoad BoolOpAnd CompareGt NameLoad NameLoad CompareGtE BinOpRShift Call NameLoad NameLoad BinOpSub NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad BinOpLShift Call NameLoad BinOpMult NameLoad NameLoad Num BinOpAdd NameLoad Call NameLoad BinOpMult NameLoad BinOpAdd NameLoad Call NameLoad NameLoad NameLoad NameLoad AugAssignAdd NameStore Num Assign NameStore UnaryOpUSub Call NameLoad BinOpFloorDiv BinOpMult Num Call NameLoad Call NameLoad NameLoad BinOpMult Num NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num Num Num body Assign NameStore BinOpSub Call NameLoad NameLoad NameLoad Call NameLoad BinOpMult NameLoad NameLoad NameLoad Return Call NameLoad BinOpMult NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str AugAssignAdd NameStore Num Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad CompareGtE BinOpAdd NameLoad NameLoad Num If CompareGt NameLoad Num body Assign NameStore BinOpPow Num NameLoad Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad NameLoad If CompareGtE NameLoad Num body AugAssignMult NameStore BinOpPow Num NameLoad orelse Assign NameStore Call NameLoad NameLoad BinOpPow Num UnaryOpUSub NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad orelse Assign NameStore Num Assign NameStore Call NameLoad NameLoad BinOpPow Num UnaryOpUSub NameLoad Return Call NameLoad BinOpAdd NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str AugAssignAdd NameStore Num Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad CompareGtE BinOpAdd NameLoad NameLoad Num If CompareGt NameLoad Num body Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad NameLoad If CompareGtE NameLoad Num body AugAssignMult NameStore BinOpPow Num NameLoad orelse Assign NameStore Call NameLoad NameLoad BinOpPow Num UnaryOpUSub NameLoad Assign NameStore Call NameLoad NameLoad BinOpPow Num NameLoad orelse Assign NameStore Num If NameLoad body Assign NameStore BinOpSub Call NameLoad Call NameLoad Call NameLoad NameLoad Num If CompareGtE BinOpAdd NameLoad NameLoad Num body Assign NameStore Call NameLoad BinOpMult NameLoad Call NameLoad BinOpAdd NameLoad NameLoad BinOpPow Num NameLoad orelse Assign NameStore Num orelse Assign NameStore Num Return Call NameLoad BinOpAdd NameLoad NameLoad Num decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareLt NameLoad Num body Raise Call NameLoad Str If CompareGtE NameLoad Call NameLoad AttributeLoad NameLoad attr body Assign NameStore Num While NameLoad body Assign NameStore BinOpPow Num BinOpAdd BinOpAdd NameLoad NameLoad Num Assign NameStore Call NameLoad Call NameLoad Call NameLoad BinOpMult Num NameLoad NameLoad Num If CompareNotEq SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad BinOpMult Str NameLoad body Break AugAssignAdd NameStore Num Assign AttributeStore NameLoad attr SubscriptLoad Call AttributeLoad NameLoad attr Str Slice Num Return Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Slice BinOpAdd NameLoad Num decorator_list decorator_list Assign NameStore AttributeLoad Call NameLoad attr FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Assign NameStore Call NameLoad BinOpFloorDiv BinOpLShift Call NameLoad NameLoad NameLoad NameLoad Assign NameStore UnaryOpUSub Call NameLoad BinOpFloorDiv BinOpMult Num Call NameLoad Call NameLoad NameLoad BinOpMult Num NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore BinOpLShift Call NameLoad NameLoad NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num Num Num body Assign NameStore Call NameLoad BinOpMult NameLoad BinOpAdd NameLoad NameLoad BinOpMult NameLoad NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num Num Num body Assign NameStore BinOpLShift Call NameLoad NameLoad BinOpAdd NameLoad Num Assign NameStore Call NameLoad BinOpMult NameLoad BinOpAdd NameLoad NameLoad NameLoad Return BinOpAdd NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str AugAssignAdd NameStore Num Assign NameStore Call NameLoad Num BinOpSub BinOpAdd NameLoad Call NameLoad Call NameLoad NameLoad Num Assign NameStore BinOpAdd NameLoad NameLoad Assign NameStore BinOpAdd NameLoad NameLoad If CompareGtE NameLoad Num body Assign NameStore BinOpMult NameLoad BinOpPow Num NameLoad orelse Assign NameStore BinOpFloorDiv NameLoad BinOpPow Num UnaryOpUSub NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad BinOpPow Num NameLoad Return TupleLoad Call NameLoad Call NameLoad NameLoad BinOpPow Num NameLoad Num BinOpAdd BinOpSub NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore BinOpAdd Call NameLoad Call NameLoad Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad Num Assign NameStore BinOpSub NameLoad NameLoad If CompareGtE NameLoad Num body Assign NameStore BinOpMult BinOpMult NameLoad NameLoad BinOpPow Num NameLoad orelse Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad BinOpPow Num UnaryOpUSub NameLoad If CompareEq NameLoad Num body If CompareEq CompareGtE BinOpAdd Call NameLoad Call NameLoad NameLoad NameLoad Num CompareGt NameLoad Num body Assign TupleStore NameStore NameStore TupleLoad BinOpAdd BinOpPow Num BinOpSub NameLoad Num Num BinOpSub Num NameLoad orelse Assign TupleStore NameStore NameStore TupleLoad BinOpSub BinOpPow Num NameLoad Num UnaryOpUSub NameLoad orelse Assign TupleStore NameStore NameStore Call NameLoad NameLoad UnaryOpUSub BinOpAdd NameLoad Num BinOpAdd NameLoad Num Assign NameStore Call NameLoad NameLoad Num AugAssignAdd NameStore Num Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Dict Str Str Str Str Str Str Str Str Str Num Num Num Num Num Num Num Num Num body Expr Str If CompareLtE NameLoad Num body Raise Call NameLoad Str Assign NameStore Call NameLoad NameLoad Return BinOpSub BinOpMult Num Call NameLoad NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If Call NameLoad NameLoad NameLoad body Return NameLoad If Call NameLoad NameLoad TupleLoad NameLoad NameLoad body Return Call NameLoad NameLoad If BoolOpAnd NameLoad Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad If NameLoad body Raise Call NameLoad BinOpMod Str NameLoad Return NameLoad decorator_list Assign NameStore Call NameLoad keyword Num keyword NameLoad keyword ListLoad NameLoad NameLoad NameLoad keyword ListLoad keyword Num keyword Num keyword Num Assign NameStore Call NameLoad keyword Num keyword NameLoad keyword ListLoad NameLoad NameLoad NameLoad NameLoad NameLoad keyword ListLoad Assign NameStore Call NameLoad keyword Num keyword NameLoad keyword ListLoad keyword ListLoad Import alias Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr Str BinOpBitOr BinOpBitOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr Str attr Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr Str attr Assign NameStore Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr Delete NameDel TryExcept body Import alias identifier handlers ExceptHandler type NameLoad body Pass FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Raise Call NameLoad BinOpAdd Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign SubscriptStore NameLoad Index Str CompareIsNot SubscriptLoad NameLoad Index Str NameLoad If SubscriptLoad NameLoad Index Str body If CompareIsNot NameLoad NameLoad body Raise Call NameLoad BinOpAdd Str NameLoad If CompareIsNot NameLoad NameLoad body Raise Call NameLoad BinOpAdd Str NameLoad Assign SubscriptStore NameLoad Index Str BoolOpOr NameLoad Str Assign SubscriptStore NameLoad Index Str BoolOpOr NameLoad Str If CompareIs SubscriptLoad NameLoad Index Str NameLoad body Assign SubscriptStore NameLoad Index Str Str Assign SubscriptStore NameLoad Index Str Call NameLoad BoolOpOr SubscriptLoad NameLoad Index Str Str If CompareIsNot SubscriptLoad NameLoad Index Str NameLoad body Assign SubscriptStore NameLoad Index Str Call NameLoad SubscriptLoad NameLoad Index Str If CompareEq SubscriptLoad NameLoad Index Str Num body If BoolOpOr CompareIs SubscriptLoad NameLoad Index Str NameLoad CompareIn SubscriptLoad NameLoad Index Str Str body Assign SubscriptStore NameLoad Index Str Num If CompareEq SubscriptLoad NameLoad Index Str Str body Assign SubscriptStore NameLoad Index Str Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr If CompareIsNot SubscriptLoad NameLoad Index Str NameLoad body Raise Call NameLoad BinOpAdd Str NameLoad Assign SubscriptStore NameLoad Index Str SubscriptLoad NameLoad Index Str Assign SubscriptStore NameLoad Index Str SubscriptLoad NameLoad Index Str Assign SubscriptStore NameLoad Index Str SubscriptLoad NameLoad Index Str orelse If CompareIs SubscriptLoad NameLoad Index Str NameLoad body Assign SubscriptStore NameLoad Index Str Str Assign SubscriptStore NameLoad Index Str ListLoad Num Num Assign SubscriptStore NameLoad Index Str Str Assign SubscriptStore NameLoad Index Str Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore BinOpMult NameLoad BinOpSub BinOpSub NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index Str If CompareEq NameLoad Str body Assign NameStore BinOpAdd BinOpAdd NameLoad NameLoad NameLoad orelse If CompareEq NameLoad Str body Assign NameStore BinOpAdd BinOpAdd NameLoad NameLoad NameLoad orelse If CompareEq NameLoad Str body Assign NameStore BinOpAdd BinOpAdd NameLoad NameLoad NameLoad orelse If CompareEq NameLoad Str body Assign NameStore BinOpFloorDiv Call NameLoad NameLoad Num Assign NameStore BinOpAdd BinOpAdd BinOpAdd SubscriptLoad NameLoad Slice NameLoad NameLoad NameLoad SubscriptLoad NameLoad Slice NameLoad orelse Raise Call NameLoad Str If SubscriptLoad NameLoad Index Str body Assign NameStore Call NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str ImportFrom alias alias If UnaryOpNot NameLoad body Return ListLoad orelse If BoolOpAnd CompareEq SubscriptLoad NameLoad Index Num Num CompareGtE Call NameLoad NameLoad Num body Return Call NameLoad SubscriptLoad NameLoad Slice Num Call NameLoad SubscriptLoad NameLoad Index Num orelse If CompareEq SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr body Return SubscriptLoad NameLoad Slice Num orelse Raise Call NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore ListLoad For NameStore Call NameLoad NameLoad body If CompareLtE NameLoad Num body Raise Call NameLoad Str Assign NameStore Call NameLoad Call NameLoad Call NameLoad NameLoad NameLoad Num NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpMult Str BinOpSub NameLoad Call NameLoad NameLoad SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad AugAssignSub NameStore NameLoad If BoolOpAnd UnaryOpNot NameLoad CompareLtE NameLoad Num body Break AugAssignSub NameStore Call NameLoad NameLoad orelse Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad Num Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpMult Str BinOpSub NameLoad Call NameLoad NameLoad SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad Return Call AttributeLoad NameLoad attr Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If NameLoad body Return Str orelse If CompareIn SubscriptLoad NameLoad Index Str Str body Return SubscriptLoad NameLoad Index Str orelse Return Str decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad NameLoad If NameLoad body Assign NameStore BinOpAdd SubscriptLoad NameLoad Index Str NameLoad If BoolOpOr CompareNotEq NameLoad Num CompareIn SubscriptLoad NameLoad Index Str Str body Assign NameStore SubscriptLoad Dict Str Str Str Str Str Str Str Str Index SubscriptLoad NameLoad Index Str AugAssignAdd NameStore Call AttributeLoad Str attr NameLoad NameLoad If CompareEq SubscriptLoad NameLoad Index Str Str body AugAssignAdd NameStore Str If SubscriptLoad NameLoad Index Str body Assign NameStore BinOpSub BinOpSub SubscriptLoad NameLoad Index Str Call NameLoad NameLoad Call NameLoad NameLoad orelse Assign NameStore Num Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Return Call NameLoad NameLoad BinOpAdd NameLoad NameLoad NameLoad decorator_list Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Num Assign NameStore Call NameLoad Num Assign NameStore Call NameLoad Num Assign NameStore TupleLoad NameLoad NameLoad If CompareEq NameLoad Str body Import alias alias Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index NameLoad
N/A N/A 
This is a Py2.3 implementation of decimal floating point arithmetic based on
the General Decimal Arithmetic Specification:

    http://speleotrove.com/decimal/decarith.html

and IEEE standard 854-1987:

    www.cs.berkeley.edu/~ejr/projects/754/private/drafts/854-1987/dir.html

Decimal floating point has finite precision with arbitrarily large bounds.

The purpose of this module is to support arithmetic using familiar
"schoolhouse" rules and to avoid some of the tricky representation
issues associated with binary floating point.  The package is especially
useful for financial applications or for contexts where users have
expectations that are at odds with binary floating point (for instance,
in binary floating point, 1.00 % 0.1 gives 0.09999999999999995 instead
of the expected Decimal('0.00') returned by decimal floating point).

Here are some examples of using the decimal module:

>>> from decimal import *
>>> setcontext(ExtendedContext)
>>> Decimal(0)
Decimal('0')
>>> Decimal('1')
Decimal('1')
>>> Decimal('-.0123')
Decimal('-0.0123')
>>> Decimal(123456)
Decimal('123456')
>>> Decimal('123.45e12345678901234567890')
Decimal('1.2345E+12345678901234567892')
>>> Decimal('1.33') + Decimal('1.27')
Decimal('2.60')
>>> Decimal('12.34') + Decimal('3.87') - Decimal('18.41')
Decimal('-2.20')
>>> dig = Decimal(1)
>>> print dig / Decimal(3)
0.333333333
>>> getcontext().prec = 18
>>> print dig / Decimal(3)
0.333333333333333333
>>> print dig.sqrt()
1
>>> print Decimal(3).sqrt()
1.73205080756887729
>>> print Decimal(3) ** 123
4.85192780976896427E+58
>>> inf = Decimal(1) / Decimal(0)
>>> print inf
Infinity
>>> neginf = Decimal(-1) / Decimal(0)
>>> print neginf
-Infinity
>>> print neginf + inf
NaN
>>> print neginf * inf
-Infinity
>>> print dig / 0
Infinity
>>> getcontext().traps[DivisionByZero] = 1
>>> print dig / 0
Traceback (most recent call last):
  ...
  ...
  ...
DivisionByZero: x / 0
>>> c = Context()
>>> c.traps[InvalidOperation] = 0
>>> print c.flags[InvalidOperation]
0
>>> c.divide(Decimal(0), Decimal(0))
Decimal('NaN')
>>> c.traps[InvalidOperation] = 1
>>> print c.flags[InvalidOperation]
1
>>> c.flags[InvalidOperation] = 0
>>> print c.flags[InvalidOperation]
0
>>> print c.divide(Decimal(0), Decimal(0))
Traceback (most recent call last):
  ...
  ...
  ...
InvalidOperation: 0 / 0
>>> print c.flags[InvalidOperation]
1
>>> c.flags[InvalidOperation] = 0
>>> c.traps[InvalidOperation] = 0
>>> print c.divide(Decimal(0), Decimal(0))
NaN
>>> print c.flags[InvalidOperation]
1
>>>
 N/A __all__ N/A Decimal Context DefaultContext BasicContext ExtendedContext DecimalException Clamped InvalidOperation DivisionByZero Inexact Rounded Subnormal Overflow Underflow ROUND_DOWN ROUND_HALF_UP ROUND_HALF_EVEN ROUND_CEILING ROUND_FLOOR ROUND_UP ROUND_HALF_DOWN ROUND_05UP setcontext getcontext localcontext N/A __version__ 1.70 N/A copy _copy N/A math _math N/A numbers _numbers N/A N/A collections namedtuple _namedtuple N/A DecimalTuple N/A _namedtuple DecimalTuple sign digits exponent N/A N/A N/A ImportError N/A N/A DecimalTuple N/A N/A N/A N/A args args N/A ROUND_DOWN ROUND_DOWN N/A ROUND_HALF_UP ROUND_HALF_UP N/A ROUND_HALF_EVEN ROUND_HALF_EVEN N/A ROUND_CEILING ROUND_CEILING N/A ROUND_FLOOR ROUND_FLOOR N/A ROUND_UP ROUND_UP N/A ROUND_HALF_DOWN ROUND_HALF_DOWN N/A ROUND_05UP ROUND_05UP DecimalException N/A ArithmeticError N/A N/A Base exception class.

    Used exceptions derive from this.
    If an exception derives from another exception besides this (such as
    Underflow (Inexact, Rounded, Subnormal) that indicates that it is only
    called if the others are present.  This isn't actually used for
    anything, though.

    handle  -- Called when context._raise_error is called and the
               trap_enabler is not set.  First argument is self, second is the
               context.  More arguments can be given, those being after
               the explanation in _raise_error (For example,
               context._raise_error(NewError, '(-x)!', self._sign) would
               call NewError().handle(context, self._sign).)

    To define a new exception, it should be sufficient to have it derive
    from DecimalException.
     handle N/A N/A self context N/A args N/A N/A N/A N/A Clamped N/A DecimalException N/A N/A Exponent of a 0 changed to fit bounds.

    This occurs and signals clamped if the exponent of a result has been
    altered in order to fit the constraints of a specific concrete
    representation.  This may occur when the exponent of a zero result would
    be outside the bounds of a representation, or when a large normal
    number would have an encoded exponent that cannot be represented.  In
    this latter case, the exponent is reduced to fit and the corresponding
    number of zero digits are appended to the coefficient ("fold-down").
     N/A InvalidOperation N/A DecimalException N/A N/A An invalid operation was performed.

    Various bad things cause this:

    Something creates a signaling NaN
    -INF + INF
    0 * (+-)INF
    (+-)INF / (+-)INF
    x % 0
    (+-)INF % x
    x._rescale( non-integer )
    sqrt(-x) , x > 0
    0 ** 0
    x ** (non-integer)
    x ** (+-)INF
    An operand is invalid

    The result of the operation after these is a quiet positive NaN,
    except when the cause is a signaling NaN, in which case the result is
    also a quiet NaN, but with the original sign, and an optional
    diagnostic information.
     handle N/A N/A self context N/A args N/A N/A args N/A N/A ans N/A _dec_from_triple N/A N/A args N/A 0 _sign N/A N/A args N/A 0 _int n True N/A N/A N/A ans _fix_nan context N/A _NaN N/A N/A ConversionSyntax N/A InvalidOperation N/A N/A Trying to convert badly formed string.

    This occurs and signals invalid-operation if an string is being
    converted to a number and it does not conform to the numeric string
    syntax.  The result is [0,qNaN].
     handle N/A N/A self context N/A args N/A N/A _NaN N/A N/A DivisionByZero N/A DecimalException ZeroDivisionError N/A N/A Division by 0.

    This occurs and signals division-by-zero if division of a finite number
    by zero was attempted (during a divide-integer or divide operation, or a
    power operation with negative right-hand operand), and the dividend was
    not zero.

    The result of the operation is [sign,inf], where sign is the exclusive
    or of the signs of the operands for divide, or is 1 for an odd power of
    -0, for power.
     handle N/A N/A self context sign N/A args N/A N/A N/A _SignedInfinity N/A sign N/A N/A DivisionImpossible N/A InvalidOperation N/A N/A Cannot perform the division adequately.

    This occurs and signals invalid-operation if the integer result of a
    divide-integer or remainder operation had too many digits (would be
    longer than precision).  The result is [0,qNaN].
     handle N/A N/A self context N/A args N/A N/A _NaN N/A N/A DivisionUndefined N/A InvalidOperation ZeroDivisionError N/A N/A Undefined result of division.

    This occurs and signals invalid-operation if division by zero was
    attempted (during a divide-integer, divide, or remainder operation), and
    the dividend is also zero.  The result is [0,qNaN].
     handle N/A N/A self context N/A args N/A N/A _NaN N/A N/A Inexact N/A DecimalException N/A N/A Had to round, losing information.

    This occurs and signals inexact whenever the result of an operation is
    not exact (that is, it needed to be rounded and any discarded digits
    were non-zero), or if an overflow or underflow condition occurs.  The
    result in all cases is unchanged.

    The inexact signal may be tested (or trapped) to determine if a given
    operation (or sequence of operations) was inexact.
     N/A InvalidContext N/A InvalidOperation N/A N/A Invalid context.  Unknown rounding, for example.

    This occurs and signals invalid-operation if an invalid context was
    detected during an operation.  This can occur if contexts are not checked
    on creation and either the precision exceeds the capability of the
    underlying concrete representation or an unknown or unsupported rounding
    was specified.  These aspects of the context need only be checked when
    the values are required to be used.  The result is [0,qNaN].
     handle N/A N/A self context N/A args N/A N/A _NaN N/A N/A Rounded N/A DecimalException N/A N/A Number got rounded (not  necessarily changed during rounding).

    This occurs and signals rounded whenever the result of an operation is
    rounded (that is, some zero or non-zero digits were discarded from the
    coefficient), or if an overflow or underflow condition occurs.  The
    result in all cases is unchanged.

    The rounded signal may be tested (or trapped) to determine if a given
    operation (or sequence of operations) caused a loss of precision.
     N/A Subnormal N/A DecimalException N/A N/A Exponent < Emin before rounding.

    This occurs and signals subnormal whenever the result of a conversion or
    operation is subnormal (that is, its adjusted exponent is less than
    Emin, before any rounding).  The result in all cases is unchanged.

    The subnormal signal may be tested (or trapped) to determine if a given
    or operation (or sequence of operations) yielded a subnormal result.
     N/A Overflow N/A Inexact Rounded N/A N/A Numerical overflow.

    This occurs and signals overflow if the adjusted exponent of a result
    (from a conversion or from an operation that is not an attempt to divide
    by zero), after rounding, would be greater than the largest value that
    can be handled by the implementation (the value Emax).

    The result depends on the rounding mode:

    For round-half-up and round-half-even (and for round-half-down and
    round-up, if implemented), the result of the operation is [sign,inf],
    where sign is the sign of the intermediate result.  For round-down, the
    result is the largest finite number that can be represented in the
    current precision, with the sign of the intermediate result.  For
    round-ceiling, the result is the same as for round-down if the sign of
    the intermediate result is 1, or is [0,inf] otherwise.  For round-floor,
    the result is the same as for round-down if the sign of the intermediate
    result is 0, or is [1,inf] otherwise.  In all cases, Inexact and Rounded
    will also be raised.
     handle N/A N/A self context sign N/A args N/A N/A N/A N/A context rounding N/A ROUND_HALF_UP ROUND_HALF_EVEN ROUND_HALF_DOWN ROUND_UP N/A N/A N/A _SignedInfinity N/A sign N/A N/A sign 0 N/A N/A N/A N/A context rounding ROUND_CEILING N/A N/A N/A _SignedInfinity N/A sign N/A N/A _dec_from_triple sign N/A 9 N/A context prec N/A N/A N/A context Emax N/A context prec 1 N/A N/A sign 1 N/A N/A N/A N/A context rounding ROUND_FLOOR N/A N/A N/A _SignedInfinity N/A sign N/A N/A _dec_from_triple sign N/A 9 N/A context prec N/A N/A N/A context Emax N/A context prec 1 N/A N/A Underflow N/A Inexact Rounded Subnormal N/A N/A Numerical underflow with result rounded to 0.

    This occurs and signals underflow if a result is inexact and the
    adjusted exponent of the result would be smaller (more negative) than
    the smallest value that can be handled by the implementation (the value
    Emin).  That is, the result is both inexact and subnormal.

    The result after an underflow will be a subnormal number rounded, if
    necessary, so that its exponent is not less than Etiny.  This may result
    in 0 with the sign of the intermediate result and an exponent of Etiny.

    In all cases, Inexact, Rounded, and Subnormal will also be raised.
     N/A N/A _signals N/A Clamped DivisionByZero Inexact Overflow Rounded Underflow InvalidOperation Subnormal N/A _condition_map N/A ConversionSyntax DivisionImpossible DivisionUndefined InvalidContext InvalidOperation InvalidOperation InvalidOperation InvalidOperation N/A N/A N/A threading N/A N/A N/A ImportError N/A N/A sys MockThreading N/A object N/A local N/A N/A self sys N/A sys N/A N/A N/A N/A sys modules N/A __name__ N/A N/A N/A threading N/A MockThreading N/A sys MockThreading N/A N/A N/A N/A threading local N/A N/A N/A AttributeError N/A N/A N/A hasattr N/A N/A threading currentThread __decimal_context__ N/A N/A N/A N/A N/A threading currentThread __decimal_context__ setcontext N/A N/A context N/A N/A N/A Set this thread's context to context. N/A N/A context N/A DefaultContext BasicContext ExtendedContext N/A N/A context N/A N/A context copy N/A N/A N/A context clear_flags N/A N/A N/A N/A threading currentThread __decimal_context__ context N/A getcontext N/A N/A N/A N/A N/A Returns this thread's context.

        If this thread does not yet have a context, returns
        a new context and sets this thread's context.
        New contexts are copies of DefaultContext.
         N/A N/A N/A N/A N/A N/A threading currentThread __decimal_context__ N/A N/A N/A AttributeError N/A N/A context N/A Context N/A N/A N/A N/A threading currentThread __decimal_context__ context N/A context N/A N/A N/A local N/A N/A threading local N/A N/A hasattr local __decimal_context__ N/A N/A N/A local __decimal_context__ getcontext N/A N/A _local N/A local N/A N/A Returns this thread's context.

        If this thread does not yet have a context, returns
        a new context and sets this thread's context.
        New contexts are copies of DefaultContext.
         N/A N/A N/A N/A _local __decimal_context__ N/A N/A N/A AttributeError N/A N/A context N/A Context N/A N/A _local __decimal_context__ context N/A context N/A setcontext N/A N/A context _local N/A local N/A N/A Set this thread's context to context. N/A N/A context N/A DefaultContext BasicContext ExtendedContext N/A N/A context N/A N/A context copy N/A N/A N/A context clear_flags N/A N/A _local __decimal_context__ context N/A N/A threading local localcontext N/A N/A ctx N/A None N/A N/A Return a context manager for a copy of the supplied context

    Uses a copy of the current context if no context is specified
    The returned context manager creates a local decimal context
    in a with statement:
        def sin(x):
             with localcontext() as ctx:
                 ctx.prec += 2
                 # Rest of sin calculation algorithm
                 # uses a precision 2 greater than normal
             return +s  # Convert result to normal precision

         def sin(x):
             with localcontext(ExtendedContext):
                 # Rest of sin calculation algorithm
                 # uses the Extended Context from the
                 # General Decimal Arithmetic Specification
             return +s  # Convert result to normal context

    >>> setcontext(DefaultContext)
    >>> print getcontext().prec
    28
    >>> with localcontext():
    ...     ctx = getcontext()
    ...     ctx.prec += 2
    ...     print ctx.prec
    ...
    30
    >>> with localcontext(ExtendedContext):
    ...     print getcontext().prec
    ...
    9
    >>> print getcontext().prec
    28
     N/A N/A ctx None N/A N/A ctx N/A getcontext N/A N/A _ContextManager ctx N/A Decimal N/A object N/A N/A Floating point class for decimal arithmetic. N/A __slots__ N/A _exp _int _sign _is_special __new__ N/A N/A cls value context N/A 0 None N/A N/A Create a decimal point instance.

        >>> Decimal('3.14')              # string input
        Decimal('3.14')
        >>> Decimal((0, (3, 1, 4), -2))  # tuple (sign, digit_tuple, exponent)
        Decimal('3.14')
        >>> Decimal(314)                 # int or long
        Decimal('314')
        >>> Decimal(Decimal(314))        # another decimal instance
        Decimal('314')
        >>> Decimal('  3.14  \n')        # leading and trailing whitespace okay
        Decimal('3.14')
         N/A self N/A N/A object __new__ cls N/A N/A isinstance value basestring N/A N/A m N/A _parser N/A N/A value strip N/A N/A m None N/A N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A context _raise_error ConversionSyntax N/A Invalid literal for Decimal: %r value N/A N/A N/A N/A m group sign - N/A N/A N/A self _sign 1 N/A N/A N/A self _sign 0 N/A intpart N/A N/A m group int N/A N/A intpart None N/A N/A fracpart N/A N/A N/A m group frac N/A exp N/A int N/A N/A N/A m group exp 0 N/A N/A self _int N/A str N/A int N/A intpart fracpart N/A N/A self _exp N/A exp N/A len fracpart N/A N/A self _is_special False N/A N/A diag N/A N/A m group diag N/A N/A diag None N/A N/A N/A self _int N/A N/A N/A str N/A int N/A diag 0 lstrip 0 N/A N/A N/A m group signal N/A N/A N/A self _exp N N/A N/A N/A self _exp n N/A N/A N/A self _int 0 N/A N/A self _exp F N/A N/A self _is_special True N/A self N/A N/A isinstance value N/A int long N/A N/A N/A value 0 N/A N/A N/A self _sign 0 N/A N/A N/A self _sign 1 N/A N/A self _exp 0 N/A N/A self _int N/A str N/A abs value N/A N/A self _is_special False N/A self N/A N/A isinstance value Decimal N/A N/A N/A self _exp N/A value _exp N/A N/A self _sign N/A value _sign N/A N/A self _int N/A value _int N/A N/A self _is_special N/A value _is_special N/A self N/A N/A isinstance value _WorkRep N/A N/A N/A self _sign N/A value sign N/A N/A self _int N/A str N/A value int N/A N/A self _exp N/A int N/A value exp N/A N/A self _is_special False N/A self N/A N/A isinstance value N/A list tuple N/A N/A N/A N/A len value 3 N/A N/A N/A ValueError Invalid tuple size in creation of Decimal from list or tuple.  The list or tuple should have exactly three elements. N/A N/A N/A N/A isinstance N/A value N/A 0 N/A int long N/A N/A value N/A 0 N/A 0 1 N/A N/A N/A ValueError Invalid sign.  The first value in the tuple should be an integer; either 0 for a positive number or 1 for a negative number. N/A N/A self _sign N/A value N/A 0 N/A N/A N/A value N/A 2 F N/A N/A N/A self _int 0 N/A N/A self _exp N/A value N/A 2 N/A N/A self _is_special True N/A N/A digits N/A N/A digit N/A value N/A 1 N/A N/A N/A N/A isinstance digit N/A int long N/A 0 digit 9 N/A N/A N/A digits N/A digit 0 N/A N/A N/A N/A digits append digit N/A N/A N/A ValueError The second value in the tuple must be composed of integers in the range 0 through 9. N/A N/A N/A value N/A 2 N/A n N N/A N/A N/A self _int N/A N/A join N/A map str digits N/A N/A self _exp N/A value N/A 2 N/A N/A self _is_special True N/A N/A N/A isinstance N/A value N/A 2 N/A int long N/A N/A N/A self _int N/A N/A join N/A map str N/A digits N/A 0 N/A N/A self _exp N/A value N/A 2 N/A N/A self _is_special False N/A N/A N/A ValueError The third value in the tuple must be an integer, or one of the strings 'F', 'n', 'N'. N/A self N/A N/A isinstance value float N/A N/A value N/A N/A Decimal from_float value N/A N/A self _exp N/A value _exp N/A N/A self _sign N/A value _sign N/A N/A self _int N/A value _int N/A N/A self _is_special N/A value _is_special N/A self N/A N/A TypeError N/A Cannot convert %r to Decimal value N/A from_float N/A N/A cls f N/A N/A N/A Converts a float to a decimal number, exactly.

        Note that Decimal.from_float(0.1) is not the same as Decimal('0.1').
        Since 0.1 is not exactly representable in binary floating point, the
        value is stored as the nearest representable value which is
        0x1.999999999999ap-4.  The exact equivalent of the value in decimal
        is 0.1000000000000000055511151231257827021181583404541015625.

        >>> Decimal.from_float(0.1)
        Decimal('0.1000000000000000055511151231257827021181583404541015625')
        >>> Decimal.from_float(float('nan'))
        Decimal('NaN')
        >>> Decimal.from_float(float('inf'))
        Decimal('Infinity')
        >>> Decimal.from_float(-float('inf'))
        Decimal('-Infinity')
        >>> Decimal.from_float(-0.0)
        Decimal('-0')

         N/A N/A isinstance f N/A int long N/A N/A N/A cls f N/A N/A N/A N/A _math isinf f N/A N/A _math isnan f N/A N/A N/A cls N/A repr f N/A N/A N/A N/A _math copysign 1.0 f 1.0 N/A N/A sign 0 N/A N/A sign 1 N/A N/A n d N/A N/A N/A abs f as_integer_ratio N/A k N/A N/A N/A d bit_length 1 N/A result N/A _dec_from_triple sign N/A str N/A n N/A 5 k N/A k N/A N/A cls Decimal N/A N/A result N/A N/A N/A cls result N/A N/A from_float N/A classmethod from_float _isnan N/A N/A self N/A N/A N/A Returns whether the number is not actually one.

        0 if a number
        1 if NaN
        2 if sNaN
         N/A N/A self _is_special N/A N/A exp N/A self _exp N/A N/A exp n N/A N/A 1 N/A N/A N/A exp N N/A N/A 2 N/A 0 N/A _isinfinity N/A N/A self N/A N/A N/A Returns whether the number is infinite

        0 if finite or not a number
        1 if +INF
        -1 if -INF
         N/A N/A N/A self _exp F N/A N/A N/A self _sign N/A N/A -1 N/A 1 N/A 0 N/A _check_nans N/A N/A self other context N/A None None N/A N/A Returns whether the number is not actually one.

        if self, other are sNaN, signal
        if self, other are NaN return nan
        return 0

        Done before operations.
         N/A self_is_nan N/A N/A self _isnan N/A N/A other None N/A N/A other_is_nan False N/A N/A other_is_nan N/A N/A other _isnan N/A N/A self_is_nan other_is_nan N/A N/A N/A context None N/A N/A context N/A getcontext N/A N/A self_is_nan 2 N/A N/A N/A N/A context _raise_error InvalidOperation sNaN self N/A N/A other_is_nan 2 N/A N/A N/A N/A context _raise_error InvalidOperation sNaN other N/A self_is_nan N/A N/A N/A N/A self _fix_nan context N/A N/A N/A other _fix_nan context N/A 0 N/A _compare_check_nans N/A N/A self other context N/A N/A N/A Version of _check_nans used for the signaling comparisons
        compare_signal, __le__, __lt__, __ge__, __gt__.

        Signal InvalidOperation if either self or other is a (quiet
        or signaling) NaN.  Signaling NaNs take precedence over quiet
        NaNs.

        Return 0 if neither operand is a NaN.

         N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _is_special N/A other _is_special N/A N/A N/A N/A self is_snan N/A N/A N/A N/A context _raise_error InvalidOperation comparison involving sNaN self N/A N/A N/A N/A other is_snan N/A N/A N/A N/A context _raise_error InvalidOperation comparison involving sNaN other N/A N/A N/A N/A self is_qnan N/A N/A N/A N/A context _raise_error InvalidOperation comparison involving NaN self N/A N/A N/A N/A other is_qnan N/A N/A N/A N/A context _raise_error InvalidOperation comparison involving NaN other N/A 0 N/A __nonzero__ N/A N/A self N/A N/A N/A Return True if self is nonzero; otherwise return False.

        NaNs and infinities are considered nonzero.
         N/A N/A N/A self _is_special N/A N/A self _int 0 N/A _cmp N/A N/A self other N/A N/A N/A Compare the two non-NaN decimal instances self and other.

        Returns -1 if self < other, 0 if self == other and 1
        if self > other.  This routine is for internal use only. N/A N/A N/A self _is_special N/A other _is_special N/A N/A self_inf N/A N/A self _isinfinity N/A other_inf N/A N/A other _isinfinity N/A N/A self_inf other_inf N/A N/A 0 N/A N/A N/A self_inf other_inf N/A N/A -1 N/A N/A 1 N/A N/A self N/A N/A N/A other N/A N/A 0 N/A N/A N/A N/A -1 N/A other _sign N/A N/A other N/A N/A N/A -1 N/A self _sign N/A N/A N/A other _sign N/A self _sign N/A N/A -1 N/A N/A N/A self _sign N/A other _sign N/A N/A 1 N/A self_adjusted N/A N/A self adjusted N/A other_adjusted N/A N/A other adjusted N/A N/A self_adjusted other_adjusted N/A N/A self_padded N/A N/A self _int N/A 0 N/A N/A self _exp N/A other _exp N/A other_padded N/A N/A other _int N/A 0 N/A N/A other _exp N/A self _exp N/A N/A self_padded other_padded N/A N/A 0 N/A N/A N/A self_padded other_padded N/A N/A N/A N/A -1 N/A self _sign N/A N/A N/A -1 N/A self _sign N/A N/A N/A self_adjusted other_adjusted N/A N/A N/A -1 N/A self _sign N/A N/A N/A N/A -1 N/A self _sign N/A __eq__ N/A N/A self other context N/A None N/A N/A other N/A _convert_other other allow_float True N/A N/A other NotImplemented N/A N/A other N/A N/A N/A self _check_nans other context N/A N/A False N/A N/A N/A N/A self _cmp other 0 N/A __ne__ N/A N/A self other context N/A None N/A N/A other N/A _convert_other other allow_float True N/A N/A other NotImplemented N/A N/A other N/A N/A N/A self _check_nans other context N/A N/A True N/A N/A N/A N/A self _cmp other 0 N/A __lt__ N/A N/A self other context N/A None N/A N/A other N/A _convert_other other allow_float True N/A N/A other NotImplemented N/A N/A other N/A ans N/A N/A self _compare_check_nans other context N/A ans N/A N/A False N/A N/A N/A N/A self _cmp other 0 N/A __le__ N/A N/A self other context N/A None N/A N/A other N/A _convert_other other allow_float True N/A N/A other NotImplemented N/A N/A other N/A ans N/A N/A self _compare_check_nans other context N/A ans N/A N/A False N/A N/A N/A N/A self _cmp other 0 N/A __gt__ N/A N/A self other context N/A None N/A N/A other N/A _convert_other other allow_float True N/A N/A other NotImplemented N/A N/A other N/A ans N/A N/A self _compare_check_nans other context N/A ans N/A N/A False N/A N/A N/A N/A self _cmp other 0 N/A __ge__ N/A N/A self other context N/A None N/A N/A other N/A _convert_other other allow_float True N/A N/A other NotImplemented N/A N/A other N/A ans N/A N/A self _compare_check_nans other context N/A ans N/A N/A False N/A N/A N/A N/A self _cmp other 0 N/A compare N/A N/A self other context N/A None N/A N/A Compares one to another.

        -1 => a < b
        0  => a = b
        1  => a > b
        NaN => one is NaN
        Like __cmp__, but returns Decimal instances.
         N/A other N/A _convert_other other raiseit True N/A N/A N/A self _is_special N/A other N/A other _is_special N/A N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A Decimal N/A N/A self _cmp other N/A __hash__ N/A N/A self N/A N/A N/A x.__hash__() <==> hash(x) N/A N/A self _is_special N/A N/A N/A N/A self is_snan N/A N/A N/A TypeError Cannot hash a signaling NaN value. N/A N/A N/A N/A self is_nan N/A N/A 0 N/A N/A N/A self _sign N/A N/A -271828 N/A N/A 314159 N/A self_as_float N/A float self N/A N/A N/A N/A Decimal from_float self_as_float self N/A N/A N/A hash self_as_float N/A N/A N/A self _isinteger N/A N/A op N/A _WorkRep N/A N/A self to_integral_value N/A N/A hash N/A N/A N/A -1 N/A op sign N/A op int N/A pow 10 N/A op exp N/A N/A 2 64 1 N/A N/A hash N/A N/A self _sign N/A N/A self _exp N/A len N/A self _int N/A N/A N/A self _int rstrip 0 N/A as_tuple N/A N/A self N/A N/A N/A Represents the number as a triple tuple.

        To show the internals exactly as they are.
         N/A N/A DecimalTuple N/A self _sign N/A tuple N/A map int N/A self _int N/A self _exp N/A __repr__ N/A N/A self N/A N/A N/A Represents the number as an instance of Decimal. N/A N/A Decimal('%s') N/A str self N/A __str__ N/A N/A self eng context N/A False None N/A N/A Return string representation of the number in scientific notation.

        Captures all of the information in the underlying representation.
         N/A sign N/A N/A - N/A N/A self _sign N/A N/A self _is_special N/A N/A N/A N/A self _exp F N/A N/A N/A sign Infinity N/A N/A N/A N/A self _exp n N/A N/A N/A N/A sign NaN N/A self _int N/A N/A N/A N/A sign sNaN N/A self _int N/A leftdigits N/A N/A self _exp N/A len N/A self _int N/A N/A N/A N/A self _exp 0 N/A leftdigits -6 N/A N/A dotplace leftdigits N/A N/A N/A eng N/A N/A dotplace 1 N/A N/A N/A N/A self _int 0 N/A N/A dotplace N/A N/A N/A leftdigits 1 3 1 N/A N/A dotplace N/A N/A N/A leftdigits 1 3 1 N/A N/A dotplace 0 N/A N/A intpart 0 N/A fracpart N/A N/A . N/A 0 N/A dotplace N/A self _int N/A N/A N/A dotplace N/A len N/A self _int N/A N/A intpart N/A N/A self _int N/A 0 N/A dotplace N/A len N/A self _int N/A fracpart N/A N/A intpart N/A N/A self _int N/A dotplace N/A fracpart N/A . N/A N/A self _int N/A dotplace N/A N/A leftdigits dotplace N/A N/A exp N/A N/A N/A context None N/A N/A context N/A getcontext N/A exp N/A N/A N/A e E N/A N/A context capitals N/A %+d N/A leftdigits dotplace N/A N/A N/A N/A sign intpart fracpart exp N/A to_eng_string N/A N/A self context N/A None N/A N/A Convert to engineering-type string.

        Engineering notation has an exponent which is a multiple of 3, so there
        are up to 3 digits left of the decimal place.

        Same rules for when in exponential and when as a value as in __str__.
         N/A N/A N/A self __str__ eng True context context N/A __neg__ N/A N/A self context N/A None N/A N/A Returns a copy with the sign switched.

        Rounds, if it has reason.
         N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self N/A N/A context rounding ROUND_FLOOR N/A N/A ans N/A N/A self copy_abs N/A N/A ans N/A N/A self copy_negate N/A N/A N/A ans _fix context N/A __pos__ N/A N/A self context N/A None N/A N/A Returns a copy, unless it is a sNaN.

        Rounds the number (if more then precision digits)
         N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self N/A N/A context rounding ROUND_FLOOR N/A N/A ans N/A N/A self copy_abs N/A N/A ans N/A Decimal self N/A N/A N/A ans _fix context N/A __abs__ N/A N/A self round context N/A True None N/A N/A Returns the absolute value of self.

        If the keyword argument 'round' is false, do not round.  The
        expression self.__abs__(round=False) is equivalent to
        self.copy_abs().
         N/A N/A round N/A N/A N/A N/A self copy_abs N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A self _sign N/A N/A ans N/A N/A self __neg__ context context N/A N/A ans N/A N/A self __pos__ context context N/A ans N/A __add__ N/A N/A self other context N/A None N/A N/A Returns self + other.

        -INF + INF (or the reverse) cause InvalidOperation errors.
         N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _is_special N/A other _is_special N/A N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A self _isinfinity N/A N/A N/A N/A N/A self _sign N/A other _sign N/A N/A other _isinfinity N/A N/A N/A N/A context _raise_error InvalidOperation -INF + INF N/A N/A Decimal self N/A N/A N/A other _isinfinity N/A N/A N/A Decimal other N/A exp N/A min N/A self _exp N/A other _exp N/A negativezero 0 N/A N/A N/A N/A context rounding ROUND_FLOOR N/A N/A self _sign N/A other _sign N/A N/A negativezero 1 N/A N/A N/A self N/A other N/A N/A sign N/A min N/A self _sign N/A other _sign N/A negativezero N/A N/A sign 1 N/A ans N/A _dec_from_triple sign 0 exp N/A ans N/A N/A ans _fix context N/A ans N/A N/A self N/A N/A exp N/A max exp N/A N/A N/A other _exp N/A context prec 1 N/A ans N/A N/A other _rescale exp N/A context rounding N/A ans N/A N/A ans _fix context N/A ans N/A N/A other N/A N/A exp N/A max exp N/A N/A N/A self _exp N/A context prec 1 N/A ans N/A N/A self _rescale exp N/A context rounding N/A ans N/A N/A ans _fix context N/A ans N/A op1 N/A _WorkRep self N/A op2 N/A _WorkRep other N/A N/A op1 op2 N/A _normalize op1 op2 N/A context prec N/A result N/A _WorkRep N/A N/A N/A op1 sign N/A op2 sign N/A N/A N/A N/A op1 int N/A op2 int N/A N/A ans N/A _dec_from_triple negativezero 0 exp N/A ans N/A N/A ans _fix context N/A ans N/A N/A N/A op1 int N/A op2 int N/A N/A N/A op1 op2 N/A op2 op1 N/A N/A N/A op1 sign 1 N/A N/A N/A result sign 1 N/A N/A N/A op1 sign N/A op2 sign N/A N/A op2 sign N/A op1 sign N/A N/A N/A result sign 0 N/A N/A N/A N/A op1 sign 1 N/A N/A N/A result sign 1 N/A N/A N/A op1 sign N/A op2 sign N/A 0 0 N/A N/A N/A result sign 0 N/A N/A N/A op2 sign 0 N/A N/A N/A result int N/A N/A op1 int N/A op2 int N/A N/A N/A result int N/A N/A op1 int N/A op2 int N/A N/A result exp N/A op1 exp N/A ans N/A Decimal result N/A ans N/A N/A ans _fix context N/A ans N/A N/A __radd__ __add__ __sub__ N/A N/A self other context N/A None N/A N/A Return self - other N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A self _is_special N/A other _is_special N/A N/A ans N/A N/A self _check_nans other context context N/A ans N/A N/A ans N/A N/A N/A self __add__ N/A N/A other copy_negate context context N/A __rsub__ N/A N/A self other context N/A None N/A N/A Return other - self N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A other __sub__ self context context N/A __mul__ N/A N/A self other context N/A None N/A N/A Return self * other.

        (+-) INF * 0 (or its reverse) raise InvalidOperation.
         N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A context None N/A N/A context N/A getcontext N/A resultsign N/A N/A self _sign N/A other _sign N/A N/A N/A self _is_special N/A other _is_special N/A N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A self _isinfinity N/A N/A N/A other N/A N/A N/A N/A context _raise_error InvalidOperation (+-)INF * 0 N/A N/A _SignedInfinity N/A resultsign N/A N/A N/A other _isinfinity N/A N/A N/A self N/A N/A N/A N/A context _raise_error InvalidOperation 0 * (+-)INF N/A N/A _SignedInfinity N/A resultsign N/A resultexp N/A N/A self _exp N/A other _exp N/A N/A N/A self N/A other N/A N/A ans N/A _dec_from_triple resultsign 0 resultexp N/A ans N/A N/A ans _fix context N/A ans N/A N/A N/A self _int 1 N/A N/A ans N/A _dec_from_triple resultsign N/A other _int resultexp N/A ans N/A N/A ans _fix context N/A ans N/A N/A N/A other _int 1 N/A N/A ans N/A _dec_from_triple resultsign N/A self _int resultexp N/A ans N/A N/A ans _fix context N/A ans N/A op1 N/A _WorkRep self N/A op2 N/A _WorkRep other N/A ans N/A _dec_from_triple resultsign N/A str N/A N/A op1 int N/A op2 int resultexp N/A ans N/A N/A ans _fix context N/A ans N/A N/A __rmul__ __mul__ __truediv__ N/A N/A self other context N/A None N/A N/A Return self / other. N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A NotImplemented N/A N/A context None N/A N/A context N/A getcontext N/A sign N/A N/A self _sign N/A other _sign N/A N/A N/A self _is_special N/A other _is_special N/A N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A N/A self _isinfinity N/A N/A other _isinfinity N/A N/A N/A N/A context _raise_error InvalidOperation (+-)INF/(+-)INF N/A N/A N/A self _isinfinity N/A N/A N/A _SignedInfinity N/A sign N/A N/A N/A other _isinfinity N/A N/A N/A N/A context _raise_error Clamped Division by infinity N/A N/A _dec_from_triple sign 0 N/A N/A context Etiny N/A N/A other N/A N/A N/A self N/A N/A N/A N/A context _raise_error DivisionUndefined 0 / 0 N/A N/A N/A context _raise_error DivisionByZero x / 0 sign N/A N/A self N/A N/A exp N/A N/A self _exp N/A other _exp N/A coeff 0 N/A N/A shift N/A N/A N/A N/A len N/A other _int N/A len N/A self _int N/A context prec 1 N/A exp N/A N/A N/A self _exp N/A other _exp shift N/A op1 N/A _WorkRep self N/A op2 N/A _WorkRep other N/A N/A shift 0 N/A N/A N/A coeff remainder N/A divmod N/A N/A op1 int N/A 10 shift N/A op2 int N/A N/A N/A coeff remainder N/A divmod N/A op1 int N/A N/A op2 int N/A 10 N/A shift N/A remainder N/A N/A N/A N/A coeff 5 0 N/A N/A coeff 1 N/A N/A ideal_exp N/A N/A self _exp N/A other _exp N/A N/A N/A exp ideal_exp N/A N/A coeff 10 0 N/A N/A coeff 10 N/A exp 1 N/A ans N/A _dec_from_triple sign N/A str coeff exp N/A N/A N/A ans _fix context N/A _divide N/A N/A self other context N/A N/A N/A Return (self // other, self % other), to context.prec precision.

        Assumes that neither self nor other is a NaN, that self is not
        infinite and that other is nonzero.
         N/A sign N/A N/A self _sign N/A other _sign N/A N/A N/A other _isinfinity N/A N/A ideal_exp N/A self _exp N/A N/A ideal_exp N/A min N/A self _exp N/A other _exp N/A expdiff N/A N/A N/A self adjusted N/A N/A other adjusted N/A N/A N/A self N/A N/A other _isinfinity N/A expdiff -2 N/A N/A N/A N/A _dec_from_triple sign 0 0 N/A N/A self _rescale ideal_exp N/A context rounding N/A N/A expdiff N/A context prec N/A N/A op1 N/A _WorkRep self N/A op2 N/A _WorkRep other N/A N/A N/A op1 exp N/A op2 exp N/A N/A N/A op1 int N/A 10 N/A N/A op1 exp N/A op2 exp N/A N/A N/A op2 int N/A 10 N/A N/A op2 exp N/A op1 exp N/A N/A q r N/A divmod N/A op1 int N/A op2 int N/A N/A q N/A 10 N/A context prec N/A N/A N/A N/A _dec_from_triple sign N/A str q 0 N/A _dec_from_triple N/A self _sign N/A str r ideal_exp N/A ans N/A N/A context _raise_error DivisionImpossible quotient too large in //, % or divmod N/A N/A ans ans N/A __rtruediv__ N/A N/A self other context N/A None N/A N/A Swaps self/other and returns __truediv__. N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A other __truediv__ self context context N/A N/A __div__ __truediv__ N/A __rdiv__ __rtruediv__ __divmod__ N/A N/A self other context N/A None N/A N/A 
        Return (self // other, self % other)
         N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A N/A ans ans N/A sign N/A N/A self _sign N/A other _sign N/A N/A N/A self _isinfinity N/A N/A N/A N/A other _isinfinity N/A N/A ans N/A N/A context _raise_error InvalidOperation divmod(INF, INF) N/A N/A ans ans N/A N/A N/A N/A _SignedInfinity N/A sign N/A N/A context _raise_error InvalidOperation INF % x N/A N/A other N/A N/A N/A self N/A N/A ans N/A N/A context _raise_error DivisionUndefined divmod(0, 0) N/A N/A ans ans N/A N/A N/A N/A N/A context _raise_error DivisionByZero x // 0 sign N/A N/A context _raise_error InvalidOperation x % 0 N/A N/A quotient remainder N/A N/A self _divide other context N/A remainder N/A N/A remainder _fix context N/A N/A quotient remainder N/A __rdivmod__ N/A N/A self other context N/A None N/A N/A Swaps self/other and returns __divmod__. N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A other __divmod__ self context context N/A __mod__ N/A N/A self other context N/A None N/A N/A 
        self % other
         N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A self _isinfinity N/A N/A N/A N/A context _raise_error InvalidOperation INF % x N/A N/A N/A other N/A N/A self N/A N/A N/A N/A context _raise_error InvalidOperation x % 0 N/A N/A N/A N/A context _raise_error DivisionUndefined 0 % 0 N/A remainder N/A N/A N/A self _divide other context N/A 1 N/A remainder N/A N/A remainder _fix context N/A remainder N/A __rmod__ N/A N/A self other context N/A None N/A N/A Swaps self/other and returns __mod__. N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A other __mod__ self context context N/A remainder_near N/A N/A self other context N/A None N/A N/A 
        Remainder nearest to 0-  abs(remainder-near) <= other/2
         N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A self _isinfinity N/A N/A N/A N/A context _raise_error InvalidOperation remainder_near(infinity, x) N/A N/A other N/A N/A self N/A N/A N/A N/A context _raise_error InvalidOperation remainder_near(x, 0) N/A N/A N/A N/A context _raise_error DivisionUndefined remainder_near(0, 0) N/A N/A N/A other _isinfinity N/A N/A ans N/A Decimal self N/A N/A N/A ans _fix context N/A ideal_exponent N/A min N/A self _exp N/A other _exp N/A N/A self N/A N/A ans N/A _dec_from_triple N/A self _sign 0 ideal_exponent N/A N/A N/A ans _fix context N/A expdiff N/A N/A N/A self adjusted N/A N/A other adjusted N/A N/A expdiff N/A N/A context prec 1 N/A N/A N/A N/A context _raise_error DivisionImpossible N/A N/A expdiff -2 N/A N/A ans N/A N/A self _rescale ideal_exponent N/A context rounding N/A N/A N/A ans _fix context N/A op1 N/A _WorkRep self N/A op2 N/A _WorkRep other N/A N/A N/A op1 exp N/A op2 exp N/A N/A N/A op1 int N/A 10 N/A N/A op1 exp N/A op2 exp N/A N/A N/A op2 int N/A 10 N/A N/A op2 exp N/A op1 exp N/A N/A q r N/A divmod N/A op1 int N/A op2 int N/A N/A N/A N/A 2 r N/A q 1 N/A op2 int N/A N/A r N/A op2 int N/A q 1 N/A N/A q N/A 10 N/A context prec N/A N/A N/A N/A context _raise_error DivisionImpossible N/A sign N/A self _sign N/A N/A r 0 N/A N/A sign N/A 1 sign N/A r N/A r N/A ans N/A _dec_from_triple sign N/A str r ideal_exponent N/A N/A N/A ans _fix context N/A __floordiv__ N/A N/A self other context N/A None N/A N/A self // other N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A self _isinfinity N/A N/A N/A N/A other _isinfinity N/A N/A N/A N/A context _raise_error InvalidOperation INF // INF N/A N/A N/A _SignedInfinity N/A N/A N/A self _sign N/A other _sign N/A N/A other N/A N/A self N/A N/A N/A N/A context _raise_error DivisionByZero x // 0 N/A N/A self _sign N/A other _sign N/A N/A N/A N/A context _raise_error DivisionUndefined 0 // 0 N/A N/A N/A N/A self _divide other context N/A 0 N/A __rfloordiv__ N/A N/A self other context N/A None N/A N/A Swaps self/other and returns __floordiv__. N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A other __floordiv__ self context context N/A __float__ N/A N/A self N/A N/A N/A Float representation. N/A N/A N/A self _isnan N/A N/A N/A N/A self is_snan N/A N/A N/A ValueError Cannot convert signaling NaN to float N/A s N/A N/A self _sign -nan nan N/A N/A s N/A str self N/A N/A float s N/A __int__ N/A N/A self N/A N/A N/A Converts self to an int, truncating if necessary. N/A N/A self _is_special N/A N/A N/A N/A self _isnan N/A N/A N/A ValueError Cannot convert NaN to integer N/A N/A N/A N/A self _isinfinity N/A N/A N/A OverflowError Cannot convert infinity to integer N/A s N/A -1 N/A self _sign N/A N/A N/A self _exp 0 N/A N/A N/A N/A s N/A int N/A self _int N/A 10 N/A self _exp N/A N/A N/A s N/A int N/A N/A N/A self _int N/A N/A self _exp 0 N/A N/A __trunc__ __int__ real N/A N/A self N/A N/A N/A self N/A N/A real N/A property real imag N/A N/A self N/A N/A N/A N/A Decimal 0 N/A N/A imag N/A property imag conjugate N/A N/A self N/A N/A N/A self N/A __complex__ N/A N/A self N/A N/A N/A N/A complex N/A float self N/A __long__ N/A N/A self N/A N/A N/A Converts to a long.

        Equivalent to long(int(self))
         N/A N/A long N/A N/A self __int__ N/A _fix_nan N/A N/A self context N/A N/A N/A Decapitate the payload of a NaN to fit the context N/A payload N/A self _int N/A max_payload_len N/A N/A context prec N/A context _clamp N/A N/A N/A len payload max_payload_len N/A N/A payload N/A N/A N/A payload N/A N/A N/A len payload max_payload_len lstrip 0 N/A N/A _dec_from_triple N/A self _sign payload N/A self _exp True N/A N/A Decimal self N/A _fix N/A N/A self context N/A N/A N/A Round if it is necessary to keep self within prec precision.

        Rounds and fixes the exponent.  Does not raise on a sNaN.

        Arguments:
        self - Decimal instance
        context - context used.
         N/A N/A self _is_special N/A N/A N/A N/A self _isnan N/A N/A N/A N/A self _fix_nan context N/A N/A N/A Decimal self N/A Etiny N/A N/A context Etiny N/A Etop N/A N/A context Etop N/A N/A self N/A N/A exp_max N/A N/A N/A context Emax Etop N/A N/A context _clamp N/A new_exp N/A min N/A max N/A self _exp Etiny exp_max N/A N/A new_exp N/A self _exp N/A N/A N/A N/A context _raise_error Clamped N/A N/A _dec_from_triple N/A self _sign 0 new_exp N/A N/A N/A Decimal self N/A exp_min N/A N/A N/A len N/A self _int N/A self _exp N/A context prec N/A N/A exp_min Etop N/A N/A ans N/A N/A context _raise_error Overflow above Emax N/A self _sign N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A ans N/A self_is_subnormal N/A exp_min Etiny N/A self_is_subnormal N/A N/A exp_min Etiny N/A N/A N/A self _exp exp_min N/A N/A digits N/A N/A N/A len N/A self _int N/A self _exp exp_min N/A N/A digits 0 N/A N/A self N/A _dec_from_triple N/A self _sign 1 N/A exp_min 1 N/A digits 0 N/A rounding_method N/A N/A self _pick_rounding_function N/A N/A context rounding N/A changed N/A rounding_method self digits N/A coeff N/A N/A N/A self _int N/A digits 0 N/A N/A changed 0 N/A N/A coeff N/A str N/A N/A int coeff 1 N/A N/A N/A len coeff N/A context prec N/A N/A coeff N/A coeff N/A -1 N/A exp_min 1 N/A N/A exp_min Etop N/A N/A ans N/A N/A context _raise_error Overflow above Emax N/A self _sign N/A N/A ans N/A _dec_from_triple N/A self _sign coeff exp_min N/A N/A changed self_is_subnormal N/A N/A N/A N/A context _raise_error Underflow N/A self_is_subnormal N/A N/A N/A N/A context _raise_error Subnormal N/A changed N/A N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A N/A ans N/A N/A N/A N/A context _raise_error Clamped N/A ans N/A self_is_subnormal N/A N/A N/A N/A context _raise_error Subnormal N/A N/A N/A N/A context _clamp 1 N/A N/A self _exp Etop N/A N/A N/A N/A context _raise_error Clamped N/A self_padded N/A N/A self _int N/A 0 N/A N/A self _exp Etop N/A N/A _dec_from_triple N/A self _sign self_padded Etop N/A N/A Decimal self N/A _round_down N/A N/A self prec N/A N/A N/A Also known as round-towards-0, truncate. N/A N/A _all_zeros N/A self _int prec N/A N/A 0 N/A N/A -1 N/A _round_up N/A N/A self prec N/A N/A N/A Rounds away from 0. N/A N/A N/A N/A self _round_down prec N/A _round_half_up N/A N/A self prec N/A N/A N/A Rounds 5 up (away from 0) N/A N/A N/A N/A self _int N/A prec 56789 N/A N/A 1 N/A N/A N/A _all_zeros N/A self _int prec N/A N/A 0 N/A N/A -1 N/A _round_half_down N/A N/A self prec N/A N/A N/A Round 5 down N/A N/A _exact_half N/A self _int prec N/A N/A -1 N/A N/A N/A N/A self _round_half_up prec N/A _round_half_even N/A N/A self prec N/A N/A N/A Round 5 to even, rest to nearest. N/A N/A N/A _exact_half N/A self _int prec N/A N/A prec 0 N/A N/A N/A self _int N/A N/A prec 1 02468 N/A N/A -1 N/A N/A N/A N/A self _round_half_up prec N/A _round_ceiling N/A N/A self prec N/A N/A N/A Rounds up (not away from 0 if negative.) N/A N/A self _sign N/A N/A N/A N/A self _round_down prec N/A N/A N/A N/A N/A self _round_down prec N/A _round_floor N/A N/A self prec N/A N/A N/A Rounds down (not towards 0 if negative) N/A N/A N/A self _sign N/A N/A N/A N/A self _round_down prec N/A N/A N/A N/A N/A self _round_down prec N/A _round_05up N/A N/A self prec N/A N/A N/A Round down unless digit prec-1 is 0 or 5. N/A N/A prec N/A N/A N/A self _int N/A N/A prec 1 05 N/A N/A N/A N/A self _round_down prec N/A N/A N/A N/A N/A self _round_down prec N/A N/A _pick_rounding_function N/A dict ROUND_DOWN _round_down ROUND_UP _round_up ROUND_HALF_UP _round_half_up ROUND_HALF_DOWN _round_half_down ROUND_HALF_EVEN _round_half_even ROUND_CEILING _round_ceiling ROUND_FLOOR _round_floor ROUND_05UP _round_05up fma N/A N/A self other third context N/A None N/A N/A Fused multiply-add.

        Returns self*other+third with no rounding of the intermediate
        product self*other.

        self and other are multiplied together, with no rounding of
        the result.  The third operand is then added to the result,
        and a single final rounding is performed.
         N/A other N/A _convert_other other raiseit True N/A N/A N/A self _is_special N/A other _is_special N/A N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _exp N N/A N/A N/A N/A context _raise_error InvalidOperation sNaN self N/A N/A N/A other _exp N N/A N/A N/A N/A context _raise_error InvalidOperation sNaN other N/A N/A N/A self _exp n N/A N/A product self N/A N/A N/A N/A other _exp n N/A N/A product other N/A N/A N/A N/A self _exp F N/A N/A N/A other N/A N/A N/A N/A context _raise_error InvalidOperation INF * 0 in fma N/A product N/A _SignedInfinity N/A N/A N/A self _sign N/A other _sign N/A N/A N/A N/A other _exp F N/A N/A N/A self N/A N/A N/A N/A context _raise_error InvalidOperation 0 * INF in fma N/A product N/A _SignedInfinity N/A N/A N/A self _sign N/A other _sign N/A N/A product N/A _dec_from_triple N/A N/A self _sign N/A other _sign N/A str N/A N/A int N/A self _int N/A int N/A other _int N/A N/A self _exp N/A other _exp N/A third N/A _convert_other third raiseit True N/A N/A N/A product __add__ third context N/A _power_modulo N/A N/A self other modulo context N/A None N/A N/A Three argument version of __pow__ N/A other N/A _convert_other other raiseit True N/A modulo N/A _convert_other modulo raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A self_is_nan N/A N/A self _isnan N/A other_is_nan N/A N/A other _isnan N/A modulo_is_nan N/A N/A modulo _isnan N/A N/A self_is_nan other_is_nan modulo_is_nan N/A N/A N/A self_is_nan 2 N/A N/A N/A N/A context _raise_error InvalidOperation sNaN self N/A N/A other_is_nan 2 N/A N/A N/A N/A context _raise_error InvalidOperation sNaN other N/A N/A modulo_is_nan 2 N/A N/A N/A N/A context _raise_error InvalidOperation sNaN modulo N/A self_is_nan N/A N/A N/A N/A self _fix_nan context N/A other_is_nan N/A N/A N/A N/A other _fix_nan context N/A N/A N/A modulo _fix_nan context N/A N/A N/A N/A N/A self _isinteger N/A N/A other _isinteger N/A N/A modulo _isinteger N/A N/A N/A N/A context _raise_error InvalidOperation pow() 3rd argument not allowed unless all arguments are integers N/A N/A other 0 N/A N/A N/A N/A context _raise_error InvalidOperation pow() 2nd argument cannot be negative when 3rd argument specified N/A N/A modulo N/A N/A N/A N/A context _raise_error InvalidOperation pow() 3rd argument cannot be 0 N/A N/A N/A N/A modulo adjusted N/A context prec N/A N/A N/A N/A context _raise_error InvalidOperation insufficient precision: pow() 3rd argument must not have more than precision digits N/A N/A N/A other N/A self N/A N/A N/A N/A context _raise_error InvalidOperation at least one of pow() 1st argument and 2nd argument must be nonzero ;0**0 is not defined N/A N/A N/A other _iseven N/A N/A sign 0 N/A N/A sign N/A self _sign N/A modulo N/A abs N/A int modulo N/A base N/A _WorkRep N/A N/A self to_integral_value N/A exponent N/A _WorkRep N/A N/A other to_integral_value N/A base N/A N/A N/A N/A base int modulo N/A pow 10 N/A base exp modulo modulo N/A i N/A xrange N/A exponent exp N/A N/A base N/A pow base 10 modulo N/A base N/A pow base N/A exponent int modulo N/A N/A _dec_from_triple sign N/A str base 0 N/A _power_exact N/A N/A self other p N/A N/A N/A Attempt to compute self**other exactly.

        Given Decimals self and other and an integer p, attempt to
        compute an exact result for the power self**other, with p
        digits of precision.  Return None if self**other is not
        exactly representable in p digits.

        Assumes that elimination of special cases has already been
        performed: self and other must both be nonspecial; self must
        be positive and not numerically equal to 1; other must be
        nonzero.  For efficiency, other._exp should not be too large,
        so that 10**abs(other._exp) is a feasible calculation. N/A x N/A _WorkRep self N/A N/A xc xe N/A N/A x int N/A x exp N/A N/A N/A xc 10 0 N/A N/A xc 10 N/A xe 1 N/A y N/A _WorkRep other N/A N/A yc ye N/A N/A y int N/A y exp N/A N/A N/A yc 10 0 N/A N/A yc 10 N/A ye 1 N/A N/A xc 1 N/A N/A xe yc N/A N/A N/A xe 10 0 N/A N/A xe 10 N/A ye 1 N/A N/A ye 0 N/A N/A None N/A exponent N/A xe N/A 10 ye N/A N/A N/A y sign 1 N/A N/A exponent N/A exponent N/A N/A N/A N/A other _isinteger N/A N/A other _sign 0 N/A N/A ideal_exponent N/A N/A self _exp N/A int other N/A zeros N/A min N/A exponent ideal_exponent N/A p 1 N/A N/A zeros 0 N/A N/A _dec_from_triple 0 N/A 1 N/A 0 zeros N/A exponent zeros N/A N/A N/A y sign 1 N/A N/A last_digit N/A xc 10 N/A N/A last_digit N/A 2 4 6 8 N/A N/A N/A N/A xc N/A xc xc N/A N/A None N/A e N/A N/A _nbits xc 1 N/A emax N/A N/A p 93 65 N/A N/A ye N/A len N/A str emax N/A N/A None N/A e N/A _decimal_lshift_exact N/A e yc ye N/A xe N/A _decimal_lshift_exact N/A xe yc ye N/A N/A N/A e None N/A xe None N/A N/A None N/A N/A e emax N/A N/A None N/A xc N/A 5 e N/A N/A N/A last_digit 5 N/A N/A e N/A N/A N/A _nbits xc 28 65 N/A N/A xc remainder N/A divmod N/A 5 e xc N/A remainder N/A N/A None N/A N/A N/A xc 5 0 N/A N/A xc 5 N/A e 1 N/A emax N/A N/A p 10 3 N/A N/A ye N/A len N/A str emax N/A N/A None N/A e N/A _decimal_lshift_exact N/A e yc ye N/A xe N/A _decimal_lshift_exact N/A xe yc ye N/A N/A N/A e None N/A xe None N/A N/A None N/A N/A e emax N/A N/A None N/A xc N/A 2 e N/A N/A None N/A N/A xc N/A 10 p N/A N/A None N/A xe N/A N/A e xe N/A N/A _dec_from_triple 0 N/A str xc xe N/A N/A ye 0 N/A N/A N/A m n N/A N/A yc N/A 10 ye 1 N/A N/A N/A N/A xe 0 N/A N/A len N/A str N/A abs N/A yc xe N/A ye N/A N/A None N/A xc_bits N/A _nbits xc N/A N/A N/A xc 1 N/A N/A len N/A str N/A N/A abs yc xc_bits N/A ye N/A N/A None N/A N/A m n N/A yc N/A 10 N/A ye N/A N/A N/A m 2 N/A n 2 0 N/A N/A m 2 N/A n 2 N/A N/A N/A m 5 N/A n 5 0 N/A N/A m 5 N/A n 5 N/A N/A n 1 N/A N/A N/A N/A xc 1 N/A xc_bits n N/A N/A None N/A N/A xe rem N/A divmod xe n N/A N/A rem 0 N/A N/A None N/A a N/A 1 N/A N/A N/A N/A _nbits xc n N/A True N/A N/A N/A q r N/A divmod xc N/A a N/A n 1 N/A N/A a q N/A N/A N/A N/A a N/A N/A N/A a N/A n 1 q n N/A N/A N/A N/A a q N/A r 0 N/A N/A None N/A xc a N/A N/A N/A xc 1 N/A m N/A N/A p 100 N/A _log10_lb xc N/A N/A None N/A xc N/A xc m N/A xe m N/A N/A xc N/A 10 p N/A N/A None N/A str_xc N/A str xc N/A N/A N/A N/A other _isinteger N/A N/A other _sign 0 N/A N/A ideal_exponent N/A N/A self _exp N/A int other N/A zeros N/A min N/A xe ideal_exponent N/A p N/A len str_xc N/A N/A zeros 0 N/A N/A _dec_from_triple 0 N/A str_xc N/A 0 zeros N/A xe zeros N/A __pow__ N/A N/A self other modulo context N/A None None N/A N/A Return self ** other [ % modulo].

        With two arguments, compute self**other.

        With three arguments, compute (self**other) % modulo.  For the
        three argument form, the following restrictions on the
        arguments hold:

         - all three arguments must be integral
         - other must be nonnegative
         - either self or other (or both) must be nonzero
         - modulo must be nonzero and must have at most p digits,
           where p is the context precision.

        If any of these restrictions is violated the InvalidOperation
        flag is raised.

        The result of pow(self, other, modulo) is identical to the
        result that would be obtained by computing (self**other) %
        modulo with unbounded precision, but is computed more
        efficiently.  It is always exact.
         N/A N/A modulo None N/A N/A N/A N/A self _power_modulo other modulo context N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A other N/A N/A N/A self N/A N/A N/A N/A context _raise_error InvalidOperation 0 ** 0 N/A N/A _One N/A result_sign 0 N/A N/A N/A self _sign 1 N/A N/A N/A N/A other _isinteger N/A N/A N/A N/A N/A other _iseven N/A N/A result_sign 1 N/A N/A self N/A N/A N/A N/A context _raise_error InvalidOperation x ** y with x negative and y not an integer N/A self N/A N/A self copy_negate N/A N/A self N/A N/A N/A N/A other _sign 0 N/A N/A N/A _dec_from_triple result_sign 0 0 N/A N/A N/A _SignedInfinity N/A result_sign N/A N/A N/A self _isinfinity N/A N/A N/A N/A other _sign 0 N/A N/A N/A _SignedInfinity N/A result_sign N/A N/A N/A _dec_from_triple result_sign 0 0 N/A N/A self _One N/A N/A N/A N/A other _isinteger N/A N/A N/A N/A other _sign 1 N/A N/A multiplier 0 N/A N/A N/A other N/A context prec N/A N/A multiplier N/A context prec N/A N/A multiplier N/A int other N/A exp N/A N/A self _exp multiplier N/A N/A exp N/A 1 N/A context prec N/A N/A exp N/A 1 N/A context prec N/A N/A N/A context _raise_error Rounded N/A N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A exp N/A 1 N/A context prec N/A N/A _dec_from_triple result_sign N/A 1 N/A 0 N/A exp exp N/A self_adj N/A N/A self adjusted N/A N/A N/A other _isinfinity N/A N/A N/A N/A N/A other _sign 0 N/A self_adj 0 N/A N/A N/A _dec_from_triple result_sign 0 0 N/A N/A N/A _SignedInfinity N/A result_sign N/A ans None N/A exact False N/A bound N/A N/A N/A self _log10_exp_bound N/A N/A other adjusted N/A N/A N/A self_adj 0 N/A N/A other _sign 0 N/A N/A N/A bound N/A len N/A str N/A context Emax N/A N/A ans N/A _dec_from_triple result_sign 1 N/A N/A context Emax 1 N/A N/A Etiny N/A N/A context Etiny N/A N/A bound N/A len N/A str N/A Etiny N/A N/A ans N/A _dec_from_triple result_sign 1 N/A Etiny 1 N/A N/A ans None N/A N/A ans N/A N/A self _power_exact other N/A N/A context prec 1 N/A N/A ans None N/A N/A N/A result_sign 1 N/A N/A ans N/A _dec_from_triple 1 N/A ans _int N/A ans _exp N/A exact True N/A N/A ans None N/A N/A p N/A context prec N/A x N/A _WorkRep self N/A N/A xc xe N/A N/A x int N/A x exp N/A y N/A _WorkRep other N/A N/A yc ye N/A N/A y int N/A y exp N/A N/A N/A y sign 1 N/A N/A yc N/A yc N/A extra 3 N/A True N/A N/A N/A coeff exp N/A _dpower xc xe yc ye N/A p extra N/A N/A coeff N/A 5 N/A 10 N/A N/A N/A len N/A str coeff p 1 N/A N/A N/A extra 3 N/A ans N/A _dec_from_triple result_sign N/A str coeff exp N/A N/A exact N/A N/A N/A other _isinteger N/A N/A N/A N/A len N/A ans _int N/A context prec N/A N/A expdiff N/A N/A N/A context prec 1 N/A len N/A ans _int N/A ans N/A _dec_from_triple N/A ans _sign N/A N/A ans _int N/A 0 expdiff N/A N/A ans _exp expdiff N/A newcontext N/A N/A context copy N/A N/A N/A newcontext clear_flags N/A exception _signals N/A N/A N/A N/A newcontext traps N/A exception 0 N/A ans N/A N/A ans _fix newcontext N/A N/A N/A newcontext _raise_error Inexact N/A N/A N/A newcontext flags N/A Subnormal N/A N/A N/A N/A newcontext _raise_error Underflow N/A N/A N/A newcontext flags N/A Overflow N/A N/A N/A N/A context _raise_error Overflow above Emax N/A ans _sign N/A exception N/A Underflow Subnormal Inexact Rounded Clamped N/A N/A N/A N/A newcontext flags N/A exception N/A N/A N/A N/A context _raise_error exception N/A N/A ans N/A N/A ans _fix context N/A ans N/A __rpow__ N/A N/A self other context N/A None N/A N/A Swaps self/other and returns __pow__. N/A other N/A _convert_other other N/A N/A other NotImplemented N/A N/A other N/A N/A N/A other __pow__ self context context N/A normalize N/A N/A self context N/A None N/A N/A Normalize- strip trailing 0s, change anything equal to 0 to 0e0 N/A N/A context None N/A N/A context N/A getcontext N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A dup N/A N/A self _fix context N/A N/A N/A dup _isinfinity N/A N/A dup N/A N/A dup N/A N/A N/A _dec_from_triple N/A dup _sign 0 0 N/A exp_max N/A N/A N/A context Emax N/A N/A context Etop N/A N/A context _clamp N/A end N/A len N/A dup _int N/A exp N/A dup _exp N/A N/A N/A N/A N/A dup _int N/A N/A end 1 0 N/A exp exp_max N/A N/A exp 1 N/A end 1 N/A N/A _dec_from_triple N/A dup _sign N/A N/A dup _int N/A end exp N/A quantize N/A N/A self exp rounding context watchexp N/A None None True N/A N/A Quantize self so its exponent is the same as that of exp.

        Similar to self._rescale(exp._exp) but with error checking.
         N/A exp N/A _convert_other exp raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A N/A rounding None N/A N/A rounding N/A context rounding N/A N/A N/A self _is_special N/A exp _is_special N/A N/A ans N/A N/A self _check_nans exp context N/A ans N/A N/A ans N/A N/A N/A N/A exp _isinfinity N/A N/A self _isinfinity N/A N/A N/A N/A N/A exp _isinfinity N/A N/A self _isinfinity N/A N/A N/A Decimal self N/A N/A N/A context _raise_error InvalidOperation quantize with one INF N/A N/A watchexp N/A N/A ans N/A N/A self _rescale N/A exp _exp rounding N/A N/A N/A ans _exp N/A self _exp N/A N/A N/A N/A context _raise_error Rounded N/A N/A ans self N/A N/A N/A N/A context _raise_error Inexact N/A ans N/A N/A N/A N/A N/A context Etiny N/A exp _exp N/A context Emax N/A N/A N/A N/A context _raise_error InvalidOperation target exponent out of bounds in quantize N/A N/A self N/A N/A ans N/A _dec_from_triple N/A self _sign 0 N/A exp _exp N/A N/A N/A ans _fix context N/A self_adjusted N/A N/A self adjusted N/A N/A self_adjusted N/A context Emax N/A N/A N/A N/A context _raise_error InvalidOperation exponent of quantize result too large for current context N/A N/A N/A N/A self_adjusted N/A exp _exp 1 N/A context prec N/A N/A N/A N/A context _raise_error InvalidOperation quantize result has too many digits for current context N/A ans N/A N/A self _rescale N/A exp _exp rounding N/A N/A N/A N/A ans adjusted N/A context Emax N/A N/A N/A N/A context _raise_error InvalidOperation exponent of quantize result too large for current context N/A N/A N/A len N/A ans _int N/A context prec N/A N/A N/A N/A context _raise_error InvalidOperation quantize result has too many digits for current context N/A N/A ans N/A N/A N/A ans adjusted N/A context Emin N/A N/A N/A N/A context _raise_error Subnormal N/A N/A N/A ans _exp N/A self _exp N/A N/A N/A ans self N/A N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A ans N/A N/A ans _fix context N/A ans N/A same_quantum N/A N/A self other N/A N/A N/A Return True if self and other have the same exponent; otherwise
        return False.

        If either operand is a special value, the following rules are used:
           * return True if both operands are infinities
           * return True if both operands are NaNs
           * otherwise, return False.
         N/A other N/A _convert_other other raiseit True N/A N/A N/A self _is_special N/A other _is_special N/A N/A N/A N/A N/A N/A self is_nan N/A N/A other is_nan N/A N/A N/A self is_infinite N/A N/A other is_infinite N/A N/A N/A self _exp N/A other _exp N/A _rescale N/A N/A self exp rounding N/A N/A N/A Rescale self so that the exponent is exp, either by padding with zeros
        or by truncating digits, using the given rounding mode.

        Specials are returned without change.  This operation is
        quiet: it raises no flags, and uses no information from the
        context.

        exp = exp to scale to (an integer)
        rounding = rounding mode
         N/A N/A self _is_special N/A N/A N/A Decimal self N/A N/A self N/A N/A N/A _dec_from_triple N/A self _sign 0 exp N/A N/A N/A self _exp exp N/A N/A N/A _dec_from_triple N/A self _sign N/A N/A self _int N/A 0 N/A N/A self _exp exp exp N/A digits N/A N/A N/A len N/A self _int N/A self _exp exp N/A N/A digits 0 N/A N/A self N/A _dec_from_triple N/A self _sign 1 N/A exp 1 N/A digits 0 N/A this_function N/A N/A self _pick_rounding_function N/A rounding N/A changed N/A this_function self digits N/A coeff N/A N/A N/A self _int N/A digits 0 N/A N/A changed 1 N/A N/A coeff N/A str N/A N/A int coeff 1 N/A N/A _dec_from_triple N/A self _sign coeff exp N/A _round N/A N/A self places rounding N/A N/A N/A Round a nonzero, nonspecial Decimal to a fixed number of
        significant figures, using the given rounding mode.

        Infinities, NaNs and zeros are returned unaltered.

        This operation is quiet: it raises no flags, and uses no
        information from the context.

         N/A N/A places 0 N/A N/A N/A ValueError argument should be at least 1 in _round N/A N/A N/A self _is_special N/A self N/A N/A N/A Decimal self N/A ans N/A N/A self _rescale N/A N/A N/A N/A self adjusted 1 places rounding N/A N/A N/A N/A ans adjusted N/A N/A self adjusted N/A N/A ans N/A N/A ans _rescale N/A N/A N/A N/A ans adjusted 1 places rounding N/A ans N/A to_integral_exact N/A N/A self rounding context N/A None None N/A N/A Rounds to a nearby integer.

        If no rounding mode is specified, take the rounding mode from
        the context.  This method raises the Rounded and Inexact flags
        when appropriate.

        See also: to_integral_value, which does exactly the same as
        this method except that it doesn't raise Inexact or Rounded.
         N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A Decimal self N/A N/A N/A self _exp 0 N/A N/A N/A Decimal self N/A N/A self N/A N/A N/A _dec_from_triple N/A self _sign 0 0 N/A N/A context None N/A N/A context N/A getcontext N/A N/A rounding None N/A N/A rounding N/A context rounding N/A ans N/A N/A self _rescale 0 rounding N/A N/A ans self N/A N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A ans N/A to_integral_value N/A N/A self rounding context N/A None None N/A N/A Rounds to the nearest integer, without raising inexact, rounded. N/A N/A context None N/A N/A context N/A getcontext N/A N/A rounding None N/A N/A rounding N/A context rounding N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A Decimal self N/A N/A N/A self _exp 0 N/A N/A N/A Decimal self N/A N/A N/A N/A self _rescale 0 rounding N/A N/A to_integral to_integral_value sqrt N/A N/A self context N/A None N/A N/A Return the square root of self. N/A N/A context None N/A N/A context N/A getcontext N/A N/A self _is_special N/A N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A N/A N/A self _isinfinity N/A N/A self _sign 0 N/A N/A N/A Decimal self N/A N/A self N/A N/A ans N/A _dec_from_triple N/A self _sign 0 N/A N/A self _exp 2 N/A N/A N/A ans _fix context N/A N/A N/A self _sign 1 N/A N/A N/A N/A context _raise_error InvalidOperation sqrt(-x), x > 0 N/A prec N/A N/A context prec 1 N/A op N/A _WorkRep self N/A e N/A N/A op exp 1 N/A N/A N/A op exp 1 N/A N/A c N/A N/A op int 10 N/A l N/A N/A N/A len N/A self _int 1 1 N/A N/A c N/A op int N/A l N/A N/A N/A len N/A self _int 1 1 N/A shift N/A prec l N/A N/A shift 0 N/A N/A c N/A 100 shift N/A exact True N/A N/A N/A c remainder N/A divmod c N/A 100 N/A shift N/A exact N/A remainder N/A e shift N/A n N/A 10 prec N/A True N/A N/A q N/A c n N/A N/A n q N/A N/A N/A N/A n N/A N/A n q 1 N/A exact N/A exact N/A N/A n n c N/A exact N/A N/A N/A shift 0 N/A N/A n N/A 10 shift N/A N/A n N/A 10 N/A shift N/A e shift N/A N/A N/A N/A n 5 0 N/A N/A n 1 N/A ans N/A _dec_from_triple 0 N/A str n e N/A context N/A N/A context _shallow_copy N/A rounding N/A N/A context _set_rounding ROUND_HALF_EVEN N/A ans N/A N/A ans _fix context N/A N/A context rounding rounding N/A ans N/A max N/A N/A self other context N/A None N/A N/A Returns the larger value.

        Like max(self, other) except if one is not a number, returns
        NaN (and signals if one is sNaN).  Also rounds.
         N/A other N/A _convert_other other raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _is_special N/A other _is_special N/A N/A sn N/A N/A self _isnan N/A on N/A N/A other _isnan N/A N/A sn on N/A N/A N/A N/A on 1 N/A sn 0 N/A N/A N/A N/A self _fix context N/A N/A N/A sn 1 N/A on 0 N/A N/A N/A N/A other _fix context N/A N/A N/A self _check_nans other context N/A c N/A N/A self _cmp other N/A N/A c 0 N/A N/A c N/A N/A self compare_total other N/A N/A c -1 N/A N/A ans other N/A N/A ans self N/A N/A N/A ans _fix context N/A min N/A N/A self other context N/A None N/A N/A Returns the smaller value.

        Like min(self, other) except if one is not a number, returns
        NaN (and signals if one is sNaN).  Also rounds.
         N/A other N/A _convert_other other raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _is_special N/A other _is_special N/A N/A sn N/A N/A self _isnan N/A on N/A N/A other _isnan N/A N/A sn on N/A N/A N/A N/A on 1 N/A sn 0 N/A N/A N/A N/A self _fix context N/A N/A N/A sn 1 N/A on 0 N/A N/A N/A N/A other _fix context N/A N/A N/A self _check_nans other context N/A c N/A N/A self _cmp other N/A N/A c 0 N/A N/A c N/A N/A self compare_total other N/A N/A c -1 N/A N/A ans self N/A N/A ans other N/A N/A N/A ans _fix context N/A _isinteger N/A N/A self N/A N/A N/A Returns whether self is an integer N/A N/A self _is_special N/A N/A False N/A N/A N/A self _exp 0 N/A N/A True N/A rest N/A N/A self _int N/A N/A self _exp N/A N/A rest N/A 0 N/A len rest N/A _iseven N/A N/A self N/A N/A N/A Returns True if self is even.  Assumes self is an integer. N/A N/A N/A self N/A N/A self _exp 0 N/A N/A True N/A N/A N/A N/A self _int N/A N/A -1 N/A self _exp 02468 N/A adjusted N/A N/A self N/A N/A N/A Return the adjusted exponent of self N/A N/A N/A N/A N/A N/A self _exp N/A len N/A self _int 1 N/A N/A N/A TypeError N/A N/A 0 N/A canonical N/A N/A self context N/A None N/A N/A Returns the same Decimal object.

        As we do not have different encodings for the same number, the
        received object already is in its canonical form.
         N/A self N/A compare_signal N/A N/A self other context N/A None N/A N/A Compares self to the other operand numerically.

        It's pretty much like compare(), but all NaNs signal, with signaling
        NaNs taking precedence over quiet NaNs.
         N/A other N/A _convert_other other raiseit True N/A ans N/A N/A self _compare_check_nans other context N/A ans N/A N/A ans N/A N/A N/A self compare other context context N/A compare_total N/A N/A self other N/A N/A N/A Compares self to other using the abstract representations.

        This is not like the standard compare, which use their numerical
        value. Note that a total ordering is defined for all possible abstract
        representations.
         N/A other N/A _convert_other other raiseit True N/A N/A N/A self _sign N/A N/A other _sign N/A N/A _NegativeOne N/A N/A N/A N/A self _sign N/A other _sign N/A N/A _One N/A sign N/A self _sign N/A self_nan N/A N/A self _isnan N/A other_nan N/A N/A other _isnan N/A N/A self_nan other_nan N/A N/A N/A self_nan other_nan N/A N/A self_key N/A N/A len N/A self _int N/A self _int N/A other_key N/A N/A len N/A other _int N/A other _int N/A N/A self_key other_key N/A N/A sign N/A N/A _One N/A N/A _NegativeOne N/A N/A self_key other_key N/A N/A sign N/A N/A _NegativeOne N/A N/A _One N/A _Zero N/A sign N/A N/A N/A self_nan 1 N/A N/A _NegativeOne N/A N/A other_nan 1 N/A N/A _One N/A N/A self_nan 2 N/A N/A _NegativeOne N/A N/A other_nan 2 N/A N/A _One N/A N/A N/A self_nan 1 N/A N/A _One N/A N/A other_nan 1 N/A N/A _NegativeOne N/A N/A self_nan 2 N/A N/A _One N/A N/A other_nan 2 N/A N/A _NegativeOne N/A N/A self other N/A N/A _NegativeOne N/A N/A self other N/A N/A _One N/A N/A N/A self _exp N/A other _exp N/A N/A sign N/A N/A _One N/A N/A _NegativeOne N/A N/A N/A self _exp N/A other _exp N/A N/A sign N/A N/A _NegativeOne N/A N/A _One N/A _Zero N/A compare_total_mag N/A N/A self other N/A N/A N/A Compares self to other using abstract repr., ignoring sign.

        Like compare_total, but with operand's sign ignored and assumed to be 0.
         N/A other N/A _convert_other other raiseit True N/A s N/A N/A self copy_abs N/A o N/A N/A other copy_abs N/A N/A N/A s compare_total o N/A copy_abs N/A N/A self N/A N/A N/A Returns a copy with the sign set to 0.  N/A N/A _dec_from_triple 0 N/A self _int N/A self _exp N/A self _is_special N/A copy_negate N/A N/A self N/A N/A N/A Returns a copy with the sign inverted. N/A N/A self _sign N/A N/A N/A _dec_from_triple 0 N/A self _int N/A self _exp N/A self _is_special N/A N/A N/A _dec_from_triple 1 N/A self _int N/A self _exp N/A self _is_special N/A copy_sign N/A N/A self other N/A N/A N/A Returns self with the sign of other. N/A other N/A _convert_other other raiseit True N/A N/A _dec_from_triple N/A other _sign N/A self _int N/A self _exp N/A self _is_special N/A exp N/A N/A self context N/A None N/A N/A Returns e ** self. N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A N/A N/A self _isinfinity -1 N/A N/A _Zero N/A N/A self N/A N/A _One N/A N/A N/A N/A self _isinfinity 1 N/A N/A N/A Decimal self N/A p N/A context prec N/A adj N/A N/A self adjusted N/A N/A N/A N/A self _sign 0 N/A adj N/A len N/A str N/A N/A N/A context Emax 1 3 N/A N/A ans N/A _dec_from_triple 0 1 N/A N/A context Emax 1 N/A N/A N/A N/A N/A self _sign 1 N/A adj N/A len N/A str N/A N/A N/A N/A N/A context Etiny 1 3 N/A N/A ans N/A _dec_from_triple 0 1 N/A N/A N/A context Etiny 1 N/A N/A N/A N/A N/A self _sign 0 N/A adj N/A p N/A N/A ans N/A _dec_from_triple 0 N/A N/A 1 N/A 0 N/A p 1 1 N/A p N/A N/A N/A N/A N/A self _sign 1 N/A adj N/A N/A p 1 N/A N/A ans N/A _dec_from_triple 0 N/A 9 N/A p 1 N/A N/A p 1 N/A N/A op N/A _WorkRep self N/A N/A c e N/A N/A op int N/A op exp N/A N/A N/A op sign 1 N/A N/A c N/A c N/A extra 3 N/A True N/A N/A N/A coeff exp N/A _dexp c e N/A p extra N/A N/A coeff N/A 5 N/A 10 N/A N/A N/A len N/A str coeff p 1 N/A N/A N/A extra 3 N/A ans N/A _dec_from_triple 0 N/A str coeff exp N/A context N/A N/A context _shallow_copy N/A rounding N/A N/A context _set_rounding ROUND_HALF_EVEN N/A ans N/A N/A ans _fix context N/A N/A context rounding rounding N/A ans N/A is_canonical N/A N/A self N/A N/A N/A Return True if self is canonical; otherwise return False.

        Currently, the encoding of a Decimal instance is always
        canonical, so this method returns True for any Decimal.
         N/A True N/A is_finite N/A N/A self N/A N/A N/A Return True if self is finite; otherwise return False.

        A Decimal instance is considered finite if it is neither
        infinite nor a NaN.
         N/A N/A N/A self _is_special N/A is_infinite N/A N/A self N/A N/A N/A Return True if self is infinite; otherwise return False. N/A N/A N/A self _exp F N/A is_nan N/A N/A self N/A N/A N/A Return True if self is a qNaN or sNaN; otherwise return False. N/A N/A N/A self _exp N/A n N N/A is_normal N/A N/A self context N/A None N/A N/A Return True if self is a normal number; otherwise return False. N/A N/A N/A self _is_special N/A self N/A N/A False N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A context Emin N/A N/A self adjusted N/A is_qnan N/A N/A self N/A N/A N/A Return True if self is a quiet NaN; otherwise return False. N/A N/A N/A self _exp n N/A is_signed N/A N/A self N/A N/A N/A Return True if self is negative; otherwise return False. N/A N/A N/A self _sign 1 N/A is_snan N/A N/A self N/A N/A N/A Return True if self is a signaling NaN; otherwise return False. N/A N/A N/A self _exp N N/A is_subnormal N/A N/A self context N/A None N/A N/A Return True if self is subnormal; otherwise return False. N/A N/A N/A self _is_special N/A self N/A N/A False N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A N/A self adjusted N/A context Emin N/A is_zero N/A N/A self N/A N/A N/A Return True if self is a zero; otherwise return False. N/A N/A N/A N/A self _is_special N/A N/A self _int 0 N/A _ln_exp_bound N/A N/A self N/A N/A N/A Compute a lower bound for the adjusted exponent of self.ln().
        In other words, compute r such that self.ln() >= 10**r.  Assumes
        that self is finite and positive and that self != 1.
         N/A adj N/A N/A N/A self _exp N/A len N/A self _int 1 N/A N/A adj 1 N/A N/A N/A N/A len N/A str N/A N/A adj 23 10 1 N/A N/A adj -2 N/A N/A N/A N/A len N/A str N/A N/A N/A -1 adj 23 10 1 N/A op N/A _WorkRep self N/A N/A c e N/A N/A op int N/A op exp N/A N/A adj 0 N/A N/A num N/A str N/A c N/A 10 N/A e N/A den N/A str c N/A N/A N/A N/A len num N/A len den N/A num den N/A N/A N/A e N/A len N/A str N/A N/A 10 N/A e c 1 N/A ln N/A N/A self context N/A None N/A N/A Returns the natural (base e) logarithm of self. N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A self N/A N/A _NegativeInfinity N/A N/A N/A N/A self _isinfinity 1 N/A N/A _Infinity N/A N/A self _One N/A N/A _Zero N/A N/A N/A self _sign 1 N/A N/A N/A N/A context _raise_error InvalidOperation ln of a negative value N/A op N/A _WorkRep self N/A N/A c e N/A N/A op int N/A op exp N/A p N/A context prec N/A places N/A N/A p N/A N/A self _ln_exp_bound 2 N/A True N/A N/A coeff N/A _dlog c e places N/A N/A coeff N/A 5 N/A 10 N/A N/A N/A len N/A str N/A abs coeff p 1 N/A N/A N/A places 3 N/A ans N/A _dec_from_triple N/A int N/A coeff 0 N/A str N/A abs coeff N/A places N/A context N/A N/A context _shallow_copy N/A rounding N/A N/A context _set_rounding ROUND_HALF_EVEN N/A ans N/A N/A ans _fix context N/A N/A context rounding rounding N/A ans N/A _log10_exp_bound N/A N/A self N/A N/A N/A Compute a lower bound for the adjusted exponent of self.log10().
        In other words, find r such that self.log10() >= 10**r.
        Assumes that self is finite and positive and that self != 1.
         N/A adj N/A N/A N/A self _exp N/A len N/A self _int 1 N/A N/A adj 1 N/A N/A N/A N/A len N/A str adj 1 N/A N/A adj -2 N/A N/A N/A N/A len N/A str N/A -1 adj 1 N/A op N/A _WorkRep self N/A N/A c e N/A N/A op int N/A op exp N/A N/A adj 0 N/A N/A num N/A str N/A c N/A 10 N/A e N/A den N/A str N/A 231 c N/A N/A N/A N/A N/A len num N/A len den N/A num den 2 N/A num N/A str N/A N/A 10 N/A e c N/A N/A N/A N/A N/A len num e N/A num 231 1 N/A log10 N/A N/A self context N/A None N/A N/A Returns the base 10 logarithm of self. N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A self N/A N/A _NegativeInfinity N/A N/A N/A N/A self _isinfinity 1 N/A N/A _Infinity N/A N/A N/A self _sign 1 N/A N/A N/A N/A context _raise_error InvalidOperation log10 of a negative value N/A N/A N/A N/A N/A self _int N/A 0 1 N/A N/A N/A self _int N/A 1 N/A 0 N/A N/A len N/A self _int 1 N/A N/A ans N/A Decimal N/A N/A N/A self _exp N/A len N/A self _int 1 N/A N/A op N/A _WorkRep self N/A N/A c e N/A N/A op int N/A op exp N/A p N/A context prec N/A places N/A N/A p N/A N/A self _log10_exp_bound 2 N/A True N/A N/A coeff N/A _dlog10 c e places N/A N/A coeff N/A 5 N/A 10 N/A N/A N/A len N/A str N/A abs coeff p 1 N/A N/A N/A places 3 N/A ans N/A _dec_from_triple N/A int N/A coeff 0 N/A str N/A abs coeff N/A places N/A context N/A N/A context _shallow_copy N/A rounding N/A N/A context _set_rounding ROUND_HALF_EVEN N/A ans N/A N/A ans _fix context N/A N/A context rounding rounding N/A ans N/A logb N/A N/A self context N/A None N/A N/A  Returns the exponent of the magnitude of self's MSD.

        The result is the integer which is the exponent of the magnitude
        of the most significant digit of self (as though it were truncated
        to a single digit while maintaining the value of that digit and
        without limiting the resulting exponent).
         N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _isinfinity N/A N/A _Infinity N/A N/A self N/A N/A N/A N/A context _raise_error DivisionByZero logb(0) 1 N/A ans N/A Decimal N/A N/A self adjusted N/A N/A N/A ans _fix context N/A _islogical N/A N/A self N/A N/A N/A Return True if self is a logical operand.

        For being logical, it must be a finite number with a sign of 0,
        an exponent of 0, and a coefficient whose digits must all be
        either 0 or 1.
         N/A N/A N/A N/A self _sign 0 N/A N/A self _exp 0 N/A N/A False N/A dig N/A self _int N/A N/A N/A dig 01 N/A N/A False N/A True N/A _fill_logical N/A N/A self context opa opb N/A N/A N/A dif N/A N/A context prec N/A len opa N/A N/A dif 0 N/A N/A opa N/A N/A 0 dif opa N/A N/A N/A dif 0 N/A N/A opa N/A opa N/A N/A N/A context prec N/A dif N/A N/A context prec N/A len opb N/A N/A dif 0 N/A N/A opb N/A N/A 0 dif opb N/A N/A N/A dif 0 N/A N/A opb N/A opb N/A N/A N/A context prec N/A N/A opa opb N/A logical_and N/A N/A self other context N/A None N/A N/A Applies an 'and' operation between self and other's digits. N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A N/A N/A N/A N/A self _islogical N/A N/A N/A other _islogical N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A opa opb N/A N/A self _fill_logical context N/A self _int N/A other _int N/A result N/A N/A join N/A N/A str N/A N/A int a N/A int b N/A N/A a b N/A zip opa opb N/A N/A _dec_from_triple 0 N/A N/A N/A result lstrip 0 0 0 N/A logical_invert N/A N/A self context N/A None N/A N/A Invert all its digits. N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self logical_xor N/A _dec_from_triple 0 N/A 1 N/A context prec 0 context N/A logical_or N/A N/A self other context N/A None N/A N/A Applies an 'or' operation between self and other's digits. N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A N/A N/A N/A N/A self _islogical N/A N/A N/A other _islogical N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A opa opb N/A N/A self _fill_logical context N/A self _int N/A other _int N/A result N/A N/A join N/A N/A str N/A N/A int a N/A int b N/A N/A a b N/A zip opa opb N/A N/A _dec_from_triple 0 N/A N/A N/A result lstrip 0 0 0 N/A logical_xor N/A N/A self other context N/A None N/A N/A Applies an 'xor' operation between self and other's digits. N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A N/A N/A N/A N/A self _islogical N/A N/A N/A other _islogical N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A opa opb N/A N/A self _fill_logical context N/A self _int N/A other _int N/A result N/A N/A join N/A N/A str N/A N/A int a N/A int b N/A N/A a b N/A zip opa opb N/A N/A _dec_from_triple 0 N/A N/A N/A result lstrip 0 0 0 N/A max_mag N/A N/A self other context N/A None N/A N/A Compares the values numerically with their sign ignored. N/A other N/A _convert_other other raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _is_special N/A other _is_special N/A N/A sn N/A N/A self _isnan N/A on N/A N/A other _isnan N/A N/A sn on N/A N/A N/A N/A on 1 N/A sn 0 N/A N/A N/A N/A self _fix context N/A N/A N/A sn 1 N/A on 0 N/A N/A N/A N/A other _fix context N/A N/A N/A self _check_nans other context N/A c N/A N/A N/A N/A self copy_abs _cmp N/A N/A other copy_abs N/A N/A c 0 N/A N/A c N/A N/A self compare_total other N/A N/A c -1 N/A N/A ans other N/A N/A ans self N/A N/A N/A ans _fix context N/A min_mag N/A N/A self other context N/A None N/A N/A Compares the values numerically with their sign ignored. N/A other N/A _convert_other other raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self _is_special N/A other _is_special N/A N/A sn N/A N/A self _isnan N/A on N/A N/A other _isnan N/A N/A sn on N/A N/A N/A N/A on 1 N/A sn 0 N/A N/A N/A N/A self _fix context N/A N/A N/A sn 1 N/A on 0 N/A N/A N/A N/A other _fix context N/A N/A N/A self _check_nans other context N/A c N/A N/A N/A N/A self copy_abs _cmp N/A N/A other copy_abs N/A N/A c 0 N/A N/A c N/A N/A self compare_total other N/A N/A c -1 N/A N/A ans self N/A N/A ans other N/A N/A N/A ans _fix context N/A next_minus N/A N/A self context N/A None N/A N/A Returns the largest representable number smaller than itself. N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A N/A N/A self _isinfinity -1 N/A N/A _NegativeInfinity N/A N/A N/A N/A self _isinfinity 1 N/A N/A N/A _dec_from_triple 0 N/A 9 N/A context prec N/A N/A context Etop N/A context N/A N/A context copy N/A N/A N/A context _set_rounding ROUND_FLOOR N/A N/A N/A context _ignore_all_flags N/A new_self N/A N/A self _fix context N/A N/A new_self self N/A N/A new_self N/A N/A N/A self __sub__ N/A _dec_from_triple 0 1 N/A N/A N/A context Etiny 1 context N/A next_plus N/A N/A self context N/A None N/A N/A Returns the smallest representable number larger than itself. N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans context context N/A ans N/A N/A ans N/A N/A N/A N/A self _isinfinity 1 N/A N/A _Infinity N/A N/A N/A N/A self _isinfinity -1 N/A N/A N/A _dec_from_triple 1 N/A 9 N/A context prec N/A N/A context Etop N/A context N/A N/A context copy N/A N/A N/A context _set_rounding ROUND_CEILING N/A N/A N/A context _ignore_all_flags N/A new_self N/A N/A self _fix context N/A N/A new_self self N/A N/A new_self N/A N/A N/A self __add__ N/A _dec_from_triple 0 1 N/A N/A N/A context Etiny 1 context N/A next_toward N/A N/A self other context N/A None N/A N/A Returns the number closest to self, in the direction towards other.

        The result is the closest representable number to self
        (excluding self) that is in the direction towards other,
        unless both have the same value.  If the two operands are
        numerically equal, then the result is a copy of self with the
        sign set to be the same as the sign of other.
         N/A other N/A _convert_other other raiseit True N/A N/A context None N/A N/A context N/A getcontext N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A comparison N/A N/A self _cmp other N/A N/A comparison 0 N/A N/A N/A N/A self copy_sign other N/A N/A comparison -1 N/A N/A ans N/A N/A self next_plus context N/A N/A ans N/A N/A self next_minus context N/A N/A N/A ans _isinfinity N/A N/A N/A N/A context _raise_error Overflow Infinite result from next_toward N/A ans _sign N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A N/A N/A N/A N/A ans adjusted N/A context Emin N/A N/A N/A N/A context _raise_error Underflow N/A N/A N/A context _raise_error Subnormal N/A N/A N/A context _raise_error Inexact N/A N/A N/A context _raise_error Rounded N/A N/A ans N/A N/A N/A N/A context _raise_error Clamped N/A ans N/A number_class N/A N/A self context N/A None N/A N/A Returns an indication of the class of self.

        The class is one of the following strings:
          sNaN
          NaN
          -Infinity
          -Normal
          -Subnormal
          -Zero
          +Zero
          +Subnormal
          +Normal
          +Infinity
         N/A N/A N/A self is_snan N/A N/A sNaN N/A N/A N/A self is_qnan N/A N/A NaN N/A inf N/A N/A self _isinfinity N/A N/A inf 1 N/A N/A +Infinity N/A N/A inf -1 N/A N/A -Infinity N/A N/A N/A self is_zero N/A N/A N/A self _sign N/A N/A -Zero N/A N/A +Zero N/A N/A context None N/A N/A context N/A getcontext N/A N/A N/A self is_subnormal context context N/A N/A N/A self _sign N/A N/A -Subnormal N/A N/A +Subnormal N/A N/A self _sign N/A N/A -Normal N/A N/A +Normal N/A radix N/A N/A self N/A N/A N/A Just returns 10, as this is Decimal, :) N/A N/A Decimal 10 N/A rotate N/A N/A self other context N/A None N/A N/A Returns a rotated copy of self, value-of-other times. N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A other _exp 0 N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A N/A N/A N/A context prec N/A int other N/A context prec N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A N/A self _isinfinity N/A N/A N/A Decimal self N/A torot N/A int other N/A rotdig N/A self _int N/A topad N/A N/A context prec N/A len rotdig N/A N/A topad 0 N/A N/A rotdig N/A N/A 0 topad rotdig N/A N/A N/A topad 0 N/A N/A rotdig N/A rotdig N/A N/A topad N/A rotated N/A N/A rotdig N/A torot N/A rotdig N/A torot N/A N/A _dec_from_triple N/A self _sign N/A N/A N/A rotated lstrip 0 0 N/A self _exp N/A scaleb N/A N/A self other context N/A None N/A N/A Returns self operand after adding the second value to its exp. N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A other _exp 0 N/A N/A N/A N/A context _raise_error InvalidOperation N/A liminf N/A -2 N/A N/A context Emax N/A context prec N/A limsup N/A 2 N/A N/A context Emax N/A context prec N/A N/A N/A liminf N/A int other limsup N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A N/A self _isinfinity N/A N/A N/A Decimal self N/A d N/A _dec_from_triple N/A self _sign N/A self _int N/A N/A self _exp N/A int other N/A d N/A N/A d _fix context N/A d N/A shift N/A N/A self other context N/A None N/A N/A Returns a shifted copy of self, value-of-other times. N/A N/A context None N/A N/A context N/A getcontext N/A other N/A _convert_other other raiseit True N/A ans N/A N/A self _check_nans other context N/A ans N/A N/A ans N/A N/A N/A other _exp 0 N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A N/A N/A N/A context prec N/A int other N/A context prec N/A N/A N/A N/A context _raise_error InvalidOperation N/A N/A N/A self _isinfinity N/A N/A N/A Decimal self N/A torot N/A int other N/A rotdig N/A self _int N/A topad N/A N/A context prec N/A len rotdig N/A N/A topad 0 N/A N/A rotdig N/A N/A 0 topad rotdig N/A N/A N/A topad 0 N/A N/A rotdig N/A rotdig N/A N/A topad N/A N/A torot 0 N/A N/A shifted N/A rotdig N/A torot N/A N/A shifted N/A rotdig N/A 0 torot N/A shifted N/A shifted N/A N/A N/A context prec N/A N/A _dec_from_triple N/A self _sign N/A N/A N/A shifted lstrip 0 0 N/A self _exp N/A __reduce__ N/A N/A self N/A N/A N/A N/A N/A self __class__ N/A N/A str self N/A __copy__ N/A N/A self N/A N/A N/A N/A N/A type self Decimal N/A N/A self N/A N/A N/A self __class__ N/A str self N/A __deepcopy__ N/A N/A self memo N/A N/A N/A N/A N/A type self Decimal N/A N/A self N/A N/A N/A self __class__ N/A str self N/A __format__ N/A N/A self specifier context _localeconv N/A None None N/A N/A Format a Decimal instance according to the given specifier.

        The specifier should be a standard format specifier, with the
        form described in PEP 3101.  Formatting types 'e', 'E', 'f',
        'F', 'g', 'G', 'n' and '%' are supported.  If the formatting
        type is omitted it defaults to 'g' or 'G', depending on the
        value of context.capitals.
         N/A N/A context None N/A N/A context N/A getcontext N/A spec N/A _parse_format_specifier specifier _localeconv _localeconv N/A N/A self _is_special N/A N/A sign N/A _format_sign N/A self _sign spec N/A body N/A str N/A N/A self copy_abs N/A N/A _format_align sign body spec N/A N/A N/A spec N/A type None N/A N/A N/A spec N/A type N/A N/A g G N/A N/A context capitals N/A N/A N/A spec N/A type % N/A N/A self N/A _dec_from_triple N/A self _sign N/A self _int N/A N/A self _exp 2 N/A rounding N/A context rounding N/A precision N/A spec N/A precision N/A N/A precision None N/A N/A N/A N/A spec N/A type eE N/A N/A self N/A N/A self _round N/A precision 1 rounding N/A N/A N/A N/A spec N/A type fF% N/A N/A self N/A N/A self _rescale N/A precision rounding N/A N/A N/A N/A N/A spec N/A type gG N/A N/A len N/A self _int precision N/A N/A self N/A N/A self _round precision rounding N/A N/A N/A self N/A N/A self _exp 0 N/A N/A spec N/A type fF% N/A N/A self N/A N/A self _rescale 0 rounding N/A leftdigits N/A N/A self _exp N/A len N/A self _int N/A N/A N/A spec N/A type eE N/A N/A N/A N/A self N/A precision None N/A N/A dotplace N/A 1 precision N/A N/A dotplace 1 N/A N/A N/A N/A spec N/A type fF% N/A N/A dotplace leftdigits N/A N/A N/A N/A spec N/A type gG N/A N/A N/A N/A N/A self _exp 0 N/A leftdigits -6 N/A N/A dotplace leftdigits N/A N/A dotplace 1 N/A N/A dotplace 0 N/A N/A intpart 0 N/A fracpart N/A N/A 0 N/A dotplace N/A self _int N/A N/A N/A dotplace N/A len N/A self _int N/A N/A intpart N/A N/A self _int N/A 0 N/A dotplace N/A len N/A self _int N/A fracpart N/A N/A intpart N/A N/A N/A self _int N/A dotplace 0 N/A fracpart N/A N/A self _int N/A dotplace N/A exp N/A leftdigits dotplace N/A N/A _format_number N/A self _sign intpart fracpart exp spec N/A N/A _dec_from_triple N/A N/A sign coefficient exponent special N/A False N/A N/A Create a decimal instance directly, without any validation,
    normalization (e.g. removal of leading zeros) or argument
    conversion.

    This function is for *internal use only*.
     N/A self N/A N/A object __new__ Decimal N/A N/A self _sign sign N/A N/A self _int coefficient N/A N/A self _exp exponent N/A N/A self _is_special special N/A self N/A N/A N/A N/A N/A _numbers Number register Decimal _ContextManager N/A object N/A N/A Context manager class to support localcontext().

      Sets a copy of the supplied context in __enter__() and restores
      the previous decimal context in __exit__()
     __init__ N/A N/A self new_context N/A N/A N/A N/A self new_context N/A N/A new_context copy N/A __enter__ N/A N/A self N/A N/A N/A N/A self saved_context N/A getcontext N/A N/A setcontext N/A self new_context N/A N/A self new_context N/A __exit__ N/A N/A self t v tb N/A N/A N/A N/A setcontext N/A self saved_context N/A N/A Context N/A object N/A N/A Contains the context for a Decimal instance.

    Contains:
    prec - precision (for use in rounding, division, square roots..)
    rounding - rounding type (how you round)
    traps - If traps[exception] = 1, then the exception is
                    raised when it is caused.  Otherwise, a value is
                    substituted in.
    flags  - When an exception is caused, flags[exception] is set.
             (Whether or not the trap_enabler is set)
             Should be reset by user of Decimal instance.
    Emin -   Minimum exponent
    Emax -   Maximum exponent
    capitals -      If 1, 1*10^1 is printed as 1E+1.
                    If 0, printed as 1e1
    _clamp - If 1, change exponents if too high (Default 0)
     __init__ N/A N/A self prec rounding traps flags Emin Emax capitals _clamp _ignored_flags N/A None None None None None None None 0 None N/A N/A N/A N/A dc DefaultContext N/A N/A N/A NameError N/A N/A N/A N/A self prec N/A N/A prec None prec N/A dc prec N/A N/A self rounding N/A N/A rounding None rounding N/A dc rounding N/A N/A self Emin N/A N/A Emin None Emin N/A dc Emin N/A N/A self Emax N/A N/A Emax None Emax N/A dc Emax N/A N/A self capitals N/A N/A capitals None capitals N/A dc capitals N/A N/A self _clamp N/A N/A _clamp None _clamp N/A dc _clamp N/A N/A _ignored_flags None N/A N/A N/A self _ignored_flags N/A N/A N/A N/A self _ignored_flags _ignored_flags N/A N/A traps None N/A N/A N/A self traps N/A N/A N/A dc traps copy N/A N/A N/A N/A isinstance traps dict N/A N/A N/A self traps N/A dict N/A N/A s N/A int N/A s traps N/A s _signals N/A N/A N/A self traps traps N/A N/A flags None N/A N/A N/A self flags N/A N/A dict fromkeys _signals 0 N/A N/A N/A N/A isinstance flags dict N/A N/A N/A self flags N/A dict N/A N/A s N/A int N/A s flags N/A s _signals N/A N/A N/A self flags flags N/A __repr__ N/A N/A self N/A N/A N/A Show the current context. N/A s N/A N/A N/A N/A s append N/A Context(prec=%(prec)d, rounding=%(rounding)s, Emin=%(Emin)d, Emax=%(Emax)d, capitals=%(capitals)d N/A vars self N/A names N/A N/A f __name__ N/A N/A f v N/A N/A N/A self flags items v N/A N/A N/A s append N/A N/A flags=[ N/A N/A ,  join names ] N/A names N/A N/A t __name__ N/A N/A t v N/A N/A N/A self traps items v N/A N/A N/A s append N/A N/A traps=[ N/A N/A ,  join names ] N/A N/A N/A N/A ,  join s ) N/A clear_flags N/A N/A self N/A N/A N/A Reset all flags to zero N/A flag N/A self flags N/A N/A N/A N/A self flags N/A flag 0 N/A _shallow_copy N/A N/A self N/A N/A N/A Returns a shallow copy from self. N/A nc N/A Context N/A self prec N/A self rounding N/A self traps N/A self flags N/A self Emin N/A self Emax N/A self capitals N/A self _clamp N/A self _ignored_flags N/A nc N/A copy N/A N/A self N/A N/A N/A Returns a deep copy from self. N/A nc N/A Context N/A self prec N/A self rounding N/A N/A N/A self traps copy N/A N/A N/A self flags copy N/A self Emin N/A self Emax N/A self capitals N/A self _clamp N/A self _ignored_flags N/A nc N/A N/A __copy__ copy _raise_error N/A N/A self condition explanation N/A None args N/A N/A Handles an error

        If the flag is in _ignored_flags, returns the default response.
        Otherwise, it sets the flag, then, if the corresponding
        trap_enabler is set, it reraises the exception.  Otherwise, it returns
        the default value after setting the flag.
         N/A error N/A N/A _condition_map get condition condition N/A N/A error N/A self _ignored_flags N/A N/A N/A N/A N/A error handle self args N/A N/A N/A self flags N/A error 1 N/A N/A N/A N/A self traps N/A error N/A N/A N/A N/A N/A condition handle self args N/A N/A error explanation N/A _ignore_all_flags N/A N/A self N/A N/A N/A Ignore all flags, if they are raised N/A N/A N/A self _ignore_flags _signals N/A _ignore_flags N/A N/A self N/A flags N/A N/A Ignore the flags, if they are raised N/A N/A self _ignored_flags N/A N/A self _ignored_flags N/A list flags N/A N/A list flags N/A _regard_flags N/A N/A self N/A flags N/A N/A Stop ignoring the flags, if they are raised N/A N/A flags N/A isinstance N/A flags N/A 0 N/A tuple list N/A N/A flags N/A flags N/A 0 N/A flag flags N/A N/A N/A N/A N/A self _ignored_flags remove flag N/A N/A __hash__ None Etiny N/A N/A self N/A N/A N/A Returns Etiny (= Emin - prec + 1) N/A N/A int N/A N/A N/A self Emin N/A self prec 1 N/A Etop N/A N/A self N/A N/A N/A Returns maximum exponent (= Emax - prec + 1) N/A N/A int N/A N/A N/A self Emax N/A self prec 1 N/A _set_rounding N/A N/A self type N/A N/A N/A Sets the rounding type.

        Sets the rounding type, and returns the current (previous)
        rounding type.  Often used like:

        context = context.copy()
        # so you don't change the calling context
        # if an error occurs in the middle.
        rounding = context._set_rounding(ROUND_UP)
        val = self.__sub__(other, context=context)
        context._set_rounding(rounding)

        This will make it round up for that operation.
         N/A rounding N/A self rounding N/A N/A self rounding type N/A rounding N/A create_decimal N/A N/A self num N/A 0 N/A N/A Creates a new Decimal instance but using self as context.

        This method implements the to-number operation of the
        IBM Decimal specification. N/A N/A N/A isinstance num basestring N/A num N/A N/A num strip N/A N/A N/A N/A self _raise_error ConversionSyntax no trailing or leading whitespace is permitted. N/A d N/A Decimal num context self N/A N/A N/A N/A d _isnan N/A N/A len N/A d _int N/A N/A self prec N/A self _clamp N/A N/A N/A N/A self _raise_error ConversionSyntax diagnostic info too long in NaN N/A N/A N/A d _fix self N/A create_decimal_from_float N/A N/A self f N/A N/A N/A Creates a new Decimal instance from a float but rounding using self
        as the context.

        >>> context = Context(prec=5, rounding=ROUND_DOWN)
        >>> context.create_decimal_from_float(3.1415926535897932)
        Decimal('3.1415')
        >>> context = Context(prec=5, traps=[Inexact])
        >>> context.create_decimal_from_float(3.1415926535897932)
        Traceback (most recent call last):
            ...
        Inexact: None

         N/A d N/A N/A Decimal from_float f N/A N/A N/A d _fix self N/A abs N/A N/A self a N/A N/A N/A Returns the absolute value of the operand.

        If the operand is negative, the result is the same as using the minus
        operation on the operand.  Otherwise, the result is the same as using
        the plus operation on the operand.

        >>> ExtendedContext.abs(Decimal('2.1'))
        Decimal('2.1')
        >>> ExtendedContext.abs(Decimal('-100'))
        Decimal('100')
        >>> ExtendedContext.abs(Decimal('101.5'))
        Decimal('101.5')
        >>> ExtendedContext.abs(Decimal('-101.5'))
        Decimal('101.5')
        >>> ExtendedContext.abs(-1)
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a __abs__ context self N/A add N/A N/A self a b N/A N/A N/A Return the sum of the two operands.

        >>> ExtendedContext.add(Decimal('12'), Decimal('7.00'))
        Decimal('19.00')
        >>> ExtendedContext.add(Decimal('1E+2'), Decimal('1.01E+4'))
        Decimal('1.02E+4')
        >>> ExtendedContext.add(1, Decimal(2))
        Decimal('3')
        >>> ExtendedContext.add(Decimal(8), 5)
        Decimal('13')
        >>> ExtendedContext.add(5, 5)
        Decimal('10')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __add__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A _apply N/A N/A self a N/A N/A N/A N/A str N/A N/A a _fix self N/A canonical N/A N/A self a N/A N/A N/A Returns the same Decimal object.

        As we do not have different encodings for the same number, the
        received object already is in its canonical form.

        >>> ExtendedContext.canonical(Decimal('2.50'))
        Decimal('2.50')
         N/A N/A N/A a canonical context self N/A compare N/A N/A self a b N/A N/A N/A Compares values numerically.

        If the signs of the operands differ, a value representing each operand
        ('-1' if the operand is less than zero, '0' if the operand is zero or
        negative zero, or '1' if the operand is greater than zero) is used in
        place of that operand for the comparison instead of the actual
        operand.

        The comparison is then effected by subtracting the second operand from
        the first and then returning a value according to the result of the
        subtraction: '-1' if the result is less than zero, '0' if the result is
        zero or negative zero, or '1' if the result is greater than zero.

        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('3'))
        Decimal('-1')
        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('2.1'))
        Decimal('0')
        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('2.10'))
        Decimal('0')
        >>> ExtendedContext.compare(Decimal('3'), Decimal('2.1'))
        Decimal('1')
        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('-3'))
        Decimal('1')
        >>> ExtendedContext.compare(Decimal('-3'), Decimal('2.1'))
        Decimal('-1')
        >>> ExtendedContext.compare(1, 2)
        Decimal('-1')
        >>> ExtendedContext.compare(Decimal(1), 2)
        Decimal('-1')
        >>> ExtendedContext.compare(1, Decimal(2))
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a compare b context self N/A compare_signal N/A N/A self a b N/A N/A N/A Compares the values of the two operands numerically.

        It's pretty much like compare(), but all NaNs signal, with signaling
        NaNs taking precedence over quiet NaNs.

        >>> c = ExtendedContext
        >>> c.compare_signal(Decimal('2.1'), Decimal('3'))
        Decimal('-1')
        >>> c.compare_signal(Decimal('2.1'), Decimal('2.1'))
        Decimal('0')
        >>> c.flags[InvalidOperation] = 0
        >>> print c.flags[InvalidOperation]
        0
        >>> c.compare_signal(Decimal('NaN'), Decimal('2.1'))
        Decimal('NaN')
        >>> print c.flags[InvalidOperation]
        1
        >>> c.flags[InvalidOperation] = 0
        >>> print c.flags[InvalidOperation]
        0
        >>> c.compare_signal(Decimal('sNaN'), Decimal('2.1'))
        Decimal('NaN')
        >>> print c.flags[InvalidOperation]
        1
        >>> c.compare_signal(-1, 2)
        Decimal('-1')
        >>> c.compare_signal(Decimal(-1), 2)
        Decimal('-1')
        >>> c.compare_signal(-1, Decimal(2))
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a compare_signal b context self N/A compare_total N/A N/A self a b N/A N/A N/A Compares two operands using their abstract representation.

        This is not like the standard compare, which use their numerical
        value. Note that a total ordering is defined for all possible abstract
        representations.

        >>> ExtendedContext.compare_total(Decimal('12.73'), Decimal('127.9'))
        Decimal('-1')
        >>> ExtendedContext.compare_total(Decimal('-127'),  Decimal('12'))
        Decimal('-1')
        >>> ExtendedContext.compare_total(Decimal('12.30'), Decimal('12.3'))
        Decimal('-1')
        >>> ExtendedContext.compare_total(Decimal('12.30'), Decimal('12.30'))
        Decimal('0')
        >>> ExtendedContext.compare_total(Decimal('12.3'),  Decimal('12.300'))
        Decimal('1')
        >>> ExtendedContext.compare_total(Decimal('12.3'),  Decimal('NaN'))
        Decimal('-1')
        >>> ExtendedContext.compare_total(1, 2)
        Decimal('-1')
        >>> ExtendedContext.compare_total(Decimal(1), 2)
        Decimal('-1')
        >>> ExtendedContext.compare_total(1, Decimal(2))
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a compare_total b N/A compare_total_mag N/A N/A self a b N/A N/A N/A Compares two operands using their abstract representation ignoring sign.

        Like compare_total, but with operand's sign ignored and assumed to be 0.
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a compare_total_mag b N/A copy_abs N/A N/A self a N/A N/A N/A Returns a copy of the operand with the sign set to 0.

        >>> ExtendedContext.copy_abs(Decimal('2.1'))
        Decimal('2.1')
        >>> ExtendedContext.copy_abs(Decimal('-100'))
        Decimal('100')
        >>> ExtendedContext.copy_abs(-1)
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a copy_abs N/A copy_decimal N/A N/A self a N/A N/A N/A Returns a copy of the decimal object.

        >>> ExtendedContext.copy_decimal(Decimal('2.1'))
        Decimal('2.1')
        >>> ExtendedContext.copy_decimal(Decimal('-1.00'))
        Decimal('-1.00')
        >>> ExtendedContext.copy_decimal(1)
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A N/A Decimal a N/A copy_negate N/A N/A self a N/A N/A N/A Returns a copy of the operand with the sign inverted.

        >>> ExtendedContext.copy_negate(Decimal('101.5'))
        Decimal('-101.5')
        >>> ExtendedContext.copy_negate(Decimal('-101.5'))
        Decimal('101.5')
        >>> ExtendedContext.copy_negate(1)
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a copy_negate N/A copy_sign N/A N/A self a b N/A N/A N/A Copies the second operand's sign to the first one.

        In detail, it returns a copy of the first operand with the sign
        equal to the sign of the second operand.

        >>> ExtendedContext.copy_sign(Decimal( '1.50'), Decimal('7.33'))
        Decimal('1.50')
        >>> ExtendedContext.copy_sign(Decimal('-1.50'), Decimal('7.33'))
        Decimal('1.50')
        >>> ExtendedContext.copy_sign(Decimal( '1.50'), Decimal('-7.33'))
        Decimal('-1.50')
        >>> ExtendedContext.copy_sign(Decimal('-1.50'), Decimal('-7.33'))
        Decimal('-1.50')
        >>> ExtendedContext.copy_sign(1, -2)
        Decimal('-1')
        >>> ExtendedContext.copy_sign(Decimal(1), -2)
        Decimal('-1')
        >>> ExtendedContext.copy_sign(1, Decimal(-2))
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a copy_sign b N/A divide N/A N/A self a b N/A N/A N/A Decimal division in a specified context.

        >>> ExtendedContext.divide(Decimal('1'), Decimal('3'))
        Decimal('0.333333333')
        >>> ExtendedContext.divide(Decimal('2'), Decimal('3'))
        Decimal('0.666666667')
        >>> ExtendedContext.divide(Decimal('5'), Decimal('2'))
        Decimal('2.5')
        >>> ExtendedContext.divide(Decimal('1'), Decimal('10'))
        Decimal('0.1')
        >>> ExtendedContext.divide(Decimal('12'), Decimal('12'))
        Decimal('1')
        >>> ExtendedContext.divide(Decimal('8.00'), Decimal('2'))
        Decimal('4.00')
        >>> ExtendedContext.divide(Decimal('2.400'), Decimal('2.0'))
        Decimal('1.20')
        >>> ExtendedContext.divide(Decimal('1000'), Decimal('100'))
        Decimal('10')
        >>> ExtendedContext.divide(Decimal('1000'), Decimal('1'))
        Decimal('1000')
        >>> ExtendedContext.divide(Decimal('2.40E+6'), Decimal('2'))
        Decimal('1.20E+6')
        >>> ExtendedContext.divide(5, 5)
        Decimal('1')
        >>> ExtendedContext.divide(Decimal(5), 5)
        Decimal('1')
        >>> ExtendedContext.divide(5, Decimal(5))
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __div__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A divide_int N/A N/A self a b N/A N/A N/A Divides two numbers and returns the integer part of the result.

        >>> ExtendedContext.divide_int(Decimal('2'), Decimal('3'))
        Decimal('0')
        >>> ExtendedContext.divide_int(Decimal('10'), Decimal('3'))
        Decimal('3')
        >>> ExtendedContext.divide_int(Decimal('1'), Decimal('0.3'))
        Decimal('3')
        >>> ExtendedContext.divide_int(10, 3)
        Decimal('3')
        >>> ExtendedContext.divide_int(Decimal(10), 3)
        Decimal('3')
        >>> ExtendedContext.divide_int(10, Decimal(3))
        Decimal('3')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __floordiv__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A divmod N/A N/A self a b N/A N/A N/A Return (a // b, a % b).

        >>> ExtendedContext.divmod(Decimal(8), Decimal(3))
        (Decimal('2'), Decimal('2'))
        >>> ExtendedContext.divmod(Decimal(8), Decimal(4))
        (Decimal('2'), Decimal('0'))
        >>> ExtendedContext.divmod(8, 4)
        (Decimal('2'), Decimal('0'))
        >>> ExtendedContext.divmod(Decimal(8), 4)
        (Decimal('2'), Decimal('0'))
        >>> ExtendedContext.divmod(8, Decimal(4))
        (Decimal('2'), Decimal('0'))
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __divmod__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A exp N/A N/A self a N/A N/A N/A Returns e ** a.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.exp(Decimal('-Infinity'))
        Decimal('0')
        >>> c.exp(Decimal('-1'))
        Decimal('0.367879441')
        >>> c.exp(Decimal('0'))
        Decimal('1')
        >>> c.exp(Decimal('1'))
        Decimal('2.71828183')
        >>> c.exp(Decimal('0.693147181'))
        Decimal('2.00000000')
        >>> c.exp(Decimal('+Infinity'))
        Decimal('Infinity')
        >>> c.exp(10)
        Decimal('22026.4658')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a exp context self N/A fma N/A N/A self a b c N/A N/A N/A Returns a multiplied by b, plus c.

        The first two operands are multiplied together, using multiply,
        the third operand is then added to the result of that
        multiplication, using add, all with only one final rounding.

        >>> ExtendedContext.fma(Decimal('3'), Decimal('5'), Decimal('7'))
        Decimal('22')
        >>> ExtendedContext.fma(Decimal('3'), Decimal('-5'), Decimal('7'))
        Decimal('-8')
        >>> ExtendedContext.fma(Decimal('888565290'), Decimal('1557.96930'), Decimal('-86087.7578'))
        Decimal('1.38435736E+12')
        >>> ExtendedContext.fma(1, 3, 4)
        Decimal('7')
        >>> ExtendedContext.fma(1, Decimal(3), 4)
        Decimal('7')
        >>> ExtendedContext.fma(1, 3, Decimal(4))
        Decimal('7')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a fma b c context self N/A is_canonical N/A N/A self a N/A N/A N/A Return True if the operand is canonical; otherwise return False.

        Currently, the encoding of a Decimal instance is always
        canonical, so this method returns True for any Decimal.

        >>> ExtendedContext.is_canonical(Decimal('2.50'))
        True
         N/A N/A N/A a is_canonical N/A is_finite N/A N/A self a N/A N/A N/A Return True if the operand is finite; otherwise return False.

        A Decimal instance is considered finite if it is neither
        infinite nor a NaN.

        >>> ExtendedContext.is_finite(Decimal('2.50'))
        True
        >>> ExtendedContext.is_finite(Decimal('-0.3'))
        True
        >>> ExtendedContext.is_finite(Decimal('0'))
        True
        >>> ExtendedContext.is_finite(Decimal('Inf'))
        False
        >>> ExtendedContext.is_finite(Decimal('NaN'))
        False
        >>> ExtendedContext.is_finite(1)
        True
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_finite N/A is_infinite N/A N/A self a N/A N/A N/A Return True if the operand is infinite; otherwise return False.

        >>> ExtendedContext.is_infinite(Decimal('2.50'))
        False
        >>> ExtendedContext.is_infinite(Decimal('-Inf'))
        True
        >>> ExtendedContext.is_infinite(Decimal('NaN'))
        False
        >>> ExtendedContext.is_infinite(1)
        False
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_infinite N/A is_nan N/A N/A self a N/A N/A N/A Return True if the operand is a qNaN or sNaN;
        otherwise return False.

        >>> ExtendedContext.is_nan(Decimal('2.50'))
        False
        >>> ExtendedContext.is_nan(Decimal('NaN'))
        True
        >>> ExtendedContext.is_nan(Decimal('-sNaN'))
        True
        >>> ExtendedContext.is_nan(1)
        False
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_nan N/A is_normal N/A N/A self a N/A N/A N/A Return True if the operand is a normal number;
        otherwise return False.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.is_normal(Decimal('2.50'))
        True
        >>> c.is_normal(Decimal('0.1E-999'))
        False
        >>> c.is_normal(Decimal('0.00'))
        False
        >>> c.is_normal(Decimal('-Inf'))
        False
        >>> c.is_normal(Decimal('NaN'))
        False
        >>> c.is_normal(1)
        True
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_normal context self N/A is_qnan N/A N/A self a N/A N/A N/A Return True if the operand is a quiet NaN; otherwise return False.

        >>> ExtendedContext.is_qnan(Decimal('2.50'))
        False
        >>> ExtendedContext.is_qnan(Decimal('NaN'))
        True
        >>> ExtendedContext.is_qnan(Decimal('sNaN'))
        False
        >>> ExtendedContext.is_qnan(1)
        False
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_qnan N/A is_signed N/A N/A self a N/A N/A N/A Return True if the operand is negative; otherwise return False.

        >>> ExtendedContext.is_signed(Decimal('2.50'))
        False
        >>> ExtendedContext.is_signed(Decimal('-12'))
        True
        >>> ExtendedContext.is_signed(Decimal('-0'))
        True
        >>> ExtendedContext.is_signed(8)
        False
        >>> ExtendedContext.is_signed(-8)
        True
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_signed N/A is_snan N/A N/A self a N/A N/A N/A Return True if the operand is a signaling NaN;
        otherwise return False.

        >>> ExtendedContext.is_snan(Decimal('2.50'))
        False
        >>> ExtendedContext.is_snan(Decimal('NaN'))
        False
        >>> ExtendedContext.is_snan(Decimal('sNaN'))
        True
        >>> ExtendedContext.is_snan(1)
        False
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_snan N/A is_subnormal N/A N/A self a N/A N/A N/A Return True if the operand is subnormal; otherwise return False.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.is_subnormal(Decimal('2.50'))
        False
        >>> c.is_subnormal(Decimal('0.1E-999'))
        True
        >>> c.is_subnormal(Decimal('0.00'))
        False
        >>> c.is_subnormal(Decimal('-Inf'))
        False
        >>> c.is_subnormal(Decimal('NaN'))
        False
        >>> c.is_subnormal(1)
        False
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_subnormal context self N/A is_zero N/A N/A self a N/A N/A N/A Return True if the operand is a zero; otherwise return False.

        >>> ExtendedContext.is_zero(Decimal('0'))
        True
        >>> ExtendedContext.is_zero(Decimal('2.50'))
        False
        >>> ExtendedContext.is_zero(Decimal('-0E+2'))
        True
        >>> ExtendedContext.is_zero(1)
        False
        >>> ExtendedContext.is_zero(0)
        True
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a is_zero N/A ln N/A N/A self a N/A N/A N/A Returns the natural (base e) logarithm of the operand.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.ln(Decimal('0'))
        Decimal('-Infinity')
        >>> c.ln(Decimal('1.000'))
        Decimal('0')
        >>> c.ln(Decimal('2.71828183'))
        Decimal('1.00000000')
        >>> c.ln(Decimal('10'))
        Decimal('2.30258509')
        >>> c.ln(Decimal('+Infinity'))
        Decimal('Infinity')
        >>> c.ln(1)
        Decimal('0')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a ln context self N/A log10 N/A N/A self a N/A N/A N/A Returns the base 10 logarithm of the operand.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.log10(Decimal('0'))
        Decimal('-Infinity')
        >>> c.log10(Decimal('0.001'))
        Decimal('-3')
        >>> c.log10(Decimal('1.000'))
        Decimal('0')
        >>> c.log10(Decimal('2'))
        Decimal('0.301029996')
        >>> c.log10(Decimal('10'))
        Decimal('1')
        >>> c.log10(Decimal('70'))
        Decimal('1.84509804')
        >>> c.log10(Decimal('+Infinity'))
        Decimal('Infinity')
        >>> c.log10(0)
        Decimal('-Infinity')
        >>> c.log10(1)
        Decimal('0')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a log10 context self N/A logb N/A N/A self a N/A N/A N/A  Returns the exponent of the magnitude of the operand's MSD.

        The result is the integer which is the exponent of the magnitude
        of the most significant digit of the operand (as though the
        operand were truncated to a single digit while maintaining the
        value of that digit and without limiting the resulting exponent).

        >>> ExtendedContext.logb(Decimal('250'))
        Decimal('2')
        >>> ExtendedContext.logb(Decimal('2.50'))
        Decimal('0')
        >>> ExtendedContext.logb(Decimal('0.03'))
        Decimal('-2')
        >>> ExtendedContext.logb(Decimal('0'))
        Decimal('-Infinity')
        >>> ExtendedContext.logb(1)
        Decimal('0')
        >>> ExtendedContext.logb(10)
        Decimal('1')
        >>> ExtendedContext.logb(100)
        Decimal('2')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a logb context self N/A logical_and N/A N/A self a b N/A N/A N/A Applies the logical operation 'and' between each operand's digits.

        The operands must be both logical numbers.

        >>> ExtendedContext.logical_and(Decimal('0'), Decimal('0'))
        Decimal('0')
        >>> ExtendedContext.logical_and(Decimal('0'), Decimal('1'))
        Decimal('0')
        >>> ExtendedContext.logical_and(Decimal('1'), Decimal('0'))
        Decimal('0')
        >>> ExtendedContext.logical_and(Decimal('1'), Decimal('1'))
        Decimal('1')
        >>> ExtendedContext.logical_and(Decimal('1100'), Decimal('1010'))
        Decimal('1000')
        >>> ExtendedContext.logical_and(Decimal('1111'), Decimal('10'))
        Decimal('10')
        >>> ExtendedContext.logical_and(110, 1101)
        Decimal('100')
        >>> ExtendedContext.logical_and(Decimal(110), 1101)
        Decimal('100')
        >>> ExtendedContext.logical_and(110, Decimal(1101))
        Decimal('100')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a logical_and b context self N/A logical_invert N/A N/A self a N/A N/A N/A Invert all the digits in the operand.

        The operand must be a logical number.

        >>> ExtendedContext.logical_invert(Decimal('0'))
        Decimal('111111111')
        >>> ExtendedContext.logical_invert(Decimal('1'))
        Decimal('111111110')
        >>> ExtendedContext.logical_invert(Decimal('111111111'))
        Decimal('0')
        >>> ExtendedContext.logical_invert(Decimal('101010101'))
        Decimal('10101010')
        >>> ExtendedContext.logical_invert(1101)
        Decimal('111110010')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a logical_invert context self N/A logical_or N/A N/A self a b N/A N/A N/A Applies the logical operation 'or' between each operand's digits.

        The operands must be both logical numbers.

        >>> ExtendedContext.logical_or(Decimal('0'), Decimal('0'))
        Decimal('0')
        >>> ExtendedContext.logical_or(Decimal('0'), Decimal('1'))
        Decimal('1')
        >>> ExtendedContext.logical_or(Decimal('1'), Decimal('0'))
        Decimal('1')
        >>> ExtendedContext.logical_or(Decimal('1'), Decimal('1'))
        Decimal('1')
        >>> ExtendedContext.logical_or(Decimal('1100'), Decimal('1010'))
        Decimal('1110')
        >>> ExtendedContext.logical_or(Decimal('1110'), Decimal('10'))
        Decimal('1110')
        >>> ExtendedContext.logical_or(110, 1101)
        Decimal('1111')
        >>> ExtendedContext.logical_or(Decimal(110), 1101)
        Decimal('1111')
        >>> ExtendedContext.logical_or(110, Decimal(1101))
        Decimal('1111')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a logical_or b context self N/A logical_xor N/A N/A self a b N/A N/A N/A Applies the logical operation 'xor' between each operand's digits.

        The operands must be both logical numbers.

        >>> ExtendedContext.logical_xor(Decimal('0'), Decimal('0'))
        Decimal('0')
        >>> ExtendedContext.logical_xor(Decimal('0'), Decimal('1'))
        Decimal('1')
        >>> ExtendedContext.logical_xor(Decimal('1'), Decimal('0'))
        Decimal('1')
        >>> ExtendedContext.logical_xor(Decimal('1'), Decimal('1'))
        Decimal('0')
        >>> ExtendedContext.logical_xor(Decimal('1100'), Decimal('1010'))
        Decimal('110')
        >>> ExtendedContext.logical_xor(Decimal('1111'), Decimal('10'))
        Decimal('1101')
        >>> ExtendedContext.logical_xor(110, 1101)
        Decimal('1011')
        >>> ExtendedContext.logical_xor(Decimal(110), 1101)
        Decimal('1011')
        >>> ExtendedContext.logical_xor(110, Decimal(1101))
        Decimal('1011')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a logical_xor b context self N/A max N/A N/A self a b N/A N/A N/A max compares two values numerically and returns the maximum.

        If either operand is a NaN then the general rules apply.
        Otherwise, the operands are compared as though by the compare
        operation.  If they are numerically equal then the left-hand operand
        is chosen as the result.  Otherwise the maximum (closer to positive
        infinity) of the two operands is chosen as the result.

        >>> ExtendedContext.max(Decimal('3'), Decimal('2'))
        Decimal('3')
        >>> ExtendedContext.max(Decimal('-10'), Decimal('3'))
        Decimal('3')
        >>> ExtendedContext.max(Decimal('1.0'), Decimal('1'))
        Decimal('1')
        >>> ExtendedContext.max(Decimal('7'), Decimal('NaN'))
        Decimal('7')
        >>> ExtendedContext.max(1, 2)
        Decimal('2')
        >>> ExtendedContext.max(Decimal(1), 2)
        Decimal('2')
        >>> ExtendedContext.max(1, Decimal(2))
        Decimal('2')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a max b context self N/A max_mag N/A N/A self a b N/A N/A N/A Compares the values numerically with their sign ignored.

        >>> ExtendedContext.max_mag(Decimal('7'), Decimal('NaN'))
        Decimal('7')
        >>> ExtendedContext.max_mag(Decimal('7'), Decimal('-10'))
        Decimal('-10')
        >>> ExtendedContext.max_mag(1, -2)
        Decimal('-2')
        >>> ExtendedContext.max_mag(Decimal(1), -2)
        Decimal('-2')
        >>> ExtendedContext.max_mag(1, Decimal(-2))
        Decimal('-2')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a max_mag b context self N/A min N/A N/A self a b N/A N/A N/A min compares two values numerically and returns the minimum.

        If either operand is a NaN then the general rules apply.
        Otherwise, the operands are compared as though by the compare
        operation.  If they are numerically equal then the left-hand operand
        is chosen as the result.  Otherwise the minimum (closer to negative
        infinity) of the two operands is chosen as the result.

        >>> ExtendedContext.min(Decimal('3'), Decimal('2'))
        Decimal('2')
        >>> ExtendedContext.min(Decimal('-10'), Decimal('3'))
        Decimal('-10')
        >>> ExtendedContext.min(Decimal('1.0'), Decimal('1'))
        Decimal('1.0')
        >>> ExtendedContext.min(Decimal('7'), Decimal('NaN'))
        Decimal('7')
        >>> ExtendedContext.min(1, 2)
        Decimal('1')
        >>> ExtendedContext.min(Decimal(1), 2)
        Decimal('1')
        >>> ExtendedContext.min(1, Decimal(29))
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a min b context self N/A min_mag N/A N/A self a b N/A N/A N/A Compares the values numerically with their sign ignored.

        >>> ExtendedContext.min_mag(Decimal('3'), Decimal('-2'))
        Decimal('-2')
        >>> ExtendedContext.min_mag(Decimal('-3'), Decimal('NaN'))
        Decimal('-3')
        >>> ExtendedContext.min_mag(1, -2)
        Decimal('1')
        >>> ExtendedContext.min_mag(Decimal(1), -2)
        Decimal('1')
        >>> ExtendedContext.min_mag(1, Decimal(-2))
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a min_mag b context self N/A minus N/A N/A self a N/A N/A N/A Minus corresponds to unary prefix minus in Python.

        The operation is evaluated using the same rules as subtract; the
        operation minus(a) is calculated as subtract('0', a) where the '0'
        has the same exponent as the operand.

        >>> ExtendedContext.minus(Decimal('1.3'))
        Decimal('-1.3')
        >>> ExtendedContext.minus(Decimal('-1.3'))
        Decimal('1.3')
        >>> ExtendedContext.minus(1)
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a __neg__ context self N/A multiply N/A N/A self a b N/A N/A N/A multiply multiplies two operands.

        If either operand is a special value then the general rules apply.
        Otherwise, the operands are multiplied together
        ('long multiplication'), resulting in a number which may be as long as
        the sum of the lengths of the two operands.

        >>> ExtendedContext.multiply(Decimal('1.20'), Decimal('3'))
        Decimal('3.60')
        >>> ExtendedContext.multiply(Decimal('7'), Decimal('3'))
        Decimal('21')
        >>> ExtendedContext.multiply(Decimal('0.9'), Decimal('0.8'))
        Decimal('0.72')
        >>> ExtendedContext.multiply(Decimal('0.9'), Decimal('-0'))
        Decimal('-0.0')
        >>> ExtendedContext.multiply(Decimal('654321'), Decimal('654321'))
        Decimal('4.28135971E+11')
        >>> ExtendedContext.multiply(7, 7)
        Decimal('49')
        >>> ExtendedContext.multiply(Decimal(7), 7)
        Decimal('49')
        >>> ExtendedContext.multiply(7, Decimal(7))
        Decimal('49')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __mul__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A next_minus N/A N/A self a N/A N/A N/A Returns the largest representable number smaller than a.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> ExtendedContext.next_minus(Decimal('1'))
        Decimal('0.999999999')
        >>> c.next_minus(Decimal('1E-1007'))
        Decimal('0E-1007')
        >>> ExtendedContext.next_minus(Decimal('-1.00000003'))
        Decimal('-1.00000004')
        >>> c.next_minus(Decimal('Infinity'))
        Decimal('9.99999999E+999')
        >>> c.next_minus(1)
        Decimal('0.999999999')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a next_minus context self N/A next_plus N/A N/A self a N/A N/A N/A Returns the smallest representable number larger than a.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> ExtendedContext.next_plus(Decimal('1'))
        Decimal('1.00000001')
        >>> c.next_plus(Decimal('-1E-1007'))
        Decimal('-0E-1007')
        >>> ExtendedContext.next_plus(Decimal('-1.00000003'))
        Decimal('-1.00000002')
        >>> c.next_plus(Decimal('-Infinity'))
        Decimal('-9.99999999E+999')
        >>> c.next_plus(1)
        Decimal('1.00000001')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a next_plus context self N/A next_toward N/A N/A self a b N/A N/A N/A Returns the number closest to a, in direction towards b.

        The result is the closest representable number from the first
        operand (but not the first operand) that is in the direction
        towards the second operand, unless the operands have the same
        value.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.next_toward(Decimal('1'), Decimal('2'))
        Decimal('1.00000001')
        >>> c.next_toward(Decimal('-1E-1007'), Decimal('1'))
        Decimal('-0E-1007')
        >>> c.next_toward(Decimal('-1.00000003'), Decimal('0'))
        Decimal('-1.00000002')
        >>> c.next_toward(Decimal('1'), Decimal('0'))
        Decimal('0.999999999')
        >>> c.next_toward(Decimal('1E-1007'), Decimal('-100'))
        Decimal('0E-1007')
        >>> c.next_toward(Decimal('-1.00000003'), Decimal('-10'))
        Decimal('-1.00000004')
        >>> c.next_toward(Decimal('0.00'), Decimal('-0.0000'))
        Decimal('-0.00')
        >>> c.next_toward(0, 1)
        Decimal('1E-1007')
        >>> c.next_toward(Decimal(0), 1)
        Decimal('1E-1007')
        >>> c.next_toward(0, Decimal(1))
        Decimal('1E-1007')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a next_toward b context self N/A normalize N/A N/A self a N/A N/A N/A normalize reduces an operand to its simplest form.

        Essentially a plus operation with all trailing zeros removed from the
        result.

        >>> ExtendedContext.normalize(Decimal('2.1'))
        Decimal('2.1')
        >>> ExtendedContext.normalize(Decimal('-2.0'))
        Decimal('-2')
        >>> ExtendedContext.normalize(Decimal('1.200'))
        Decimal('1.2')
        >>> ExtendedContext.normalize(Decimal('-120'))
        Decimal('-1.2E+2')
        >>> ExtendedContext.normalize(Decimal('120.00'))
        Decimal('1.2E+2')
        >>> ExtendedContext.normalize(Decimal('0.00'))
        Decimal('0')
        >>> ExtendedContext.normalize(6)
        Decimal('6')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a normalize context self N/A number_class N/A N/A self a N/A N/A N/A Returns an indication of the class of the operand.

        The class is one of the following strings:
          -sNaN
          -NaN
          -Infinity
          -Normal
          -Subnormal
          -Zero
          +Zero
          +Subnormal
          +Normal
          +Infinity

        >>> c = Context(ExtendedContext)
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.number_class(Decimal('Infinity'))
        '+Infinity'
        >>> c.number_class(Decimal('1E-10'))
        '+Normal'
        >>> c.number_class(Decimal('2.50'))
        '+Normal'
        >>> c.number_class(Decimal('0.1E-999'))
        '+Subnormal'
        >>> c.number_class(Decimal('0'))
        '+Zero'
        >>> c.number_class(Decimal('-0'))
        '-Zero'
        >>> c.number_class(Decimal('-0.1E-999'))
        '-Subnormal'
        >>> c.number_class(Decimal('-1E-10'))
        '-Normal'
        >>> c.number_class(Decimal('-2.50'))
        '-Normal'
        >>> c.number_class(Decimal('-Infinity'))
        '-Infinity'
        >>> c.number_class(Decimal('NaN'))
        'NaN'
        >>> c.number_class(Decimal('-NaN'))
        'NaN'
        >>> c.number_class(Decimal('sNaN'))
        'sNaN'
        >>> c.number_class(123)
        '+Normal'
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a number_class context self N/A plus N/A N/A self a N/A N/A N/A Plus corresponds to unary prefix plus in Python.

        The operation is evaluated using the same rules as add; the
        operation plus(a) is calculated as add('0', a) where the '0'
        has the same exponent as the operand.

        >>> ExtendedContext.plus(Decimal('1.3'))
        Decimal('1.3')
        >>> ExtendedContext.plus(Decimal('-1.3'))
        Decimal('-1.3')
        >>> ExtendedContext.plus(-1)
        Decimal('-1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a __pos__ context self N/A power N/A N/A self a b modulo N/A None N/A N/A Raises a to the power of b, to modulo if given.

        With two arguments, compute a**b.  If a is negative then b
        must be integral.  The result will be inexact unless b is
        integral and the result is finite and can be expressed exactly
        in 'precision' digits.

        With three arguments, compute (a**b) % modulo.  For the
        three argument form, the following restrictions on the
        arguments hold:

         - all three arguments must be integral
         - b must be nonnegative
         - at least one of a or b must be nonzero
         - modulo must be nonzero and have at most 'precision' digits

        The result of pow(a, b, modulo) is identical to the result
        that would be obtained by computing (a**b) % modulo with
        unbounded precision, but is computed more efficiently.  It is
        always exact.

        >>> c = ExtendedContext.copy()
        >>> c.Emin = -999
        >>> c.Emax = 999
        >>> c.power(Decimal('2'), Decimal('3'))
        Decimal('8')
        >>> c.power(Decimal('-2'), Decimal('3'))
        Decimal('-8')
        >>> c.power(Decimal('2'), Decimal('-3'))
        Decimal('0.125')
        >>> c.power(Decimal('1.7'), Decimal('8'))
        Decimal('69.7575744')
        >>> c.power(Decimal('10'), Decimal('0.301029996'))
        Decimal('2.00000000')
        >>> c.power(Decimal('Infinity'), Decimal('-1'))
        Decimal('0')
        >>> c.power(Decimal('Infinity'), Decimal('0'))
        Decimal('1')
        >>> c.power(Decimal('Infinity'), Decimal('1'))
        Decimal('Infinity')
        >>> c.power(Decimal('-Infinity'), Decimal('-1'))
        Decimal('-0')
        >>> c.power(Decimal('-Infinity'), Decimal('0'))
        Decimal('1')
        >>> c.power(Decimal('-Infinity'), Decimal('1'))
        Decimal('-Infinity')
        >>> c.power(Decimal('-Infinity'), Decimal('2'))
        Decimal('Infinity')
        >>> c.power(Decimal('0'), Decimal('0'))
        Decimal('NaN')

        >>> c.power(Decimal('3'), Decimal('7'), Decimal('16'))
        Decimal('11')
        >>> c.power(Decimal('-3'), Decimal('7'), Decimal('16'))
        Decimal('-11')
        >>> c.power(Decimal('-3'), Decimal('8'), Decimal('16'))
        Decimal('1')
        >>> c.power(Decimal('3'), Decimal('7'), Decimal('-16'))
        Decimal('11')
        >>> c.power(Decimal('23E12345'), Decimal('67E189'), Decimal('123456789'))
        Decimal('11729830')
        >>> c.power(Decimal('-0'), Decimal('17'), Decimal('1729'))
        Decimal('-0')
        >>> c.power(Decimal('-23'), Decimal('0'), Decimal('65537'))
        Decimal('1')
        >>> ExtendedContext.power(7, 7)
        Decimal('823543')
        >>> ExtendedContext.power(Decimal(7), 7)
        Decimal('823543')
        >>> ExtendedContext.power(7, Decimal(7), 2)
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __pow__ b modulo context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A quantize N/A N/A self a b N/A N/A N/A Returns a value equal to 'a' (rounded), having the exponent of 'b'.

        The coefficient of the result is derived from that of the left-hand
        operand.  It may be rounded using the current rounding setting (if the
        exponent is being increased), multiplied by a positive power of ten (if
        the exponent is being decreased), or is unchanged (if the exponent is
        already equal to that of the right-hand operand).

        Unlike other operations, if the length of the coefficient after the
        quantize operation would be greater than precision then an Invalid
        operation condition is raised.  This guarantees that, unless there is
        an error condition, the exponent of the result of a quantize is always
        equal to that of the right-hand operand.

        Also unlike other operations, quantize will never raise Underflow, even
        if the result is subnormal and inexact.

        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.001'))
        Decimal('2.170')
        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.01'))
        Decimal('2.17')
        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.1'))
        Decimal('2.2')
        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('1e+0'))
        Decimal('2')
        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('1e+1'))
        Decimal('0E+1')
        >>> ExtendedContext.quantize(Decimal('-Inf'), Decimal('Infinity'))
        Decimal('-Infinity')
        >>> ExtendedContext.quantize(Decimal('2'), Decimal('Infinity'))
        Decimal('NaN')
        >>> ExtendedContext.quantize(Decimal('-0.1'), Decimal('1'))
        Decimal('-0')
        >>> ExtendedContext.quantize(Decimal('-0'), Decimal('1e+5'))
        Decimal('-0E+5')
        >>> ExtendedContext.quantize(Decimal('+35236450.6'), Decimal('1e-2'))
        Decimal('NaN')
        >>> ExtendedContext.quantize(Decimal('-35236450.6'), Decimal('1e-2'))
        Decimal('NaN')
        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e-1'))
        Decimal('217.0')
        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e-0'))
        Decimal('217')
        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e+1'))
        Decimal('2.2E+2')
        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e+2'))
        Decimal('2E+2')
        >>> ExtendedContext.quantize(1, 2)
        Decimal('1')
        >>> ExtendedContext.quantize(Decimal(1), 2)
        Decimal('1')
        >>> ExtendedContext.quantize(1, Decimal(2))
        Decimal('1')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a quantize b context self N/A radix N/A N/A self N/A N/A N/A Just returns 10, as this is Decimal, :)

        >>> ExtendedContext.radix()
        Decimal('10')
         N/A N/A Decimal 10 N/A remainder N/A N/A self a b N/A N/A N/A Returns the remainder from integer division.

        The result is the residue of the dividend after the operation of
        calculating integer division as described for divide-integer, rounded
        to precision digits if necessary.  The sign of the result, if
        non-zero, is the same as that of the original dividend.

        This operation will fail under the same conditions as integer division
        (that is, if integer division on the same two operands would fail, the
        remainder cannot be calculated).

        >>> ExtendedContext.remainder(Decimal('2.1'), Decimal('3'))
        Decimal('2.1')
        >>> ExtendedContext.remainder(Decimal('10'), Decimal('3'))
        Decimal('1')
        >>> ExtendedContext.remainder(Decimal('-10'), Decimal('3'))
        Decimal('-1')
        >>> ExtendedContext.remainder(Decimal('10.2'), Decimal('1'))
        Decimal('0.2')
        >>> ExtendedContext.remainder(Decimal('10'), Decimal('0.3'))
        Decimal('0.1')
        >>> ExtendedContext.remainder(Decimal('3.6'), Decimal('1.3'))
        Decimal('1.0')
        >>> ExtendedContext.remainder(22, 6)
        Decimal('4')
        >>> ExtendedContext.remainder(Decimal(22), 6)
        Decimal('4')
        >>> ExtendedContext.remainder(22, Decimal(6))
        Decimal('4')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __mod__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A remainder_near N/A N/A self a b N/A N/A N/A Returns to be "a - b * n", where n is the integer nearest the exact
        value of "x / b" (if two integers are equally near then the even one
        is chosen).  If the result is equal to 0 then its sign will be the
        sign of a.

        This operation will fail under the same conditions as integer division
        (that is, if integer division on the same two operands would fail, the
        remainder cannot be calculated).

        >>> ExtendedContext.remainder_near(Decimal('2.1'), Decimal('3'))
        Decimal('-0.9')
        >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('6'))
        Decimal('-2')
        >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('3'))
        Decimal('1')
        >>> ExtendedContext.remainder_near(Decimal('-10'), Decimal('3'))
        Decimal('-1')
        >>> ExtendedContext.remainder_near(Decimal('10.2'), Decimal('1'))
        Decimal('0.2')
        >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('0.3'))
        Decimal('0.1')
        >>> ExtendedContext.remainder_near(Decimal('3.6'), Decimal('1.3'))
        Decimal('-0.3')
        >>> ExtendedContext.remainder_near(3, 11)
        Decimal('3')
        >>> ExtendedContext.remainder_near(Decimal(3), 11)
        Decimal('3')
        >>> ExtendedContext.remainder_near(3, Decimal(11))
        Decimal('3')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a remainder_near b context self N/A rotate N/A N/A self a b N/A N/A N/A Returns a rotated copy of a, b times.

        The coefficient of the result is a rotated copy of the digits in
        the coefficient of the first operand.  The number of places of
        rotation is taken from the absolute value of the second operand,
        with the rotation being to the left if the second operand is
        positive or to the right otherwise.

        >>> ExtendedContext.rotate(Decimal('34'), Decimal('8'))
        Decimal('400000003')
        >>> ExtendedContext.rotate(Decimal('12'), Decimal('9'))
        Decimal('12')
        >>> ExtendedContext.rotate(Decimal('123456789'), Decimal('-2'))
        Decimal('891234567')
        >>> ExtendedContext.rotate(Decimal('123456789'), Decimal('0'))
        Decimal('123456789')
        >>> ExtendedContext.rotate(Decimal('123456789'), Decimal('+2'))
        Decimal('345678912')
        >>> ExtendedContext.rotate(1333333, 1)
        Decimal('13333330')
        >>> ExtendedContext.rotate(Decimal(1333333), 1)
        Decimal('13333330')
        >>> ExtendedContext.rotate(1333333, Decimal(1))
        Decimal('13333330')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a rotate b context self N/A same_quantum N/A N/A self a b N/A N/A N/A Returns True if the two operands have the same exponent.

        The result is never affected by either the sign or the coefficient of
        either operand.

        >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('0.001'))
        False
        >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('0.01'))
        True
        >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('1'))
        False
        >>> ExtendedContext.same_quantum(Decimal('Inf'), Decimal('-Inf'))
        True
        >>> ExtendedContext.same_quantum(10000, -1)
        True
        >>> ExtendedContext.same_quantum(Decimal(10000), -1)
        True
        >>> ExtendedContext.same_quantum(10000, Decimal(-1))
        True
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a same_quantum b N/A scaleb N/A N/A self a b N/A N/A N/A Returns the first operand after adding the second value its exp.

        >>> ExtendedContext.scaleb(Decimal('7.50'), Decimal('-2'))
        Decimal('0.0750')
        >>> ExtendedContext.scaleb(Decimal('7.50'), Decimal('0'))
        Decimal('7.50')
        >>> ExtendedContext.scaleb(Decimal('7.50'), Decimal('3'))
        Decimal('7.50E+3')
        >>> ExtendedContext.scaleb(1, 4)
        Decimal('1E+4')
        >>> ExtendedContext.scaleb(Decimal(1), 4)
        Decimal('1E+4')
        >>> ExtendedContext.scaleb(1, Decimal(4))
        Decimal('1E+4')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a scaleb b context self N/A shift N/A N/A self a b N/A N/A N/A Returns a shifted copy of a, b times.

        The coefficient of the result is a shifted copy of the digits
        in the coefficient of the first operand.  The number of places
        to shift is taken from the absolute value of the second operand,
        with the shift being to the left if the second operand is
        positive or to the right otherwise.  Digits shifted into the
        coefficient are zeros.

        >>> ExtendedContext.shift(Decimal('34'), Decimal('8'))
        Decimal('400000000')
        >>> ExtendedContext.shift(Decimal('12'), Decimal('9'))
        Decimal('0')
        >>> ExtendedContext.shift(Decimal('123456789'), Decimal('-2'))
        Decimal('1234567')
        >>> ExtendedContext.shift(Decimal('123456789'), Decimal('0'))
        Decimal('123456789')
        >>> ExtendedContext.shift(Decimal('123456789'), Decimal('+2'))
        Decimal('345678900')
        >>> ExtendedContext.shift(88888888, 2)
        Decimal('888888800')
        >>> ExtendedContext.shift(Decimal(88888888), 2)
        Decimal('888888800')
        >>> ExtendedContext.shift(88888888, Decimal(2))
        Decimal('888888800')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a shift b context self N/A sqrt N/A N/A self a N/A N/A N/A Square root of a non-negative number to context precision.

        If the result must be inexact, it is rounded using the round-half-even
        algorithm.

        >>> ExtendedContext.sqrt(Decimal('0'))
        Decimal('0')
        >>> ExtendedContext.sqrt(Decimal('-0'))
        Decimal('-0')
        >>> ExtendedContext.sqrt(Decimal('0.39'))
        Decimal('0.624499800')
        >>> ExtendedContext.sqrt(Decimal('100'))
        Decimal('10')
        >>> ExtendedContext.sqrt(Decimal('1'))
        Decimal('1')
        >>> ExtendedContext.sqrt(Decimal('1.0'))
        Decimal('1.0')
        >>> ExtendedContext.sqrt(Decimal('1.00'))
        Decimal('1.0')
        >>> ExtendedContext.sqrt(Decimal('7'))
        Decimal('2.64575131')
        >>> ExtendedContext.sqrt(Decimal('10'))
        Decimal('3.16227766')
        >>> ExtendedContext.sqrt(2)
        Decimal('1.41421356')
        >>> ExtendedContext.prec
        9
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a sqrt context self N/A subtract N/A N/A self a b N/A N/A N/A Return the difference between the two operands.

        >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('1.07'))
        Decimal('0.23')
        >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('1.30'))
        Decimal('0.00')
        >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('2.07'))
        Decimal('-0.77')
        >>> ExtendedContext.subtract(8, 5)
        Decimal('3')
        >>> ExtendedContext.subtract(Decimal(8), 5)
        Decimal('3')
        >>> ExtendedContext.subtract(8, Decimal(5))
        Decimal('3')
         N/A a N/A _convert_other a raiseit True N/A r N/A N/A a __sub__ b context self N/A N/A r NotImplemented N/A N/A N/A TypeError N/A Unable to convert %s to Decimal b N/A N/A r N/A to_eng_string N/A N/A self a N/A N/A N/A Converts a number to a string, using scientific notation.

        The operation is not affected by the context.
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a to_eng_string context self N/A to_sci_string N/A N/A self a N/A N/A N/A Converts a number to a string, using scientific notation.

        The operation is not affected by the context.
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a __str__ context self N/A to_integral_exact N/A N/A self a N/A N/A N/A Rounds to an integer.

        When the operand has a negative exponent, the result is the same
        as using the quantize() operation using the given operand as the
        left-hand-operand, 1E+0 as the right-hand-operand, and the precision
        of the operand as the precision setting; Inexact and Rounded flags
        are allowed in this operation.  The rounding mode is taken from the
        context.

        >>> ExtendedContext.to_integral_exact(Decimal('2.1'))
        Decimal('2')
        >>> ExtendedContext.to_integral_exact(Decimal('100'))
        Decimal('100')
        >>> ExtendedContext.to_integral_exact(Decimal('100.0'))
        Decimal('100')
        >>> ExtendedContext.to_integral_exact(Decimal('101.5'))
        Decimal('102')
        >>> ExtendedContext.to_integral_exact(Decimal('-101.5'))
        Decimal('-102')
        >>> ExtendedContext.to_integral_exact(Decimal('10E+5'))
        Decimal('1.0E+6')
        >>> ExtendedContext.to_integral_exact(Decimal('7.89E+77'))
        Decimal('7.89E+77')
        >>> ExtendedContext.to_integral_exact(Decimal('-Inf'))
        Decimal('-Infinity')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a to_integral_exact context self N/A to_integral_value N/A N/A self a N/A N/A N/A Rounds to an integer.

        When the operand has a negative exponent, the result is the same
        as using the quantize() operation using the given operand as the
        left-hand-operand, 1E+0 as the right-hand-operand, and the precision
        of the operand as the precision setting, except that no flags will
        be set.  The rounding mode is taken from the context.

        >>> ExtendedContext.to_integral_value(Decimal('2.1'))
        Decimal('2')
        >>> ExtendedContext.to_integral_value(Decimal('100'))
        Decimal('100')
        >>> ExtendedContext.to_integral_value(Decimal('100.0'))
        Decimal('100')
        >>> ExtendedContext.to_integral_value(Decimal('101.5'))
        Decimal('102')
        >>> ExtendedContext.to_integral_value(Decimal('-101.5'))
        Decimal('-102')
        >>> ExtendedContext.to_integral_value(Decimal('10E+5'))
        Decimal('1.0E+6')
        >>> ExtendedContext.to_integral_value(Decimal('7.89E+77'))
        Decimal('7.89E+77')
        >>> ExtendedContext.to_integral_value(Decimal('-Inf'))
        Decimal('-Infinity')
         N/A a N/A _convert_other a raiseit True N/A N/A N/A a to_integral_value context self N/A N/A to_integral to_integral_value N/A _WorkRep N/A object N/A N/A __slots__ N/A sign int exp __init__ N/A N/A self value N/A None N/A N/A N/A value None N/A N/A N/A self sign None N/A N/A self int 0 N/A N/A self exp None N/A N/A N/A isinstance value Decimal N/A N/A N/A self sign N/A value _sign N/A N/A self int N/A int N/A value _int N/A N/A self exp N/A value _exp N/A N/A N/A self sign N/A value N/A 0 N/A N/A self int N/A value N/A 1 N/A N/A self exp N/A value N/A 2 N/A __repr__ N/A N/A self N/A N/A N/A N/A (%r, %r, %r) N/A N/A self sign N/A self int N/A self exp N/A N/A __str__ __repr__ N/A _normalize N/A N/A op1 op2 prec N/A 0 N/A N/A Normalizes op1, op2 to have the same exp and length of coefficient.

    Done during addition.
     N/A N/A N/A op1 exp N/A op2 exp N/A N/A tmp op2 N/A other op1 N/A N/A tmp op1 N/A other op2 N/A tmp_len N/A len N/A str N/A tmp int N/A other_len N/A len N/A str N/A other int N/A exp N/A N/A tmp exp N/A min -1 N/A N/A tmp_len prec 2 N/A N/A N/A N/A other_len N/A other exp 1 exp N/A N/A N/A other int 1 N/A N/A other exp exp N/A N/A tmp int N/A 10 N/A N/A tmp exp N/A other exp N/A N/A tmp exp N/A other exp N/A N/A op1 op2 N/A _nbits N/A N/A n correction N/A N/A 0 1 2 3 4 5 6 7 8 9 a b c d e f 4 3 2 2 1 1 1 1 0 0 0 0 0 0 0 0 N/A N/A Number of bits in binary representation of the positive integer n,
    or 0 if n == 0.
     N/A N/A n 0 N/A N/A N/A ValueError The argument to _nbits should be nonnegative. N/A hex_n N/A %x n N/A N/A N/A 4 N/A len hex_n N/A correction N/A N/A hex_n N/A 0 N/A _decimal_lshift_exact N/A N/A n e N/A N/A N/A  Given integers n and e, return n * 10**e if it's an integer, else None.

    The computation is designed to avoid computing large powers of 10
    unnecessarily.

    >>> _decimal_lshift_exact(3, 4)
    30000
    >>> _decimal_lshift_exact(300, -999999999)  # returns None

     N/A N/A n 0 N/A N/A 0 N/A N/A N/A e 0 N/A N/A N/A n N/A 10 e N/A N/A str_n N/A str N/A abs n N/A val_n N/A N/A len str_n N/A len N/A N/A str_n rstrip 0 N/A N/A N/A val_n N/A e None N/A n N/A 10 N/A e N/A _sqrt_nearest N/A N/A n a N/A N/A N/A Closest integer to the square root of the positive integer n.  a is
    an initial approximation to the square root.  Any positive integer
    will do for a, but the closer a is to the square root of n the
    faster convergence will be.

     N/A N/A N/A n 0 N/A a 0 N/A N/A N/A ValueError Both arguments to _sqrt_nearest should be positive. N/A b 0 N/A N/A a b N/A N/A N/A b a N/A a N/A N/A a N/A N/A n a 1 N/A a N/A _rshift_nearest N/A N/A x shift N/A N/A N/A Given an integer x and a nonnegative integer shift, return closest
    integer to x / 2**shift; use round-to-even in case of a tie.

     N/A N/A b q N/A N/A 1 shift N/A x shift N/A N/A q N/A N/A N/A 2 N/A x N/A b 1 N/A q 1 b N/A _div_nearest N/A N/A a b N/A N/A N/A Closest integer to a/b, a and b positive integers; rounds to even
    in the case of a tie.

     N/A N/A q r N/A divmod a b N/A N/A q N/A N/A N/A 2 r N/A q 1 b N/A _ilog N/A N/A x M L N/A 8 N/A N/A Integer approximation to M*log(x/M), with absolute error boundable
    in terms only of x/M.

    Given positive integers x and M, return an integer approximation to
    M * log(x/M).  For L = 8 and 0.1 <= x/M <= 10 the difference
    between the approximation and the exact result is at most 22.  For
    L = 8 and 1.0 <= x/M <= 10.0 the difference is at most 15.  In
    both cases these are upper bounds on the error; it will usually be
    much smaller. N/A y N/A x M N/A R 0 N/A N/A N/A N/A R L N/A N/A N/A long N/A abs y N/A L R M N/A N/A R L N/A N/A N/A abs y N/A R L M N/A N/A y N/A _div_nearest N/A N/A long N/A M y 1 N/A M N/A _sqrt_nearest N/A M N/A M N/A _rshift_nearest y R M N/A R 1 N/A T N/A N/A int N/A N/A -10 N/A len N/A str M N/A 3 L N/A yshift N/A _rshift_nearest y R N/A w N/A _div_nearest M T N/A k N/A xrange N/A T 1 0 -1 N/A N/A w N/A N/A _div_nearest M k N/A _div_nearest N/A yshift w M N/A N/A _div_nearest N/A w y M N/A _dlog10 N/A N/A c e p N/A N/A N/A Given integers c, e and p with c > 0, p >= 0, compute an integer
    approximation to 10**p * log10(c*10**e), with an absolute error of
    at most 1.  Assumes that c*10**e is not exactly 1. N/A p 2 N/A l N/A len N/A str c N/A f N/A N/A e l N/A N/A e l 1 N/A N/A p 0 N/A N/A M N/A 10 p N/A k N/A N/A e p f N/A N/A k 0 N/A N/A c N/A 10 k N/A N/A c N/A _div_nearest c N/A 10 N/A k N/A log_d N/A _ilog c M N/A log_10 N/A _log10_digits p N/A log_d N/A _div_nearest N/A log_d M log_10 N/A log_tenpower N/A f M N/A N/A log_d 0 N/A log_tenpower N/A _div_nearest f N/A 10 N/A p N/A N/A _div_nearest N/A log_tenpower log_d 100 N/A _dlog N/A N/A c e p N/A N/A N/A Given integers c, e and p with c > 0, compute an integer
    approximation to 10**p * log(c*10**e), with an absolute error of
    at most 1.  Assumes that c*10**e is not exactly 1. N/A p 2 N/A l N/A len N/A str c N/A f N/A N/A e l N/A N/A e l 1 N/A N/A p 0 N/A N/A k N/A N/A e p f N/A N/A k 0 N/A N/A c N/A 10 k N/A N/A c N/A _div_nearest c N/A 10 N/A k N/A log_d N/A _ilog c N/A 10 p N/A N/A log_d 0 N/A f N/A N/A extra N/A N/A len N/A str N/A abs f 1 N/A N/A N/A p extra 0 N/A N/A f_log_ten N/A _div_nearest N/A f N/A _log10_digits N/A p extra N/A 10 extra N/A N/A f_log_ten 0 N/A N/A f_log_ten 0 N/A N/A _div_nearest N/A f_log_ten log_d 100 N/A _Log10Memoize N/A object N/A N/A Class to compute, store, and allow retrieval of, digits of the
    constant log(10) = 2.302585....  This constant is needed by
    Decimal.ln, Decimal.log10, Decimal.exp and Decimal.__pow__. __init__ N/A N/A self N/A N/A N/A N/A self digits 23025850929940456840179914546843642076011014886 N/A getdigits N/A N/A self p N/A N/A N/A Given an integer p >= 0, return floor(10**p)*log(10).

        For example, self.getdigits(3) returns 2302.
         N/A N/A p 0 N/A N/A N/A ValueError p should be nonnegative N/A N/A p N/A len N/A self digits N/A N/A extra 3 N/A True N/A N/A M N/A 10 N/A N/A p extra 2 N/A digits N/A str N/A _div_nearest N/A _ilog N/A 10 M M 100 N/A N/A N/A digits N/A N/A extra N/A 0 extra N/A N/A N/A extra 3 N/A N/A self digits N/A N/A N/A digits rstrip 0 N/A -1 N/A N/A int N/A N/A self digits N/A N/A p 1 N/A N/A N/A _log10_digits N/A N/A _Log10Memoize getdigits _iexp N/A N/A x M L N/A 8 N/A N/A Given integers x and M, M > 0, such that x/M is small in absolute
    value, compute an integer approximation to M*exp(x/M).  For 0 <=
    x/M <= 2.4, the absolute error in the result is bounded by 60 (and
    is usually much smaller). N/A R N/A _nbits N/A N/A N/A long x L M N/A T N/A N/A int N/A N/A -10 N/A len N/A str M N/A 3 L N/A y N/A _div_nearest x T N/A Mshift N/A N/A long M R N/A i N/A xrange N/A T 1 0 -1 N/A N/A y N/A _div_nearest N/A x N/A Mshift y N/A Mshift i N/A k N/A xrange N/A R 1 -1 -1 N/A N/A Mshift N/A N/A long M N/A k 2 N/A y N/A _div_nearest N/A y N/A y Mshift Mshift N/A N/A M y N/A _dexp N/A N/A c e p N/A N/A N/A Compute an approximation to exp(c*10**e), with p decimal places of
    precision.

    Returns integers d, f such that:

      10**(p-1) <= d <= 10**p, and
      (d-1)*10**f < exp(c*10**e) < (d+1)*10**f

    In other words, d*10**f is an approximation to exp(c*10**e) with p
    digits of precision, and with an error in d of at most 1.  This is
    almost, but not quite, the same as the error being < 1ulp: when d
    = 10**(p-1) the error could be up to 10 ulp. N/A p 2 N/A extra N/A max 0 N/A N/A e N/A len N/A str c 1 N/A q N/A p extra N/A shift N/A e q N/A N/A shift 0 N/A N/A cshift N/A c N/A 10 shift N/A N/A cshift N/A c N/A 10 N/A shift N/A N/A quot rem N/A divmod cshift N/A _log10_digits q N/A rem N/A _div_nearest rem N/A 10 extra N/A N/A N/A _div_nearest N/A _iexp rem N/A 10 p 1000 N/A N/A quot p 3 N/A _dpower N/A N/A xc xe yc ye p N/A N/A N/A Given integers xc, xe, yc and ye representing Decimals x = xc*10**xe and
    y = yc*10**ye, compute x**y.  Returns a pair of integers (c, e) such that:

      10**(p-1) <= c <= 10**p, and
      (c-1)*10**e < x**y < (c+1)*10**e

    in other words, c*10**e is an approximation to x**y with p digits
    of precision, and with an error in c of at most 1.  (This is
    almost, but not quite, the same as the error being < 1ulp: when c
    == 10**(p-1) we can only guarantee error < 10ulp.)

    We assume that: x is positive and not equal to 1, and y is nonzero.
     N/A b N/A N/A len N/A str N/A abs yc ye N/A lxc N/A _dlog xc xe N/A N/A p b 1 N/A shift N/A ye b N/A N/A shift 0 N/A N/A pc N/A N/A lxc yc N/A 10 shift N/A N/A pc N/A _div_nearest N/A lxc yc N/A 10 N/A shift N/A N/A pc 0 N/A N/A N/A N/A N/A N/A len N/A str xc xe 1 N/A yc 0 N/A N/A N/A coeff exp N/A N/A N/A 10 N/A p 1 1 N/A 1 p N/A N/A N/A coeff exp N/A N/A N/A 10 p 1 N/A p N/A N/A N/A coeff exp N/A _dexp pc N/A N/A p 1 N/A p 1 N/A coeff N/A _div_nearest coeff 10 N/A exp 1 N/A N/A coeff exp N/A _log10_lb N/A N/A c correction N/A N/A 1 2 3 4 5 6 7 8 9 100 70 53 40 31 23 16 10 5 N/A N/A Compute a lower bound for 100*log10(c) for a positive integer c. N/A N/A c 0 N/A N/A N/A ValueError The argument to _log10_lb should be nonnegative. N/A str_c N/A str c N/A N/A N/A 100 N/A len str_c N/A correction N/A N/A str_c N/A 0 N/A _convert_other N/A N/A other raiseit allow_float N/A False False N/A N/A Convert other to Decimal.

    Verifies that it's ok to use in an implicit construction.
    If allow_float is true, allow conversion from float;  this
    is used in the comparison methods (__eq__ and friends).

     N/A N/A isinstance other Decimal N/A N/A other N/A N/A isinstance other N/A int long N/A N/A N/A Decimal other N/A N/A allow_float N/A isinstance other float N/A N/A N/A N/A Decimal from_float other N/A raiseit N/A N/A N/A TypeError N/A Unable to convert %s to Decimal other N/A NotImplemented N/A N/A DefaultContext N/A Context prec 28 rounding ROUND_HALF_EVEN traps N/A DivisionByZero Overflow InvalidOperation flags N/A Emax 999999999 Emin -999999999 capitals 1 N/A BasicContext N/A Context prec 9 rounding ROUND_HALF_UP traps N/A DivisionByZero Overflow InvalidOperation Clamped Underflow flags N/A N/A ExtendedContext N/A Context prec 9 rounding ROUND_HALF_EVEN traps N/A flags N/A N/A re N/A _parser N/A N/A N/A re compile         # A numeric string consists of:
#    \s*
    (?P<sign>[-+])?              # an optional sign, followed by either...
    (
        (?=\d|\.\d)              # ...a number (with at least one digit)
        (?P<int>\d*)             # having a (possibly empty) integer part
        (\.(?P<frac>\d*))?       # followed by an optional fractional part
        (E(?P<exp>[-+]?\d+))?    # followed by an optional exponent, or...
    |
        Inf(inity)?              # ...an infinity, or...
    |
        (?P<signal>s)?           # ...an (optionally signaling)
        NaN                      # NaN
        (?P<diag>\d*)            # with (possibly empty) diagnostic info.
    )
#    \s*
    \Z
 N/A N/A N/A re VERBOSE N/A re IGNORECASE N/A re UNICODE match N/A _all_zeros N/A N/A N/A re compile 0*$ match N/A _exact_half N/A N/A N/A re compile 50*$ match N/A _parse_format_specifier_regex N/A N/A re compile \A
(?:
   (?P<fill>.)?
   (?P<align>[<>=^])
)?
(?P<sign>[-+ ])?
(?P<zeropad>0)?
(?P<minimumwidth>(?!0)\d+)?
(?P<thousands_sep>,)?
(?:\.(?P<precision>0|(?!0)\d+))?
(?P<type>[eEfFgGn%])?
\Z
 N/A re VERBOSE N/A re N/A N/A N/A locale _locale N/A N/A N/A ImportError N/A N/A _parse_format_specifier N/A N/A format_spec _localeconv N/A None N/A N/A Parse and validate a format specifier.

    Turns a standard numeric format specifier into a dict, with the
    following entries:

      fill: fill character to pad field to minimum width
      align: alignment type, either '<', '>', '=' or '^'
      sign: either '+', '-' or ' '
      minimumwidth: nonnegative integer giving minimum width
      zeropad: boolean, indicating whether to pad with zeros
      thousands_sep: string to use as thousands separator, or ''
      grouping: grouping for thousands separators, in format
        used by localeconv
      decimal_point: string to use for decimal point
      precision: nonnegative integer giving precision, or None
      type: one of the characters 'eEfFgG%', or None
      unicode: boolean (always True for Python 3.x)

     N/A m N/A N/A _parse_format_specifier_regex match format_spec N/A N/A m None N/A N/A N/A ValueError N/A Invalid format specifier:  format_spec N/A format_dict N/A N/A m groupdict N/A fill N/A format_dict N/A fill N/A align N/A format_dict N/A align N/A N/A format_dict N/A zeropad N/A N/A format_dict N/A zeropad None N/A N/A format_dict N/A zeropad N/A N/A N/A fill None N/A N/A N/A ValueError N/A Fill character conflicts with '0' in format specifier:  format_spec N/A N/A align None N/A N/A N/A ValueError N/A Alignment conflicts with '0' in format specifier:  format_spec N/A N/A format_dict N/A fill N/A fill N/A N/A format_dict N/A align N/A align > N/A N/A N/A format_dict N/A sign None N/A N/A N/A format_dict N/A sign - N/A N/A format_dict N/A minimumwidth N/A int N/A N/A format_dict N/A minimumwidth 0 N/A N/A N/A format_dict N/A precision None N/A N/A N/A format_dict N/A precision N/A int N/A format_dict N/A precision N/A N/A N/A format_dict N/A precision 0 N/A N/A N/A N/A N/A format_dict N/A type None N/A N/A format_dict N/A type gG N/A N/A N/A format_dict N/A precision 1 N/A N/A N/A format_dict N/A type n N/A N/A N/A format_dict N/A type g N/A N/A _localeconv None N/A N/A _localeconv N/A N/A _locale localeconv N/A N/A N/A format_dict N/A thousands_sep None N/A N/A N/A ValueError N/A Explicit thousands separator conflicts with 'n' type in format specifier:  format_spec N/A N/A format_dict N/A thousands_sep N/A _localeconv N/A thousands_sep N/A N/A format_dict N/A grouping N/A _localeconv N/A grouping N/A N/A format_dict N/A decimal_point N/A _localeconv N/A decimal_point N/A N/A N/A N/A format_dict N/A thousands_sep None N/A N/A N/A format_dict N/A thousands_sep N/A N/A format_dict N/A grouping N/A 3 0 N/A N/A format_dict N/A decimal_point . N/A N/A format_dict N/A unicode N/A isinstance format_spec unicode N/A format_dict N/A _format_align N/A N/A sign body spec N/A N/A N/A Given an unpadded, non-aligned numeric string 'body' and sign
    string 'sign', add padding and alignment conforming to the given
    format specifier dictionary 'spec' (as produced by
    parse_format_specifier).

    Also converts result to unicode if necessary.

     N/A minimumwidth N/A spec N/A minimumwidth N/A fill N/A spec N/A fill N/A padding N/A fill N/A N/A minimumwidth N/A len sign N/A len body N/A align N/A spec N/A align N/A N/A align < N/A N/A result N/A N/A sign body padding N/A N/A N/A align > N/A N/A result N/A N/A padding sign body N/A N/A N/A align = N/A N/A result N/A N/A sign padding body N/A N/A N/A align ^ N/A N/A half N/A N/A len padding 2 N/A result N/A N/A N/A N/A padding N/A half sign body N/A padding N/A half N/A N/A N/A ValueError Unrecognised alignment field N/A N/A spec N/A unicode N/A N/A result N/A unicode result N/A result N/A _group_lengths N/A N/A grouping N/A N/A N/A Convert a localeconv-style grouping into a (possibly infinite)
    iterable of integers representing group lengths.

     itertools chain repeat N/A N/A grouping N/A N/A N/A N/A N/A N/A N/A N/A grouping N/A -1 0 N/A N/A len grouping 2 N/A N/A N/A chain N/A grouping N/A -1 N/A repeat N/A grouping N/A -2 N/A N/A N/A N/A grouping N/A -1 N/A _locale CHAR_MAX N/A N/A N/A grouping N/A -1 N/A N/A N/A ValueError unrecognised format for grouping N/A _insert_thousands_sep N/A N/A digits spec min_width N/A 1 N/A N/A Insert thousands separators into a digit string.

    spec is a dictionary whose keys should include 'thousands_sep' and
    'grouping'; typically it's the result of parsing the format
    specifier using _parse_format_specifier.

    The min_width keyword argument gives the minimum length of the
    result, which will be padded on the left with zeros if necessary.

    If necessary, the zero padding adds an extra '0' on the left to
    avoid a leading thousands separator.  For example, inserting
    commas every three digits in '123456', with min_width=8, gives
    '0,123,456', even though that has length 9.

     N/A sep N/A spec N/A thousands_sep N/A grouping N/A spec N/A grouping N/A groups N/A N/A l N/A _group_lengths grouping N/A N/A N/A l 0 N/A N/A N/A ValueError group length should be positive N/A l N/A min N/A max N/A len digits min_width 1 l N/A N/A N/A groups append N/A N/A 0 N/A l N/A len digits N/A digits N/A N/A l N/A digits N/A digits N/A N/A l N/A min_width l N/A N/A N/A digits N/A min_width 0 N/A N/A N/A min_width N/A len sep N/A N/A l N/A max N/A len digits min_width 1 N/A N/A N/A groups append N/A N/A 0 N/A l N/A len digits N/A digits N/A N/A l N/A N/A N/A sep join N/A reversed groups N/A _format_sign N/A N/A is_negative spec N/A N/A N/A Determine sign character. N/A is_negative N/A N/A - N/A N/A N/A N/A spec N/A sign  + N/A N/A N/A spec N/A sign N/A N/A N/A _format_number N/A N/A is_negative intpart fracpart exp spec N/A N/A N/A Format a number, given the following data:

    is_negative: true if the number is negative, else false
    intpart: string of digits that must appear before the decimal point
    fracpart: string of digits that must come after the point
    exp: exponent, as an integer
    spec: dictionary resulting from parsing the format specifier

    This function uses the information in spec to:
      insert separators (decimal separator and thousands separators)
      format the sign
      format the exponent
      add trailing '%' for the '%' type
      zero-pad if necessary
      fill and align if necessary
     N/A sign N/A _format_sign is_negative spec N/A fracpart N/A N/A fracpart N/A N/A spec N/A decimal_point fracpart N/A N/A N/A exp 0 N/A N/A spec N/A type eE N/A N/A echar N/A N/A E e G g E e E e N/A N/A spec N/A type N/A fracpart N/A N/A {0}{1:+} format echar exp N/A N/A N/A spec N/A type % N/A N/A fracpart % N/A N/A spec N/A zeropad N/A N/A min_width N/A N/A N/A spec N/A minimumwidth N/A len fracpart N/A len sign N/A N/A min_width 0 N/A intpart N/A _insert_thousands_sep intpart spec min_width N/A N/A _format_align sign N/A intpart fracpart spec N/A N/A _Infinity N/A Decimal Inf N/A _NegativeInfinity N/A Decimal -Inf N/A _NaN N/A Decimal NaN N/A _Zero N/A Decimal 0 N/A _One N/A Decimal 1 N/A _NegativeOne N/A Decimal -1 N/A _SignedInfinity N/A _Infinity _NegativeInfinity N/A N/A __name__ __main__ N/A N/A doctest sys N/A N/A N/A doctest testmod N/A N/A sys modules N/A __name__