__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���gWA����SrSr/SQrSSKJrJrJr SSKrSSKrSSK	r	SSK
Jr SSK
7 S	rS
r\S-\-r\S-\-S
-r\R$"S\-5rS\"5-rSSSS.rSSSS.r/SQr0r\HrS\\'M
 Sr\R$"\5rSrSrSr"SS5r S%Sjr!"SS5r""S S!\"5r#"S"S#\"5r$S&S$jr%g!\a	 SSK
Jr N�f=f)'a
ldif - generate and parse LDIF data (see RFC 2849)
written by Michael Stroeder <[email protected]>

See http://python-ldap.sourceforge.net for details.

$Id: ldif.py,v 1.3 2008/02/11 16:35:43 dwelch Exp $

Python compability note:
Tested with Python 2.0+, but should work with Python 1.5.2+.

The python-ldap package is distributed under Python-style license.

Standard disclaimer:
   This software is made available by the author(s) to the public for free
   and "as is".  All users of this free software are solely and entirely
   responsible for their own choice and use of this software for their
   own purposes.  By using this software, each user agrees that the
   author(s) shall not be liable for damages of any kind in relation to
   its use or performance. The author(s) do not warrant that this software
   is fit for any purpose.

Note: This file is part of the python-ldap package. For the complete
  python-ldap package, please visit: http://sourceforge.net/projects/python-ldap/
  
  It has been modified for use in HPLIP.

z0.5.5)�ldif_pattern�AttrTypeandValueLDIF�
CreateLDIF�	ParseLDIF�
LDIFWriter�
LDIFParser�LDIFRecordList�LDIFCopy�)�urllib2_request�
urllib2_parse�
urllib2_error�N)�StringIO)�*z[\w;.]+(;[\w_-]+)*z(([^,]|\\,)+|".*?")z	[ ]*=[ ]*z
([ ]*,[ ]*z)*[ ]*z^%s$z>^((dn(:|::) %(dn_pattern)s)|(%(attrtype_pattern)s(:|::) .*)$)+�)�add�delete�replacerrr)rr
r)rr�modify�modrdnu"(^(|
|
| |:|<)|[

€-ÿ]+|[ ]+$)c�z�US:Xag[RU5nUS:g=(a URS5U:H$)z
returns 1 if s is a LDAP DN
�r
Nr)�dn_regex�match�group)�s�rms  �/usr/share/hplip/base/ldif.py�is_dnrQs7��	�"�u��	����	�B�
�t�8�&������Q��&�c�0�[RU5SL$)zC
returns 1 if s has to be base-64 encoded because of special chars
N)�safe_string_re�search)rs r�needs_base64r$[s���$�$�Q�'�4�/�/r c�F�[UVs/sHoS4PM sn5$s snf)zJ
return a dictionary with all items of l being the keys of the dictionary
N)�dict)�l�is  r�	list_dictr)bs#���A�&�A�q�T��A�&�'�'��&s�
c�@�\rSrSrSrSSjrSrSrSrSr	S	r
S
rg)r�iz�
Write LDIF entry or change records to file object
Copy LDIF input to a file output object containing all data retrieved
via URLs
Nc��Xl[[=(d /Vs/sHoUR5PM sn5UlX0lX@lSUlgs snf)z�
output_file
    file object for output
base64_attrs
    list of attribute types to be base64-encoded in any case
cols
    Specifies how many columns a line may have before it's
    folded into many lines.
line_sep
    String used as line separator
rN)�_output_filer)�
bases64_attrs�lower�
_base64_attrs�_cols�	_line_sep�records_written)�self�output_file�base64_attrs�cols�line_sep�as      r�__init__�LDIFWriter.__init__psL��(��&�M�<O�R�<O�'Q�<O�a���	�<O�'Q�R����
�!�� ����(Rs�Ac	��[U5nX R::aAURRU5 URRUR5 gURnURRUS[X R55 URRUR5 X2:a�URRS5 URRX[X#UR-S-
55 URRUR5 X0R-S-
nX2:aM�g)z/
Write string line as one or more folded lines
r� r
N)�lenr1r-�writer2�min)r4�line�line_len�poss    r�_unfoldLDIFLine�LDIFWriter._unfoldLDIFLine�s��
�t�9���Z�Z�����#�#�D�)����#�#�D�N�N�3�	��*�*�C����#�#�D��3�x���+D�$E�F����#�#�D�N�N�3��,��!�!�'�'��,��!�!�'�'���X�4�:�:�~�a�?O�1P�(Q�R��!�!�'�'����7��*�*�n�Q�&��	�,�
	r c	�0�UR5UR;d[U5(aGURSR	U[
R"U5RSS5/55 gURSR	X/55 g)zk
Write a single attribute type/value pair

attr_type
      attribute type
attr_value
      attribute value
z:: �
rz: N)r/r0r$rD�join�base64�encodestringr)r4�	attr_type�
attr_values   r�_unparseAttrTypeandValue�#LDIFWriter._unparseAttrTypeandValue�s~���?�?��� 2� 2�2��
�#�#�� � ����Y��8K�8K�J�8W�8_�8_�`d�fh�8i�,j�!k�l�	�
� � ����I�+B�!C�D�r c��[UR55SSnUR5 UHnXHnURX45 M M! g)z'
entry
    dictionary holding an entry
N)�list�keys�sortrM)r4�entry�
attr_typesrKrLs     r�_unparseEntryRecord�LDIFWriter._unparseEntryRecord�sH��
�%�*�*�,�'��*�
�����#�I�#�.�
��-�-�i�D�/�$r c��[US5nUS:XaSnOUS:XaSnO[S5eURSU5 UH�nUS:XaUupVO0US:XaUupunUR[UU5 O[S5eU(aUHnURXX5 M US:XdMgURRS	UR-5 M� g
)zD
modlist
    list of additions (2-tuple) or modifications (3-tuple)
rrr�rzmodlist item of wrong length�
changetypez'Subsequent modlist item of wrong length�-N)r>�
ValueErrorrM�
MOD_OP_STRr-r?r2)	r4�modlist�mod_lenrY�mod�mod_type�mod_vals�mod_op�mod_vals	         r�_unparseChangeRecord�LDIFWriter._unparseChangeRecord�s���
�g�a�j�/���A�:��J�
�a�Z�!�J��;�<�<��%�%�l�J�?��C���z�%(�"��(��!��-0�*��(��-�-�j��.@�(�K� �!J�K�K��'�G��1�1�(�D� (���z��!�!�'�'��D�N�N�(:�;�r c�\�U(dgURSU5 [U[5(aURU5 O2[U[5(aURU5 O[
S5eURRUR5 URS-Ul
g)z�
dn
      string-representation of distinguished name
record
      Either a dictionary holding the LDAP entry {attrtype:record}
      or a list with a modify list like for LDAPObject.modify().
N�dnz*Argument record must be dictionary or listr
)rM�
isinstancer&rUrPrdr[r-r?r2r3)r4rg�records   r�unparse�LDIFWriter.unparse�s������%�%�d�B�/��f�d�#�#��$�$�V�,�
���
%�
%��%�%�f�-��I�J�J���������/�#�3�3�A�5���r )r0r1r2r-r3)N�LrG)�__name__�
__module__�__qualname__�__firstlineno__�__doc__r:rDrMrUrdrj�__static_attributes__�r rrris&���!�$�*�"	E�<�6r rc��[5n[XBUS5nURX5 UR5nUR	5 U$)a�
Create LDIF single formatted record including trailing empty line.
This is a compability function. Use is deprecated!

dn
      string-representation of distinguished name
record
      Either a dictionary holding the LDAP entry {attrtype:record}
      or a list with a modify list like for LDAPObject.modify().
base64_attrs
      list of attribute types to be base64-encoded in any case
cols
      Specifies how many columns a line may have before it's
      folded into many lines.
rG)rrrj�getvalue�close)rgrir6r7�f�ldif_writerrs       rrr�s@�� 	�
�A��Q�d�D�9�K�����#�	�
�
��A��G�G�I��Hr c�D�\rSrSrSrSrSSjrSrSrSr	S	r
S
rg)riz�
Base class for a LDIF parser. Applications should sub-class this
class and override method handle() to implement something meaningful.

Public class attributes:
records_read
      Counter for records processed so far
c�B�URS5RS5$)zA
Strip trailing line separators from s, but no other whitespaces
rG�
)�strip)r4rs  r�
_stripLineSep�LDIFParser._stripLineSeps���w�w�t�}�"�"�4�(�(r Nc�&�XlX0l[U=(d /Vs/sHofR5PM sn5Ul[U=(d /Vs/sHowR5PM sn5UlXPlSUlgs snfs snf)a�
Parameters:
input_file
    File-object to read the LDIF input from
ignored_attr_types
    Attributes with these attribute type names will be ignored.
max_entries
    If non-zero specifies the maximum number of entries to be
    read from f.
process_url_schemes
    List containing strings with URLs schemes to process with urllib.
    An empty list turns off all URL processing and the attribute
    is ignored completely.
line_sep
    String used as line separator
rN)�_input_file�_max_entriesr)r/�_process_url_schemes�_ignored_attr_typesr2�records_read)r4�
input_file�ignored_attr_types�max_entries�process_url_schemesr8rr9s        rr:�LDIFParser.__init__s~��$&��'��$-�CV�C\�Z\�C\�.^�C\�Q�w�w�y�C\�.^�$_��!�#,�BT�BZ�XZ�BZ�-\�BZ�A�g�g�i�BZ�-\�#]�� �!������/_��-\s�B	�Bc��g)zk
Process a single content LDIF record. This method should be
implemented by applications using LDIFParser.
Nrs�r4rgrSs   r�handle�LDIFParser.handle1s�r c���URUR5/nURR5UlUR(a�URSS:XarUR	URURSS55 URR5UlUR(aURSS:XaMrSRU5$)z?
Unfold several folded lines with trailing space into one line
rr=r
Nr)r}�_liner��readline�appendrH)r4�unfolded_liness  rrD�LDIFParser._unfoldLDIFLine7s��� �-�-�d�j�j�9�;���%�%�.�.�0��
��j�j�T�Z�Z��]�c�1��!�!�$�"4�"4�T�Z�Z���^�"D�E��)�)�2�2�4�D�J��j�j�T�Z�Z��]�c�1��w�w�~�&�&r c���UR5nU(a+USS:Xa"UR5nU(aUSS:XaM"U(aUS:XdUS:XagURS5nUSUnXUS	-nUS
:Xa[
R"XS	-S5nX54$US:XaxXS	-SR5nSnUR(aM[R"U5nUSUR;a$[R"U5R5nX54$US
:XdUS:XaSnX54$XS	-SR5nX54$![a [R	SU-5 gf=f)zR
Parse a single attribute type and value pair from one or
more lines of LDIF data
r�#rGz
)NN�:zMalformed line: %s)rrrz::Nz:<z:
r)rD�indexr[�log�errorrI�decodestringr|r�r�urlparser�urlopen�read�lstrip)r4�
unfolded_line�	colon_posrK�
value_specrL�url�us        r�_parseAttrTypeandValue�!LDIFParser._parseAttrTypeandValueDs����,�,�.�
��
�a� 0�C� 7� �0�0�2�M��
�a� 0�C� 7��
�� 5��&�9P��	�%�+�+�C�0�I�"�!�I�.�	�#�Y�q�[�9�
��t���,�,�]�Q�;�<�-H�I�J�"�$�$���
��!���-�3�3�5�C��J��(�(�!�*�*�3�/���Q�4�4�4�4�4�!0�!8�!8��!=�!B�!B�!D�J��$�$�
��
 �J��$4��J�
�$�$�'��{�|�4�;�;�=�J��$�$��=�	��I�I�*�]�:�;��		�s�E�"E%�$E%c��URR5UlUR(GaUR(aURUR:Ga�SnSnSnSn0nUR5upgUGb\UGbXUR
5n[R[U5<S[U5<35 U(aU(dUR5upgMhUS:Xa8Ub[S5e[U5(d[S[U5-5eUnO�US:XaUcSnO�US:XaNUc[S	5eUb[S
5eUR
5[;a[S[U5-5eUnO?Ub<UR
5UR;aXe;aXVRU5 OU/XV'UR5upgUbUbGMXU(a&URX%5 U=RS-
slUR(a1UR(dGM�URUR:aGM�g)z)
Continously read and parse LDIF records
Nz ---> rgz*Two lines starting with dn: in one record.z8No valid string-representation of distinguished name %s.�versionr
rYz/Read changetype: before getting valid dn: line.z2Two lines starting with changetype: in one record.zchangetype value %s is invalid.)r�r�r�r�r�r�r/r��debug�reprr[r�valid_changetype_dictr�r�r�)r4r�rgrY�modoprSrKrLs        r�parse�LDIFParser.parseus���%�%�.�.�0��
��j�j�j��$�$��(9�(9�$�:K�:K�(K��G��B��J��E��E�$(�$?�$?�$A�!�I��'�J�,B�%�O�O�-�	��	�	�$�y�/�4�
�;K�L�M� �
�,0�,G�,G�,I�)�I����$��~�(�)U�V�V� ��,�,�(�)c�gk�lv�gw�)x�y�y�#�B��)�+��
��G��,�.��z�(�)Z�[�[�!�-�(�)]�^�^�%�+�+�-�1F�F�(�)J�d�S]�N^�)_�`�`�!+�J��+��_�_�&�d�.F�.F�F�!�)��(�/�/�
�;�*4���(�)-�(C�(C�(E�%�	�Y�'�J�,B�\����B�&��!�!�Q�&�!�{�j�j��$�$�$��(9�(9�$�:K�:K�(K�|	r )r�r�r�r2r�r�r�)NrNrG)rmrnrorprqr}r:r�rDr�r�rrrsr rrrs/���)�7;�8<��2�'�/%�bEr rc�,�\rSrSrSrSSjrSrSrg)ri�zh
Collect all records of LDIF input into a single list.
of 2-tuples (dn, entry). It can be a memory hog!
Nc�@�[RXX#U5 /Ulg)zl
See LDIFParser.__init__()

Additional Parameters:
all_records
    List instance for storing parsed records
N)rr:�all_records)r4r�r�r�r�s     rr:�LDIFRecordList.__init__�s ��	���D�.@�Ob�c���r c�<�URRX45 g)z4
Append single record to dictionary of all records.
N)r�r�r�s   rr��LDIFRecordList.handle�s��	
�������,r )r�)NrN�rmrnrorprqr:r�rrrsr rrr�s���
7;�+/�
�-r rc�.�\rSrSrSrSSjrSrSrg)r	i�zG
Copy LDIF input to LDIF output containing all data retrieved
via URLs
Nc	�T�[RXX4U5 [X&Xx5Ulg)z5
See LDIFParser.__init__() and LDIFWriter.__init__()
N)rr:r�_output_ldif)	r4r�r5r�r�r�r6r7r8s	         rr:�LDIFCopy.__init__�s'��	���D�.@�Ob�c�&�{�$�Q��r c�:�URRX5 g)z*
Write single LDIF record to output file.
N)r�rjr�s   rr��LDIFCopy.handle�s��	
���!�!�"�,r )r�)NrNNrlrGr�rsr rr	r	�s���
DH�>B��R�-r r	c�P�[XUSS9nUR5 UR$)zW
Parse LDIF records read from file.
This is a compability function. Use is deprecated!
r)r�r�r�)rr�r�)rw�ignore_attrs�
maxentries�ldif_parsers    rrr�s-��
!���A�7�K������"�"�"r )Nrl)Nr)&rq�__version__�__all__�sixext.movesrrr
rI�re�types�ior�ImportError�g�attrtype_pattern�attrvalue_pattern�rdn_pattern�
dn_pattern�compiler�varsr�MOD_OP_INTEGERr\�CHANGE_TYPESr��c�SAFE_STRING_PATTERNr"rr$r)rrrrr	rrsr r�<module>r�sB���:��
��H�G�
�	�����(��*����-�0A�A���]�*�[�8�9�D�
�
�Z�Z���+�
,��O�RV�RX�X��	
�A����

�X���
�5����	�A�!��!��
�I�����/�0��'�0�(�}�}�@
�0y�y�x-�Z�-�2-�z�-�,#��s
����s�C�C"�!C"

Filemanager

Name Type Size Permission Actions
CdmWifi.cpython-313.pyc File 16.36 KB 0644
LedmWifi.cpython-313.pyc File 32.9 KB 0644
__init__.cpython-313.pyc File 194 B 0644
avahi.cpython-313.pyc File 2.54 KB 0644
codes.cpython-313.pyc File 24.52 KB 0644
device.cpython-313.pyc File 119.56 KB 0644
dime.cpython-313.pyc File 4.41 KB 0644
exif.cpython-313.pyc File 32.61 KB 0644
g.cpython-313.pyc File 21.39 KB 0644
imageprocessing.cpython-313.pyc File 40.63 KB 0644
imagesize.cpython-313.pyc File 7.26 KB 0644
ldif.cpython-313.pyc File 18.57 KB 0644
local.cpython-313.pyc File 2.31 KB 0644
logger.cpython-313.pyc File 22.16 KB 0644
magic.cpython-313.pyc File 64.16 KB 0644
maint.cpython-313.pyc File 68.32 KB 0644
mdns.cpython-313.pyc File 12.97 KB 0644
mfpdtf.cpython-313.pyc File 11.25 KB 0644
models.cpython-313.pyc File 21.22 KB 0644
module.cpython-313.pyc File 28.83 KB 0644
os_utils.cpython-313.pyc File 2.97 KB 0644
password.cpython-313.pyc File 13.44 KB 0644
pkit.cpython-313.pyc File 15.27 KB 0644
pml.cpython-313.pyc File 26.85 KB 0644
queues.cpython-313.pyc File 18.9 KB 0644
services.cpython-313.pyc File 11.37 KB 0644
six.cpython-313.pyc File 27.04 KB 0644
sixext.cpython-313.pyc File 8.11 KB 0644
slp.cpython-313.pyc File 8.03 KB 0644
smart_install.cpython-313.pyc File 11.66 KB 0644
status.cpython-313.pyc File 74.51 KB 0644
strings.cpython-313.pyc File 38.94 KB 0644
tui.cpython-313.pyc File 18.18 KB 0644
utils.cpython-313.pyc File 115.18 KB 0644
validation.cpython-313.pyc File 5.31 KB 0644
vcard.cpython-313.pyc File 45.18 KB 0644
wifi.cpython-313.pyc File 24.22 KB 0644
Filemanager