<s> """<STR_LIT>""" <EOL> import struct <EOL> from binascii import hexlify , unhexlify <EOL> from utilitybelt import is_hex <EOL> def count_bytes ( hex_s ) : <EOL> """<STR_LIT>""" <EOL> assert ( is_hex ( hex_s ) ) <EOL> return len ( hex_s ) / <NUM_LIT:2> <EOL> def flip_endian ( s ) : <EOL> if is_hex : <EOL> return hexlify ( unhexlify ( s ) [ : : - <NUM_LIT:1> ] ) <EOL> return s [ : : - <NUM_LIT:1> ] <EOL> def variable_length_int ( i ) : <EOL> """<STR_LIT>""" <EOL> if not isinstance ( i , ( int , long ) ) : <EOL> raise Exception ( '<STR_LIT>' ) <EOL> if i < ( <NUM_LIT:2> ** <NUM_LIT:8> - <NUM_LIT:3> ) : <EOL> return chr ( i ) <EOL> elif i < ( <NUM_LIT:2> ** <NUM_LIT:16> ) : <EOL> return chr ( <NUM_LIT> ) + struct . pack ( '<STR_LIT>' , i ) <EOL> elif i < ( <NUM_LIT:2> ** <NUM_LIT:32> ) : <EOL> return chr ( <NUM_LIT> ) + struct . pack ( '<STR_LIT>' , i ) <EOL> elif i < ( <NUM_LIT:2> ** <NUM_LIT:64> ) : <EOL> return chr ( <NUM_LIT:255> ) + struct . pack ( '<STR_LIT>' , i ) <EOL> else : <EOL> raise Exception ( '<STR_LIT>' ) </s>
