<s> """<STR_LIT>""" <EOL> class UpdateDict ( dict ) : <EOL> updated = None <EOL> updated_args = None <EOL> def _updated ( self ) : <EOL> """<STR_LIT>""" <EOL> updated = self . updated <EOL> if updated is not None : <EOL> args = self . updated_args <EOL> if args is None : <EOL> args = ( self , ) <EOL> updated ( * args ) <EOL> def __setitem__ ( self , key , item ) : <EOL> dict . __setitem__ ( self , key , item ) <EOL> self . _updated ( ) <EOL> def __delitem__ ( self , key ) : <EOL> dict . __delitem__ ( self , key ) <EOL> self . _updated ( ) <EOL> def clear ( self ) : <EOL> dict . clear ( self ) <EOL> self . _updated ( ) <EOL> def update ( self , * args , ** kw ) : <EOL> dict . update ( self , * args , ** kw ) <EOL> self . _updated ( ) <EOL> def setdefault ( self , key , failobj = None ) : <EOL> dict . setdefault ( self , key , failobj ) <EOL> self . _updated ( ) <EOL> def pop ( self ) : <EOL> v = dict . pop ( self ) <EOL> self . _updated ( ) <EOL> return v <EOL> def popitem ( self ) : <EOL> v = dict . popitem ( self ) <EOL> self . _updated ( ) <EOL> return v </s>
