Ë
    çÍ:j’7  ã                   ó�  — 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mZmZmZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZ d dlm Z  d dl!m"Z" dZ#dZ$d	Z%d
Z&i dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “d
d„ “dd„ “dd„ “dd„ “d d!„ “d"d#„ “d$d%„ “d&d'„ “d(d)„ “d*d+„ “Z' G d,„ d-«      Z( G d.„ d/«      Z)d0„ Z*e+d1k(  r e*«        d2gZ,y)3é    N)ÚENDÚLEFTÚSUNKENÚButtonÚFrameÚIntVarÚLabelÚMenuÚ
OptionMenuÚ	ScrollbarÚ	StringVarÚTextÚTk)ÚFont)ÚalpinoÚbrownÚcess_catÚcess_espÚflorestaÚindianÚ
mac_morphoÚmachadoÚnps_chatÚsinica_treebankÚtreebank)ÚFreqDist)Úin_idlez<<CL_EVENT>>z<<ELC_EVENT>>éd   zEnglish: Brown Corpus (Humor)zCatalan: CESS-CAT Corpusc                  ó*   — t        j                  «       S ©N)r   Úwords© ó    ún/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/app/collocations_app.pyú<lambda>r%   3   ó   € ¬¯©Ó(8€ r#   zEnglish: Brown Corpusc                  ó*   — t        j                  «       S r    ©r   r!   r"   r#   r$   r%   r%   4   s   € ¤U§[¡[£]€ r#   zEnglish: Brown Corpus (Press)c                  ó2   — t        j                  g d¢¬«      S )N)ÚnewsÚ	editorialÚreviews©Ú
categoriesr(   r"   r#   r$   r%   r%   5   s   € ¬U¯[©[Ú3ô.€ r#   z English: Brown Corpus (Religion)c                  ó.   — t        j                  d¬«      S )NÚreligionr-   r(   r"   r#   r$   r%   r%   8   s   € ´·±ÀzÔ0R€ r#   zEnglish: Brown Corpus (Learned)c                  ó.   — t        j                  d¬«      S )NÚlearnedr-   r(   r"   r#   r$   r%   r%   9   ó   € ¬u¯{©{ÀiÔ/P€ r#   z'English: Brown Corpus (Science Fiction)c                  ó.   — t        j                  d¬«      S )NÚscience_fictionr-   r(   r"   r#   r$   r%   r%   :   s   € ´u·{±{Ø$ô8€ r#   zEnglish: Brown Corpus (Romance)c                  ó.   — t        j                  d¬«      S )NÚromancer-   r(   r"   r#   r$   r%   r%   =   r3   r#   c                  ó.   — t        j                  d¬«      S )NÚhumorr-   r(   r"   r#   r$   r%   r%   >   s   € ¬U¯[©[ÀGÔ-L€ r#   zEnglish: NPS Chat Corpusc                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   ?   r&   r#   z#English: Wall Street Journal Corpusc                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   @   s   € ´8·>±>Ó3C€ r#   zChinese: Sinica Corpusc                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   A   s   € ¤o×&;Ñ&;Ó&=€ r#   zDutch: Alpino Corpusc                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   B   s   € ¤F§L¡L£N€ r#   zHindi: Indian Languages Corpusc                  ó.   — t        j                  d¬«      S )Nz	hindi.pos)Úfiles)r   r!   r"   r#   r$   r%   r%   C   s   € ¬f¯l©lÀÔ.M€ r#   z&Portuguese: Floresta Corpus (Portugal)c                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   D   s   € ´h·n±nÓ6F€ r#   z&Portuguese: MAC-MORPHO Corpus (Brazil)c                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   E   s   € ´j×6FÑ6FÓ6H€ r#   z#Portuguese: Machado Corpus (Brazil)c                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   F   s   € ´7·=±=³?€ r#   zSpanish: CESS-ESP Corpusc                  ó*   — t        j                  «       S r    )r   r!   r"   r#   r$   r%   r%   G   r&   r#   c                   ó¦   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚCollocationsViewz#FFFc                 ó¼  — t        j                  «       | _        t        | j                  «      | _        t        «       | _        | j                  | j                  «       | j                  «        | j                  | j                  «       | j                  | j                  j                  «       | j                  j                  t        | j                  «      | _        y r    )ÚqÚQueueÚqueueÚCollocationsModelÚmodelr   ÚtopÚ	_init_topÚ_init_menubarÚ_init_widgetsÚload_corpusÚDEFAULT_CORPUSÚafterÚPOLL_INTERVALÚ_poll©Úselfs    r$   Ú__init__zCollocationsView.__init__N   sˆ   € Ü—W‘W“YˆŒ
Ü& t§z¡zÓ2ˆŒ
Ü“4ˆŒØ�‰�t—x‘xÔ Ø×ÑÔØ×Ñ˜4Ÿ8™8Ô$Ø×Ñ˜Ÿ™×2Ñ2Ô3Ø—X‘X—^‘^¤M°4·:±:Ó>ˆ�
r#   c                 óÜ   — |j                  d«       |j                  d«       |j                  d| j                  «       |j	                  d| j                  «       |j                  dd«       y )Nz550x650+50+50zNLTK Collocations Listz<Control-q>ÚWM_DELETE_WINDOWi&  iŠ  )ÚgeometryÚtitleÚbindÚdestroyÚprotocolÚminsize)rV   rL   s     r$   rM   zCollocationsView._init_topX   sN   € Ø�‰�_Ô%Ø�	‰	Ð*Ô+Ø�‰� §¡Ô-Ø�‰Ð'¨¯©Ô6Ø�‰�C˜Õr#   c           	      óf  — t        |t        | j                  ddd¬«      «      | _        | j	                  | j                  «       | j                  | j                  «       | j                  | j                  «       | j                  | j                  «       | j                  j                  dd¬«       y )Né   )Ú
backgroundÚpadxÚpadyÚborderÚbothT)ÚfillÚexpand)	r   ÚdictÚ_BACKGROUND_COLOURÚ
main_frameÚ_init_corpus_selectÚ_init_results_boxÚ_init_pagingÚ_init_statusÚpack©rV   Úparents     r$   rO   zCollocationsView._init_widgets_   s†   € ÜØ”D D×$;Ñ$;À!È!ÐTUÔVó
ˆŒð 	× Ñ  §¡Ô1Ø×Ñ˜tŸ™Ô/Ø×Ñ˜$Ÿ/™/Ô*Ø×Ñ˜$Ÿ/™/Ô*Ø�‰×Ñ &°ÐÕ6r#   c           	      ó²  — t        || j                  ¬«      }t        |«      | _        | j                  j	                  | j
                  j                  «       t        |t        d| j                  ddd¬«      j                  d¬«       t        | j
                  j                  j                  «       «      j                  | j
                  j                  «      }t        || j                  | j
                  j                  g| j
                  j                  «       ¢­d	| j                   iŽ}d|d
<   d|d<   |j                  d¬«       |j                  ddd¬«       y )N©rb   z	 Corpus: é   ra   r   )ÚjustifyÚtextrb   rc   rd   re   Úleft)ÚsideÚcommandÚborderwidthÚhighlightthicknessrL   ÚxÚn©ry   rg   Úanchor)r   rj   r   ÚvarÚsetrK   rQ   r	   r   rp   ÚlistÚCORPORAÚkeysÚremover   Únon_default_corporaÚcorpus_selected)rV   rr   Ú
innerframeÚother_corporaÚoms        r$   rl   z$CollocationsView._init_corpus_selecti   s!  € Ü˜6¨d×.EÑ.EÔFˆ
Ü˜ZÓ(ˆŒØ�‰�‰�T—Z‘Z×.Ñ.Ô/ÜØÜØØ×.Ñ.ØØØô	
÷ ‰$�Fˆ$Ô
ä˜TŸZ™Z×/Ñ/×4Ñ4Ó6Ó7×>Ñ>Ø�J‰J×%Ñ%ó
ˆô ØØ�H‰HØ�J‰J×%Ñ%ð
ð
 �Z‰Z×+Ñ+Ó-ò
ð ×(Ñ(ñ	
ˆð ˆˆ=ÑØ#$ˆÐÑ Ø
�‰�VˆÔØ�‰˜U¨°SˆÕ9r#   c           	      ó�   — t        |t        t        | j                  ddd¬«      | _        | j                  j                  dd¬«       y )Nr   ra   )rv   Úreliefrb   re   rc   rd   rL   Úsw©ry   r€   )r	   r   r   rj   Ústatusrp   rq   s     r$   ro   zCollocationsView._init_status†   sB   € ÜØÜÜØ×.Ñ.ØØØô
ˆŒð 	�‰×Ñ˜e¨DÐÕ1r#   c                 ó¾  — t        | j                  «      | _        t        | j                  «      }t        |dd¬«      }|j	                  dd| j
                  d¬«       |j                  dd|¬«       t        |d¬	«      }t        |d¬	«      }|j                  d
| j                  dd| j                  ¬«       |j                  d| j                  dd| j                  ¬«       |j                  d| j                  dd| j                  ¬«       |j                  d«       |j                  dd|¬«       |j                  dd|¬«       | j                  j                  |¬«       y )Nr   )Útearoffr{   ÚExitra   zCtrl-q)ÚlabelÚ	underlinerz   ÚacceleratorÚFile)r”   r•   Úmenu)r’   Ú20é   )r”   Úvariabler•   Úvaluerz   Ú50é2   Ú100r   zResult CountÚEdit)r˜   )r   rL   Ú_result_sizer
   Úadd_commandr]   Úadd_cascadeÚadd_radiobuttonÚset_result_sizeÚinvokeÚconfig)rV   ÚmenubarÚfilemenuÚeditmenuÚ
rescntmenus        r$   rN   zCollocationsView._init_menubar’   sW  € Ü" 4§8¡8Ó,ˆÔÜ�t—x‘x“.ˆä˜¨¸Ô:ˆØ×ÑØ A¨t¯|©|Èð 	ô 	
ð 	×Ñ &°A¸HÐÔEä˜¨Ô+ˆÜ˜(¨AÔ.ˆ
Ø×"Ñ"ØØ×&Ñ&ØØØ×(Ñ(ð 	#ô 	
ð 	×"Ñ"ØØ×&Ñ&ØØØ×(Ñ(ð 	#ô 	
ð 	×"Ñ"ØØ×&Ñ&ØØØ×(Ñ(ð 	#ô 	
ð 	×Ñ˜!ÔØ×Ñ >¸QÀZÐÔPà×Ñ &°A¸HÐÔEØ�‰�‰˜WˆÕ%r#   c                 óV   — | j                   j                  «       | j                  _        y r    )r¡   ÚgetrK   Úresult_count)rV   Úkwargss     r$   r¥   z CollocationsView.set_result_size¹   s   € Ø"&×"3Ñ"3×"7Ñ"7Ó"9ˆ�
‰
Õr#   c                 óà  — t        |«      }t        |«      }t        |«      }t        |d¬«      }t        |dd¬«      }t        |t        dd¬«      dd|j                  |j                  d	d
dd¬«
      | _        | j
                  j                  ddd¬«       |j                  ddd¬«       |j                  | j
                  j                  ¬«       |j                  dddd¬«       |j                  | j
                  j                  ¬«       t        |d| j                  ¬«      j                  dd¬«       |j                  dddd¬«       |j                  ddd¬«       |j                  ddd¬«       y )Nra   )r{   Úhoriz)r{   ÚorientÚcourierÚ16)ÚfamilyÚsizeÚdisabledÚnoneÚ40r™   )	ÚfontÚstater{   ÚyscrollcommandÚxscrollcommandÚwrapÚwidthÚheightÚexportselectionrx   rf   T)ry   rg   rh   ÚyÚer   )rz   r}   Úw)ry   rg   rh   r€   z   )rw   rb   r�   rL   r~   ÚbottomÚs)r   r   r   r   r‚   Úresults_boxrp   r§   ÚyviewÚxviewr	   rj   )rV   rr   r‰   Úi1Úi2Ú
vscrollbarÚ
hscrollbars          r$   rm   z"CollocationsView._init_results_box¼   sR  € Ü˜6“]ˆ
Ü�:ÓˆÜ�:ÓˆÜ˜r¨qÔ1ˆ
Ü˜r¨q¸ÔAˆ
ÜØÜ˜Y¨TÔ2ØØØ%Ÿ>™>Ø%Ÿ>™>ØØØØô
ˆÔð 	×Ñ×Ñ 6°¸tÐÔDØ�‰˜V¨#°cˆÔ:Ø×Ñ $×"2Ñ"2×"8Ñ"8ÐÔ9Ø�‰˜V¨#°dÀ3ˆÔGØ×Ñ $×"2Ñ"2×"8Ñ"8ÐÔ9äˆb�u¨×)@Ñ)@ÔA×FÑFØ ð 	Gô 	
ð 	�‰�U °¸SˆÔAØ
�‰�X C°ˆÔ4Ø�‰˜U¨¸ˆÕ=r#   c           	      óP  — t        || j                  ¬«      }t        |d| j                  dddd¬«      x| _        }|j                  dd¬	«       t        |d
| j                  dddd¬«      x| _        }|j                  dd¬	«       |j                  dd¬«       | j                  «        y )Nrt   ÚPreviousÚ10ra   r·   )rw   rz   r¿   r{   r|   r»   rx   Úcenterr�   ÚNextÚrightrL   rÂ   )ry   rg   )	r   rj   r   ÚpreviousÚprevrp   Ú__next__ÚnextÚreset_current_page)rV   rr   r‰   rÕ   r×   s        r$   rn   zCollocationsView._init_pagingÛ   s¬   € Ü˜6¨d×.EÑ.EÔFˆ
Ü!ØØØ—M‘MØØØ Øô
ð 	
ˆŒ	�Dð 	�	‰	�v hˆ	Ô/Ü!ØØØ—M‘MØØØ Øô
ð 	
ˆŒ	�Dð 	�	‰	�w xˆ	Ô0Ø�‰˜U¨ˆÔ-Ø×ÑÕ!r#   c                 ó   — d| _         y ©Néÿÿÿÿ)Úcurrent_pagerU   s    r$   rØ   z#CollocationsView.reset_current_pageô   s
   € ØˆÕr#   c                 ó:  — 	 | j                   j                  d¬«      }|t        k(  r| j                  |«       n|t        k(  r| j                  |«       	 | j                  j                  t        | j                  «      | _	        y # t        j                  $ r Y ŒEw xY w)NF)Úblock)rI   r­   ÚCORPUS_LOADED_EVENTÚhandle_corpus_loadedÚERROR_LOADING_CORPUS_EVENTÚhandle_error_loading_corpusrG   ÚEmptyrL   rR   rS   rT   ©rV   Úevents     r$   rT   zCollocationsView._poll÷   s}   € ð	8Ø—J‘J—N‘N¨�NÓ/ˆEð Ô+Ò+Ø×)Ñ)¨%Õ0ØÔ4Ò4Ø×0Ñ0°Õ7Ø—X‘X—^‘^¤M°4·:±:Ó>ˆ�
øô �w‰wò 	Ùð	ús   ‚B ÂBÂBc                 óØ   — d| j                   j                  «       z   | j                  d<   | j                  «        | j	                  «        | j                  «        | j                  «        y )NzError in loading rw   )r�   r­   r�   Úunfreeze_editableÚclear_results_boxÚfreeze_editablerØ   rä   s     r$   râ   z,CollocationsView.handle_error_loading_corpus  sO   € Ø1°D·H±H·L±L³NÑBˆ�‰�FÑØ×ÑÔ Ø×ÑÔ Ø×ÑÔØ×ÑÕ!r#   c                 óT  — | j                   j                  «       dz   | j                  d<   | j                  «        | j	                  «        | j                  «        | j                  j                  | j                  dz   «      }| j                  |«       | xj                  dz  c_        y )Nz
 is loadedrw   ra   )
r�   r­   r�   rç   rè   rØ   rK   r×   rÜ   Úwrite_results)rV   rå   Úcollocationss      r$   rà   z%CollocationsView.handle_corpus_loaded
  s   € Ø"Ÿh™hŸl™l›n¨|Ñ;ˆ�‰�FÑØ×ÑÔ Ø×ÑÔ Ø×ÑÔ!à—z‘z—‘ t×'8Ñ'8¸1Ñ'<Ó=ˆØ×Ñ˜<Ô(Ø×Ò˜QÑÖr#   c                 óZ   — | j                   j                  «       }| j                  |«       y r    )r�   r­   rP   )rV   ÚargsÚnew_selections      r$   rˆ   z CollocationsView.corpus_selected  s   € ØŸ™Ÿ™›ˆØ×Ñ˜Õ'r#   c                 óþ   — | j                  «        | j                  j                  | j                  dz
  «      }| j                  dz
  | _        | j	                  «        | j                  |«       | j                  «        y ©Nra   )ré   rK   rÕ   rÜ   rè   rë   rç   ©rV   rì   s     r$   rÔ   zCollocationsView.previous  sd   € Ø×ÑÔØ—z‘z—‘ t×'8Ñ'8¸1Ñ'<Ó=ˆØ ×-Ñ-°Ñ1ˆÔØ×ÑÔ Ø×Ñ˜<Ô(Ø×ÑÕ r#   c                 ó   — | j                  «        | j                  j                  | j                  dz   «      }| j	                  «        | j                  |«       | xj                  dz  c_        | j                  «        y rñ   )ré   rK   r×   rÜ   rè   rë   rç   rò   s     r$   rÖ   zCollocationsView.__next__   sb   € Ø×ÑÔØ—z‘z—‘ t×'8Ñ'8¸1Ñ'<Ó=ˆØ×ÑÔ Ø×Ñ˜<Ô(Ø×Ò˜QÑÕØ×ÑÕ r#   c                 ó¸   — | j                   j                  |k7  rAd|z   dz   | j                  d<   | j                  «        | j                   j	                  |«       y y )NzLoading z...rw   )rK   Úselected_corpusr�   ré   rP   )rV   Ú	selections     r$   rP   zCollocationsView.load_corpus(  sO   € Ø�:‰:×%Ñ%¨Ò2Ø",¨yÑ"8¸5Ñ"@ˆD�K‰K˜ÑØ× Ñ Ô"Ø�J‰J×"Ñ" 9Õ-ð 3r#   c                 ó@   — d| j                   d<   d| j                  d<   y )Nr·   r»   )rÕ   r×   rU   s    r$   ré   z CollocationsView.freeze_editable.  s   € Ø'ˆ�	‰	�'ÑØ'ˆ�	‰	�'Òr#   c                 ó€   — d| j                   d<   | j                   j                  dt        «       d| j                   d<   y )NÚnormalr»   z1.0r·   )rÇ   Údeleter   rU   s    r$   rè   z"CollocationsView.clear_results_box2  s8   € Ø$,ˆ×Ñ˜Ñ!Ø×Ñ×Ñ ¤sÔ+Ø$.ˆ×Ñ˜Ò!r#   c                 ó>   — | j                   j                  |d¬«       y )NÚtail)Úwhen)rL   Úevent_generaterä   s     r$   Ú
fire_eventzCollocationsView.fire_event7  s   € à�‰×Ñ ¨FÐÕ3r#   c                 óª   — | j                   €y | j                   j                  | j                  «       | j                   j                  «        d | _         y r    )rL   Úafter_cancelrR   r]   )rV   rÃ   s     r$   r]   zCollocationsView.destroy;  s<   € Ø�8‰8ÐØØ�‰×Ñ˜dŸj™jÔ)Ø�‰×ÑÔØˆ�r#   c                 óR   — t        «       ry  | j                  j                  |i |¤Ž y r    )r   rL   Úmainloop)rV   rî   r¯   s      r$   r  zCollocationsView.mainloopB  s#   € ÜŒ9ØØˆ�‰×Ñ˜4Ð* 6Ó*r#   c                 ó$   — | j                  «        y r    )Úset_paging_button_statesrU   s    r$   rç   z"CollocationsView.unfreeze_editableG  s   € Ø×%Ñ%Õ'r#   c                 ó  — | j                   dk(  s| j                   dk(  rd| j                  d<   nd| j                  d<   | j                  j                  | j                   «      rd| j                  d<   y d| j                  d<   y )NrÛ   r   r·   r»   rù   )rÜ   rÕ   rK   Úis_last_pager×   rU   s    r$   r  z)CollocationsView.set_paging_button_statesJ  sm   € Ø×Ñ Ò" d×&7Ñ&7¸1Ò&<Ø!+ˆD�I‰I�gÒà!)ˆD�I‰I�gÑØ�:‰:×"Ñ" 4×#4Ñ#4Ô5Ø!+ˆD�I‰I�gÒà!)ˆD�I‰I�gÒr#   c                 óÊ   — d| j                   d<   d}|D ]>  }| j                   j                  t        |«      dz   |d   dz   |d   z   dz   «       |dz  }Œ@ d| j                   d<   y )	Nrù   r»   ra   z.0r   ú ú
r·   )rÇ   ÚinsertÚstr)rV   ÚresultsÚrowÚeachs       r$   rë   zCollocationsView.write_resultsT  su   € Ø$,ˆ×Ñ˜Ñ!ØˆØò 	ˆDØ×Ñ×#Ñ#¤C¨£H¨t¡O°T¸!±W¸s±]ÀTÈ!ÁWÑ5LÈtÑ5SÔTØ�1‰H‰Cð	ð %/ˆ×Ñ˜Ò!r#   N)Ú__name__Ú
__module__Ú__qualname__rj   rW   rM   rO   rl   ro   rN   r¥   rm   rn   rØ   rT   râ   rà   rˆ   rÔ   rÖ   rP   ré   rè   rÿ   r]   r  rç   r  rë   r"   r#   r$   rE   rE   K   s†   „ ØÐò?òò7ò:ò:
2ò%&òN:ò>ò>"ò2ò
?ò"òò(ò!ò!ò.ò(ò/ò
4òò+ò
(ò*ó/r#   rE   c                   ó`   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	 G d„ d	e
j                  «      Zy
)rJ   c                 óˆ   — d | _         d | _        d | _        t        | _        t
        | _        || _        | j                  «        y r    )	r®   rõ   rì   Ú_CORPORAr„   Ú_DEFAULTrQ   rI   Úreset_results)rV   rI   s     r$   rW   zCollocationsModel.__init__^  s<   € Ø ˆÔØ#ˆÔØ ˆÔÜˆŒÜ&ˆÔØˆŒ
Ø×ÑÕr#   c                 ó    — g | _         d| _        y )Nr   )Úresult_pagesÚresults_returnedrU   s    r$   r  zCollocationsModel.reset_resultsg  s   € ØˆÔØ !ˆÕr#   c                 ó„   — || _         d | _        | j                  || «      }|j                  «        | j	                  «        y r    )rõ   rì   Ú
LoadCorpusÚstartr  )rV   ÚnameÚrunner_threads      r$   rP   zCollocationsModel.load_corpusk  s:   € Ø#ˆÔØ ˆÔØŸ™¨¨dÓ3ˆØ×ÑÔØ×ÑÕr#   c                 óÄ   — g }|j                  t        | j                  j                  «       «      «       |j	                  | j
                  «       |j                  «        |S r    )Úextendrƒ   r„   r…   r†   rQ   Úsort)rV   Úcopys     r$   r‡   z%CollocationsModel.non_default_corporar  sE   € ØˆØ�‰”D˜Ÿ™×*Ñ*Ó,Ó-Ô.Ø�‰�D×'Ñ'Ô(Ø�	‰	ŒØˆr#   c                 óÄ   — |t        | j                  «      k  ry| j                  |t        | j                  «      z
  | j                  z  z   t        | j                  «      k\  S )NF)Úlenr  r  r®   rì   )rV   Únumbers     r$   r  zCollocationsModel.is_last_pagey  s_   € Ø”C˜×)Ñ)Ó*Ò*ØØ×$Ñ$Ø”S˜×*Ñ*Ó+Ñ+Ø×Ññ(ñ ä!$ T×%6Ñ%6Ó!7ñ8ð 	8r#   c                 óx  — t        | j                  «      dz
  |k  r‘t        |t        | j                  «      dz
  z
  «      D ]j  }| j                  j                  | j                  | j
                  | j
                  | j                  z    «       | xj
                  | j                  z  c_        Œl | j                  |   S rñ   )r%  r  ÚrangeÚappendrì   r  r®   )rV   ÚpageÚis      r$   r×   zCollocationsModel.next€  s°   € Ü�×!Ñ!Ó" QÑ&¨$Ò.Ü˜4¤3 t×'8Ñ'8Ó#9¸AÑ#=Ñ>Ó?ò ;�Ø×!Ñ!×(Ñ(Ø×%Ñ%Ø×-Ñ-°×0EÑ0EØ×+Ñ+ñ1,ðôð ×%Ò%¨×):Ñ):Ñ:Ö%ð;ð × Ñ  Ñ&Ð&r#   c                 ó.   — |dk(  rg S | j                   |   S rÚ   )r  )rV   r*  s     r$   rÕ   zCollocationsModel.prevŒ  s   € Ø�2Š:ØˆIØ× Ñ  Ñ&Ð&r#   c                   ó   — e Zd Zd„ Zd„ Zy)úCollocationsModel.LoadCorpusc                 ó`   — t         j                  j                  | «       ||c| _        | _        y r    )Ú	threadingÚThreadrW   rK   r  )rV   r  rK   s      r$   rW   z%CollocationsModel.LoadCorpus.__init__’  s&   € Ü×Ñ×%Ñ% dÔ+Ø$)¨4Ð!ˆDŒJ˜�	r#   c           	      óä  ‡
— 	  | j                   j                  | j                     «       }ddlm} |D �cg c]  }t        |«      dkD  sŒ|‘Œ c}Š
t        ˆ
fd„t        t        ‰
«      dz
  «      D «       «      }t        ‰
«      }|D ��cg c]  \  }}||f|||f   dz  ||   ||   z  z  f‘Œ! }}}|j                   |d«      d¬«       t        t         |d«      |«      «      | j                   _        | j                   j                  j                  t        «       y c c}w c c}}w # t        $ r>}	t!        |	«       | j                   j                  j                  t"        «       Y d }	~	y d }	~	ww xY w)	Nr   )Ú
itemgetterru   c              3   ó@   •K  — | ]  }t        ‰||d z    «      –— Œ y­w)ru   N)Útuple)Ú.0r+  rw   s     €r$   ú	<genexpr>z3CollocationsModel.LoadCorpus.run.<locals>.<genexpr>œ  s    øè ø€ ÒS¸œe D¨¨Q°©U O×4ÑSùs   ƒra   é   T)ÚkeyÚreverse)rK   r„   r  Úoperatorr3  r%  r   r(  r"  rƒ   Úmaprì   rI   Úputrß   Ú	ExceptionÚprintrá   )rV   r!   r3  rÄ   ÚfdÚvocabÚw1Úw2ÚscoredrÃ   rw   s             @r$   Úrunz CollocationsModel.LoadCorpus.run–  sA  ø€ ðAØ5˜Ÿ
™
×*Ñ*¨4¯9©9Ñ5Ó7�Ý/à#(Ö7˜a¬C°«F°Q«JšÒ7�ÜÓS¼eÄCÈÃIÐPQÁMÓ>RÔSÓS�Ü  ›�ð #%÷á˜˜Bð ˜"�X˜r 2 r (™|¨qÑ0°E¸"±IÀÀbÁ	Ñ4IÑJÒKð�ñ ð —‘¡
¨1£°t�Ô<Ü*.¬s±:¸a³=À&Ó/IÓ*J�—
‘
Ô'Ø—
‘
× Ñ ×$Ñ$Ô%8Õ9ùò 8ùóøô ò AÜ�a”Ø—
‘
× Ñ ×$Ñ$Ô%?×@Ñ@ûðAús;   ƒ2D( µDÁ	DÁ<D( Â	$D"Â-A/D( ÄD( Ä(	E/Ä14E*Å*E/N)r  r  r  rW   rE  r"   r#   r$   r  r.  ‘  s   „ ò	0ó	Ar#   r  N)r  r  r  rW   r  rP   r‡   r  r×   rÕ   r0  r1  r  r"   r#   r$   rJ   rJ   ]  s9   „ òò"òòò8ò
'ò'ô
A�Y×%Ñ%õ Ar#   rJ   c                  ó8   — t        «       } | j                  «        y r    )rE   r  )Úcs    r$   ÚapprH  ®  s   € ÜÓ€AØ‡J�J…Lr#   Ú__main__rH  )-rI   rG   r0  Útkinterr   r   r   r   r   r   r	   r
   r   r   r   r   r   Útkinter.fontr   Únltk.corpusr   r   r   r   r   r   r   r   r   r   r   Únltk.probabilityr   Ú	nltk.utilr   rß   rá   rS   r  r  rE   rJ   rH  r  Ú__all__r"   r#   r$   ú<module>rP     ss  ðó Û ÷÷ ÷ õ õ ÷÷ ÷ ñ õ &Ý à$Ð Ø,Ð Ø€à*€ðØÑ 8ðàÑ2ðð $ñ &ðð 'Ñ(Rðð &Ñ'Pðð .ñ 0ðð &Ñ'Pðð $Ñ%Lðð Ñ 8ðð *Ñ+Cðð Ñ=ðð  Ñ2ð!ð" %Ñ&Mð#ð$ -Ñ.Fð%ð& -Ñ.Hð'ð( *Ñ+Bð)ð* Ñ 8ð+€÷2O/ñ O/÷dJAñ JAòbð
 ˆzÒÙ„Eàˆ'�r#   