<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
<_e              *   @   s~  d dl Z d dlZd dlmZ d dlZd dlZd dlmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ ejjd	Zg Zd d
lmZ eZx6dD ].Zee
ee e< ed	ed$e  eje qW xXdD ]PZej " ejdOe ee
ee e< W dQ R X ed	ed$e  eje  qW xHdD ]@Zejd\d]d Zee
ee e< ed	ed$e  eje q0W xHdD ]@Zejd\d]d Zee
ee e< ed	ed$e  eje qzW ejdpZ ejdqZ!ejdrZ"ejdsZ#ejdtZ$ejduZ%ejdvZ&ejdwZ'ejdxZ(ejdyZ)ejdzZ*ejd{Z+ejd|Z,ejd}Z-ejd~Z.ejdZ/ejdZ0ejdZ1ejdZ2ejdZ3ejd	Z4ejdZ5ejdZ6ejdZ7ejdZ8ejdZ9ej:j;Z<e'Z=eddddddddddddddddddddddddddddg7 Zx8dD ]0Zee
ee e< ed	ed$e  eje qW xJdD ]BZejd\d]d Zeej>ee e< ed	ede  eje qNW ej>j?ej>j@B ZAejd eBej>dred	dd xLdD ]DZejd\d]d  ZeejCee e< ed	ede  eje qW ejDZDejEZEejFZFejGZGejHZHejIZIejJZJejKZKejLZLejMZMedd|d}drd	dddddg
7 ZejNZNejOZOejPZPejQZQe
jRZRejSZSeddddddg7 ZG ddń dej:Z:ee:Z:ejdŃ ddǄ Zejdǃ ddɄ ZTejdɃ dd˄ ZUdd̈́ ZVejd̓ ddτ ZWejdσ ddф ZXejdу edddddddgZYdddڄZZejdڃ G dd܄ de[Z\ddބ Z]ejdރ dd Z^ejd dd Z_ejd dddZ`ejd dddZaejd ejbZbejcZceddg7 ZG dd de[Zddd ZeG dd dejfZfeefZfefZHedd	g7 ZG dd dejgZgeegZgejd ejhZhejiZiejjZjehZked	dd eddddg7 ZdS (      N)
namedtuple)overridedeprecated_attr)GLib)PyGIDeprecationWarning)_propertyhelper)_signalhelper)_giGObject)_optionmarkup_escape_textget_application_nameset_application_nameget_prgnameset_prgname
main_depthfilename_display_basenamefilename_display_namefilename_from_utf8uri_list_extract_urisMainLoopMainContextmain_context_defaultsource_removeSourceIdleTimeoutPollFDidle_addtimeout_addtimeout_add_secondsio_add_watchchild_watch_addget_current_timespawn_asynczGLib.PRIORITY_DEFAULTPRIORITY_DEFAULT_IDLEPRIORITY_HIGHPRIORITY_HIGH_IDLEPRIORITY_LOWIO_INIO_OUTIO_PRIIO_ERRIO_HUPIO_NVALIO_STATUS_ERRORIO_STATUS_NORMALIO_STATUS_EOFIO_STATUS_AGAINIO_FLAG_APPENDIO_FLAG_NONBLOCKIO_FLAG_IS_READABLEIO_FLAG_IS_WRITEABLEIO_FLAG_IS_SEEKABLEIO_FLAG_MASKIO_FLAG_GET_MASKIO_FLAG_SET_MASKSPAWN_LEAVE_DESCRIPTORS_OPENSPAWN_DO_NOT_REAP_CHILDSPAWN_SEARCH_PATHSPAWN_STDOUT_TO_DEV_NULLSPAWN_STDERR_TO_DEV_NULLSPAWN_CHILD_INHERITS_STDINSPAWN_FILE_AND_ARGV_ZEROOPTION_FLAG_HIDDENOPTION_FLAG_IN_MAINOPTION_FLAG_REVERSEOPTION_FLAG_NO_ARGOPTION_FLAG_FILENAMEOPTION_FLAG_OPTIONAL_ARGOPTION_FLAG_NOALIASOPTION_ERROR_UNKNOWN_OPTIONOPTION_ERROR_BAD_VALUEOPTION_ERROR_FAILEDOPTION_REMAININGglib_versionignore	G_MININT8	G_MAXINT8
G_MAXUINT8
G_MININT16
G_MAXINT16G_MAXUINT16
G_MININT32
G_MAXINT32G_MAXUINT32
G_MININT64
G_MAXINT64G_MAXUINT64_   
G_MINFLOAT
G_MAXFLOATG_MINDOUBLEG_MAXDOUBLE
G_MINSHORT
G_MAXSHORTG_MAXUSHORTG_MININTG_MAXINT	G_MAXUINT	G_MINLONG	G_MAXLONG
G_MAXULONG	G_MAXSIZE
G_MINSSIZE
G_MAXSSIZEG_MINOFFSETG_MAXOFFSETZinvalidvoid
GInterfaceZgcharZgucharZgbooleanZgintZguintZglongZgulongZgint64Zguint64GEnumGFlagsZgfloatZgdoubleZ
gchararrayZgpointerGBoxedZGParamZPyObjectGTypeZGStrvZGVariantZGStringTYPE_INVALID	TYPE_NONETYPE_INTERFACE	TYPE_CHAR
TYPE_UCHARTYPE_BOOLEANTYPE_INT	TYPE_UINT	TYPE_LONG
TYPE_ULONG
TYPE_INT64TYPE_UINT64	TYPE_ENUM
TYPE_FLAGS
TYPE_FLOATTYPE_DOUBLETYPE_STRINGTYPE_POINTER
TYPE_BOXED
TYPE_PARAMTYPE_OBJECTTYPE_PYOBJECT
TYPE_GTYPE	TYPE_STRVTYPE_VARIANTTYPE_GSTRINGTYPE_UNICHAR
TYPE_VALUEPidGErrorOptionGroupOptionContextPARAM_CONSTRUCTPARAM_CONSTRUCT_ONLYPARAM_LAX_VALIDATIONPARAM_READABLEPARAM_WRITABLEzGObject.ParamFlags.PARAM_READWRITEZ	READWRITEz)GObject.ParamFlags.READWRITE (glib 2.42+)SIGNAL_ACTIONSIGNAL_DETAILEDSIGNAL_NO_HOOKSSIGNAL_NO_RECURSESIGNAL_RUN_CLEANUPSIGNAL_RUN_FIRSTSIGNAL_RUN_LASTzGObject.SignalFlags.GObjectWeakRef
GParamSpecGPointerWarningfeatureslist_propertiesnewpygobject_versionthreads_inittype_registerc                   sN   e Zd ZdddZ fddZdd Zdd	 Zd
d Zdd Zdd Z	  Z
S )ValueNc             C   s4   t jj|  |d k	r0| j| |d k	r0| j| d S )N)GObjectModuler   __init__Zinit	set_value)selfZ
value_typepy_value r   /usr/lib64/python3.6/GObject.pyr      s
    
zValue.__init__c                s*   | j r| jtkr| j  tt| j  d S )N)Z_free_on_deallocg_typerv   Zunsetsuperr   __del__)r   )	__class__r   r   r      s    zValue.__del__c             C   s   t j| | d S )N)r	   Z_gvalue_set)r   Zboxedr   r   r   	set_boxed   s    zValue.set_boxedc             C   s
   t j| S )N)r	   Z_gvalue_get)r   r   r   r   	get_boxed   s    zValue.get_boxedc             C   s  | j }|tjkrtdnb|tkr2| j| nL|tkrH| j| n6|tkr^| j	| n |t
krt| j| n
|tkr| j| n|tkr| j| n|tkr| j| n|tkr| j| n|tkr| j| n|tkr| j| n|tkr| j| nn|tkrt|tr0t|}nNtjdk rjt|trT|j d}nt!d|t"|f nt!d|t"|f | j#| n|t$kr| j%| n|j&t'r| j(| n|j&t)r| j*| n|j&t+r| j,| n|t-kr| j.| n|j&t/r| j0| nh|t1kr0| jt2| nN|t3krF| j4| n8|t5kr\| j6| n"|t7krr| j,| ntd| d S )	Nz+GObject.Value needs to be initialized first   r   zUTF-8z'Expected string or unicode but got %s%szExpected string but got %s%szUnknown value type %s)r   r   )8r   r	   rv   	TypeErrorr{   Zset_booleanry   Zset_charrz   Z	set_ucharr|   Zset_intr}   Zset_uintr~   Zset_longr   Z	set_ulongr   Z	set_int64r   Z
set_uint64r   Z	set_floatr   Z
set_doubler   
isinstancestrsysversion_infoZunicodeencode
ValueErrortypeZ
set_stringr   Z	set_paramis_ar   Zset_enumr   Z	set_flagsr   r   r   Zset_pointerr   Z
set_objectr   intr   Z	set_gtyper   Zset_variantr   )r   r   gtyper   r   r   r      sr    









zValue.set_valuec             C   s  | j }|tkr| j S |tkr&| j S |tkr6| j S |tkrF| j S |t	krV| j
 S |tkrf| j S |tkrv| j S |tkr| j S |tkr| j S |tkr| j S |tkr| j S |tkr| j S |tk r| j S |jt r| j S |jtr | j S |jt r| j! S |t"kr&| j# S |jt$r:| j% S |t&krL| j
 S |t'kr^| j( S |t)krp| j* S |t+kr|nd S d S )N),r   r{   Zget_booleanry   Zget_charrz   Z	get_ucharr|   Zget_intr}   Zget_uintr~   Zget_longr   Z	get_ulongr   Z	get_int64r   Z
get_uint64r   Z	get_floatr   Z
get_doubler   Z
get_stringr   Z	get_paramr   r   Zget_enumr   Z	get_flagsr   r   r   Zget_pointerr   Z
get_objectr   r   Z	get_gtyper   Zget_variantr   )r   r   r   r   r   	get_value-  s\    





zValue.get_valuec             C   s   d| j j| j f S )Nz<Value (%s) %s>)r   namer   )r   r   r   r   __repr___  s    zValue.__repr__)NN)__name__
__module____qualname__r   r   r   r   r   r   r   __classcell__r   r   )r   r   r      s   
A2r   c             C   s"   t j| }|tkrtd|  |S )Nzunknown type name: %s)r   type_from_namerv   RuntimeError)r   type_r   r   r   r   g  s    
r   c             C   s   t j| }|tkrtd|S )Nzno parent for type)r   type_parentrv   r   )r   parentr   r   r   r   q  s    
r   c             C   s4   t | dr| j} | j  r0| j  r0td|  d S )N	__gtype__z1type must be instantiable or an interface, got %s)hasattrr   Zis_instantiatableZis_interfacer   )r   r   r   r    _validate_type_for_signal_method{  s    
r   c             C   s   t |  tj| S )N)r   r   signal_list_ids)r   r   r   r   r     s    r   c             C   s   t | }tdd |D S )Nc             s   s   | ]}t j|V  qd S )N)r   signal_name).0ir   r   r   	<genexpr>  s    z$signal_list_names.<locals>.<genexpr>)r   tuple)r   Zidsr   r   r   signal_list_names  s    r   c             C   s   t | tj| |S )N)r   r   signal_lookup)r   r   r   r   r   r     s    r   SignalQuery	signal_idr   itypesignal_flagsreturn_typeparam_typesc             C   sX   |d k	rt | |} tj| }|d kr(d S |jdkr6d S t|j|j|j|j|jt	|j
S )Nr   )r   r   signal_queryr   r   r   r   r   r   r   r   )Z
id_or_namer   resr   r   r   r     s    


r   c               @   s$   e Zd Zdd Zdd Zdd ZdS )_HandlerBlockManagerc             C   s   || _ || _d S )N)obj
handler_id)r   r   r   r   r   r   r     s    z_HandlerBlockManager.__init__c             C   s   d S )Nr   )r   r   r   r   	__enter__  s    z_HandlerBlockManager.__enter__c             C   s   t j| j| j d S )N)r   signal_handler_unblockr   r   )r   exc_type	exc_value	tracebackr   r   r   __exit__  s    z_HandlerBlockManager.__exit__N)r   r   r   r   r   r   r   r   r   r   r     s   r   c             C   s   t j| | t| |S )a  Blocks the signal handler from being invoked until
    handler_unblock() is called.

    :param GObject.Object obj:
        Object instance to block handlers for.
    :param int handler_id:
        Id of signal to block.
    :returns:
        A context manager which optionally can be used to
        automatically unblock the handler:

    .. code-block:: python

        with GObject.signal_handler_block(obj, id):
            pass
    )r   signal_handler_blockr   )r   r   r   r   r   r     s    r   c             C   s4   t j| ||\}}}|r ||fS td|| f dS )a%  Parse a detailed signal name into (signal_id, detail).

    :param str detailed_signal:
        Signal name which can include detail.
        For example: "notify:prop_name"
    :returns:
        Tuple of (signal_id, detail)
    :raises ValueError:
        If the given signal is unknown.
    z%s: unknown signal name: %sN)r   signal_parse_namer   )detailed_signalr   Zforce_detail_quarkr   r   detailr   r   r   r     s
    r   c             C   s    t || d\}}tj|| d S )NT)r   r   Zsignal_remove_emission_hook)r   r   Zhook_idr   r   r   r   r   remove_emission_hook  s    r   c             C   s   d|fS )NFr   )ihintreturn_accuhandler_return	user_datar   r   r   signal_accumulator_first_wins   s    r   c             C   s
   | |fS )Nr   )r   r   r   r   r   r   r   signal_accumulator_true_handled  s    r   add_emission_hook
signal_newc               @   s$   e Zd Zdd Zdd Zdd ZdS )_FreezeNotifyManagerc             C   s
   || _ d S )N)r   )r   r   r   r   r   r     s    z_FreezeNotifyManager.__init__c             C   s   d S )Nr   )r   r   r   r   r     s    z_FreezeNotifyManager.__enter__c             C   s   | j j  d S )N)r   Zthaw_notify)r   r   r   r   r   r   r   r     s    z_FreezeNotifyManager.__exit__N)r   r   r   r   r   r   r   r   r   r   r     s   r   c                s   t jj  fdd}|S )Nc                 s
    | |S )Nr   )argskwargs)funcr   r   meth'  s    z_signalmethod.<locals>.meth)giZ	overrideswraps)r   r   r   )r   r   _signalmethod#  s    r  c                   sj  e Zd Zdd Zdd ZeZeZeZeZeZ	eZ
eZeZeZeZeZeZeZeZeZejjZejjZejjZejjZeZeZeZeZejj Z ejj!Z!ejj"Z"ejj#Z#ejj$Z$ejj%Z%ejj&Z&ejj'Z'ejj(Z(ejj)Z)ejj*Z*ejj+Z+ejj,Z,ejj-Z-ejj.Z.ejj/Z/ejj0Z0 fddZ1dd Z2e3Z4e5ej6Z7e5ej8Z9e5ej8Z:e5ej;Z<e5ej=Z>d	d
 Z?e?Z@  ZAS )Objectc             O   s   t dd S )Nz%This method is currently unsupported.)r   )r   r   kargsr   r   r   _unsupported_method.  s    zObject._unsupported_methodc             O   s   t dd S )NzIData access methods are unsupported. Use normal Python attributes instead)r   )r   r   r  r   r   r   _unsupported_data_method1  s    zObject._unsupported_data_methodc                s   t t| j  t| S )a  Freezes the object's property-changed notification queue.

        :returns:
            A context manager which optionally can be used to
            automatically thaw notifications.

        This will freeze the object so that "notify" signals are blocked until
        the thaw_notify() method is called.

        .. code-block:: python

            with obj.freeze_notify():
                pass
        )r   r  freeze_notifyr   )r   )r   r   r   r  i  s    zObject.freeze_notifyc                st   |j dd}|tjj@ r"tjj}ntjj}|tjj@ r^t	|dkrPt
d|g  fdd}n }|| ||f| S )a   Connect a callback to the given signal with optional user data.

        :param str detailed_signal:
            A detailed signal to connect to.
        :param callable handler:
            Callback handler to connect to the signal.
        :param *data:
            Variable data which is passed through to the signal handler.
        :param GObject.ConnectFlags connect_flags:
            Flags used for connection options.
        :returns:
            A signal id which can be used with disconnect.
        Zconnect_flagsr   r]   zWUsing GObject.ConnectFlags.SWAPPED requires exactly one argument for user data, got: %sc                s(   t |}|j }|| g } |f| S )N)listpop)r   r   Zswap)handlerr   r   new_handler  s    
z(Object.connect_data.<locals>.new_handler)getr   ZConnectFlagsZAFTERr	   r
   connect_afterconnectZSWAPPEDlenr   )r   r   r  datar   flagsZconnect_funcr  r   )r  r   connect_data{  s    

zObject.connect_datac             C   s   t j| jjtdd | j|S )z-Deprecated, please use stop_emission_by_name.   )
stacklevel)warningswarnstop_emission__doc__r   stop_emission_by_name)r   r   r   r   r   r    s    zObject.stop_emission)Br   r   r   r  r  get_dataZ	get_qdataset_dataZ
steal_dataZsteal_qdataZreplace_dataZreplace_qdataZbind_property_fullZcompat_controlZinterface_find_propertyZinterface_install_propertyZinterface_list_propertiesZnotify_by_pspecZrun_disposeZwatch_closurer   r  refZ_refZref_sinkZ	_ref_sinkZunrefZ_unrefZforce_floatingZ_force_floatingr	   r
   Zget_propertyZget_propertiesZset_propertyZset_propertiesZbind_propertyr  r  Zconnect_objectZconnect_object_afterZdisconnect_by_funcZhandler_block_by_funcZhandler_unblock_by_funcemitchainZweak_ref__copy____deepcopy__r  r  r   Zhandler_blockr  r   Zhandler_unblockZsignal_handler_disconnectZ
disconnectZhandler_disconnectZsignal_handler_is_connectedZhandler_is_connectedZsignal_stop_emission_by_namer  r  Zemit_stop_by_namer   r   r   )r   r   r  -  sh   )




r  c                   s$   e Zd Zdd Z fddZ  ZS )Bindingc             C   s   t jdtdd | S )NzUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.r  )r  )r  r  r   )r   r   r   r   __call__  s    
zBinding.__call__c                s2   t | drtdnt| dd tt| j  d S )NZ_unboundz$binding has already been cleared outT)r   r   setattrr   r"  unbind)r   )r   r   r   r%    s    

zBinding.unbind)r   r   r   r#  r%  r   r   r   )r   r   r"    s   r"  propertyzGObject.PropertyPropertySignalSignalOverride)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   )*r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   )rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   )r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   r*  )r   r   r   r   )r   r   r   r   r   r*  )r   r   r   r   r   r   r   r*  )N)N)N)lr   r  collectionsr   Zgi.overridesr  Z	gi.moduler   r   Zgi.repositoryr   r   r   Zpropertyhelperr   Zsignalhelperr	   moduleZget_introspection_moduler   __all__r   Zoptionr   getattrglobalsappendcatch_warningssimplefiltersplitnew_namer   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z
ParamFlagsZREADABLEZWRITABLEr   r   ZSignalFlagsrt   rr   rs   rq   r
   r   r   r   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   objectr   r   r   r   r   r   r   r   r   r  r  r"  r'  r(  r)  r&  r   r   r   r   <module>   s                         
   
































  












 
