PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 UZt @sXdZddlZyddlmZWn ek r<ddlmZYnXGdddZddZdS) z* This module implements the SmartIO class N)StringIO)BytesIOc@s:eZdZdZdddZddZdd Zd d Zd d ZdS)SmartIOa The SmartIO class allows one to put a cap on the memory consumption. StringIO objects are very fast, because they are stored in memory, but if they are too big the memory footprint becomes noticeable. The write method of a SmartIO determines if the data that is to be added to the (initially) StrintIO object does not exceed a certain threshold; if it does, it switches the storage to a temporary disk file @rcCs$||_t|_|rd|_nd|_dS)Nr) _max_mem_sizer_io_fixed)self max_mem_sizeZ force_memr /usr/lib/python3.6/SmartIO.py__init__s zSmartIO.__init__cCs ||_dS)N)r)r r r r r set_max_mem_size'szSmartIO.set_max_mem_sizecCs|jS)N)r)r r r r get_max_mem_size*szSmartIO.get_max_mem_sizecCsP|js@t||jj|jkr@t}|j|jjd|_||_|jj|dS)Nr)r lenrtellr _tempfilewritegetvalue)r dataZtmpfiler r r r-sz SmartIO.writecCs t|j|S)N)getattrr)r namer r r __getattr__9szSmartIO.__getattr__N)rr) __name__ __module__ __qualname____doc__rrrrrr r r r rs   rcCs6ddl}|jdtjd\}}tj|tj|dS)Nrz_rhn_transports-%d-)prefixzwb+)tempfileZmkstemposgetpidunlinkfdopen)rfdZfnamer r r r=s  r) rr Z cStringIOr ImportErroriorrrr r r r  s+