ó
ù`]c           @   s…  d  Z  d d l Z d d l Z d d l m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z d Z d Z d Z d Z i d d	 6d
 d 6d d 6d d 6Z d d g Z d d g Z i d d 6d d 6d4 d 6d d 6d d 6d d 6Z i d  d! 6d" d# 6d d 6d$ d 6d% d 6d5 d 6d( d) 6Z d* d6 d+ „  ƒ  YZ d, e f d- „  ƒ  YZ d. e f d/ „  ƒ  YZ d0 „  Z d1 „  Z e d2 k rxe ƒ  n  d3 g Z d S(7   sV   
Finding (and Replacing) Nemo

Instant Regular Expressions
Created by Aristide Grange
iÿÿÿÿN(   t   Framet   Labelt
   PhotoImaget	   Scrollbart   Textt   Tkt	   SEL_FIRSTt   SEL_LASTs   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   sF  t  t ƒ } | j d d ƒ t d d d t | j ƒ  ƒ |  _ t d d d t | ƒ |  _ t | ƒ |  _	 |  j	 j d d ƒ |  j	 j
 d d	 ƒ t | t  |  _ |  j | |  j | ƒ t  t ƒ } t | t  |  _ |  j | |  j | ƒ xT t d
 ƒ D]F } |  j j t | d t | ƒ|  j j d t | d t | ƒqø Wd  S(   NR   R   t   formatt   gift   dataR   i    t   sidet   lefti   t   empht
   foreground(   R    t   roott   configR   t   imagest   uppert   imaget   imageDimmedR   t   imgt   packR   t   fieldParamst   fldt   initScrollTextt
   textParamst   txtt   ranget
   tag_configt   colorst
   emphColors(   t   selfR%   t   initialFieldt   initialTextt   frmt   i(    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyt   __init__>   s    "c         C   s­   t  | ƒ } | j d | j ƒ | j d d d d ƒ | j d d d t d d ƒ | j d	 | j ƒ | j d
 | ƒ | j d d ƒ t d d d d d d ƒ j d d ƒ d  S(   Nt   commandR   t   rightt   fillt   yR   t   expandt   xt   yscrollcommands   1.0R   i   t   bdi   t   relieft   ridge(   R   R"   t   yviewR(   t   Truet   sett   insertR    (   R2   R5   R-   t   contentst   scl(    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyR+   O   s    c         C   sg   t  j t ƒ |  _ y$ |  j ƒ  |  j j d |  j ƒ Wn* t j	 k
 rb |  j j d |  j
 ƒ n Xd  S(   NR%   (   t	   itertoolst   cycleR0   t
   colorCyclet
   substituteR'   R"   R%   t   ret   errorR&   (   R2   (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyt   refreshY   s    
(   t   __name__t
   __module__R7   R+   RN   (    (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyR   =   s   		
t   FindZonec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   t  |  j ƒ } |  j j | d | j ƒ  d | j ƒ  ƒ y8 |  j j d | d | j d ƒ d | j d ƒ ƒ Wn n Xd  S(   Ns   1.0+%scR   (   t   nextRJ   R-   t   tag_addt   startt   end(   R2   t   mt   color(    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyt   addTagsc   s    *	/c         G   s7  x> t  D]6 } |  j j | d d ƒ |  j j d | d d ƒ q Wt j d ƒ |  _ t j |  j j d d ƒ d  t j ƒ |  _ yz t j d |  j j t	 t
 ƒ ƒ t j d |  j j d t	 ƒ |  j j t	 t
 ƒ |  j j t
 d ƒ d  f t j ƒ |  _ Wn |  j |  _ n X|  j j |  j |  j j d d ƒ ƒ d  S(   Ns   1.0RU   R   t    iÿÿÿÿs   (?P<emph>%s)s   %s(?P<emph>%s)%s(   R0   R-   t
   tag_removeRL   t   compilet   rexR*   t   gett	   MULTILINER   R   t   rexSelt   subRX   (   R2   t   argsRW   (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyRK   m   s     + (   RO   RP   RX   RK   (    (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyRQ   b   s   	
t   ReplaceZonec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s°   t  j j |  j | j ƒ  ƒ } |  j j d | j ƒ  |  j d | j	 ƒ  |  j ƒ |  j j
 d | j ƒ  |  j | t |  j ƒ ƒ |  j t | ƒ | j	 ƒ  | j ƒ  7_ d  S(   Ns   1.0+%sc(   t   szR\   R`   R   t   groupR-   t   deleteRT   t   diffRU   RE   RR   RJ   t   len(   R2   RV   t   s(    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyRX   „   s
    	,0c         C   s—   |  j  j d d ƒ |  j  j d t j  j d d ƒ d  ƒ d |  _ t j d |  j j d d ƒ d  ƒ |  _	 t j
 j |  j t j  j d d ƒ d  ƒ d  S(   Ns   1.0RU   iÿÿÿÿi    s   \\g<\1>(   R-   Re   RE   Rc   R]   Rf   t   rex0R`   R*   R   R\   RX   (   R2   (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyRK   Œ   s
    &	((   RO   RP   RX   RK   (    (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyRb   ƒ   s   	c         C   s*   t  j j t  j ƒ t j j t j ƒ d  S(   N(   Rc   R*   t
   after_idleRN   t   rz(   t   _(    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyt   launchRefresh”   s    c           C   sè   t  ƒ  a t j d t d t ƒ t j t ƒ t j d d d d ƒ t d t	 t
 ƒ a t j j d t ƒ t j j d t ƒ t j j d t ƒ t j d	 ƒ t _ t d
 t d	 ƒ a t j d ƒ a t j d t ƒ t d  ƒ t j ƒ  d  S(   NR   R   iú   i    R	   s
   <Button-1>s   <ButtonRelease-1>s   <B1-Motion>RY   R   s   (?<!\\)\\([0-9]+)s   <Key>(   R   R!   t	   resizablet   FalseRC   t   titlet   windowTitlet   minsizeRQ   t   initialFindR4   Rc   R*   t   bindRm   RL   R[   R_   Rb   t   initialReplRk   Ri   t   bind_allt   Nonet   mainloop(    (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyt   app™   s    	
t   __main__Ry   (   R   i   (   R   i   (    (   t   __doc__RL   RH   t   six.moves.tkinterR    R   R   R   R   R   R   R   Rq   Rs   Ru   R4   R#   R0   R1   R)   R,   R   RQ   Rb   Rm   Ry   RO   t   __all__(    (    (    s0   lib/python2.7/site-packages/nltk/app/nemo_app.pyt   <module>	   sJ   :


%!		
