def _read_arraydesc(f):
arraydesc = {}<EOL>arraydesc['<STR_LIT>'] = _read_long(f)<EOL>if arraydesc['<STR_LIT>'] == <NUM_LIT:8>:<EOL><INDENT>_skip_bytes(f, <NUM_LIT:4>)<EOL>arraydesc['<STR_LIT>'] = _read_long(f)<EOL>arraydesc['<STR_LIT>'] = _read_long(f)<EOL>arraydesc['<STR_LIT>'] = _read_long(f)<EOL>_skip_bytes(f, <NUM_LIT:8>)<EOL>arraydesc['<STR_LIT>'] = _read_long(f)<EOL>arraydesc['<STR_LIT>'] = []<EOL>for d in range(arraydesc['<STR_LIT>']):<EOL><INDENT>arraydesc['<STR_LIT>'].append(_read_long(f))<EOL><DEDENT><DEDENT>elif arraydesc['<STR_LIT>'] == <NUM_LIT>:<EOL><INDENT>warnings.warn("<STR_LIT>")<EOL>_skip_bytes(f, <NUM_LIT:8>)<EOL>arraydesc['<STR_LIT>'] = _read_uint64(f)<EOL>arraydesc['<STR_LIT>'] = _read_uint64(f)<EOL>arraydesc['<STR_LIT>'] = _read_long(f)<EOL>_skip_bytes(f, <NUM_LIT:8>)<EOL>arraydesc['<STR_LIT>'] = <NUM_LIT:8><EOL>arraydesc['<STR_LIT>'] = []<EOL>for d in range(arraydesc['<STR_LIT>']):<EOL><INDENT>v = _read_long(f)<EOL>if v != <NUM_LIT:0>:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>arraydesc['<STR_LIT>'].append(_read_long(f))<EOL><DEDENT><DEDENT>else:<EOL><INDENT>raise Exception("<STR_LIT>" % arraydesc['<STR_LIT>'])<EOL><DEDENT>return arraydesc<EOL>
Function to read in an array descriptor