§
   ;=ì:?úøã                   ó–   — d Z ddlZddlZddlZddlZddlZddlmZmZm	Z	 d„ Z
d„ Z G d„ dej        ¦  «        Zdd	„Zdd
„Zdd„Zd„ ZdS )uU   
Debug dialog "AI Command Center" pro zobrazenÃ­ a ladÄ›nÃ­ AI requestÅ¯/odpovÄ›dÃ­.
é    N)Úcalculate_costÚformat_costÚusage_from_googlec                  óZ   — t          j        ¦   «         } |                      d¦  «        dk    S )u'   Kontroluje, zda je zapnutÃ½ debug mÃ³d.Úai_debug_modeÚtrue)Ú	xbmcaddonÚAddonÚ
getSetting)Úaddons    úi/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/ai/DialogAIDebugRequest.pyÚis_debug_mode_enabledr      s(   € åŒOÑÔ€EØ×Ò˜OÑ,Ô,°Ò6Ð6ó    c                 ó  — d}t          | t          ¦  «        rP| D ]L}|                     dd¦  «                             ¦   «         }|                     dd¦  «        }|d|› d|› d�z  }ŒMnt          | t          ¦  «        r| }|S )u    
    NaformÃ¡tuje seznam zprÃ¡v (list of dicts) do Ä�itelnÃ©ho textu pro Visualizer.
    Splits content by newlines to ensure readability in Kodi text box.
    Ú ÚroleÚunknownÚcontentz[B][COLOR FFFFFF00]z:[/COLOR][/B][CR]z[CR][CR])Ú
isinstanceÚlistÚgetÚupperÚstr)ÚmessagesÚoutputÚmsgr   r   s        r   Úparse_chat_messagesr      s¢   € ð
 €FÝ�(�DÑ!Ô!ð Øð 	Uð 	UˆCØ—7’7˜6 9Ñ-Ô-×3Ò3Ñ5Ô5ˆDØ—g’g˜i¨Ñ,Ô,ˆGØÐT¨DÐTÐTÀ7ÐTÐTÐTÑTˆFˆFð	Uõ 
�H�cÑ	"Ô	"ð ØˆØ€Mr   c                   óB   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	ˆ xZ
S )ÚAIDebugRequestDialogc                 óÊ  •—  t          ¦   «         j        |Ž  |                     di ¦  «        | _        |                     dd¦  «        | _        |                     di ¦  «        | _        |                     dd¦  «        | _        |                     dd ¦  «        | _        |                     dg ¦  «        | _        |                     d	d ¦  «        | _	        d
| _
        d| _        d S )NÚdata_rawÚ	data_textr   ÚmetadataÚmodeÚrequestÚ	on_actionÚcontext_titlesÚcontext_limitFÚ
visualizer)ÚsuperÚ__init__r   r!   r"   r#   r$   Úon_action_callbackr'   r(   ÚclosedÚcurrent_view)ÚselfÚargsÚkwargsÚ	__class__s      €r   r+   zAIDebugRequestDialog.__init__!   sÅ   ø€ Ø�‰ŒÔ˜$ÐÐØŸ
š
 :¨rÑ2Ô2ˆŒØŸš K°Ñ4Ô4ˆŒØŸ
š
 :¨rÑ2Ô2ˆŒØ—J’J˜v yÑ1Ô1ˆŒ	Ø"(§*¢*¨[¸$Ñ"?Ô"?ˆÔð %ŸjšjÐ)9¸2Ñ>Ô>ˆÔØ#ŸZšZ¨¸Ñ>Ô>ˆÔàˆŒØ(ˆÔÐÐr   c                 óÌ  — |                       d| j                             ¦   «         ¦  «         | j                             dd¦  «        }| j                             dd¦  «        }|                       d|¦  «         |                       d|¦  «         	 t          j        | j        dd¬	¦  «        }n#  t          | j        ¦  «        }Y nxY w|                       d
|¦  «         d}d}d}| j        dk    �r`d}d}| j                             dg ¦  «        }d}|D ]3}	|	                     d¦  «        dk    r|	                     dd¦  «        } nŒ4t          |¦  «        }t          j        dt          |¦  «        › dt          |¦  «        › �t          j        ¦  «         |sd}|                       d|¦  «         | j        rd                     | j        ¦  «        }
nd}
|                       d|
¦  «         | j        rt          | j        ¦  «        }n3	 t#          j        ¦   «                              d¦  «        pd}n	#  d}Y nxY w|                       d|¦  «         �n‡d}d}| j        }|�sct+          | j        t,          ¦  «        �rH	 | j        d          d!         d"         d         }�n&# t.          t0          t2          f$ �r 	 | j                             d#g ¦  «        }|r~t+          |t4          ¦  «        ri|D ]f}|                     d$¦  «        d"k    rK|                     dg ¦  «        }|r3t+          |t4          ¦  «        r|d!                              d%d¦  «        } nŒgn# t.          t0          t2          f$ r Y nw xY w|sL	 | j        d&         d!         d         d'         d!         d%         }n# t.          t0          t2          f$ r d(}Y nw xY wY nw xY w|                       dd)¦  «         |                       d*|¦  «         |                       d+|¦  «         |                       d,|¦  «         | j                             d-i ¦  «        }|s#d.| j        v rt7          | j        d.         ¦  «        }t9          |                      |¦  «        ||¦  «        }|                     d/d!¦  «        }|                     d0d!¦  «        }|                     d1d!¦  «        }|d!k    r‡|                     d2¦  «        p|                     d/¦  «        pd!}|d!k    rU|}d!}|                     d3¦  «        p|                     d1¦  «        pd!}t          j        d4|› d5|› �t          j        ¦  «         ||z   |z   }|                       d6t          |¦  «        ¦  «         |                       d7t          |¦  «        ¦  «         |                       d8t          |¦  «        ¦  «         |                       d9t          |¦  «        ¦  «         d!}d:|v r|d:                              d;d!¦  «        }|                       d<t          |¦  «        ¦  «         | j                             d=d!¦  «        }|                       d>|d?›d@�¦  «         d!}|d!k    r|d!k    r||z  }|                       dA|dB›dC�¦  «         t#          j        ¦   «         }|                     dDd!¦  «        }|                     dEd!¦  «        }|                     dFd!¦  «        }|                     dGd!¦  «        }|                       dHt=          ||¦  «        ¦  «         |                       dIt=          ||¦  «        ¦  «         |                       dJt=          ||¦  «        ¦  «         |                       dKt=          ||¦  «        ¦  «         |                     dLdM¦  «        }||z   }|d!k    r||z  dNz  ndM} |                       dOt=          ||¦  «        ¦  «         |                       dP| dB›dQ�¦  «         dR}!t+          | j        t,          ¦  «        r+d | j        v r"	 | j        d          d!         dS         }!n#  Y nxY w|                       dTt          |!¦  «                             ¦   «         ¦  «         |                      dU¦  «         |                       dV¦  «         | j        dWk    r |  !                    dU¦  «         "                    dX¦  «         |  !                    dY¦  «         #                    d¦  «         |  !                    dZ¦  «         #                    d¦  «         |  !                    d[¦  «         #                    d¦  «         t          j        d\| j        › �t          j        ¦  «         d S )]NÚModeÚproviderÚUnknownÚmodelÚProviderÚModelé   F)ÚindentÚensure_asciizData.Rawr   zCHAT VISUALIZERÚODESLATr%   zREQUEST DATAr   r   Úsystemr   z7[plugin.video.milionar] Request formatted_text length: z, messages count: u!   Nenalezen Å¾Ã¡dnÃ½ System Prompt.zData.Contextú
u<   Å½Ã¡dnÃ¡ kontextovÃ¡ data (seznam titulÅ¯) nebyla pÅ™edÃ¡na.zData.ContextListÚai_context_history_limitÚ20ÚContextLimitzRESPONSE DATAÚOKÚchoicesr   Úmessager   ÚtypeÚtextÚ
candidatesÚpartsu,   Nelze extrahovat obsah odpovÄ›di z JSON dat.u+   System Context nenÃ­ dostupnÃ½ v odpovÄ›di.zData.VisualizerzSidebar.Label.VisualizerÚActionLabelÚusageÚusageMetadataÚinput_tokensÚcached_tokensÚoutput_tokensÚprompt_tokensÚcompletion_tokensz:[plugin.video.milionar] Metrics Fallback triggered: Input=z	, Output=zStats.InputTokenszStats.CachedTokenszStats.OutputTokenszStats.TotalTokensÚcompletion_tokens_detailsÚreasoning_tokenszStats.ReasoningTokensÚlatencyzStats.Latencyz.2fÚszStats.Speedz.1fz T/sÚ
input_costÚcached_input_costÚoutput_costÚ
total_costzStats.InputCostzStats.CachedCostzStats.OutputCostzStats.TotalCostÚcache_savingsg        éd   zStats.SavingsCostzStats.SavingsPercentú%r   Úfinish_reasonzStats.FinishReasonéA  r)   Úresponsez  OKéB  é+#  é-#  zK[plugin.video.milionar] Dialog initialized, CurrentView: visualizer, Mode: )$ÚsetPropertyr$   r   r#   r   ÚjsonÚdumpsr!   r   r   ÚxbmcÚlogÚlenÚLOGINFOr'   Újoinr(   r	   r
   r   r"   r   ÚdictÚKeyErrorÚ
IndexErrorÚ	TypeErrorr   r   r   Ú_normalize_providerr   Ú
setFocusIdÚupdate_viewÚ
getControlÚsetLabelÚ
setVisible)"r/   r5   r7   Úraw_jsonÚformatted_textÚsidebar_labelÚaction_labelr   Ú
system_msgr   Úctx_list_strÚlimit_displayr   Úevtr   rK   Ú	cost_infoÚ	in_tokensrN   Ú
out_tokensÚ	raw_inputÚtotal_tokensrS   rT   Úspeedr   rV   Úcached_costrX   rY   ÚsavingsÚpotential_costÚsavings_percentr]   s"                                     r   ÚonInitzAIDebugRequestDialog.onInit0   s
  € à×Ò˜ ¤§¢Ñ!2Ô!2Ñ3Ô3Ð3Ø”=×$Ò$ Z°Ñ;Ô;ˆØ”×!Ò! '¨9Ñ5Ô5ˆØ×Ò˜ XÑ.Ô.Ð.Ø×Ò˜ %Ñ(Ô(Ð(ð	*Ý”z $¤-¸ÈÐNÑNÔNˆHˆHøð	*Ý˜4œ=Ñ)Ô)ˆHˆHˆHøøøØ×Ò˜ XÑ.Ô.Ð.ð ˆØ)ˆØ ˆàŒ9˜	Ò!Ñ!Ø*ˆMØ$ˆLð ”}×(Ò(¨°RÑ8Ô8ˆHð ˆJØð ð �Ø—7’7˜6‘?”? hÒ.Ð.Ø!$§¢¨°BÑ!7Ô!7�JØ�Eð /õ 1°Ñ:Ô:ˆNÝŒHð  FÍsÐSaÑObÔObð  Fð  FÕvyð  {Cñ  wDô  wDð  Fð  Fõ  HLô  HTñ  Uô  Uð  Uð ð AØ@�
Ø×Ò˜^¨ZÑ8Ô8Ð8ð Ô"ð ^Ø#Ÿyšy¨Ô)<Ñ=Ô=��à]�Ø×ÒÐ/°Ñ>Ô>Ð>ð Ô!ð )Ý # DÔ$6Ñ 7Ô 7��ð)Ý$-¤OÑ$5Ô$5×$@Ò$@ÐA[Ñ$\Ô$\Ð$dÐ`d�M�Møð)Ø$(�M�M�MøøøØ×Ò˜^¨]Ñ;Ô;Ð;Ñ;ð ,ˆMØˆLà!œ^ˆNà!ñ \¥j°´ÅÑ&EÔ&Eñ \ð\à%)¤]°9Ô%=¸aÔ%@ÀÔ%KÈIÔ%V�N‘NøÝ ¥*­iÐ8ð \ñ \ð \ðà!%¤×!2Ò!2°8¸RÑ!@Ô!@˜Ø!ð .¥j°½Ñ&>Ô&>ð .Ø'-ð .ð . Ø#&§7¢7¨6¡?¤?°iÒ#?Ð#?Ø.1¯gªg°iÀÑ.DÔ.D GØ'.ð %.µ:¸gÅtÑ3LÔ3Lð %.Ø9@À¼¿ºÈÐPRÑ9SÔ9S¨Ø(-¨øøøÝ$¥jµ)Ð<ð ð ð Ø˜ðøøøð *ð \ð\à-1¬]¸<Ô-HÈÔ-KÈIÔ-VÐW^Ô-_Ð`aÔ-bÐciÔ-j˜N˜NøÝ (­*µiÐ@ð \ð \ð \Ø-[˜N˜N˜Nð\øøøøøð%\øøøð* ×Ò˜^Ð-ZÑ[Ô[Ð[à×ÒÐ*¨NÑ;Ô;Ð;Ø×ÒÐ3°]ÑCÔCÐCØ×Ò˜¨Ñ5Ô5Ð5ð ”×!Ò! '¨2Ñ.Ô.ˆð ð 	F˜¨D¬MÐ9Ð9Ý% d¤m°OÔ&DÑEÔEˆEå" 4×#;Ò#;¸HÑ#EÔ#EÀuÈeÑTÔTˆ	à—M’M .°!Ñ4Ô4ˆ	Ø!Ÿš o°qÑ9Ô9ˆØ—]’] ?°AÑ6Ô6ˆ
ð ˜Š>ˆ>ØŸ	š	 /Ñ2Ô2ÐT°e·i²iÀÑ6OÔ6OÐTÐSTˆIØ˜1Š}ˆ}Ø%�	Ø !�Ø"ŸYšYÐ':Ñ;Ô;Ð^¸u¿yºyÈÑ?YÔ?YÐ^Ð]^�
Ý”ÐvÐV_ÐvÐvÐjtÐvÐvÕx|ô  yEñ  Fô  Fð  Fà  =Ñ0°:Ñ=ˆà×ÒÐ,­c°)©n¬nÑ=Ô=Ð=Ø×ÒÐ-­s°=Ñ/AÔ/AÑBÔBÐBØ×ÒÐ-­s°:©¬Ñ?Ô?Ð?Ø×ÒÐ,­c°,Ñ.?Ô.?Ñ@Ô@Ð@ð ÐØ&¨%Ð/Ð/Ø %Ð&AÔ B× FÒ FÐGYÐ[\Ñ ]Ô ]ÐØ×ÒÐ0µ#Ð6FÑ2GÔ2GÑHÔHÐHð ”-×#Ò# I¨qÑ1Ô1ˆØ×Ò˜¨WÐ*;Ð*;Ð*;Ð*;Ñ<Ô<Ð<àˆØ�QŠ;ˆ;˜:¨š>˜>Ø Ñ(ˆEØ×Ò˜¨5Ð(:Ð(:Ð(:Ð(:Ñ;Ô;Ð;õ ”Ñ!Ô!ˆØ—]’] <°Ñ3Ô3ˆ
Ø—m’mÐ$7¸Ñ;Ô;ˆØ—m’m M°1Ñ5Ô5ˆØ—]’] <°Ñ3Ô3ˆ
à×ÒÐ*­K¸
ÀEÑ,JÔ,JÑKÔKÐKØ×ÒÐ+­[¸ÀeÑ-LÔ-LÑMÔMÐMØ×ÒÐ+­[¸ÀeÑ-LÔ-LÑMÔMÐMØ×ÒÐ*­K¸
ÀEÑ,JÔ,JÑKÔKÐKð —-’- °Ñ5Ô5ˆØ$ wÑ.ˆØ>LÈqÒ>PÐ>P˜7 ^Ñ3°sÑ:Ð:ÐVYˆà×ÒÐ,­k¸'À5Ñ.IÔ.IÑJÔJÐJØ×ÒÐ/°OÐ1JÐ1JÐ1JÐ1JÑKÔKÐKð "ˆÝ�d”m¥TÑ*Ô*ð 	¨y¸D¼MÐ/IÐ/IðØ!%¤¨yÔ!9¸!Ô!<¸_Ô!M��øØ�T�TøøøØ×ÒÐ-­s°=Ñ/AÔ/A×/GÒ/GÑ/IÔ/IÑJÔJÐJà�Š˜ÑÔÐØ×Ò˜Ñ&Ô&Ð&ð Œ9˜
Ò"Ð"à�OŠO˜DÑ!Ô!×*Ò*¨6Ñ2Ô2Ð2Ø�OŠO˜DÑ!Ô!×,Ò,¨UÑ3Ô3Ð3ð �OŠO˜DÑ!Ô!×,Ò,¨UÑ3Ô3Ð3Ø�OŠO˜DÑ!Ô!×,Ò,¨UÑ3Ô3Ð3åŒÐjÐ_cÔ_hÐjÐjÕlpÔlxÑyÔyÐyÐyÐys   ÂB. Â.CÈ(H0 È0H6É;J ÊN?Ê5BMÍN?ÍM+Í(N?Í*M+Í+N?Í1+NÎN?ÎN9Î6N?Î8N9Î9N?Î>N?à`, à,`0c                 óz   — |                      ¦   «         }d|v rdS d|v sd|v rdS d|v sd|v rdS d|v rdS d|v rdS |S )u@   PÅ™evede nÃ¡zev providera na klÃ­Ä� pouÅ¾Ã­vanÃ½ v UsageTracker.ÚopenaiÚ	anthropicÚclaudeÚgoogleÚgeminiÚmistralÚgroq)Úlower)r/   Úprovider_nameÚps      r   ro   z(AIDebugRequestDialog._normalize_providerè   sk   € à×ÒÑ!Ô!ˆØ�qˆ=ˆ=  Ø˜!ÐÐ˜x¨1˜}˜}°[°[Ø�qˆ=ˆ=˜H¨˜M˜M°(°(Ø˜ˆ>ˆ> ) )Ø�Qˆ;ˆ;˜v˜vØˆr   c                 ó@   — || _         |                      d|¦  «         d S )NÚCurrentView)r.   rc   )r/   Ú	view_names     r   rq   z AIDebugRequestDialog.update_viewò   s&   € Ø%ˆÔØ×Ò˜¨	Ñ2Ô2Ð2Ð2Ð2r   c                 ón  — |dk    r|                       d¦  «         d S |dk    r|                       d¦  «         d S |dk    r|                       d¦  «         d S |dk    r|                       d¦  «         d S |d	k    r|                       d
¦  «         d S |dk    s|dk    r|                       d¦  «         d S d S )Ni)#  r)   i*#  Úrawra   Úcontexti,#  Ústatsrb   r'   r^   r`   )rq   )r/   Ú	controlIds     r   ÚonFocuszAIDebugRequestDialog.onFocus÷   sõ   € à˜ÒÐØ×Ò˜\Ñ*Ô*Ð*Ð*Ð*Ø˜$ÒÐØ×Ò˜UÑ#Ô#Ð#Ð#Ð#Ø˜$ÒÐØ×Ò˜YÑ'Ô'Ð'Ð'Ð'Ø˜$ÒÐØ×Ò˜WÑ%Ô%Ð%Ð%Ð%Ø˜$ÒÐØ×ÒÐ-Ñ.Ô.Ð.Ð.Ð.ð ˜$ÒÐ )¨tÒ"3Ð"3Ø×Ò˜lÑ+Ô+Ð+Ð+Ð+ð #4Ð"3r   c                 ó¾  — 	 |dk    rH| j         r$| j        dk    rdnd}|                       |¦  «         d| _        |                      ¦   «          d S |dk    r9| j         r|                       d¦  «         d| _        |                      ¦   «          d S d S # t          $ rA}t          j        d|› �t
          j        ¦  «         |                      ¦   «          Y d }~d S d }~ww xY w)	Nr^   r%   ÚsendÚcontinueTr`   Úcancelz?[plugin.video.milionar] Error in AIDebugRequestDialog.onClick: )r,   r$   r-   ÚcloseÚ	Exceptionrf   rg   ÚLOGERROR)r/   rš   ÚactionÚes       r   ÚonClickzAIDebugRequestDialog.onClick  s  € ð	à˜DÒ Ð ØÔ*ð 4à'+¤y°IÒ'=Ð'=˜V˜VÀ:�FØ×+Ò+¨FÑ3Ô3Ð3à"�”Ø—
’
‘”���à˜dÒ"Ð"ØÔ*ð 6Ø×+Ò+¨HÑ5Ô5Ð5à"�”Ø—
’
‘”���ð #Ð"øõ ð 	ð 	ð 	ÝŒHÐZÐWXÐZÐZÕ\`Ô\iÑjÔjÐjØ�JŠJ‰LŒLˆLˆLˆLˆLˆLˆLˆLøøøøð	øøøs   ‚AB Á=B Â
CÂ6CÃCc                 ó¨   — |                      ¦   «         dv r9d| _        |                      ¦   «          | j        r|                      d¦  «         d S d S d S )N)é	   é
   é\   TrŸ   )ÚgetIdr-   r    r,   )r/   r£   s     r   ÚonActionzAIDebugRequestDialog.onAction#  sb   € ð
 �<Š<‰>Œ>˜[Ð(Ð(ØˆDŒKØ�JŠJ‰LŒLˆLØÔ&ð 2Ø×'Ò'¨Ñ1Ô1Ð1Ð1Ð1ð	 )Ð(ð2ð 2r   )Ú__name__Ú
__module__Ú__qualname__r+   r‡   ro   rq   r›   r¥   r«   Ú__classcell__)r2   s   @r   r   r       s™   ø€ € € € € ð)ð )ð )ð )ð )ðvzð vzð vzðpð ð ð3ð 3ð 3ð
,ð ,ð ,ð"ð ð ð6	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2r   r   Fc           	      óŠ   ‡— |st          ¦   «         sdS ddiŠˆfd„}| |ddœ}t          |d |d|||¬¦  «         ‰d         d	k    S )
NTr£   rŸ   c                 ó   •— | ‰d<   d S ©Nr£   © ©r£   Úresults    €r   Úcallbackz(show_api_request_debug.<locals>.callback3  ó   ø€ Ø!ˆˆxÑÐÐr   r   ©r5   r7   rT   r%   )r'   r(   r�   ©r   Ú_show_dialog)	r5   r7   Úrequest_datar'   r(   Úforcer¶   r#   rµ   s	           @r   Úshow_api_request_debugr½   /  s|   ø€ ØÐ=Õ.Ñ0Ô0Ð=¸¸à˜Ð!€Fð"ð "ð "ð "ð "ð %¨uÀÐCÐC€Hå�˜t X¨y¸(ÐSaÐq~ÐÑÔÐà�(Ô˜vÒ%Ð%r   c                 ó„   ‡— |st          ¦   «         sdS ddiŠˆfd„}| ||dœ}t          |||d|¦  «         ‰d         dk    S )NTr£   rŸ   c                 ó   •— | ‰d<   d S r²   r³   r´   s    €r   r¶   z)show_api_response_debug.<locals>.callback@  r·   r   r¸   r_   rž   r¹   )	r5   r7   Úresponse_dataÚresponse_textrT   r¼   r¶   r#   rµ   s	           @r   Úshow_api_response_debugrÂ   <  ss   ø€ ØÐ=Õ.Ñ0Ô0Ð=¸¸à˜Ð!€Fð"ð "ð "ð "ð "ð %¨uÀÐIÐI€Hå� ¨x¸ÀXÑNÔNÐNà�(Ô˜zÒ)Ð)r   c                 ól   — |st          ¦   «         sd S | |ddœ}||dœ}d„ }t          |||d|¦  «         d S )Nr   r¸   )ÚerrorÚdetailsc                 ó   — d S )Nr³   )r£   s    r   r¶   z&show_api_error_debug.<locals>.callbackP  s   € € € r   r_   r¹   )r5   r7   Úerror_messageÚ
error_datar¼   r#   Údatar¶   s           r   Úshow_api_error_debugrÊ   I  s[   € ØÐ8Õ.Ñ0Ô0Ð8°&°&ð %¨uÀÐCÐC€HØ"¨zÐ:Ð:€DàÐÐÝ��} h°
¸HÑEÔEÐEÐEÐEr   c           	      ó�  — t          j        ¦   «         }d}	 t          ||                     d¦  «        ddf| ||||dœ|¤Ž}|                     ¦   «          ~d S # t
          $ rd}	t          j        d|› d|	› �t          j        ¦  «         t          j
        ¦   «                              dt          |	¦  «        ¦  «         Y d }	~	d S d }	~	ww xY w)	Nzai/DialogAIDebugRequest.xmlÚpathÚDefaultÚ1080i)r!   r"   r#   r$   r&   u0   [plugin.video.milionar] Chyba pÅ™i otevÃ­rÃ¡nÃ­ z: zChyba Debuggeru)r	   r
   r   ÚgetAddonInfoÚdoModalr¡   rf   rg   r¢   ÚxbmcguiÚDialogÚokr   )
r!   r"   r#   r$   r¶   r1   r   Úxml_pathÚdialogr¤   s
             r   rº   rº   S  sþ   € ÝŒOÑÔ€EØ,€Hð7Ý%ØØ×Ò˜vÑ&Ô&ØØð	
ð
 ØØØØð
ð 
ð ð
ð 
ˆð 	�ŠÑÔÐØˆFˆFøÝð 7ð 7ð 7ÝŒÐSÀHÐSÐSÐPQÐSÐSÕUYÔUbÑcÔcÐcÝŒÑÔ×ÒÐ-­s°1©v¬vÑ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6øøøøð7øøøs   —>A Á
CÁ!AC Ã C)NNF)Nr   F)NF)Ú__doc__rÑ   r	   rd   rf   ÚtimeÚwcs.ai.UsageTrackerr   r   r   r   r   ÚWindowXMLDialogr   r½   rÂ   rÊ   rº   r³   r   r   ú<module>rÚ      s  ððð ð €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nð7ð 7ð 7ð
ð ð ðL2ð L2ð L2ð L2ð L2˜7Ô2ñ L2ô L2ð L2ð^&ð &ð &ð &ð*ð *ð *ð *ðFð Fð Fð Fð7ð 7ð 7ð 7ð 7r   