nodes: 0, module; 1, function_definition; 2, function_name:value_eq; 3, parameters; 4, block; 5, identifier:self; 6, identifier:other; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, return_statement; 11, comment:"""Sorted comparison of values."""; 12, assignment; 13, assignment; 14, comparison_operator:self_sorted == other_sorted; 15, identifier:self_sorted; 16, call; 17, identifier:other_sorted; 18, call; 19, identifier:self_sorted; 20, identifier:other_sorted; 21, attribute; 22, argument_list; 23, attribute; 24, argument_list; 25, identifier:ordered; 26, identifier:ordered; 27, call; 28, identifier:ordered; 29, identifier:ordered; 30, call; 31, attribute; 32, argument_list; 33, attribute; 34, argument_list; 35, identifier:self; 36, identifier:getvalues; 37, identifier:repeated; 38, identifier:getvalues; 39, identifier:other
code: def value_eq(self, other):
          """Sorted comparison of values."""
          self_sorted = ordered.ordered(self.getvalues())
          other_sorted = ordered.ordered(repeated.getvalues(other))
          return self_sorted == other_sorted