³ò
3ÒÇIc           @   s{  d  Z  d d k Z d d k Z d d k Z d Z d Z d Z d Z h  d d <d	 d
 <d d <d d <Z	 d d g Z
 d d g Z h  d d <d d <d3 d <d d <d d <d d <Z h  d d  <d! d" <d d <d# d <d$ d <d4 d <d' d( <Z d) d5 d* „  ƒ  YZ d+ e f d, „  ƒ  YZ d- e f d. „  ƒ  YZ d/ „  Z d0 „  Z e d1 j o e ƒ  n d2 g Z d S(6   sV   
Finding (and Replacing) Nemo

Instant Regular Expressions
Created by Aristide Grange
iÿÿÿÿNs   Finding (and Replacing) Nemos   n(.*?)e(.*?)m(.*?)os
   M\1A\2K\3Is¿  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
s´  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t   FINDs  R0lGODlhMAAiAPQAMf////f39+/v7+fn597e3tbW1s7OzsbGxr29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjk5OSkpKRgYGAAAAAAAAAAAAAAAAAAAACH+AS4ALAAAAAAwACIAAAX/ICCOZGmeaKquY2AGLiuvMCAUBuHWc48Kh0iFInEYCb4kSQCxPBiMxkMigRQEgJiSFVBYHNGG0RiZOHjblWAiiY4fkDhEYoBp06dAWfyAQyKAgAwDaHgnB0RwgYASgQ0IhDuGJDAIFhMRVFSLEX8QCJJ4AQM5AgQHTZqqjBAOCQQEkWkCDRMUFQsICQ4Vm5maEwwHOAsPDTpKMAsUDlO4CssTcb+2DAp8YGCyNFoCEsZwFQ3QDRTTVBRS0g1QbgsCd5QAAwgIBwYFAwStzQ8UEdCKVchky0yVBw7YuXkAKt4IAg74vXHVagqFBRgXSCAyYWAVCH0SNhDTitCJfSL5/4RbAPKPhQYYjVCYYAvCP0BxEDaD8CheAAHNwqh8MMGPSwgLeJWhwHSjqkYI+xg4MMCEgQjtRvZ7UAYCpghMF7CxONOWJkYR+rCpY4JlVpVxKDwYWEactKW9mhYRtqCTgwgWEMArERSK1j5q//6T8KXonFsShpiJkAECgQYVjykooCVA0JGHEWNiYCHThTFeb3UkoiCCBgwGEKQ1kuAJlhFwhA71h5SukwUM5qqeCSGBgicEWkfNiWSERtBad4JNIBaQBaQah1ToyGZBAnsIuIJs1qnqiAIVjIE2gnAB1T5x0icgzXT79ipgMOOEH6HBbREBMJCeGEY08IoLAkzB1YYFwjxwSUGSNULQJnNUwRYlCcyEkALIxECAP9cNMMABYpRhy3ZsSLDaR70oUAiABGCkAxowCGCAAfDYIQACXoElGRsdXWDBdg2Y90IWktDYGYAB9PWHP0PMdFZaF07SQgAFNDAMAQg0QA1UC8xoZQl22JGFPgWkOUCOL1pZQyhjxinnnCWEAAA7t   finds<	  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   REPLs€  R0lGODlhMAAjAPQAMf////f39+/v7+fn597e3tbW1s7OzsbGxr29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjk5OTExMSkpKSEhIRgYGBAQEAgICAAAACH+AS4ALAAAAAAwACMAAAX/ICCOZGmeaKqubOu+gCDANBkIQ1EMQhAghFptYEAkEgjEwXBo7ISvweGgWCwUysPjwTgEoCafTySYIhYMxgLBjEQgCULvCw0QdAZdoVhUIJUFChISEAxYeQM1N1OMTAp+UwZ5eA4TEhFbDWYFdC4ECVMJjwl5BwsQa0umEhUVlhESDgqlBp0rAn5nVpBMDxeZDRQbHBgWFBSWDgtLBnFjKwRYCI9VqQsPs0YKEcMXFq0UEalFDWx4BAO2IwPjppAKDkrTWKYUGd7fEJJFEZpM00cOzCgh4EE8SaoWxKNixQooBRMyZMBwAYIRBhUgLDGS4MoBJeoANMhAgQsaCRZm/5lqaCUJhA4cNHjDoKEDBlJUHqkBlYBTiQUZNGjYMMxDhY3VWk6R4MEDBoMUak5AqoYBqANIBo4wcGGDUKIeLlzVZmWJggsVIkwAZaQSA3kdZzlKkIiEAAlDvW5oOkEBs488JTw44oeUIwdvVTFTUK7uiAAPgubt8GFDhQepqETAQCFU1UMGzlqAgFhUsAcCS0AO6lUDhw8xNRSbENGDhgWSHjWUe6ACbKITizmopZoBa6KvOwj9uuHDhwxyj3xekgDDhw5EvWKo0IB4iQLCOCC/njc7ZQ8UeGvza+ABZZgcxJNc4FO1gc0cOsCUrHevc8tdIMTIAhc4F198G2Qwwd8CBIQUAwEINABBBJUwR9R5wElgVRLwWODBBx4cGB8GEzDQIAo33CGJA8gh+JoH/clUgQU0YvDhdfmJdwEFC6Sjgg8yEPAABsPkh2F22cl2AQbn6QdTghTQ5eAJAQyQAAQV0MSBB9gRVZ4GE1mw5JZOAmiAVi1UWcAZDrDyZXYTeaOhA/bIVuIBPtKQ4h7ViYekUPdcEAEbzTzCRp5CADmAAwj+ORGPBcgwAAHo9ABGCYtm0ChwFHShlRiXhmHlkAcCiOeUodqQw5W0oXLAiamy4MOkjOyAaqxUymApDCEAADs=t   repls   #FF7B39s   #80F121s   #DAFC33s   #F42548i   t   heightiF   t   widtht   monacoi   t   fonti    t   highlightthicknesst   borderwidtht   whitet
   backgrounds   #F7E0D4t   bgs   #2321F1t   fgi   i
   t   verdanai   t   wordt   wrapt   Zonec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s[  t  i t ƒ } | i d d ƒ t  i d d d t | i ƒ  ƒ |  _ t  i d d d t | ƒ |  _ t  i	 | ƒ |  _
 |  i
 i d d ƒ |  i
 i d d	 ƒ t  i | t  |  _ |  i | |  i | ƒ t  i t ƒ } t  i | t  |  _ |  i | |  i | ƒ xT t d
 ƒ D]F } |  i i t | d t | ƒ|  i i d t | d t | ƒqWd  S(   NR   R
   t   formatt   gift   dataR	   i    t   sidet   lefti   t   empht
   foreground(   t   tkt   Framet   roott   configt
   PhotoImaget   imagest   uppert   imaget   imageDimmedt   Labelt   imgt   packt   Textt   fieldParamst   fldt   initScrollTextt
   textParamst   txtt   ranget
   tag_configt   colorst
   emphColors(   t   selfR    t   initialFieldt   initialTextt   frmt   i(    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyt   __init__5   s     % c         C   s³   t  i | ƒ } | i d | i ƒ | i d d d d ƒ | i d d d t d d ƒ | i d	 | i ƒ | i d
 | ƒ | i d d ƒ t  i d d d d d d ƒ i d d ƒ d  S(   Nt   commandR   t   rightt   fillt   yR   t   expandt   xt   yscrollcommands   1.0R   i   t   bdi   t   relieft   ridge(	   R   t	   ScrollbarR   t   yviewR$   t   Truet   sett   insertR   (   R/   R2   R*   t   contentst   scl(    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyR(   E   s    c         C   si   t  i t ƒ |  _ y$ |  i ƒ  |  i i d |  i ƒ Wn, t i	 j
 o |  i i d |  i
 ƒ n Xd  S(   NR    (   t	   itertoolst   cycleR-   t
   colorCyclet
   substituteR#   R   R    t   ret   errorR!   (   R/   (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyt   refreshN   s    
(   t   __name__t
   __module__R4   R(   RL   (    (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyR   4   s   			t   FindZonec           B   s   e  Z d  „  Z d „  Z RS(   c      	   C   s   |  i  i ƒ  } |  i i | d | i ƒ  d | i ƒ  ƒ y8 |  i i d | d | i d ƒ d | i d ƒ ƒ Wn n Xd  S(   Ns   1.0+%scR   (   RH   t   nextR*   t   tag_addt   startt   end(   R/   t   mt   color(    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyt   addTagsX   s    * c         G   sI  x> t  D]6 } |  i i | d d ƒ |  i i d | d d ƒ q Wt i d ƒ |  _ t i |  i i d d ƒ d  t i ƒ |  _ yŒ t i d |  i i t	 i
 t	 i ƒ ƒ t i d |  i i d t	 i
 ƒ |  i i t	 i
 t	 i ƒ |  i i t	 i d ƒ d  f t i ƒ |  _ Wn |  i |  _ n X|  i i |  i |  i i d d ƒ ƒ d  S(   Ns   1.0RS   R   t    iÿÿÿÿs   (?P<emph>%s)s   %s(?P<emph>%s)%s(   R-   R*   t
   tag_removeRJ   t   compilet   rexR'   t   gett	   MULTILINER   t	   SEL_FIRSTt   SEL_LASTt   rexSelt   subRV   (   R/   t   argsRU   (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyRI   `   s"     +	(   RM   RN   RV   RI   (    (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyRO   W   s   	t   ReplaceZonec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s°   t  i i |  i | i ƒ  ƒ } |  i i d | i ƒ  |  i d | i	 ƒ  |  i ƒ |  i i
 d | i ƒ  |  i | |  i i ƒ  ƒ |  i t | ƒ | i	 ƒ  | i ƒ  7_ d  S(   Ns   1.0+%sc(   t   szRZ   R`   R   t   groupR*   t   deleteRR   t   diffRS   RC   RH   RP   t   len(   R/   RT   t   s(    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyRV   t   s     c         C   s—   |  i  i d d ƒ |  i  i d t i  i d d ƒ d  ƒ d |  _ t i d |  i i d d ƒ d  ƒ |  _	 t i
 i |  i t i  i d d ƒ d  ƒ d  S(   Ns   1.0RS   iÿÿÿÿi    s   \\g<\1>(   R*   Re   RC   Rc   R[   Rf   t   rex0R`   R'   R   RZ   RV   (   R/   (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyRI   {   s
    &	((   RM   RN   RV   RI   (    (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyRb   s   s   	c         C   s*   t  i i t  i ƒ t i i t i ƒ d  S(   N(   Rc   R'   t
   after_idleRL   t   rz(   t   _(    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyt   launchRefreshƒ   s    c           C   së   t  i ƒ  a t i d t d t ƒ t i t ƒ t i d d d d ƒ t	 d t
 t ƒ a t i i d t ƒ t i i d t ƒ t i i d t ƒ t i d	 ƒ t _ t d
 t d	 ƒ a t i d ƒ a t i d t ƒ t d  ƒ t i ƒ  d  S(   NR   R   iú   i    R   s
   <Button-1>s   <ButtonRelease-1>s   <B1-Motion>RW   R   s   (?<!\\)\\([0-9]+)s   <Key>(   R   t   TkR   t	   resizablet   FalseRA   t   titlet   windowTitlet   minsizeRO   t   initialFindR1   Rc   R'   t   bindRm   RJ   RY   R_   Rb   t   initialReplRk   Ri   t   bind_allt   Nonet   mainloop(    (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pyt   appˆ   s    
t   __main__Rz   (   R   i   (   R   i   (    (   t   __doc__t   TkinterR   RJ   RF   Rr   Rt   Rv   R1   R   R-   R.   R&   R)   R   RO   Rb   Rm   Rz   RM   t   __all__(    (    (    s'   /p/zhu/06/nlp/nltk/nltk/app/nemo_app.pys   <module>   sJ   														#		