\dVGddZedkrddlmZedddSdS) c(eZdZddZdZdZdZdS) DelegatorNc:||_t|_dSN)delegateset_Delegator__cacheselfrs "..\python\lib\idlelib\delegator.py__init__zDelegator.__init__s  uu ct|j|}t||||j||Sr)getattrrsetattrradd)r nameattrs r __getattr__zDelegator.__getattr__ s@t}d++dD!!!  r c|jD]#} t||#t$rY wxYw|jdS)z;Removes added attributes while leaving original attributes.N)rdelattrAttributeErrorclear)r keys r resetcachezDelegator.resetcachesg<  C c""""!     s  ))c<|||_dS)z%Reset attributes and change delegate.N)rrr s r setdelegatezDelegator.setdelegates   r r)__name__ __module__ __qualname__r rrrr r rrsU    !!!!!r r__main__)mainz idlelib.idle_test.test_delegator) verbosityN)rrunittestr#r r r r'sp!!!!!!!!< zD +q999999r