§
    `Štjæ£  ã                   óè  — d Z ddlZddlZddlZddlmZ ddlZddlZddl	m
Z
 ddlmZmZmZmZmZmZmZ ddlmZ ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej         e!gZ"g Z#e"D ]ÔZ$dD ]ÏZ% ej&        e$¦  «         '                    e%¦  «        Z& ej(        d¦  «         )                    e&¦  «        Z*e# +                     ej,        g e&¬	¦  «         ej,        d
e&¬	¦  «        e*e* -                    d¦  «        e* -                    d¦  «        j.        e* -                    d¦  «        ddd…ddd…f         g¦  «         ŒÐŒÕg d¢Z/ddgddgddggdfddgddgddggdfgZ0dddddg d¢fddgfdd d!d"gfd#d$gZ1ddgd%dd&d%d'gddgd(dgfd)d*fd+d,ddgddggdfddgd-dd.d-d/gddgdd(gfd0d1fd2d3ddgddggdfgZ2 ej,        e0 ej&        e/¦  «         '                    d4¦  «        ¬	¦  «         ej,        e2 ej&        e1¦  «         '                    d4¦  «        ¬	¦  «         ej,        e0 ej&        e/¦  «         '                    d5¦  «        ¬	¦  «         ej,        e2 ej&        e1¦  «         '                    d5¦  «        ¬	¦  «         ej3        d(d6g¬	¦  «        gZ4 G d7„ d8e¦  «        Z5d9„ Z6d:„ Z7d;„ Z8d<„ Z9d=„ Z:d>„ Z;d?„ Z<d@„ Z=dA„ Z>ej?         @                    edB¬C¦  «        ej?        jA        dD„ ¦   «         ¦   «         ZBdE„ ZC ej&        dFd*¬G¦  «        ZD ej&        dHdIgdJdJgd(dKgdLœ¦  «        ZE ej&        dMdNgdJeEgdOœ¦  «        ZF ej&        g dP¢dJgdz  dOœ¦  «        ZG ej&        dHdIgdJdJgd(dKgdQdRgdSœ¦  «        ZH ej&        g g ddTœ¦  «        ZIej?         J                    dUeDeEeFeGeHeIg¦  «        dV„ ¦   «         ZKej?         @                    ejL        dWk    dX¬C¦  «        ej?         M                    edY¬C¦  «        dZ„ ¦   «         ¦   «         ZNej?         O                    d[¦  «        d\„ ¦   «         ZPd]„ ZQej?         J                    dU ej&        dHej        fdIej        fdMej        fgd*¬G¦  «         ej&        d^ ej&        dHdIgd_d_gddgdd`œdaf¦  «        dbfg¦  «         ej&        dcg¦  «         ej&        d^ ej&         ej&         ej&        dHdIgd_d_gddgdd`œ¦  «        daf¦  «        dbf¦  «        fg¦  «         ej&        dH ej&         ej&         ej&         ej&        dHeRfdI ej&        dHdIgd_d_gddgdd`œ¦  «        fg¦  «        daf¦  «        dbf¦  «        ddf¦  «        fg¦  «        g¦  «        de„ ¦   «         ZSdf„ ZTej?         @                    edB¬C¦  «        dg„ ¦   «         ZUej?         J                    dhdidg¦  «        dj„ ¦   «         ZVdk„ ZWdl„ ZXg dm¢ZYg dn¢ZZdo„ Z[dp„ Z\dq„ Z]dr„ Z^ds„ Z_dt„ Z`du„ Zadv„ Zbdw„ Zcej?         @                    edx¬C¦  «        ej?         @                    e dy¬C¦  «        ej?        jA         edz¬{¦  «        ej?         d                    d|¬C¦  «        d}„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zed~„ Zfd„ Zgd€„ Zhej?         J                    dU ej&        dHdIgei ej&        d�d‚dƒi¬„¦  «        gdOœ¦  «         ej&        eRd‚dƒi¬„¦  «         ej&        d…eRd†ffgd‚dƒi¬„¦  «         ej&        dHdIgei ej&        dMg ej&        eRi ¬„¦  «        gdOœ¦  «        gdOœ¦  «        g¦  «        ej?         @                    eoejj        jk        d‡k    dˆ¬C¦  «        d‰„ ¦   «         ¦   «         ZldS )Ša¹D   Test the .npy file format.

Set up:

    >>> import sys
    >>> from io import BytesIO
    >>> from numpy.lib import format
    >>>
    >>> scalars = [
    ...     np.uint8,
    ...     np.int8,
    ...     np.uint16,
    ...     np.int16,
    ...     np.uint32,
    ...     np.int32,
    ...     np.uint64,
    ...     np.int64,
    ...     np.float32,
    ...     np.float64,
    ...     np.complex64,
    ...     np.complex128,
    ...     object,
    ... ]
    >>>
    >>> basic_arrays = []
    >>>
    >>> for scalar in scalars:
    ...     for endian in '<>':
    ...         dtype = np.dtype(scalar).newbyteorder(endian)
    ...         basic = np.arange(15).astype(dtype)
    ...         basic_arrays.extend([
    ...             np.array([], dtype=dtype),
    ...             np.array(10, dtype=dtype),
    ...             basic,
    ...             basic.reshape((3,5)),
    ...             basic.reshape((3,5)).T,
    ...             basic.reshape((3,5))[::-1,::2],
    ...         ])
    ...
    >>>
    >>> Pdescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> PbufferT = [
    ...     ([3,2], [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> Ndescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('Info', [
    ...         ('value', 'c16'),
    ...         ('y2', 'f8'),
    ...         ('Info2', [
    ...             ('name', 'S2'),
    ...             ('value', 'c16', (2,)),
    ...             ('y3', 'f8', (2,)),
    ...             ('z3', 'u4', (2,))]),
    ...         ('name', 'S2'),
    ...         ('z2', 'b1')]),
    ...     ('color', 'S2'),
    ...     ('info', [
    ...         ('Name', 'U8'),
    ...         ('Value', 'c16')]),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> NbufferT = [
    ...     ([3,2], (6j, 6., ('nn', [6j,4j], [6.,4.], [1,2]), 'NN', True), 'cc', ('NN', 6j), [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], (7j, 7., ('oo', [7j,5j], [7.,5.], [2,1]), 'OO', False), 'dd', ('OO', 7j), [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> record_arrays = [
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('<')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('<')),
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('>')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('>')),
    ... ]

Test the magic string writing.

    >>> format.magic(1, 0)
    '\x93NUMPY\x01\x00'
    >>> format.magic(0, 0)
    '\x93NUMPY\x00\x00'
    >>> format.magic(255, 255)
    '\x93NUMPY\xff\xff'
    >>> format.magic(2, 5)
    '\x93NUMPY\x02\x05'

Test the magic string reading.

    >>> format.read_magic(BytesIO(format.magic(1, 0)))
    (1, 0)
    >>> format.read_magic(BytesIO(format.magic(0, 0)))
    (0, 0)
    >>> format.read_magic(BytesIO(format.magic(255, 255)))
    (255, 255)
    >>> format.read_magic(BytesIO(format.magic(2, 5)))
    (2, 5)

Test the header writing.

    >>> for arr in basic_arrays + record_arrays:
    ...     f = BytesIO()
    ...     format.write_array_header_1_0(f, arr)   # XXX: arr is not a dict, items gets called on it
    ...     print(repr(f.getvalue()))
    ...
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '<c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "v\x00{'descr': [('x', '<i4', (2,)), ('y', '<f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '<i4', (2,)),\n           ('Info',\n            [('value', '<c16'),\n             ('y2', '<f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '<c16', (2,)),\n               ('y3', '<f8', (2,)),\n               ('z3', '<u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '<U8'), ('Value', '<c16')]),\n           ('y', '<f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
    "v\x00{'descr': [('x', '>i4', (2,)), ('y', '>f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '>i4', (2,)),\n           ('Info',\n            [('value', '>c16'),\n             ('y2', '>f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '>c16', (2,)),\n               ('y3', '>f8', (2,)),\n               ('z3', '>u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '>U8'), ('Value', '>c16')]),\n           ('y', '>f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
é    N)ÚBytesIO)Úformat)ÚIS_64BITÚIS_PYPYÚIS_WASMÚassert_Úassert_array_equalÚassert_raisesÚassert_raises_regex)Úrequires_memoryz<>iÜ  ©Údtypeé
   )é   é2   éÿÿÿÿé   )©ÚxÚi4©r   ©ÚyÚf8©r   r   ©ÚzÚu1é   g      @g      @é   é   g      @g      @é	   r   ÚInfo)ÚvalueÚc16)Úy2r   ÚInfo2)©ÚnameÚS2)r$   r%   r   )Úy3r   r   )Úz3Úu4r   r(   )Úz2Úb1)Úcolorr*   Úinfo)ÚNameÚU8)ÚValuer%   r   r   ù              @Únny              @é   ÚNNTÚcc)r8   r5   ù              @Úooy              @ÚOOFÚdd)r<   r:   ú<ú>)Úc©z<f8©é   r   c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ÚBytesIOSRandomSizeNc                 óz   •— dd l }|                     d|¦  «        }t          ¦   «                              |¦  «        S )Nr   r7   )ÚrandomÚrandintÚsuperÚread)ÚselfÚsizerG   Ú	__class__s      €úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/lib/tests/test_format.pyrJ   zBytesIOSRandomSize.read“  s5   ø€ ØˆˆˆØ�~Š~˜a Ñ&Ô&ˆÝ‰wŒw�|Š|˜DÑ!Ô!Ð!ó    ©N)Ú__name__Ú
__module__Ú__qualname__rJ   Ú__classcell__)rM   s   @rN   rE   rE   ’  s=   ø€ € € € € ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "rO   rE   c                 óº   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         ¦  «        }t          j        |d¬¦  «        }|S )NT©Úallow_pickle©r   r   Úwrite_arrayÚgetvalueÚ
read_array©ÚarrÚfÚf2Úarr2s       rN   Ú	roundtripra   ™  sM   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐÝ	�—’‘”Ñ	Ô	€BÝÔ˜R¨dÐ3Ñ3Ô3€DØ€KrO   c                 ó¶   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         ¦  «        }t          j        |¦  «        }|S rP   )r   r   rY   rE   rZ   r[   r\   s       rN   Úroundtrip_randsizerc   ¡  sH   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐÝ	˜AŸJšJ™LœLÑ	)Ô	)€BÝÔ˜RÑ Ô €DØ€KrO   c                 óÆ   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         dd…         ¦  «        }t          j        |¦  «        }|S )Nr   r   rX   r\   s       rN   Úroundtrip_truncatedre   ©  sQ   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐå	�—’‘”˜a ˜dÔ#Ñ	$Ô	$€BÝÔ˜RÑ Ô €DØ€KrO   c                 ó,   — t          | |k    ¦  «         d S rP   )r   )Úo1Úo2s     rN   Úassert_equal_ri   ±  s   € ÝˆB�"ŠHÑÔÐÐÐrO   c                  óh   — t           t          z   D ]!} t          | ¦  «        }t          | |¦  «         Œ"d S rP   )Úbasic_arraysÚrecord_arraysra   r	   ©r]   r`   s     rN   Útest_roundtriprn   µ  s>   € Ý�mÑ+ð &ð &ˆÝ˜‰~Œ~ˆÝ˜3 Ñ%Ô%Ð%Ð%ð&ð &rO   c                  óˆ   — t           t          z   D ]1} | j        t          k    rt	          | ¦  «        }t          | |¦  «         Œ2d S rP   )rk   rl   r   Úobjectrc   r	   rm   s     rN   Útest_roundtrip_randsizerq   »  sK   € Ý�mÑ+ð *ð *ˆØŒ9�ÒÐÝ% cÑ*Ô*ˆDÝ˜s DÑ)Ô)Ð)øð*ð *rO   c                  óp   — t           D ]-} | j        t          k    rt          t          t
          | ¦  «         Œ.d S rP   )rk   r   rp   r
   Ú
ValueErrorre   ©r]   s    rN   Útest_roundtrip_truncatedru   Â  s@   € Ýð @ð @ˆØŒ9�ÒÐÝ�*Õ&9¸3Ñ?Ô?Ð?øð@ð @rO   c                 ót  — | dz  }t           D �])}|j        t          k    �rt          |d¦  «        5 }t	          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     dt          j        ¦  «         | 	                    ¦   «          d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }t          j        t          |j        dk    rdnd¬	¦  «        5  t	          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   �Œ+d S )
Nza.npyÚwbzrb+r   Úrbr   z9EOF: reading array header, expected (\d+) bytes got (\d+)zŠFailed to read all data for array\. Expected \(.*?\) = (\d+) elements, could only read (\d+) elements\. \(file seems not fully written\?\)©Úmatch)rk   r   rp   Úopenr   rY   ÚseekÚosÚSEEK_ENDÚtruncateÚpytestÚraisesrs   rL   r[   )Útmp_pathÚpathr]   r^   Ú_s        rN   Útest_file_truncatedr…   Ç  s0  € Ø�gÑ€DÝð -ñ -ˆØŒ9�ÒÑÝ�d˜DÑ!Ô!ð + QÝÔ" 1 cÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ �d˜EÑ"Ô"ð  aØ—’�r�2œ;Ñ'Ô'Ð'Ø—
’
‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �d˜DÑ!Ô!ð - QÝ”]Ýð œ Qš˜ð:ð :ð>ðñ ô ð -ð -õ Ô)¨!Ñ,Ô,�Að-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ùð-ð -sY   ±AÁA	ÁA	Á.5B/Â/B3	Â6B3	Ã
)D+Ã3DÄD+ÄDÄD+ÄDÄD+Ä+D/	Ä2D/	c                  ó¼   — t          j        dt          j        t          t          j        dz   f¦  «        ¬¦  «        } t          | ¦  «        }t          | |¦  «         d S )Nr7   r   )ÚnpÚonesr   Ústrr   ÚBUFFER_SIZEra   r	   )Úlong_str_arrÚlong_str_arr2s     rN   Útest_long_strr�   à  sP   € å”7˜1¥B¤H­cµ6Ô3EÈÑ3IÐ-JÑ$KÔ$KÐLÑLÔL€LÝ˜lÑ+Ô+€MÝ�| ]Ñ3Ô3Ð3Ð3Ð3rO   zmemmap doesn't work correctly)Úreasonc                 ó€  — t          t          t          z   ¦  «        D �]Ÿ\  }}|j        j        rŒt
          j                             | d|› d�¦  «        }t
          j                             | d|› d�¦  «        }t          |d¦  «        5 }t          j
        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j        j        o|j        j         }t          j        |d|j        |j        |¬¦  «        }||d<   |                     ¦   «          t          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     ¦   «         }	d d d ¦  «         n# 1 swxY w Y   t%          ||	¦  «         t          j        |d	¬
¦  «        }|                     ¦   «          �Œ¡d S )NÚnormalz.npyÚmemmaprw   úw+)Úmoder   ÚshapeÚfortran_order.rx   Úr)r“   )Ú	enumeraterk   rl   r   Ú	hasobjectr}   rƒ   Újoinr{   r   rY   ÚflagsÚf_contiguousÚc_contiguousÚopen_memmapr”   ÚflushrJ   ri   )
ÚtmpdirÚir]   ÚnfnÚmfnÚfpr•   ÚmaÚnormal_bytesÚmemmap_bytess
             rN   Útest_memmap_roundtripr§   ç  s`  € õ �L­=Ñ8Ñ9Ô9ð ñ ‰ˆˆ3ØŒ9Ôð 	àåŒg�lŠl˜6Ð#3¨AÐ#3Ð#3Ð#3Ñ4Ô4ˆÝŒg�lŠl˜6Ð#3¨AÐ#3Ð#3Ð#3Ñ4Ô4ˆÝ�#�t‰_Œ_ð 	( ÝÔ˜r 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð ŒIÔ"ÐA¨3¬9Ô+AÐ'Að 	åÔ ¨$°c´iØ&)¤i¸}ðNñ Nô Nˆàˆˆ3‰Ø
�Š‰
Œ
ˆ
õ �#�t‰_Œ_ð 	% ØŸ7š7™9œ9ˆLð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�#�t‰_Œ_ð 	% ØŸ7š7™9œ9ˆLð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�l LÑ1Ô1Ð1õ Ô ¨#Ð.Ñ.Ô.ˆØ
�Š‰
Œ
ˆ
‰
ð5ð s6   ÂB*Â*B.	Â1B.	ÄD;Ä;D?	ÅD?	ÅE7Å7E;	Å>E;	c                 ó:  — t           j                             dd¦  «        }t          j                             | d¦  «        }t          j        ||¬¦  «         t          j        |¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )NéÈ   zcompressed.npzrt   r]   )	r‡   rG   Úrandr}   rƒ   r™   Úsavez_compressedÚloadr	   )rŸ   r]   Únpz_fileÚnpzÚarr1s        rN   Útest_compressed_roundtripr°     sÄ   € Ý
Œ)�.Š.˜˜cÑ
"Ô
"€CÝŒw�|Š|˜FÐ$4Ñ5Ô5€HÝÔ˜ cÐ*Ñ*Ô*Ð*Ý	Œ�Ñ	Ô	ð ˜cØ�5Œzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s˜DÑ!Ô!Ð!Ð!Ð!s   Á+	B Â BÂBz
i1, i4, i1)ÚalignÚaÚbr   é   )ÚnamesÚformatsÚoffsetsr@   Úd)rµ   r¶   )r²   Ú r³   ÚaaÚbb)rµ   r¶   r·   Útitles)rµ   r¶   ÚitemsizeÚdtc                 óX  — t          j        d|¦  «        }t          d¦  «        D ]
}|dz   ||<   Œt          j                             | d¦  «        }t          j        ||¬¦  «         t          j        |¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )Nr   rC   zaligned.npzrt   r]   )	r‡   ÚzerosÚranger}   rƒ   r™   Úsavezr¬   r	   )rŸ   r¾   r]   r    r­   r®   r¯   s          rN   Útest_load_padded_dtyperÃ     sà   € å
Œ(�1�b‰/Œ/€CÝ�1‰XŒXð ð ˆØ�Q‘ˆˆA‰ˆÝŒw�|Š|˜F MÑ2Ô2€HÝ„HˆX˜3ÐÑÔÐÝ	Œ�Ñ	Ô	ð ˜cØ�5Œzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s˜DÑ!Ô!Ð!Ð!Ð!s   Á:	BÂBÂB)r   é   zsee gh-23988z!Emscripten NODEFS has a buggy dupc                  ób  — d} t           j                             t           j                             t          ¦  «        d| ¦  «        }t          j        t          d¬¦  «        5  t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          j        d¦  «        ¦  «         d S )Nzwin64python2.npyÚdatazReading.*this warning\.ry   r   )r}   rƒ   r™   ÚdirnameÚ__file__r€   ÚwarnsÚUserWarningr‡   r¬   r	   rˆ   )Úfnamerƒ   rÆ   s      rN   Ú%test_python2_python3_interoperabilityrÌ   +  sÄ   € ð €EÝŒ7�<Š<�œŸš­Ñ1Ô1°6¸5ÑAÔA€DÝ	Œ•kÐ)CÐ	DÑ	DÔ	Dð ð ÝŒw�t‰}Œ}ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�t�RœW Q™ZœZÑ(Ô(Ð(Ð(Ð(s   Á!BÂBÂ	BzJignore:.*align should be passed:numpy.exceptions.VisibleDeprecationWarningc            	      óV  — t           j                             t           j                             t          ¦  «        d¦  «        } t          j        d t          ddgt          ¬¦  «        }dD �]>}t           j                             | |¦  «        }dD �]}t          j	        |d|¬¦  «        }| 
                    d	¦  «        r|d
         }|                     ¦   «          n|}|dk    r�|                     d¦  «        rxt          t          |d         t          ¦  «        ¦  «         t!          |d d…         |d d…         ¦  «         t!          |d                              |¦  «        |d         ¦  «         Œát          t          |d         t$          ¦  «        ¦  «         t!          ||¦  «         �Œ|                     d¦  «        ré| 
                    d	¦  «        rŽt          j	        |d¬¦  «        }t'          t(          |j        d
¦  «         |                     ¦   «          t          j	        |ddd¬¦  «        }t'          t,          |j        d
¦  «         |                     ¦   «          �Œøt'          t(          t
          j	        |d¬¦  «         t'          t,          t
          j	        |ddd¬¦  «         �Œ@d S )NrÆ   u   å„ªè‰¯s   ä¸�è‰¯r   )zpy2-np0-objarr.npyúpy2-objarr.npyúpy2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)ÚbytesÚlatin1T©rW   Úencodingz.npzr   rÑ   Úpy2r   r   rV   F)rW   Úfix_importsrÓ   )r}   rƒ   r™   rÇ   rÈ   r‡   ÚarrayrÁ   rp   r¬   ÚendswithÚcloseÚ
startswithr   Ú
isinstancer‰   r	   ÚencoderÐ   r
   ÚUnicodeErrorÚ__getitem__ÚImportError)Údata_dirÚexpectedrË   rƒ   rÓ   Údata_frÆ   s          rN   Útest_pickle_python2_python3râ   5  sr  € õ
 Œw�|Š|�BœGŸOšO­HÑ5Ô5°vÑ>Ô>€HåŒx˜�u nØ4ð6å$ð&ñ &ô &€Hð6ð #1ñ #1ˆåŒw�|Š|˜H eÑ,Ô,ˆà+ð 	3ñ 	3ˆHÝ”W˜T°¸xÐHÑHÔHˆFØ�~Š~˜fÑ%Ô%ð Ø˜c”{�Ø—’‘”��à�à˜8Ò#Ð#¨×(8Ò(8¸Ñ(?Ô(?Ð#Ý�
 4¨¤7­CÑ0Ô0Ñ1Ô1Ð1Ý" 4¨¨¨¤9¨h°s¸°s¬mÑ<Ô<Ð<å" 4¨¤8§?¢?°8Ñ#<Ô#<¸hÀr¼lÑKÔKÐKÐKå�
 4¨¤7­EÑ2Ô2Ñ3Ô3Ð3Ý" 4¨Ñ2Ô2Ð2Ñ2à×Ò˜EÑ"Ô"ð 	1Ø�~Š~˜fÑ%Ô%ð 1Ý”w˜t°$Ð7Ñ7Ô7�Ý�l¨DÔ,<¸cÑBÔBÐBØ—
’
‘”�Ý”w˜t°$ÀEØ(0ð2ñ 2ô 2�å�k¨4Ô+;¸SÑAÔAÐAØ—
’
‘”�‘å�l­B¬G°TØ+/ð1ñ 1ô 1ð 1å�k­2¬7°DØ+/¸UØ'/ð1ñ 1ô 1ð 1ùðC#1ð #1rO   c           	      óž  — t           j                             t           j                             t          ¦  «        d¦  «        }t           j                             |d¦  «        }t          t          t          j        |dd¬¦  «         t           j                             |d¦  «        }t          j        |dd¬¦  «        5 }t          t          |j	        d¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             | d¦  «        }t          t          t          j
        |t          j        d gt          ¬	¦  «        d¬
¦  «         d S )NrÆ   rÎ   FrÑ   rÒ   rÏ   r   zpickle-disabled.npyr   rV   )r}   rƒ   r™   rÇ   rÈ   r
   rs   r‡   r¬   rÝ   ÚsaverÖ   rp   )rŸ   rß   rƒ   r^   s       rN   Útest_pickle_disallowrå   f  sK  € ÝŒw�|Š|�BœGŸOšO­HÑ5Ô5°vÑ>Ô>€HåŒ7�<Š<˜Ð"2Ñ3Ô3€DÝ•*�bœg tØ$¨xð9ñ 9ô 9ð 9õ Œ7�<Š<˜Ð"2Ñ3Ô3€DÝ	Œ� E°HÐ	=Ñ	=Ô	=ð 6ÀÝ•j !¤-°Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ Œ7�<Š<˜Ð 5Ñ6Ô6€DÝ•*�bœg t­R¬X°t°fÅFÐ-KÑ-KÔ-KØ$ð&ñ &ô &ð &ð &ð &s   Â=C%Ã%C)Ã,C)r   Úi1)rµ   r¶   r·   r½   )r   )r!   )r   rA   r   rB   c                 óÀ   — t          j        | j        ¦  «        }t          || ¦  «         t	          j        d| ¦  «        }t          |¦  «        }t          ||¦  «         d S )Nr   )r   Údescr_to_dtypeÚdescrri   r‡   rÀ   ra   r	   )r¾   Údt1r¯   r`   s       rN   Útest_descr_to_dtyperë   u  sW   € õd Ô
 ¤Ñ
)Ô
)€CÝ�#�rÑÔÐÝŒ8�A�r‰?Œ?€DÝ�T‰?Œ?€DÝ�t˜TÑ"Ô"Ð"Ð"Ð"rO   c                  ó  — t          ¦   «         } d„ t          d¦  «        D ¦   «         }t          j        d|¬¦  «        }t	          j        | |d¬¦  «         t          j        d¬¦  «        5 }t          j        d	d
t          ¦  «         t	          j        | |¦  «         t          |d         j        t          u ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «         |                      ¦   «         }t          t          |¦  «        t          j        z  dk    ¦  «         |                      d¦  «         t	          j        | d¬¦  «        }t#          ||¦  «         t%          t&          t          j        | |d¦  «         d S )Nc                 ó,   — g | ]}d |z  dz  t           f‘ŒS ©z%déd   ©Úfloat©Ú.0r    s     rN   ú
<listcomp>z$test_version_2_0.<locals>.<listcomp>°  ó&   € Ð	8Ð	8Ð	8¨ˆD�1‰H˜Ñ�UÐ
#Ð	8Ð	8Ð	8rO   éô  éè  r   ©r   r   ©ÚversionT©ÚrecordÚalwaysr¹   r   é@ ©Úmax_header_size©r7   r   )r   rÁ   r‡   rˆ   r   rY   ÚwarningsÚcatch_warningsÚfilterwarningsrÊ   r   Úcategoryr|   ÚreadlineÚlenÚARRAY_ALIGNr[   r	   r
   rs   )r^   r¾   r¸   ÚwÚheaderÚns         rN   Útest_version_2_0r  ­  s‹  € Ý‰	Œ	€Aà	8Ð	8­U°3©Z¬ZÐ	8Ñ	8Ô	8€BÝ
Œ�˜BÐÑÔ€Aå
Ô�q˜! VÐ,Ñ,Ô,Ð,Ý	Ô	 ¨Ð	-Ñ	-Ô	-ð .°ÝÔ ¨"­kÑ:Ô:Ð:ÝÔ˜1˜aÑ Ô Ð Ý��!””¥Ð,Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð ‡F‚Fˆ1�I„I€IØ�ZŠZ‰\Œ\€FÝ�C�‰KŒK�&Ô,Ñ,°Ò1Ñ2Ô2Ð2à‡F‚Fˆ1�I„I€IÝÔ˜!¨VÐ4Ñ4Ô4€AÝ�q˜!ÑÔÐõ •*�fÔ0°!°Q¸Ñ?Ô?Ð?Ð?Ð?s   Á*ACÃCÃCc           	      ó   — d„ t          d¦  «        D ¦   «         }t          j        d|¬¦  «        }t          j                             | d¦  «        }t          j                             | d¦  «        }t          t          t          j	        |d|j
        |j        d¬	¦  «         t          j	        |d|j
        |j        d
¬	¦  «        }||d<   |                     ¦   «          t          j	        |dd¬¦  «        }t          ||¦  «         t          j        d¬¦  «        5 }t          j        ddt"          ¦  «         t          j	        |d|j
        |j        d ¬	¦  «        }t%          |d         j        t"          u ¦  «         ||d<   |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j	        |dd¬¦  «        }t          ||¦  «         d S )Nc                 ó,   — g | ]}d |z  dz  t           f‘ŒS rî   rð   rò   s     rN   rô   z+test_version_2_0_memmap.<locals>.<listcomp>É  rõ   rO   rö   r÷   r   zversion2_01.npyzversion2_02.npyr’   r  )r“   r   r”   rú   rø   .r–   rþ   )r“   r   Trû   rý   r¹   r   )rÁ   r‡   rˆ   r}   rƒ   r™   r
   rs   r   r�   r   r”   rž   r	   r  r  r  rÊ   r   r  )rŸ   r¾   r¸   Útf1Útf2r¤   r	  s          rN   Útest_version_2_0_memmapr  Æ  sð  € ð 
9Ð	8­U°3©Z¬ZÐ	8Ñ	8Ô	8€BÝ
Œ�˜BÐÑÔ€AÝ
Œ'�,Š,�vÐ0Ñ
1Ô
1€CÝ
Œ'�,Š,�vÐ0Ñ
1Ô
1€Cõ •*�fÔ0°#¸DÈÌØ"#¤'°6ð;ñ ;ô ;ð ;õ 
Ô	˜C d°!´'Ø"#¤'°6ð
;ñ 
;ô 
;€Bà€B€s�GØ‡H‚H�J„J€JÝ	Ô	˜C c¸6Ð	BÑ	BÔ	B€BÝ�r˜1ÑÔÐå	Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝÔ ¨"­kÑ:Ô:Ð:ÝÔ ¨$°a´gØ&'¤g°tð=ñ =ô =ˆå��!””¥Ð,Ñ-Ô-Ð-Øˆˆ3‰Ø
�Š‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Ô	˜C c¸6Ð	BÑ	BÔ	B€Bå�r˜1ÑÔÐÐÐs   ÄA9FÆF Æ#F Ú	mmap_moder–   c                 óÐ  — t           j                             | d¦  «        }t          j        dddz  dz   ¬¦  «        }t          j        t          d¬¦  «        5  t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬¦  «        5  t          j        ||¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬¦  «        5  t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ||d¬¦  «        }t          ||¦  «         t          j        ||d¬¦  «        }t          ||¦  «         d S )Nzlarge_header.npyr7   úi,é'  r    r   ú.*format 2.0ry   úHeader.*large)r  é N  )r  r   T)r  rW   é ¿ )r}   rƒ   r™   r‡   rÖ   r€   rÉ   rÊ   rä   r�   rs   r¬   r	   )rŸ   r  r^   r]   Úress        rN   Útest_huge_headerr  å  s  € å
Œ�Š�VÐ/Ñ0Ô0€AÝ
Œ(�1˜D 5™L¨3Ñ.Ð
/Ñ
/Ô
/€Cå	Œ•k¨Ð	8Ñ	8Ô	8ð ð Ý
Œ��3‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð (ð (Ý
Œ�˜YÐ'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
Œ•z¨Ð	9Ñ	9Ô	9ð ?ð ?Ý
Œ�˜Y¸Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ Œ'�!˜y°tÐ
<Ñ
<Ô
<€CÝ�s˜CÑ Ô Ð å
Œ'�!˜y¸&Ð
AÑ
AÔ
A€CÝ�s˜CÑ Ô Ð Ð Ð s6   ÁA:Á:A>ÂA>Â CÃCÃ
CÃ)DÄDÄDc                 óø  — t           j                             | d¦  «        }t          j        dddz  dz   ¬¦  «        }t          j        t          d¬¦  «        5  t          j        ||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d
¬¦  «        5  t          j        |¦  «        d          d d d ¦  «         n# 1 swxY w Y   t          j	        t          d
¬¦  «        5  t          j        |d¬¦  «        d          d d d ¦  «         n# 1 swxY w Y   t          j        |d¬¦  «        d         }t          ||¦  «         t          j        |d¬¦  «        d         }t          ||¦  «         d S )Nzlarge_header.npzr7   r  r  r    r   r  ry   rt   r  r]   r  rÿ   TrV   r  )r}   rƒ   r™   r‡   rÖ   r€   rÉ   rÊ   rÂ   r�   rs   r¬   r	   )rŸ   r^   r]   r  s       rN   Útest_huge_header_npzr  ù  s  € Ý
Œ�Š�VÐ/Ñ0Ô0€AÝ
Œ(�1˜D 5™L¨3Ñ.Ð
/Ñ
/Ô
/€Cå	Œ•k¨Ð	8Ñ	8Ô	8ð ð Ý
Œ�˜ÐÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð ð Ý
Œ�‰
Œ
�5ÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð 1ð 1Ý
Œ� 5Ð)Ñ)Ô)¨%Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ Œ'�! $Ð
'Ñ
'Ô
'¨Ô
.€CÝ�s˜CÑ Ô Ð å
Œ'�! VÐ
,Ñ
,Ô
,¨UÔ
3€CÝ�s˜CÑ Ô Ð Ð Ð s6   ÁA;Á;A?ÂA?Â!CÃCÃCÃ.DÄDÄDc                  óì  — t          ¦   «         } t          j        d¦  «        }t          j        | |d¬¦  «         t          j        | |¦  «         t          j        | |d ¬¦  «         t          j        | |¦  «         t          j        | |d¬¦  «         t          j        | |¦  «         g d¢}|D ]F}t          t          d¦  «        5  t          j        | ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nr7   r  rù   rø   ))r7   r7   )r   r   )r   r7   r   )éÿ   r  z we only support format version.*)r   r‡   Úaranger   rY   r   rs   )r^   r]   Úbad_versionsrú   s       rN   Útest_write_versionr"    sJ  € Ý‰	Œ	€AÝ
Œ)�A‰,Œ,€Cå
Ô�q˜# vÐ.Ñ.Ô.Ð.Ý
Ô�q˜#ÑÔÐå
Ô�q˜# tÐ,Ñ,Ô,Ð,Ý
Ô�q˜#ÑÔÐå
Ô�q˜# vÐ.Ñ.Ô.Ð.Ý
Ô�q˜#ÑÔÐðð ð €Lð  ð 8ð 8ˆÝ ¥Ø!CñEô Eð 	8ð 	8åÔ˜q #¨wÐ7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8øð8ð 8s   ÃC(Ã(C,	Ã/C,	)s   “NUMPYs   “NUMPY  s   “NUMPY s   “NUMPY s   “NUMPYs   “NUMPYÿÿ)s   ’NUMPY s    NUMPY s   “numpy s   “MATLB s   “NUMPYs   “NUMPYrO   c                  ó|  — t          ¦   «         } t          ¦   «         }t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         t	          j        ||d¬¦  «         |                      d¦  «         |                     d¦  «         t	          j        | ¦  «        }t	          j        |¦  «        }t          |dk    ¦  «         t          |dk    ¦  «         t          |  	                    ¦   «         t          j
        k    ¦  «         t          | 	                    ¦   «         t          j
        k    ¦  «         d S )N©r   r´   r   r  rù   rø   r   )r   r‡   rˆ   rñ   r   rY   r|   Ú
read_magicr   ÚtellÚ	MAGIC_LEN)Ús1Ús2r]   Úversion1Úversion2s        rN   Útest_read_magicr,  :  sþ   € Ý	‰Œ€BÝ	‰Œ€Bå
Œ'�&¥Ð
&Ñ
&Ô
&€Cå
Ô�r˜3¨Ð/Ñ/Ô/Ð/Ý
Ô�r˜3¨Ð/Ñ/Ô/Ð/à‡G‚GˆA�J„J€JØ‡G‚GˆA�J„J€JåÔ  Ñ$Ô$€HÝÔ  Ñ$Ô$€HåˆH˜ÒÑÔÐÝˆH˜ÒÑÔÐåˆB�GŠG‰IŒI�Ô)Ò)Ñ*Ô*Ð*ÝˆB�GŠG‰IŒI�Ô)Ò)Ñ*Ô*Ð*Ð*Ð*rO   c                  óx   — t           D ]1} t          | ¦  «        }t          t          t          j        |¦  «         Œ2d S rP   )Úmalformed_magicr   r
   rs   r   r[   ©Úmagicr^   s     rN   Útest_read_magic_bad_magicr1  O  s>   € Ý ð 8ð 8ˆÝ�E‰NŒNˆÝ•j¥&Ô"3°QÑ7Ô7Ð7Ð7ð8ð 8rO   c                  óˆ   — t           t          z   D ]1} t          | ¦  «        }t          t          t
          j        |¦  «         Œ2d S rP   )Úbad_version_magicr.  r   r
   rs   r   r[   r/  s     rN   Útest_read_version_1_0_bad_magicr4  U  sC   € Ý"¥_Ñ4ð 8ð 8ˆÝ�E‰NŒNˆÝ•j¥&Ô"3°QÑ7Ô7Ð7Ð7ð8ð 8rO   c                  ó  — t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         d S )Nr   r7   é   )r
   rs   r   r0  © rO   rN   Útest_bad_magic_argsr8  [  s`   € Ý•*�fœl¨B°Ñ2Ô2Ð2Ý•*�fœl¨C°Ñ3Ô3Ð3Ý•*�fœl¨A¨rÑ2Ô2Ð2Ý•*�fœl¨A¨sÑ3Ô3Ð3Ð3Ð3rO   c                  óÌ   — t          ¦   «         } ddddœ}t          j        | |¦  «         t          ¦   «         } ddz  dfg|d<   t          t          t          j        | |¦  «         d S )Nr7  Fz<i8©r”   r•   ré   Á   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr6  ré   )r   r   Úwrite_array_header_1_0r
   rs   ©Úsr¸   s     rN   Útest_large_headerr?  b  sh   € Ý‰	Œ	€AØ u°uÐ=Ð=€AÝ
Ô! ! QÑ'Ô'Ð'å‰	Œ	€AØ˜s‘? EÐ*Ð+€A€g�JÝ•*�fÔ;¸QÀÑBÔBÐBÐBÐBrO   c                  ó”  — t          ¦   «         } t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         |                      t          j        ¦  «         t	          j        | ¦  «        \  }}}t          |  
                    ¦   «         t          j        z  dk    ¦  «         t          |||fddt          fk    ¦  «         d S )Nr$  r   r  rù   r   F)r   r‡   rˆ   rñ   r   rY   r|   r'  Úread_array_header_1_0r   r&  r  ©r>  r]   r”   Úfortranr   s        rN   Útest_read_array_header_1_0rD  l  ó­   € Ý‰	Œ	€Aå
Œ'�&¥Ð
&Ñ
&Ô
&€CÝ
Ô�q˜# vÐ.Ñ.Ô.Ð.à‡F‚F�6ÔÑÔÐÝ"Ô8¸Ñ;Ô;Ñ€Eˆ7�EåˆA�FŠF‰HŒH•vÔ)Ñ)¨QÒ.Ñ/Ô/Ð/ÝˆU�G˜UÐ#¨°µuÐ'=Ò=Ñ>Ô>Ð>Ð>Ð>rO   c                  ó”  — t          ¦   «         } t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         |                      t          j        ¦  «         t	          j        | ¦  «        \  }}}t          |  
                    ¦   «         t          j        z  dk    ¦  «         t          |||fddt          fk    ¦  «         d S )Nr$  r   rø   rù   r   F)r   r‡   rˆ   rñ   r   rY   r|   r'  Úread_array_header_2_0r   r&  r  rB  s        rN   Útest_read_array_header_2_0rH  y  rE  rO   c                  ó  — t          ¦   «         } t          t          t          j        | ¦  «         t          d¦  «        } t          t          t          j        | ¦  «         t          d¦  «        } t          t          t          j        | ¦  «         t          d¦  «        } t          t          t          j        | ¦  «         dddddœ}t          ¦   «         } t          j        | |¦  «         t          t          t          j        | ¦  «         d S )	Nó   1s    s@   “NUMPY 6 {'descr': 'x', 'shape': (1, 2), }                    
©r7   r   Fr   r   )r”   r•   ré   Úextrakey)r   r
   rs   r   rA  r<  r=  s     rN   Útest_bad_headerrM  †  sâ   € å‰	Œ	€AÝ•*�fÔ:¸AÑ>Ô>Ð>Ý�‰Œ€AÝ•*�fÔ:¸AÑ>Ô>Ð>õ 	�ÑÔ€AÝ•*�fÔ:¸AÑ>Ô>Ð>õ
 	ð	"ñ	ô 	€Aõ •*�fÔ:¸AÑ>Ô>Ð>àØØØð	ð 	€Aõ 	‰	Œ	€AÝ
Ô! ! QÑ'Ô'Ð'Ý•*�fÔ:¸AÑ>Ô>Ð>Ð>Ð>rO   c                 óÂ  — t           j        dk    st           j        dk    rt          j        d¦  «         t          j                             | d¦  «        }	 dd l}|                     ddd|g¦  «         n$# t          $ r t          j        d	¦  «         Y nw xY wt          |d
¦  «        5 }|                     d¦  «         t          j        d¦  «        }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     d¦  «         t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t!          ||¦  «         d S )NÚwin32Úcygwinz)Unknown if Windows has sparse filesystemsÚsparse_filer   r   z-sÚ
5368709120zCould not create 5GB large filerw   l        rC   rx   )ÚsysÚplatformr€   Úskipr}   rƒ   r™   Ú
subprocessÚ
check_callÚ	Exceptionr{   r|   r‡   r   rä   r¬   r	   )rŸ   Útf_nameÚspr^   r¸   r–   s         rN   Útest_large_file_supportr[  £  sÑ  € ÝŒ˜ÒÐ¥3¤<°8Ò#;Ð#;ÝŒÐ?Ñ@Ô@Ð@åŒg�lŠl˜6 =Ñ1Ô1€Gð7ð 	 ÐÐÐØ
�Š�z 4¨°wÐ?Ñ@Ô@Ð@Ð@øÝð 7ð 7ð 7ÝŒÐ5Ñ6Ô6Ð6Ð6Ð6ð7øøøõ 
ˆg�tÑ	Ô	ð  Ø	�ŠˆzÑÔÐÝŒI�a‰LŒLˆÝ
Œ��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
ˆg�tÑ	Ô	ð  Ø	�ŠˆzÑÔÐÝŒG�A‰JŒJˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �q˜!ÑÔÐÐÐs6   ÁA4 Á4BÂBÂ(?C3Ã3C7Ã:C7Ä*EÅEÅEzflaky on PyPyztest requires 64-bit systeml        )Ú
free_byteszcrashes with low memoryc                 óò  — d}	 t          j        |t           j        ¬¦  «        }n$# t          $ r t	          j        d¦  «         Y nw xY wt          j                             | d¦  «        }t          |d¦  «        5 }t          j
        ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ~t          |d¦  «        5 }t          j        |¦  «        d         }d d d ¦  «         n# 1 swxY w Y   |j        |k    sJ ‚d S )	N)i   @r   r   zCould not create large fileÚlarge_archiverw   rt   rx   r]   )r‡   ÚemptyÚuint8ÚMemoryErrorr€   rU  r}   rƒ   r™   r{   rÂ   r¬   r”   )rŸ   r”   r²   rË   r^   Únew_as         rN   Útest_large_archiverc  ¼  sz  € ð €Eð3ÝŒH�U¥"¤(Ð+Ñ+Ô+ˆˆøÝð 3ð 3ð 3ÝŒÐ1Ñ2Ô2Ð2Ð2Ð2ð3øøøõ ŒG�LŠL˜ Ñ1Ô1€Eå	ˆe�TÑ	Ô	ð ˜aÝ
Œ�˜ÐÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	
å	ˆe�TÑ	Ô	ð "˜aÝ”˜‘
”
˜5Ô!ˆð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð Œ;˜%ÒÐÐÐÐÐs3   „ % ¥AÁAÁ9BÂB Â#B Â8CÃC#Ã&C#c                 óÊ   — t           j                             | d¦  «        }t          j        |¦  «         t          j        |¦  «        5 }	 d d d ¦  «         d S # 1 swxY w Y   d S )Nznothing.npz)r}   rƒ   r™   r‡   rÂ   r¬   )rŸ   rË   Únpss      rN   Útest_empty_npzrf  ×  s–   € åŒG�LŠL˜ Ñ/Ô/€EÝ„HˆU�O„O€OÝ	Œ�‰Œð ˜3Øðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á	AÁAÁAc                 óŽ  — t          j        g d¢dt          fdt          fg¬¦  «        }t          j                             | d¦  «        }t          |d¦  «        5 }t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d	¦  «        5 }t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         t          |d¦  «        5 }t          j        t          ¦  «        5  t          j        ||d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
N)©r7   r   rK  rh  rK  Úintu   æ•´å½¢r   zunicode.npyrw   )r   r   rù   rx   )r‡   rÖ   ri  r}   rƒ   r™   r{   r   rY   r[   r	   r€   rÉ   rÊ   )rŸ   r]   rË   r^   r`   s        rN   Útest_unicode_field_namesrj  ß  s@  € å
Œ(ð ð ð ð 
•ˆØ	GÍÐMððñ ô €Cõ ŒG�LŠL˜ Ñ/Ô/€EÝ	ˆe�TÑ	Ô	ð 3˜aÝÔ˜1˜c¨6Ð2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	ˆe�TÑ	Ô	ð $˜aÝÔ  Ñ#Ô#ˆð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å�s˜DÑ!Ô!Ð!õ 
ˆe�TÑ	Ô	ð 5˜aÝŒ\�+Ñ&Ô&ð 	5ð 	5ÝÔ˜q #¨tÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5sZ   ÁA=Á=BÂBÂB9Â9B=Ã B=Ã$D:Ã>D"ÄD:Ä"D&	Ä&D:Ä)D&	Ä*D:Ä:D>ÅD>c                  ób  — g d¢g d¢g d¢g d¢fD ]Ÿ\  } }}d„ t          t          j        ¦  «        D ¦   «         D ]u}t          ¦   «         }t          j        || rd|fn|df| t          j        d|z  t          fg¦  «        dœ¦  «         t          | 	                    ¦   «         ¦  «        |k    sJ ‚ŒvŒ d S )	N)Fé   é€   )Fé   éÀ   )Trn  rm  )Té   ro  c                 ó   — g | ]}d |z  ‘ŒS )r   r7  rò   s     rN   rô   z+test_header_growth_axis.<locals>.<listcomp>ú  s   € ÐIÐIÐI˜q�R˜‘UÐIÐIÐIrO   r   ú r:  )
rÁ   r   ÚGROWTH_AXIS_MAX_DIGITSr   r<  r‡   r   ri  r  rZ   )Úis_fortran_arrayÚdtype_spaceÚexpected_header_lengthrL   r£   s        rN   Útest_header_growth_axisrw  ö  sþ   € àÐÐÐ*Ð*Ð*¨O¨O¨O¸_¸_¸_ðBð @ð @Ñ=Ð˜+Ð'=ð JÐI¥E­&Ô*GÑ$HÔ$HÐIÑIÔIð 	@ð 	@ˆDÝ‘”ˆBÝÔ)¨"Ø&6ÐE˜!˜T˜˜¸TÀ1¸IØ!1Ýœ C¨+Ñ$5µsÐ#;Ð"<Ñ=Ô=ð/ð /ñ ô ð õ �r—{’{‘}”}Ñ%Ô%Ð)?Ò?Ð?Ð?Ð?Ð?ð	@ð@ð @rO   ÚS3ÚsomeÚstuff)ÚmetadataÚsubarrayr   )é   r   r    zPyPy bug in error formattingc                 ó¼  — t          j        d| ¬¦  «        }t          ¦   «         }t          j        t
          ¦  «        5  t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «         t          j        |¦  «        }ddl	m
} t          ||¦  «          ||j        ¦  «        |j        usJ ‚ ||j        ¦  «        |j        u sJ ‚d S )Nr   r   r   )Údrop_metadata)r‡   rˆ   r   r€   rÉ   rÊ   rä   r|   r¬   Únumpy.lib._utils_implr  r	   r   )r¾   r]   Úbufr`   r  s        rN   Útest_metadata_dtyper‚    s  € õ Œ'�"˜BÐ
Ñ
Ô
€CÝ
‰)Œ)€CÝ	Œ•kÑ	"Ô	"ð ð Ý
Œ��SÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à‡H‚HˆQ�K„K€Kõ Œ7�3‰<Œ<€Dà3Ð3Ð3Ð3Ð3Ð3Ý�s˜DÑ!Ô!Ð!Øˆ=˜œÑ#Ô#¨3¬9Ð4Ð4Ð4Ð4Øˆ=˜œÑ$Ô$¨¬
Ð2Ð2Ð2Ð2Ð2Ð2s   ¾A Á A$Á'A$)mÚ__doc__r}   rS  r  Úior   r€   Únumpyr‡   Ú	numpy.libr   Únumpy.testingr   r   r   r   r	   r
   r   Únumpy.testing._private.utilsr   r`  Úint8Úuint16Úint16Úuint32Úint32Úuint64Úint64Úfloat32Úfloat64Ú	complex64Ú
complex128rp   Úscalarsrk   ÚscalarÚendianr   Únewbyteorderr   ÚastypeÚbasicÚextendrÖ   ÚreshapeÚTÚPdescrÚPbufferTÚNdescrÚNbufferTrÀ   rl   rE   ra   rc   re   ri   rn   rq   ru   r…   r�   ÚmarkÚskipifÚslowr§   r°   rê   Údt2Údt3Údt4Údt5Údt6ÚparametrizerÃ   Úversion_infoÚxfailrÌ   r  râ   rå   ri  rë   r  r  r  r  r"  r3  r.  r,  r1  r4  r8  r?  rD  rH  rM  r[  Úthread_unsaferc  rf  rj  rw  rñ   Úimplementationrú   r‚  r7  rO   rN   ú<module>r®     s“  ððRð Rðf 
€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8ð „HØ„GØ„IØ„HØ„IØ„HØ„IØ„HØ„JØ„JØ„LØ„MØ
ð€ð €Øð ð €FØð ð ˆØ�”˜Ñ Ô ×-Ò-¨fÑ5Ô5ˆØ�”	˜$‘”×&Ò& uÑ-Ô-ˆØ×ÒàˆBŒH�R˜uÐ%Ñ%Ô%àˆBŒH�R˜uÐ%Ñ%Ô%àà�MŠM˜(Ñ#Ô#à�MŠM˜(Ñ#Ô#Ô%à�MŠM˜(Ñ#Ô# D D b D¨#¨#¨A¨# IÔ.ð
ñ 	ô 	ð 	ð 	ðð4
ð 
ð 
€ð ˆ€Vˆr�2ˆh˜˜R˜Ð! 1Ð%Øˆ€Vˆr�2ˆh˜˜R˜Ð! 1Ð%ð€ð( ØØØØ	ð  ð  ð  ð 	!ð
 	Øð	ð 	ð ØØØðð ð Øð#
€ð( ˆ€Vˆb�"�t˜b "˜X¨¨B x°!°Q°Ð8¸$ÀÐEØ	ˆ:˜˜R˜ 2 r (Ð+¨Qð0àˆ€Vˆb�"�t˜b "˜X¨¨B x°!°Q°Ð8¸$ÀÐFØ	ˆ:˜˜R˜ 2 r (Ð+¨Qð0ð€ð €B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆQÐ1Ð2Ð3Ñ3Ô3ð€ð"ð "ð "ð "ð "˜ñ "ô "ð "ðð ð ðð ð ðð ð ðð ð ð&ð &ð &ð*ð *ð *ð@ð @ð @ð
-ð -ð -ð24ð 4ð 4ð „×Ò�GÐ$CÐÑDÔDØ„Ôðð ñ Ôñ EÔDðð<"ð "ð "ð €b„hˆ| 4Ð(Ñ(Ô(€à€b„h˜#˜s˜°°t°Ø˜q˜6ð#ð #ñ $ô $€ð €b„h˜#˜s˜°°s°Ð<Ð<Ñ=Ô=€à€b„h˜˜˜°T°F¸Q±JÐ?Ð?Ñ@Ô@€à€b„h˜#˜s˜°°t°Ø˜q˜6¨d°D¨\ð;ð ;ñ <ô <€ð €b„h˜¨¸Ð:Ð:Ñ;Ô;€à„×Ò˜  S¨#¨s°C¸Ð=Ñ>Ô>ð"ð "ñ ?Ô>ð"ð „×Ò�CÔ$¨Ò/¸ÐÑGÔGØ„×Ò�7Ð#FÐÑGÔGð)ð )ñ HÔGñ HÔGð)ð „×ÒØPñRô Rð,1ð ,1ñRô Rð,1ð^&ð &ð &ð „×Ò˜ð €B„Hˆs�B”GˆnØ�B”HˆoØ�B”Hˆoðð ðñ ô ð €B„Hˆs�H�B”H¨¨c¨
Ø*.°¨Ø*+¨Q¨Ø*+ðð ð
 ðñ ô ð ðð ñ ô ð €B„Hð ð ñ ô ð €B„Hˆs�H�B”HØˆŒØˆBŒH  S˜zØ"&¨ Ø"# Q Ø"#ð%ð %ñ &ô &ð ðñ 	ô 	ð 	ð	
ñ 	ô 	ð 	ð 

ñ 
ô 
ð €B„HØ	ˆhˆbŒhØˆBŒHØ�”Ø�B”HØ˜c˜
Ø˜h˜bœh°#°s°Ø48¸$°<Ø45°q°6Ø45ð(7ð (7ñ 8ô 8ð 9ðñ ô ð ð	ñ 	ô 	ð ðñ ô ð ð
ñ ô ð 	ð
ñ ô ð=0 ñ 0ô 0ðb#ð #ñc0ô 0ðb#ð@ð @ð @ð2 „×Ò�GÐ$CÐÑDÔDðð ñ EÔDðð< „×Ò˜ s¨D kÑ2Ô2ð!ð !ñ 3Ô2ð!ð&!ð !ð !ð(8ð 8ð 8ð6ð ð Ð ðð ð €ð+ð +ð +ð*8ð 8ð 8ð8ð 8ð 8ð4ð 4ð 4ðCð Cð Cð
?ð 
?ð 
?ð
?ð 
?ð 
?ð?ð ?ð ?ð:ð ð ð2 „×Ò�G OÐÑ4Ô4Ø„×Ò˜�LÐ)FÐÑGÔGØ„ÔØ€˜IÐ&Ñ&Ô&Ø„×ÒÐ";ÐÑ<Ô<ð ð  ñ =Ô<ñ 'Ô&ñ Ôñ HÔGñ 5Ô4ð
 ð,ð ð ð5ð 5ð 5ð.@ð @ð @ð „×Ò˜Ø€B„H˜˜S�z°°x°r´xÀØ! 7Ð+ð8-ñ 8-ô 8-ð 0.ð /ð /ñ 0ô 0à€B„HˆS˜F GÐ,Ð-Ñ-Ô-Ø€B„Hˆz˜C ˜;Ð'Ð(°F¸GÐ3DÐEÑEÔEà€B„H˜˜S�zØˆxˆrŒx 3 %°X°R´X¸cÈBÐ5OÑ5OÔ5OÐ4PÐQÐQÑRÔRð/ð ð ñ ô ð	 ñ 	ô 	ð „×Ò�GÐG Ô 2Ô :¸iÒ GØ-ð ñ /ô /ð3ð 3ñ/ô /ñ	ô 	ð3ð 3ð 3rO   