B #a @sddlmZyddlmZWnFek rbyddlmZWn ek r\ddlmZYnXYnXeZGdddeZ Gddde Z dd e j De _ Gd d d e Zd d ej De_ d S))RLock)Mapping) DictMixinc@s<eZdZdZdZddZddZddZd d Zd d Z dS) LazyDictz"Dictionary populated on first use.NcCsB|jdkr4tz|jdkr&|WdtX|j|S)N)data _fill_lockacquire_fillreleaseupper)selfkeyr0/tmp/pip-target-jgxl_w8r/lib/python/pytz/lazy.py __getitem__s    zLazyDict.__getitem__cCs>|jdkr4tz|jdkr&|WdtX||jkS)N)rrrr r )r r rrr __contains__s    zLazyDict.__contains__cCs>|jdkr4tz|jdkr&|WdtXt|jS)N)rrrr r iter)r rrr__iter__(s    zLazyDict.__iter__cCs>|jdkr4tz|jdkr&|WdtXt|jS)N)rrrr r len)r rrr__len__2s    zLazyDict.__len__cCs>|jdkr4tz|jdkr&|WdtX|jS)N)rrrr r keys)r rrrr<s    z LazyDict.keys) __name__ __module__ __qualname____doc__rrrrrrrrrrrs    rc&@sjeZdZdZdddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'g&Zd+d)d*Zd(S),LazyListzList populated on first use.__str____repr__ __unicode____hash__ __sizeof____cmp____lt____le____eq____ne____gt____ge__appendcountindexextendinsertpopremovereversesort__add____radd____iadd____mul____rmul____imul__rr __nonzero__r __setitem__ __delitem__r __reversed__Z __getslice__Z __setslice__Z __delslice__Ncs^dkrtSGdddtgfdd}xjD]}t|||q.LazyListN)rrrrrrrrrcsfdd}|S)Ncsdtz:tdkr@t|xjD]}t|q.WWdtXt t|f||S)Nr) rrrlistr+r-_propsdelattrr getattr)r argskw method_name)rcls fill_iternamerr_lazyas   z-LazyList.__new__..lazy.._lazyr)rDrE)rrBrC)rDrlazy`s zLazyList.__new__..lazy)r;r<setattr)rBrCrFrDZnew_listr)rrBrCr__new__Ts zLazyList.__new__)N)rrrrr<rHrrrrrGs    rcCsg|]}tt|r|qSr)hasattrr;).0proprrr vsrLc@seZdZdZdZdddZdS)LazySetzSet populated on first use.)0rrrrr r!r"r#r$r%r&r'rrr7rr8r9r__sub____and____xor____or____rsub____rand____rxor____ror____isub____iand____ixor____ior__addclearcopy differencedifference_updatediscard intersectionintersection_update isdisjointissubset issupersetr-r.symmetric_differencesymmetric_difference_updateunionupdateNcs^dkrtSGdddtgfdd}xjD]}t|||q.LazySetN)rrrrrrrrMsrMcsfdd}|S)NcsrtzHtdkrNxD]}t||q WxjD]}t|q)r r?r@irA)rMrBrCrDrrrEs   z,LazySet.__new__..lazy.._lazyr)rDrE)rMrBrC)rDrrFs zLazySet.__new__..lazy)rir<rG)rBrCrFrDZnew_setr)rMrBrCrrHs zLazySet.__new__)N)rrrrr<rHrrrrrMysrMcCsg|]}tt|r|qSr)rIri)rJrKrrrrLsN) threadingrcollections.abcrr ImportErrorUserDict collectionsrrr;rr<rirMrrrrs 7/3