a `` @sddlmZzddlmZWnBey^zddlmZWneyXddlmZYn0Yn0eZGdddeZ 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.NcCsJ|jdur.LazyListNrrrrrrrr[srcsfdd}|S)Ncsntz>tdkr.lazy.._lazyrrIrJrrGrHrIrlazy`s zLazyList.__new__..lazy)r@rAsetattr)rGrHrNrIZnew_listrrLr__new__Ts zLazyList.__new__)NrrrrrArPrrrrrGs rcCsg|]}tt|r|qSr)hasattrr@.0Zproprrr vrUc@seZdZdZdZdddZdS)LazySetzSet populated on first use.)0rr r!r"r#r$r%r&r'r(r)r*rrr:rr;r<r__sub____and____xor____or____rsub____rand____rxor____ror____isub____iand____ixor____ior__addclearcopy differencedifference_updatediscard intersectionintersection_update isdisjointissubset issupersetr0r1symmetric_differencesymmetric_difference_updateunionupdateNcsZdurtSGdddtgfdd}jD]}t|||q:}|S)Nc@s eZdZdS)z LazySet.__new__..LazySetNr>rrrrrWsrWcsfdd}|S)NcsxtzHtdkrFD]}t||qjD]}t|q6Wtn t0t t|g|Ri|Sr?) rr rr0setrdrArBr rC)rrDrEirF)rWrGrHrIrrrJs   z,LazySet.__new__..lazy.._lazyrrKrWrGrHrMrrNs zLazySet.__new__..lazy)rsrArO)rGrHrNrIZnew_setrrurrPs zLazySet.__new__)NrQrrrrrWysrWcCsg|]}tt|r|qSr)rRrsrSrrrrUrVN) threadingrcollections.abcrr ImportErrorUserDict collectionsrrr@rrArsrWrrrrs   7/3