]!@sddgZdddddddd d d d d ddddddddddddddddddd d!d"g!ZeejZd#d$Zed%kred&S)' iskeywordkwlistFalseNoneTrueandasassertbreakclasscontinuedefdelelifelseexceptfinallyforfromglobalifimportinislambdanonlocalnotorpassraisereturntrywhilewithyieldcCsddl}ddl}|jdd}|r;|dp>d}t|dkr`|d}nd}t|dd}|j}WdQRX|r|dt|djdnd}t|p}|jd}g} xQ|D]I} d | kr|j| } | r| j d | j dd |qWWdQRX| j y>|j d |d} |j d |} | || |  sJ   &