U
    ÍZj@`  ã                   @   sT  d dl Z d dlZd dlm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mZ d dlmZ d dlmZ d d	lmZ ej d
¡Zg Zd dlmZ eZdD ].Zee
eƒeƒ e< ed
ede ƒ e e¡ q¤dD ]NZe ¡ �" e de¡ ee
eƒeƒ e< W 5 Q R X ed
ede ƒ e e¡ qØdD ]@Ze  dd¡d Z!ee
e!ƒeƒ e< ed
ede! ƒ e e¡ �q,dD ]@Ze  dd¡d Z!ee
e!ƒeƒ e< ed
ede! ƒ e e¡ �qre "d¡Z#e "d¡Z$e "d¡Z%e "d¡Z&e "d¡Z'e "d¡Z(e "d¡Z)e "d¡Z*e "d¡Z+e "d¡Z,e "d¡Z-e "d ¡Z.e "d!¡Z/e "d"¡Z0e "d#¡Z1e "d$¡Z2e "d%¡Z3e "d&¡Z4e "d'¡Z5e "d(¡Z6e "d
¡Z7e "d)¡Z8e "d*¡Z9e "d+¡Z:e "d,¡Z;e "d-¡Z<ej=j>Z?e*Z@ed.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIg7 ZdJD ]0Zee
eƒeƒ e< ed
ede ƒ e e¡ �qdKD ]BZe  dd¡d Z!eejAe!ƒeƒ e< ed
edLe! ƒ e e¡ �q>ejAjBejAjCB ZDed
dMdNƒ e dM¡ dOD ]BZe  dd¡d Z!eejEe!ƒeƒ e< ed
edPe! ƒ e e¡ �q¬ejFZFejGZGejHZHejIZIejJZJejKZKejLZLejMZMejNZNejOZOed'd!d"dd
dQdRdSd*dTg
7 ZdUdViZPejQZQejRZRejSZSe
jTZTejUZUedWdXdYdZd[d\g7 ZG d]d^„ d^ej=ƒZ=ee=ƒZ=e d^¡ d_d`„ Z"e d`¡ dadb„ ZVe db¡ dcdd„ ZWdedf„ ZXe df¡ dgdh„ ZYe dh¡ didj„ ZZe dj¡ edkdldmdndodpdqgƒZ[d�drds„Z\e ds¡ G dtdu„ due]ƒZ^dvdw„ Z_e dw¡ dxdy„ Z`e dy¡ dzd{„ Zae d{¡ d�d|d}„Zbe d}¡ d‘d~d„Zce d¡ ejdZdejeZeed€d�g7 ZG d‚dƒ„ dƒe]ƒZfd„d…„ ZgG d†d‡„ d‡ejhƒZheehƒZhehZJed‡d
g7 ZG dˆd‰„ d‰ejiƒZieeiƒZie d‰¡ ejjZjejkZkejlZlejZmed
dŠd‹ƒ edŒd�dŽdŠg7 ZdS )’é    N)Ú
namedtuple)ÚoverrideÚdeprecated_attr)ÚGLib)ÚPyGIDeprecationWarning)ÚPY2Ú	text_type)Ú_propertyhelper)Ú_signalhelper)Ú_giÚGObject)Ú_option)Zmarkup_escape_textZget_application_nameZset_application_nameZget_prgnameZset_prgnameZ
main_depthZfilename_display_basenameZfilename_display_nameZfilename_from_utf8Zuri_list_extract_urisZMainLoopZMainContextZmain_context_defaultZsource_removeZSourceÚIdleÚTimeoutZPollFDZidle_addZtimeout_addZtimeout_add_secondsZio_add_watchZchild_watch_addZget_current_timeZspawn_asynczGLib.)*ZPRIORITY_DEFAULTZPRIORITY_DEFAULT_IDLEZPRIORITY_HIGHZPRIORITY_HIGH_IDLEZPRIORITY_LOWZIO_INZIO_OUTZIO_PRIZIO_ERRZIO_HUPZIO_NVALZIO_STATUS_ERRORZIO_STATUS_NORMALZIO_STATUS_EOFZIO_STATUS_AGAINZIO_FLAG_APPENDZIO_FLAG_NONBLOCKZIO_FLAG_IS_READABLEZIO_FLAG_IS_WRITEABLEZIO_FLAG_IS_SEEKABLEZIO_FLAG_MASKZIO_FLAG_GET_MASKZIO_FLAG_SET_MASKZSPAWN_LEAVE_DESCRIPTORS_OPENZSPAWN_DO_NOT_REAP_CHILDZSPAWN_SEARCH_PATHZSPAWN_STDOUT_TO_DEV_NULLZSPAWN_STDERR_TO_DEV_NULLZSPAWN_CHILD_INHERITS_STDINZSPAWN_FILE_AND_ARGV_ZEROZOPTION_FLAG_HIDDENZOPTION_FLAG_IN_MAINZOPTION_FLAG_REVERSEZOPTION_FLAG_NO_ARGZOPTION_FLAG_FILENAMEZOPTION_FLAG_OPTIONAL_ARGZOPTION_FLAG_NOALIASZOPTION_ERROR_UNKNOWN_OPTIONZOPTION_ERROR_BAD_VALUEZOPTION_ERROR_FAILEDZOPTION_REMAININGZglib_versionÚignore)Z	G_MININT8Z	G_MAXINT8Z
G_MAXUINT8Z
G_MININT16Z
G_MAXINT16ZG_MAXUINT16Z
G_MININT32Z
G_MAXINT32ZG_MAXUINT32Z
G_MININT64Z
G_MAXINT64ZG_MAXUINT64Ú_é   éÿÿÿÿ)Z
G_MINFLOATZ
G_MAXFLOATZG_MINDOUBLEZG_MAXDOUBLEZ
G_MINSHORTZ
G_MAXSHORTZG_MAXUSHORTZG_MININTZG_MAXINTZ	G_MAXUINTZ	G_MINLONGZ	G_MAXLONGZ
G_MAXULONGZ	G_MAXSIZEZ
G_MINSSIZEZ
G_MAXSSIZEZG_MINOFFSETZG_MAXOFFSETÚ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)ZPidZGErrorÚOptionGroupZOptionContext)ZPARAM_CONSTRUCTZPARAM_CONSTRUCT_ONLYZPARAM_LAX_VALIDATIONZPARAM_READABLEZPARAM_WRITABLEzGObject.ParamFlags.ÚPARAM_READWRITEzGObject.ParamFlags.READWRITE)ZSIGNAL_ACTIONZSIGNAL_DETAILEDZSIGNAL_NO_HOOKSZSIGNAL_NO_RECURSEZSIGNAL_RUN_CLEANUPZSIGNAL_RUN_FIRSTZSIGNAL_RUN_LASTzGObject.SignalFlags.ÚGObjectWeakRefÚ
GParamSpecÚGPointerÚWarningzgeneric-c-marshallerTÚfeaturesÚlist_propertiesÚnewÚpygobject_versionÚthreads_initÚtype_registerc                   @   sJ   e Zd Zddd„Zedd„ ƒZdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dS )ÚValueNc                 C   s4   t j | ¡ |d k	r0|  |¡ |d k	r0|  |¡ d S ©N)ÚGObjectModulerC   Ú__init__ÚinitÚ	set_value)ÚselfZ
value_typeÚpy_value© rK   úW/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/gi/overrides/GObject.pyrF   Í   s
    
zValue.__init__c                 C   s
   t  | ¡S rD   )r   Z_gvalue_get_type©rI   rK   rK   rL   Z__g_typeÔ   s    zValue.__g_typec                 C   s,   | j  t¡stjdtdd� t | |¡ d S )Nz2Calling set_boxed() on a non-boxed type deprecatedé   ©Ú
stacklevel)Ú_Value__g_typeÚis_ar-   ÚwarningsÚwarnr   r   Ú_gvalue_set)rI   ZboxedrK   rK   rL   Ú	set_boxedÚ   s     ÿzValue.set_boxedc                 C   s&   | j  t¡stjdtdd� t | ¡S )Nz2Calling get_boxed() on a non-boxed type deprecatedrN   rO   )rQ   rR   r-   rS   rT   r   r   Ú_gvalue_getrM   rK   rK   rL   Ú	get_boxedã   s     ÿzValue.get_boxedc                 C   sF  | j }|tkr|  |¡ �n&|tkr2|  |¡ �n|tkržt|tƒs�|d k	r�tr|t|t	ƒrf| 
d¡}q�td|t|ƒf ƒ‚ntd|t|ƒf ƒ‚t | |¡ n¤|tkr²|  |¡ n�| t¡rÈ|  |¡ nz|tkrÜ|  |¡ nf|tkrð|  |¡ nR|tk�r|  |¡ n<zt | |¡ W n* tk
�r@   |tk�r:tdƒ‚‚ Y nX d S )NzUTF-8z'Expected string or unicode but got %s%szExpected string but got %s%sz+GObject.Value needs to be initialized first)rQ   r   Zset_charr   Z	set_ucharr+   Ú
isinstanceÚstrr   r   ÚencodeÚ	TypeErrorÚtyper   rU   r.   Ú	set_paramrR   r(   Z	set_flagsr,   Zset_pointerr1   Z	set_gtyper3   Zset_variantr   )rI   rJ   ÚgtyperK   rK   rL   rH   é   sB    

ÿ
ÿ


zValue.set_valuec                 C   sÀ   | j }|tkr|  ¡ S |tkr&|  ¡ S |tkr6|  ¡ S | t¡rH|  	¡ S | t
¡rZ|  ¡ S |tkrj|  ¡ S |tkrz|  ¡ S |tkrŠ|  ¡ S zt | ¡W S  tk
rº   |tkr´Y d S ‚ Y nX d S rD   )rQ   r   Zget_charr   Z	get_ucharr.   Ú	get_paramrR   r'   Zget_enumr(   Z	get_flagsr,   Zget_pointerr1   Z	get_gtyper3   Zdup_variantr   rW   r\   r   )rI   r_   rK   rK   rL   Ú	get_value  s.    

zValue.get_valuec                 C   s   d| j j|  ¡ f S )Nz<Value (%s) %s>)rQ   Únamera   rM   rK   rK   rL   Ú__repr__-  s    zValue.__repr__)NN)Ú__name__Ú
__module__Ú__qualname__rF   ÚpropertyrQ   rV   rX   rH   ra   rc   rK   rK   rK   rL   rC   Ì   s   

	'rC   c                 C   s"   t  | ¡}|tkrtd|  ƒ‚|S )Nzunknown type name: %s)rE   Útype_from_namer   ÚRuntimeError©rb   Útype_rK   rK   rL   rh   5  s    
rh   c                 C   s   t  | ¡}|tkrtdƒ‚|S )Nzno parent for type)rE   Útype_parentr   ri   )rk   ÚparentrK   rK   rL   rl   ?  s    
rl   c                 C   s0   t | dƒr| j} |  ¡ s,|  ¡ s,td|  ƒ‚d S )NÚ	__gtype__z1type must be instantiable or an interface, got %s)Úhasattrrn   Zis_instantiatableZis_interfacer\   ©rk   rK   rK   rL   Ú _validate_type_for_signal_methodI  s    
rq   c                 C   s   t | ƒ t | ¡S rD   )rq   rE   Úsignal_list_idsrp   rK   rK   rL   rr   P  s    rr   c                 C   s   t | ƒ}tdd„ |D ƒƒS )Nc                 s   s   | ]}t  |¡V  qd S rD   )rE   Úsignal_name)Ú.0ÚirK   rK   rL   Ú	<genexpr>Z  s     z$signal_list_names.<locals>.<genexpr>)rr   Útuple)rk   ZidsrK   rK   rL   Úsignal_list_namesX  s    rx   c                 C   s   t |ƒ t | |¡S rD   )rq   rE   Úsignal_lookuprj   rK   rK   rL   ry   `  s    ry   ÚSignalQueryÚ	signal_idrs   ÚitypeÚsignal_flagsÚreturn_typeÚparam_typesc                 C   sX   |d k	rt | |ƒ} t | ¡}|d k	s(t‚|jdkr6d S t|j|j|j|j|j	t
|jƒƒS )Nr   )ry   rE   Úsignal_queryÚAssertionErrorr{   rz   rs   r|   r}   r~   rw   r   )Z
id_or_namerk   ÚresrK   rK   rL   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 rD   ©ÚobjÚ
handler_id)rI   r…   r†   rK   rK   rL   rF   ‰  s    z_HandlerBlockManager.__init__c                 C   s   d S rD   rK   rM   rK   rK   rL   Ú	__enter__�  s    z_HandlerBlockManager.__enter__c                 C   s   t  | j| j¡ d S rD   )rE   Úsignal_handler_unblockr…   r†   ©rI   Úexc_typeÚ	exc_valueÚ	tracebackrK   rK   rL   Ú__exit__�  s    z_HandlerBlockManager.__exit__N©rd   re   rf   rF   r‡   r�   rK   rK   rK   rL   rƒ   ˆ  s   rƒ   c                 C   s   t  | |¡ 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
    )rE   Úsignal_handler_blockrƒ   r„   rK   rK   rL   r�   ”  s    r�   c                 C   s4   t  | ||¡\}}}|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)rE   Úsignal_parse_nameÚ
ValueError)Údetailed_signalr|   Zforce_detail_quarkr‚   r{   ÚdetailrK   rK   rL   r�   ¬  s    ÿ
r�   c                 C   s    t || dƒ\}}t ||¡ d S )NT)r�   rE   Zsignal_remove_emission_hook)r…   r’   Zhook_idr{   r“   rK   rK   rL   Úremove_emission_hookÂ  s    r”   c                 C   s   d|fS )NFrK   ©ZihintZreturn_accuZhandler_returnÚ	user_datarK   rK   rL   Úsignal_accumulator_first_winsÍ  s    r—   c                 C   s
   | |fS rD   rK   r•   rK   rK   rL   Ú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 rD   )r…   )rI   r…   rK   rK   rL   rF   æ  s    z_FreezeNotifyManager.__init__c                 C   s   d S rD   rK   rM   rK   rK   rL   r‡   é  s    z_FreezeNotifyManager.__enter__c                 C   s   | j  ¡  d S rD   )r…   Zthaw_notifyr‰   rK   rK   rL   r�   ì  s    z_FreezeNotifyManager.__exit__NrŽ   rK   rK   rK   rL   r›   å  s   r›   c                    s   t  ˆ ¡‡ fdd„ƒ}|S )Nc                     s
   ˆ | |ŽS rD   rK   )ÚargsÚkwargs©ÚfuncrK   rL   Úmethô  s    z_signalmethod.<locals>.meth)Ú	functoolsÚwraps)rŸ   r    rK   rž   rL   Ú_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.©ri   ©rI   rœ   ZkargsrK   rK   rL   Ú_unsupported_methodû  s    zObject._unsupported_methodc                 O   s   t dƒ‚d S )NzIData access methods are unsupported. Use normal Python attributes insteadr¥   r¦   rK   rK   rL   Ú_unsupported_data_methodþ  s    zObject._unsupported_data_methodc                    s   t t| ƒ ¡  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
        )Úsuperr¤   Úfreeze_notifyr›   rM   ©Ú	__class__rK   rL   rª   6  s    zObject.freeze_notifyc                    st   |  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 |ƒ}| ¡ }|| g }ˆ |f|žŽ S rD   )ÚlistÚpop)r…   rœ   Zswap©ÚhandlerrK   rL   Únew_handlera  s    
z(Object.connect_data.<locals>.new_handler)ÚgetrE   ZConnectFlagsZAFTERr   r   Úconnect_afterÚconnectZSWAPPEDÚlenr‘   )rI   r’   r°   Údatar�   ÚflagsZconnect_funcr±   rK   r¯   rL   Úconnect_dataH  s    
ÿzObject.connect_datac                 C   s   t j| jjtdd� |  |¡S )z-Deprecated, please use stop_emission_by_name.rN   rO   )rS   rT   Ústop_emissionÚ__doc__r   Ústop_emission_by_name)rI   r’   rK   rK   rL   r¹   |  s    zObject.stop_emission)Brd   re   rf   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_closurerE   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_nameÚ__classcell__rK   rK   r«   rL   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 )NzŽUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.rN   rO   )rS   rT   r   rM   rK   rK   rL   Ú__call__Š  s
     þzBinding.__call__c                    sT   t jt jt jfdkr"tt| ƒ ¡ S t| dƒr6tdƒ‚nt	| ddƒ tt| ƒ ¡  d S )N)rN   é9   é   Z_unboundz$binding has already been cleared outT)
r   ZMAJOR_VERSIONZMINOR_VERSIONZMICRO_VERSIONr©   rÄ   Úunbindro   r‘   ÚsetattrrM   r«   rK   rL   rÈ   �  s    

zBinding.unbind)rd   re   rf   rÅ   rÈ   rÃ   rK   rK   r«   rL   rÄ   ‰  s   rÄ   rg   zGObject.PropertyÚPropertyÚSignalÚSignalOverride)N)N)N)nr¡   rS   Úcollectionsr   Z	gi.moduleÚgiZgi.overridesr   r   Zgi.repositoryr   r   Z
gi._compatr   r   r	   Zpropertyhelperr
   Zsignalhelperr   ÚmoduleZget_introspection_modulerE   Ú__all__r   Úoptionrb   ÚgetattrÚglobalsÚappendÚcatch_warningsÚsimplefilterÚsplitÚnew_namerh   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   rC   rn   r6   r5   Z
ParamFlagsZREADABLEZWRITABLEr8   ZSignalFlagsr   r   r   r   r   r9   r:   r;   r   r<   r=   r>   r?   r@   rA   rB   rl   rq   rr   rx   ry   rz   r€   Úobjectrƒ   r�   r�   r”   r—   r˜   r™   rš   r›   r£   r¤   rÄ   rÊ   rË   rÌ   rg   rK   rK   rK   rL   Ú<module>   s|  




























                  ú
ÿ
   þ  ÿe





úÿ










 
