async def load_uvarint(reader):
buffer = _UVARINT_BUFFER<EOL>await reader.areadinto(buffer)<EOL>size = buffer[<NUM_LIT:0>]<EOL>if size == <NUM_LIT:0>:<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>negative = size < <NUM_LIT:0><EOL>size = -size if negative else size<EOL>result = <NUM_LIT:0><EOL>shift = <NUM_LIT:0><EOL>if size > <NUM_LIT:8>:<EOL><INDENT>raise ValueError('<STR_LIT>' % size)<EOL><DEDENT>for _ in range(size):<EOL><INDENT>await reader.areadinto(buffer)<EOL>result += buffer[<NUM_LIT:0>] << shift<EOL>shift += <NUM_LIT:8><EOL><DEDENT>return result if not negative else -result<EOL>
Monero portable_binary_archive boost integer serialization
:param reader:
:return: