
    Ngn/                        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dd	d
ddZddgZddgZdddddddZddddddddZ G d d          Z G d d e          Z G d! d"e          Zd# Zd$ Zed%k    r
 e             d&gZdS )'zV
Finding (and Replacing) Nemo

Instant Regular Expressions
Created by Aristide Grange
    N)	SEL_FIRSTSEL_LASTFrameLabel
PhotoImage	ScrollbarTextTkzFinding (and Replacing) Nemozn(.*?)e(.*?)m(.*?)oz
M\1A\2K\3Ia  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.
a  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a  R0lGODlhMAAiAPQAMf////f39+/v7+fn597e3tbW1s7OzsbGxr29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjk5OSkpKRgYGAAAAAAAAAAAAAAAAAAAACH+AS4ALAAAAAAwACIAAAX/ICCOZGmeaKquY2AGLiuvMCAUBuHWc48Kh0iFInEYCb4kSQCxPBiMxkMigRQEgJiSFVBYHNGG0RiZOHjblWAiiY4fkDhEYoBp06dAWfyAQyKAgAwDaHgnB0RwgYASgQ0IhDuGJDAIFhMRVFSLEX8QCJJ4AQM5AgQHTZqqjBAOCQQEkWkCDRMUFQsICQ4Vm5maEwwHOAsPDTpKMAsUDlO4CssTcb+2DAp8YGCyNFoCEsZwFQ3QDRTTVBRS0g1QbgsCd5QAAwgIBwYFAwStzQ8UEdCKVchky0yVBw7YuXkAKt4IAg74vXHVagqFBRgXSCAyYWAVCH0SNhDTitCJfSL5/4RbAPKPhQYYjVCYYAvCP0BxEDaD8CheAAHNwqh8MMGPSwgLeJWhwHSjqkYI+xg4MMCEgQjtRvZ7UAYCpghMF7CxONOWJkYR+rCpY4JlVpVxKDwYWEactKW9mhYRtqCTgwgWEMArERSK1j5q//6T8KXonFsShpiJkAECgQYVjykooCVA0JGHEWNiYCHThTFeb3UkoiCCBgwGEKQ1kuAJlhFwhA71h5SukwUM5qqeCSGBgicEWkfNiWSERtBad4JNIBaQBaQah1ToyGZBAnsIuIJs1qnqiAIVjIE2gnAB1T5x0icgzXT79ipgMOOEH6HBbREBMJCeGEY08IoLAkzB1YYFwjxwSUGSNULQJnNUwRYlCcyEkALIxECAP9cNMMABYpRhy3ZsSLDaR70oUAiABGCkAxowCGCAAfDYIQACXoElGRsdXWDBdg2Y90IWktDYGYAB9PWHP0PMdFZaF07SQgAFNDAMAQg0QA1UC8xoZQl22JGFPgWkOUCOL1pZQyhjxinnnCWEAAA7a<	  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  R0lGODlhMAAjAPQAMf////f39+/v7+fn597e3tbW1s7OzsbGxr29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjk5OTExMSkpKSEhIRgYGBAQEAgICAAAACH+AS4ALAAAAAAwACMAAAX/ICCOZGmeaKqubOu+gCDANBkIQ1EMQhAghFptYEAkEgjEwXBo7ISvweGgWCwUysPjwTgEoCafTySYIhYMxgLBjEQgCULvCw0QdAZdoVhUIJUFChISEAxYeQM1N1OMTAp+UwZ5eA4TEhFbDWYFdC4ECVMJjwl5BwsQa0umEhUVlhESDgqlBp0rAn5nVpBMDxeZDRQbHBgWFBSWDgtLBnFjKwRYCI9VqQsPs0YKEcMXFq0UEalFDWx4BAO2IwPjppAKDkrTWKYUGd7fEJJFEZpM00cOzCgh4EE8SaoWxKNixQooBRMyZMBwAYIRBhUgLDGS4MoBJeoANMhAgQsaCRZm/5lqaCUJhA4cNHjDoKEDBlJUHqkBlYBTiQUZNGjYMMxDhY3VWk6R4MEDBoMUak5AqoYBqANIBo4wcGGDUKIeLlzVZmWJggsVIkwAZaQSA3kdZzlKkIiEAAlDvW5oOkEBs488JTw44oeUIwdvVTFTUK7uiAAPgubt8GFDhQepqETAQCFU1UMGzlqAgFhUsAcCS0AO6lUDhw8xNRSbENGDhgWSHjWUe6ACbKITizmopZoBa6KvOwj9uuHDhwxyj3xekgDDhw5EvWKo0IB4iQLCOCC/njc7ZQ8UeGvza+ABZZgcxJNc4FO1gc0cOsCUrHevc8tdIMTIAhc4F198G2Qwwd8CBIQUAwEINABBBJUwR9R5wElgVRLwWODBBx4cGB8GEzDQIAo33CGJA8gh+JoH/clUgQU0YvDhdfmJdwEFC6Sjgg8yEPAABsPkh2F22cl2AQbn6QdTghTQ5eAJAQyQAAQV0MSBB9gRVZ4GE1mw5JZOAmiAVi1UWcAZDrDyZXYTeaOhA/bIVuIBPtKQ4h7ViYekUPdcEAEbzTzCRp5CADmAAwj+ORGPBcgwAAHo9ABGCYtm0ChwFHShlRiXhmHlkAcCiOeUodqQw5W0oXLAiamy4MOkjOyAaqxUymApDCEAADs=)FINDfindREPLreplz#FF7B39z#80F121z#DAFC33z#F42548   F   )monaco   white)heightwidthfonthighlightthicknessborderwidth
backgroundz#F7E0D4z#2321F1   
   )verdana   word)bgfgr   r   r   r   wrapc                        e Zd Zd Zd Zd ZdS )Zonec                 |   t          t                    }|                    d           t          dt          |                                                   | _        t          dt          |                   | _        t          |          | _	        | j	                            d           | j	        
                    d           t          |fi t          | _        |                     || j        |           t          t                    }t          |fi t          | _        |                     || j        |           t#          d	          D ]i}| j                            t&          |         t&          |                    | j                            d
t&          |         z   t(          |                    jd S )Nr   )r   gif)formatdatar   )r   left)side   emph)
foreground)r   rootconfigr   imagesupperimageimageDimmedr   imgpackr	   fieldParamsfldinitScrollText
textParamstxtrange
tag_configcolors
emphColors)selfr1   initialFieldinitialTextfrmis         M/var/www/html/ai-engine/env/lib/python3.11/site-packages/nltk/app/nemo_app.py__init__zZone.__init__3   sr   Dkk

g
&&&u6%++--3HIII
%UGGG::A&&&6"""++{++C<888Dkk**z**C;777q 	N 	NAHq	fQi@@@H 2z!}MMMM	N 	N    c                    t          |          }|                    |j                   |                    dd           |                    ddd           |                    |j        	           |                    d
|           |                    d           t          ddd                              d           d S )N)commandrighty)r)   fillr(   Tx)r)   expandrJ   )yscrollcommand1.0)rJ   r*   r   ridge)r   bdrelief)r   r.   yviewr4   setinsertr   )r>   rA   r9   contentsscls        rC   r7   zZone.initScrollTextD   s    nn

39
%%%gC(((fT444

#'
***

5(###cQ1W---222<<<<<rE   c                    t          j        t                    | _        	 |                                  | j                            | j                   d S # t          j	        $ r$ | j                            | j
                   Y d S w xY w)N)r1   )	itertoolscycler<   
colorCycle
substituter3   r.   r1   reerrorr2   r>   s    rC   refreshzZone.refreshN   s    #/&11	4OOHOO$*O-----x 	4 	4 	4HOO$"2O333333	4s   4A /B	B	N)__name__
__module____qualname__rD   r7   r_    rE   rC   r#   r#   2   sD        N N N"= = =4 4 4 4 4rE   r#   c                       e Zd Zd Zd ZdS )FindZonec                 b   t          | j                  }| j                            |d|                                z  d|                                z             	 | j                            d|z   d|                    d          z  d|                    d          z             d S #  Y d S xY w)N1.0+%scr+   )nextrZ   r9   tag_addstartend)r>   mcolors      rC   addTagszFindZone.addTagsX   s    T_%%	AGGII 5y155777JKKK	H	AGGFOO ;Yv=V    	DDs   AB) )B.c           
         t           D ]=}| j                            |dd           | j                            d|z   dd           >t          j        d          | _        t          j        | j                            dd          d d         t          j                  | _        	 t          j        d| j                            t          t                    z             t          j        | j                            dt                    d| j                            t          t                    d| j                            t          d          d d         t          j                  | _        n#  | j        | _        Y nxY w| j                            | j        | j                            dd                     d S )	NrN   rk   r+    z(?P<emph>%s)z	(?P<emph>))r<   r9   
tag_remover\   compilerexr6   get	MULTILINEr   r   rexSelsubrn   )r>   argsrm   s      rC   r[   zFindZone.substituteb   sk    	> 	>EHue444Hu====:b>>:dhll5%88"=r|LL	#J~Y(I(IIJJJ* HLL	2222HLLH5555HLL511#2#66	  DKK	#(DKKKdhll5%&@&@AAAAAs   %CE3 3FNr`   ra   rb   rn   r[   rc   rE   rC   re   re   W   s7          B B B B BrE   re   c                       e Zd Zd Zd ZdS )ReplaceZonec                 B   t           j                            | j        |                                          }| j                            d|                                | j        z   z  d|	                                | j        z   z             | j        
                    d|                                | j        z   z  |t          | j                             | xj        t          |          |	                                |                                z
  z
  z  c_        d S )Nrg   )szru   ry   r   groupr9   deleterj   diffrk   rT   rh   rZ   len)r>   rl   ss      rC   rn   zReplaceZone.addTagsy   s    FJJty!'')),,TY./aeegg	>Q1R	
 	
 	
 		QWWYY%:;QT_@U@UVVV		SVVquuww233				rE   c                    | j                             dd           | j                             dt          j                             dd          d d                    d| _        t                              d| j                            dd          d d                   | _	        t          j
                            | j        t          j                             dd          d d                    d S )NrN   rk   rq   r   z\\g<\1>)r9   r   rT   r   rv   r   rex0ry   r6   r   ru   rn   r^   s    rC   r[   zReplaceZone.substitute   s    u%%%rvzz%77<===	HHZeU)C)CCRC)HII	


4<E5!9!9#2#!>?????rE   Nr{   rc   rE   rC   r}   r}   x   s7        4 4 4@ @ @ @ @rE   r}   c                     t           j                            t           j                   t          j                            t          j                   d S )N)r   r6   
after_idler_   rz)_s    rC   launchRefreshr      s8    Fbj!!!Fbj!!!!!rE   c                     t                      at                              dd           t                              t                     t                              dd           t          dt          t                    a	t          j
                            dt                     t          j
                            d	t                     t          j
                            d
t                     t          j        d          t          _        t!          dt"          d          at          j        d          at                              dt                     t          d            t                                           d S )NFT)r   r      r   )r   r   r   z
<Button-1>z<ButtonRelease-1>z<B1-Motion>rp   r   z(?<!\\)\\([0-9]+)z<Key>)r
   r-   	resizabletitlewindowTitleminsizere   initialFindr@   r   r6   bindr   r\   rt   rx   r}   initialReplr   r   bind_allmainlooprc   rE   rC   appr      s    44DNN%tN,,,JJ{LLs1L%%%	&+{	3	3BFKKm,,,FKK#]333FKK}---
2BI	V["	-	-B:*++DMM'=)))$MMOOOOOrE   __main__r   )__doc__rX   r\   tkinterr   r   r   r   r   r   r	   r
   r   r   r   r@   r/   r<   r=   r5   r8   r#   re   r}   r   r   r`   __all__rc   rE   rC   <module>r      s        				 V V V V V V V V V V V V V V V V V V V V,$ C# W K% O	
 
 Y	#
  
 
"4 "4 "4 "4 "4 "4 "4 "4JB B B B Bt B B BB@ @ @ @ @$ @ @ @"" " "
  $ zCEEE'rE   