nodes: 0, module; 1, function_definition; 2, function_name:sorted_chain; 3, parameters; 4, type; 5, block; 6, typed_parameter; 7, generic_type; 8, expression_statement; 9, return_statement; 10, list_splat_pattern; 11, type; 12, identifier:List; 13, type_parameter; 14, comment:"""Chain & sort ranges."""; 15, call; 16, identifier:ranges; 17, generic_type; 18, type; 19, identifier:sorted; 20, argument_list; 21, identifier:Iterable; 22, type_parameter; 23, generic_type; 24, call; 25, type; 26, identifier:Tuple; 27, type_parameter; 28, attribute; 29, argument_list; 30, generic_type; 31, type; 32, type; 33, identifier:itertools; 34, identifier:chain; 35, list_splat; 36, identifier:Tuple; 37, type_parameter; 38, identifier:int; 39, identifier:int; 40, identifier:ranges; 41, type; 42, type; 43, identifier:int; 44, identifier:int
code: def sorted_chain(*ranges: Iterable[Tuple[int, int]]) -> List[Tuple[int, int]]:
      """Chain & sort ranges."""
      return sorted(itertools.chain(*ranges))