def _get_aug_flow(<EOL>left, left_type, aug_opnode, right, right_type, context, reverse_context<EOL>):
bin_op = aug_opnode.op.strip("<STR_LIT:=>")<EOL>aug_op = aug_opnode.op<EOL>if _same_type(left_type, right_type):<EOL><INDENT>methods = [<EOL>_aug_op(left, aug_opnode, aug_op, right, context),<EOL>_bin_op(left, aug_opnode, bin_op, right, context),<EOL>]<EOL><DEDENT>elif helpers.is_subtype(left_type, right_type):<EOL><INDENT>methods = [<EOL>_aug_op(left, aug_opnode, aug_op, right, context),<EOL>_bin_op(left, aug_opnode, bin_op, right, context),<EOL>]<EOL><DEDENT>elif helpers.is_supertype(left_type, right_type):<EOL><INDENT>methods = [<EOL>_aug_op(left, aug_opnode, aug_op, right, context),<EOL>_bin_op(right, aug_opnode, bin_op, left, reverse_context, reverse=True),<EOL>_bin_op(left, aug_opnode, bin_op, right, context),<EOL>]<EOL><DEDENT>else:<EOL><INDENT>methods = [<EOL>_aug_op(left, aug_opnode, aug_op, right, context),<EOL>_bin_op(left, aug_opnode, bin_op, right, context),<EOL>_bin_op(right, aug_opnode, bin_op, left, reverse_context, reverse=True),<EOL>]<EOL><DEDENT>return methods<EOL>
Get the flow for augmented binary operations.

    The rules are a bit messy:

        * if left and right have the same type, then left.__augop__(right)
          is first tried and then left.__op__(right).
        * if left and right are unrelated typewise, then
          left.__augop__(right) is tried, then left.__op__(right)
          is tried and then right.__rop__(left) is tried.
        * if left is a subtype of right, then left.__augop__(right)
          is tried and then left.__op__(right).
        * if left is a supertype of right, then left.__augop__(right)
          is tried, then right.__rop__(left) and then
          left.__op__(right)