403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/babel/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/babel/__pycache__/util.cpython-314.pyc
+
*:�go#��F�Rt^RIHt^RIt^RIt^RIt^RIt^RIt^RIt^RI	H
t
Ht^RIH
t
HtHt^RIHtHt]!4t]!R4tRRlt]P.!R	]P04tR
Rlt]P.!R4tRR
RlltRRlt!RR]P<4tRRRllt] t!!RR]PD4t#]PHt$]PJt%]PLt&]PNt']PPt(]PRt)]PTt*RRlt+R#)z�
babel.util
~~~~~~~~~~

Various utility classes and functions.

:copyright: (c) 2013-2025 by the Babel Team.
:license: BSD, see LICENSE for more details.
)�annotationsN)�	Generator�Iterable)�IO�Any�TypeVar)�dates�	localtime�_Tc� �V^8�dQhRRRR/#)��iterablezIterable[_T]�returnzGenerator[_T, None, None]�)�formats"�,/usr/lib/python3/dist-packages/babel/util.py�__annotate__rs����|��(A��c#�"�\4p\V4F pW!9gKVx�VPV4K"	R#5i)avYield all items in an iterable collection that are distinct.

Unlike when using sets for a similar effect, the original ordering of the
items in the collection is preserved by this function.

>>> print(list(distinct([1, 2, 1, 3, 4, 4])))
[1, 2, 3, 4]
>>> print(list(distinct('foobar')))
['f', 'o', 'b', 'a', 'r']

:param iterable: the iterable collection providing the data
N)�set�iter�add)r
�seen�items&  r�distinctrs2����5�D��X������J��H�H�T�N��s�>�>s([ \t\f]* \# .* coding[=:][ \t]*([-\w.]+)c� �V^8�dQhRRRR/#)r�fp�	IO[bytes]r�
str | Noner)rs"rrr5s��-�-�y�-�Z�-rc�l�VP4pVP^4VP4pVP\P
4pV'dV\
\P
4Rp\PV4pV'gK^RI	pVPVPR44VP4p\PV4pV'dSV'd7VP^4PR4pVR8wd\RVR24hVPV4R#V'd2VP^4PR4VPV4#VPV4R# \\\3dL�i;i TPT4i;i)aDeduce the encoding of a source file from magic comment.

It does this in the same way as the `Python interpreter`__

.. __: https://docs.python.org/3.4/reference/lexical_analysis.html#encoding-declarations

The ``fp`` argument should be a seekable file object.

(From Jeff Dairiki)
N�latin-1zutf-8zencoding problem: z	 with BOM)�tell�seek�readline�
startswith�codecs�BOM_UTF8�len�PYTHON_MAGIC_COMMENT_re�match�ast�parse�decode�ImportError�SyntaxError�UnicodeEncodeError�group)r�pos�line1�has_bom�mr*�line2�magic_comment_encodings&       r�parse_encodingr75sW��
�'�'�)�C��G�G�A�J� ����
���"�"�6�?�?�3����#�f�o�o�.�/�0�E�#�)�)�%�0���
9���	�	�%�,�,�y�1�2����
��+�1�1�%�8����)*�����):�):�9�)E�&�)�W�4�%�(:�;Q�:R�R[�&\�]�]��	�������7�7�1�:�$�$�Y�/�	������
������+ ��.@�A�
�
�
��*	�����sM�6F �8F �$F�8,F �%F �-6F �7F �?F �F�F �F�F � F3z'from\s+__future__\s+import\s+\(*(.+)\)*c�$�V^8�dQhRRRRRR/#)rrr�encoding�strr�intr)rs"rrris!����9����C�rc��^RIpVP4pVP^4^pVP4P	V4p\
P!RRV4p\
P!RRV4p\
P!RRV4p\PV4FpVP^4PR4Uu.uF!qwP4PR	4NK#	ppVF+p	\W)R4p
V
'gKWJP,pK-	K�	VPV4V#uupi TPT4i;i)
zJParse the compiler flags by :mod:`__future__` from the given Python
code.
Nzimport\s*\([\r\n]+zimport (z,\s*[\r\n]+z, z\\\s*[\r\n]+� �,z())�
__future__r!r"�readr,�re�sub�PYTHON_FUTURE_IMPORT_re�finditerr0�split�strip�getattr�
compiler_flag)rr9r?r1�flags�bodyr4�x�names�name�features&&         r�parse_future_flagsrOis���
�'�'�)�C��G�G�A�J�
�E���w�w�y����)���v�v�+�Z��>���v�v�n�d�D�1���v�v�o�s�D�1��(�1�1�$�7�A�45�G�G�A�J�4D�4D�S�4I�J�4I�q�W�W�Y�_�_�T�*�4I�E�J���!�*�D�9���7��2�2�2�E��8�	������L��K��	�����s$�B!E�
'D;�1E�E�;E�Ec�$�V^8�dQhRRRRRR/#)r�patternr:�filenamer�boolr)rs"rrr�s!��>�>�s�>�c�>�d�>rc�H�RRRRRRRRR	R
RR/pVPR
4'dR
.pVR,pM&VPR4'dR
.pVR,pM.p\\P!RV44F\wrEV^,'dVP	W%,4K-V'gK7VP	\P
!V44K^	\P!RPV4R2VP\PR44pVRJ#)a�Extended pathname pattern matching.

This function is similar to what is provided by the ``fnmatch`` module in
the Python standard library, but:

 * can match complete (relative or absolute) path names, and not just file
   names, and
 * also supports a convenience pattern ("**") to match files at any
   directory level.

Examples:

>>> pathmatch('**.py', 'bar.py')
True
>>> pathmatch('**.py', 'foo/bar/baz.py')
True
>>> pathmatch('**.py', 'templates/index.html')
False

>>> pathmatch('./foo/**.py', 'foo/bar/baz.py')
True
>>> pathmatch('./foo/**.py', 'bar/baz.py')
False

>>> pathmatch('^foo/**.py', 'foo/bar/baz.py')
True
>>> pathmatch('^foo/**.py', 'bar/baz.py')
False

>>> pathmatch('**/templates/*.html', 'templates/index.html')
True
>>> pathmatch('**/templates/*.html', 'templates/foo/bar.html')
False

:param pattern: the glob pattern
:param filename: the path name of the file to match against
�?z[^/]z?/z[^/]/�*z[^/]+z*/z[^/]+/z**/z	(?:.+/)*?z**z(?:.+/)*?[^/]+�^:�NNz./:rNNz	([?*]+/?)��$�/N)r$�	enumeraterArE�append�escaper)�join�replace�os�sep)rQrR�symbols�buf�idx�partr)s&&     r�	pathmatchrg�s���N	�V��g��W��h�
�{���
�G����#����e���"�+��	�	�	�D�	!�	!��e���"�+�����r�x�x��W�=�>�	����7�7��J�J�w�}�%�
�T��J�J�r�y�y���'�	?�

�H�H������~�Q�'��)9�)9�"�&�&�#�)F�G�E����rc�pa�]tRt^�t]P
!R4t]P
!R4tV3RltRt	V;t
#)�TextWrapperz((\s+|(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))z$(\u2068[^\u2068]+?\u2069(?::-?\d+)?)c
�V<�RpW!9d\SV`V4#.p\P!VPV4FKpVPV4'dVP
V4K-VP\SV`V44KM	VUu.uFqU'gKVNK	up#uupi)zlSplits the text into indivisible chunks while ensuring that file names
containing spaces are not broken up.
u⁨)�super�_splitrArE�_enclosed_filename_rer$r]�extend)�self�text�enclosed_filename_start�chunks�chunk�c�	__class__s&&    �rrl�TextWrapper._split�s����#+��"�.��7�>�$�'�'����X�X�d�8�8�$�?�E���� 7�8�8��
�
�e�$��
�
�e�g�n�U�3�4�	@�
"�'�6�a�Q���6�'�'��'s�	B&�B&r)�__name__�
__module__�__qualname__�__firstlineno__rA�compile�
wordsep_rermrl�__static_attributes__�
__classcell__)rus@rriri�s2������	/��J��J�J�'N�O��(�(rric
�,�V^8�dQhRRRRRRRRRR/#)	rrpr:�widthr;�initial_indent�subsequent_indentrz	list[str]r)rs"rrr�s1����3��s����VY��cl�rc�z�\P!R\^R7\WVRR7pVP	V4#)a�Simple wrapper around the ``textwrap.wrap`` function in the standard
library. This version does not wrap lines on hyphens in words. It also
does not wrap PO file locations containing spaces.

:param text: the text to wrap
:param width: the maximum line width
:param initial_indent: string that will be prepended to the first line of
                       wrapped output
:param subsequent_indent: string that will be prepended to all lines save
                          the first of wrapped output
z�`babel.util.wraptext` is deprecated and will be removed in a future version of Babel. If you need this functionality, use the `babel.util.TextWrapper` class directly.)�
stacklevelF)r�r�r��break_long_words)�warnings�warn�DeprecationWarningri�wrap)rpr�r�r��wrappers&&&& r�wraptextr��sA��
�M�M�	[���	���,=�+0�2�G��<�<���rc�f�]tRtRtRtRRRlltRRltRR	ltR
RltRR
lt	RRlt
RtR#)�FixedOffsetTimezoneiz&Fixed offset in minutes east from UTC.Nc�$�V^8�dQhRRRRRR/#)r�offset�floatrMrr�Noner)rs"rr� FixedOffsetTimezone.__annotate__s!����u��J��$�rc	�d�\P!VR7VnVf
RV,pW nR#))�minutesNz
Etc/GMT%+d)�datetime�	timedelta�_offset�zone)ror�rMs&&&r�__init__�FixedOffsetTimezone.__init__s(���)�)�&�9����<��&�(�D��	rc��V^8�dQhRR/#�rrr:r)rs"rrr�s�����rc	��VP#�N�r��ros&r�__str__�FixedOffsetTimezone.__str__����y�y�rc��V^8�dQhRR/#r�r)rs"rrr�s��=�=�#�=rc	�<�RVPRVPR2#)z<FixedOffset "z" �>)r�r�r�s&r�__repr__�FixedOffsetTimezone.__repr__s����	�	�{�"�T�\�\�N�!�<�<rc� �V^8�dQhRRRR/#�r�dt�datetime.datetimerzdatetime.timedeltar)rs"rrr�s����-��2D�rc	��VP#r�)r��ror�s&&r�	utcoffset�FixedOffsetTimezone.utcoffsets���|�|�rc� �V^8�dQhRRRR/#)rr�r�rr:r)rs"rrr�s����*��s�rc	��VP#r�r�r�s&&r�tzname�FixedOffsetTimezone.tznamer�rc� �V^8�dQhRRRR/#r�r)rs"rrr�s����'��,>�rc	��\#r�)�ZEROr�s&&r�dst�FixedOffsetTimezone.dsts���r)r�r�r�)rwrxryrz�__doc__r�r�r�r�r�r�r}rrrr�r�s(��0���=����rr�c� �V^8�dQhRRRR/#)r�ar�br)rs"rrr's����C��C�rc��W8�W8,
#r�r)r�r�s&&r�_cmpr�'s��
�E�a�e��r)r )�FrYrY),r�r?rr%r�rarA�textwrapr��collections.abcrr�typingrrr�babelrr	�object�missingr
rr{�VERBOSEr(r7rCrOrgrir��dict�odict�tzinfor��UTC�LOCALTZ�
get_localzone�	STDOFFSET�	DSTOFFSET�DSTDIFFr�r�rrr�<module>r�s����#�
��	�	���/�#�#�"�
�(���T�]���*�*�*�0�"�*�*�>��-�`�*�*�.�0���@>�B(�(�&�&�(�6�2	
���(�/�/��:�i�i��
�-�-���'�'�
����	����	�
�
�
���~�~��r

Youez - 2016 - github.com/yon3zu
LinuXploit