code: def _StructPackDecoder(wire_type, format):
      """Return a constructor for a decoder for a fixed-width field.
  
      Args:
          wire_type:  The field's wire type.
          format:  The format string to pass to struct.unpack().
      """
  
      value_size = struct.calcsize(format)
      local_unpack = struct.unpack
  
      # Reusing _SimpleDecoder is slightly slower than copying a bunch of code, but
      # not enough to make a significant difference.
  
      # Note that we expect someone up-stack to catch struct.error and convert
      # it to _DecodeError -- this way we don't have to set up exception-
      # handling blocks every time we parse one value.
  
      def InnerDecode(buffer, pos):
          new_pos = pos + value_size
          result = local_unpack(format, buffer[pos:new_pos])[0]
          return (result, new_pos)
  
      return _SimpleDecoder(wire_type, InnerDecode)
  
imports: import struct
  import six
  from google.protobuf.internal import encoder
  from google.protobuf.internal import wire_format
  from google.protobuf import message
label_desc: Use image node_id 6 for calling a global function with example usage: _StructPackDecoder(wire_type, format) and returns: _SimpleDecoder, result,  new_pos