code: def make_sequence(
      name: str,
      elem_type: SequenceProto.DataType,
      values: Sequence[Any],
  ) -> SequenceProto:
      """Make a Sequence with specified value arguments."""
      sequence = SequenceProto()
      sequence.name = name
      sequence.elem_type = elem_type
  
      if elem_type == SequenceProto.UNDEFINED:
          return sequence
      if elem_type == SequenceProto.TENSOR:
          attribute = sequence.tensor_values
      elif elem_type == SequenceProto.SPARSE_TENSOR:
          attribute = sequence.sparse_tensor_values  # type: ignore[assignment]
      elif elem_type == SequenceProto.SEQUENCE:
          attribute = sequence.sequence_values  # type: ignore[assignment]
      elif elem_type == SequenceProto.MAP:
          attribute = sequence.map_values  # type: ignore[assignment]
      elif elem_type == OptionalProto.OPTIONAL:
          attribute = sequence.optional_values  # type: ignore[assignment]
      else:
          raise TypeError(
              "The element type in the input sequence is not supported."
          )
  
      attribute.extend(values)
      return sequence
  
imports: import collections.abc
  import numbers
  import struct
  from cmath import isnan
  from typing import Any, Callable, Dict, KeysView, List, Optional, Sequence, Tuple, TypeVar, Union, cast
  import google.protobuf.message
  import numpy
  from onnx import IR_VERSION, AttributeProto, FunctionProto, GraphProto, MapProto, ModelProto, NodeProto, OperatorSetIdProto, OptionalProto, SequenceProto, SparseTensorProto, TensorProto, TensorShapeProto, TrainingInfoProto, TypeProto, ValueInfoProto, defs, mapping, subbyte
label_desc: Use image node_id 18 for calling a global function with example usage: make_sequence(name, elem_type, values) and returns: sequence, sequence