;i dZddlZddlmZmZddlmZddlmZddlm Z edd Z dd e d e d e fd Z dee de d e fdZd e dejd dfdZdee dejd e fdZdS)z,Contains the Nextgen Pythonic protobuf APIs.N)TypeTypeVar)decoder)encoder)Message_MESSAGEr)boundmessage deterministicreturnc.||S)aReturn the serialized proto. Args: message: The proto message to be serialized. deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A binary bytes representation of the message. )r )SerializeToString)r r s IC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\google/protobuf/proto.py serializers  " " " ? ?? message_classpayloadcD|}|||S)zGiven a serialized data in binary form, deserialize it into a Message. Args: message_class: The message meta class. payload: A serialized bytes in binary form. Returns: A new message deserialized from payload. )ParseFromString)rr new_messages rparser"s) + g&&& routputc|}tj|j||t |}||krt d||fzdS)aWrites the size of the message as a varint and the serialized message. Writes the size of the message as a varint and then the serialized message. This allows more data to be written to the output after the message. Use parse_length_prefixed to parse messages written by this method. The output stream must be buffered, e.g. using https://docs.python.org/3/library/io.html#buffered-streams. Example usage: out = io.BytesIO() for msg in message_list: proto.serialize_length_prefixed(msg, out) Args: message: The protocol buffer message that should be serialized. output: BytesIO or custom buffered IO that data should be written to. z_Failed to write complete message (wrote: %d, expected: %d). Ensure output is using buffered IO.N)ByteSizer_VarintEncoderwriter TypeError)r rsizeout_sizes rserialize_length_prefixedr 1s&     $'6<... \\)G,, - -(   03;T2B C  r input_bytesctj|}|dS|}|dkr|S|||}||kr.t d|||jj|S)aParse a message from input_bytes. Args: message_class: The protocol buffer message class that parser should parse. input_bytes: A buffered input. Example usage: while True: msg = proto.parse_length_prefixed(message_class, input_bytes) if msg is None: break ... Returns: A parsed message if successful. None if input_bytes is at EOF. NrzdTruncated message or non-buffered input_bytes: Expected {0} bytes but only {1} bytes parsed for {2}.)r _DecodeVarintrread ValueErrorformat DESCRIPTORname)rr!rr parsed_sizes rparse_length_prefixedr*Os&  { + +$ \ 4 MOO' QYY N'' (8(8(>(>??+D  vdK);)@AA   .r)N)__doc__iotypingrrgoogle.protobuf.internalrrgoogle.protobuf.messagerrboolbytesrrBytesIOr r*rrr4sB32 ,,,,,,,,,,,,++++++ 7:Y / / / @ @x @ @ @ @ @ @ h % H    x<%>%02 % %%%%%%r