ROOTPLOIT
Server: Apache
System: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User: ws67150586 (67150586)
PHP: 8.3.36
Disabled: NONE
Upload Files
File: //kunden/kunden/kunden/lib/python3/dist-packages/mercurial/__pycache__/sslutil.cpython-313.pyc
�

6�h���$�SSKJr SSKrSSKrSSKrSSKrSSKrSSKJr SSK	J
r
 SSKJrJ
r
JrJr SSKJrJrJr 1Skr\"\S	S
5r\"5r\"\S\"\S55(a\R5S
5 \"\S\"\S55(a\R5S5 \"\S\"\S55(a\R5S5 \"\SS
5(a\R5S5 SrS SjrS!Sjr"SS\5rS"Sjr Sr!Sr"Sr#Sr$g)#�)�annotationsN�)�_)�hex)�encoding�error�pycompat�util)�hashutil�resourceutil�
stringutil>�tls1.0�tls1.1�tls1.2�tls1.3�HAS_SNIF�	HAS_TLSv1�PROTOCOL_TLSv1r�HAS_TLSv1_1�PROTOCOL_TLSv1_1r�HAS_TLSv1_2�PROTOCOL_TLSv1_2r�HAS_TLSv1_3rc	��[R"U5nS/SSSSSSS.nSn[SS1-
(deSnS	nURS
Xe5nU"Xv5 SU-nURS
Xg5nU"Xv5 URS
S5nURS
S
U-U5nUR(aSnU(dSnXsS	'X�S'URS
SU-5n	U	H�n
U
R
S5(d+[R"[S5X*4-[S5S9eU
RSS5up�U
RSS5R5n
USRX�45 M� URSU5H>n
U
RSS5R5n
USRSU
45 SUS'M@ US(a[RUS'SUS'O.UR(aSUS'[RUS'SUS'UR!SS5(aSUS'URS
S U-5nUS(a$U(aUR#[S!5U-5 USGc_U(ag[$R&"U5n[(R*R-U5(d([R"[S"5S#U4-U4-5eX�S$'O�URS%S&5nU(al[$R&"U5n[(R*R-U5(d1[R"[S'5U-[S(5S)--5eO0US(a&[/U5nU(aUR1S*U-5 X�S$'U(d
US(a[R2US'O[RUS'USceU$)+z`Obtain security settings for a hostname.

Returns a dict of settings relevant to that hostname.
TNF)�allowloaddefaultcerts�certfingerprints�cafile�disablecertverification�legacyfingerprint�minimumprotocol�
verifymode�ciphersc	��U[;aJ[R"[S5X4-[S5SR	[[55-S9eg)Ns-unsupported protocol from hostsecurity.%s: %ssvalid protocols: %s� ��hint)�configprotocolsr�Abortr�join�sorted)�protocol�keys  �3/usr/lib/python3/dist-packages/mercurial/sslutil.py�validateprotocol�'_hostsettings.<locals>.validateprotocol]sR���?�*��+�+��B�C��/�"��-�.��)�)�F�?�3�4�5��
�+�rrrr �hostsecuritys%s:minimumprotocolr"s
%s:cipherssDEFAULT:@SECLEVEL=0s%s:fingerprints)ssha1:ssha256:ssha512:sinvalid fingerprint for %s: %ss0must begin with "sha1:", "sha256:", or "sha512:"r%�:rr0rshostfingerprints�sha1rr!rr�develsdisableloaddefaultcertss%s:verifycertsfiless(hostsecurity.%s:verifycertsfile ignored when host fingerprints defined; using host fingerprints for verification)
s'path specified by %s does not exist: %sshostsecurity.%s:verifycertsfilerswebscacertsscould not find web.cacerts: %ss  (try installing the %s package)sca-certificatessusing %s for CA file
)r	�bytesurl�supportedprotocols�config�insecureconnections�
configlist�
startswithrr(r�split�replace�lower�append�ssl�	CERT_NONE�
configbool�warnr
�
expandpath�os�path�exists�_defaultcacerts�debug�
CERT_REQUIRED)
�ui�hostname�	bhostname�sr.�defaultminimumprotocolr,�minimumprotocol�ciphers�fingerprints�fingerprint�alg�cafiles
             r-�
_hostsettingsrU@s���
�!�!�(�+�I�#'���$)�#�!���'	�A�.���I� 6�6�6�6�&��
�C��i�i���M�O��_�*�
�)�
+�C��i�i���F�O��_�*��i�i���4�G��i�i����)B�G�L�G�

���#���,�G�+����j�M��=�=��+�i�7��L�$���&�&�'I�J�J��+�+��3�4�	�7O�O��J�K��
�
'�,�,�T�1�5���!�)�)�$��4�:�:�<��	
�
��%�%�s�&8�9�$��}�}�%8�)�D��!�)�)�$��4�:�:�<��	
�
��%�%�w��&<�=�"&��
��
E�	�	���=�=��-��&+��
"�#�
�	�	�(,��
$�%��=�=��-��&+��
"�#�	�}�}�X�9�:�:�&+��
"�#�
�Y�Y��(=�	�(I�
J�F��	��&�
���
�#�
�
�
�	
�	������_�_�V�,�F��7�7�>�>�&�)�)��k�k��@�A�:�i�\�I������"�i�L��Y�Y�v�z�2�F������0���w�w�~�~�f�-�-��+�+��;�<�v�E��=�>�AS�S�T���.�
�+�,�(��,����H�H�6��?�@�!�i�L��Q�/�0�"�0�0�A�m�� #�}�}�A�m���]��'�'�'��Hr0c
�
^^^�U(d[R"[S55eS[R;aLSSKnUR
[R"[RS55 TRS5 TT4HpnU(dM[RRU5(aM2[R"[S5U[R"U54-[S5S	9e [TU5n[ R""[ R$5nUS
n	U	S:XaZ[&R("5 [&R*"SS
[,5 [ R.R0UlSSS5 O�U	S:XaZ[&R("5 [&R*"SS[,5 [ R.R4UlSSS5 OkU	S:Xa [ R.R6UlOEU	S:Xa [ R.R8UlO[R"[S55eU=R:[=[ SS5-slSUlUSUl US(a)URC[RD"US55 TbUUU4SjnUROTTU5 USbURQUSS9 Sn
OUS (aURU5 Sn
OSn
URWXS!9nURk5(d[Rl"[S-55eU
UUTS..Ul7U$![a TRS5 GN	f=f!,(df   GND=f!,(df   GNV=f![ RFaVn
[R"[S5[HRJ"U
RLS5-[S5US-S	9eSn
A
ff=f![ RFa�n
[SU
RL5S:XaU
RLSnOU
RLSn[R"[S5US[HRJ"U54-[S5S	9eSn
A
ff=f![ RFGa�n
U
(aFUS[ RX:Xa/UR[5(dTR][S"55 O![ RFa Of=f[_U
S#5(GajU
R`S$;GaUS
S:Xa�[bS1:waPTR][S%5[R"U5S&Re[g[b554-5 eTR][S'5[R"U5-5 eTR][S(5US
[R"U54-5 TR][S)5[R"U5-5 TR][S*55 eU
R`S+:Xa/[Rh(aTR][S,55 eSn
A
ff=f)/a�Add SSL/TLS to a socket.

This is a glorified wrapper for ``ssl.wrap_socket()``. It makes sane
choices based on what security options are available.

In addition to the arguments supported by ``ssl.wrap_socket``, we allow
the following additional arguments:

* serverhostname - The expected hostname of the remote server. If the
  server (and client) support SNI, this tells the server which certificate
  to use.
s#serverhostname argument is requireds
SSLKEYLOGFILErNs8sslkeylog enabled by SSLKEYLOGFILE environment variable
s?sslkeylog module missing, but SSLKEYLOGFILE set in environment
s:certificate file (%s) does not exist; cannot connect to %ss:restore missing file or fix references in Mercurial configr%r r�ignore�"ssl.TLSVersion.TLSv1 is deprecatedr�$ssl.TLSVersion.TLSv1_1 is deprecatedrrsthis should not happen�OP_NO_COMPRESSIONFr!r"scould not set ciphers: %ss#change cipher string (%s) in configc�V>�T=(d TnTR[S5U-S5$)Nspassphrase for %s: r0)�getpassr)�f�certfile�keyfilerJs ���r-�password�wrapsocket.<locals>.passwordSs)����#�8�A��:�:�a� 6�7�!�;�S�A�Ar0r�rTrserror loading CA file %s: %ssfile is empty or malformed?Tr)�server_hostnames�(an attempt was made to load CA certificates but none were loaded; see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error)
�reason)�UNSUPPORTED_PROTOCOL�TLSV1_ALERT_PROTOCOL_VERSIONs�(could not communicate with %s using security protocols %s; if you are using a modern Mercurial version, consider contacting the operator of this server; see https://mercurial-scm.org/wiki/SecureConnections for more info)
�, s�(could not communicate with %s using TLS 1.0; the likely cause of this is the server no longer supports TLS 1.0 because it has known security vulnerabilities; see https://mercurial-scm.org/wiki/SecureConnections for more info)
s�(could not negotiate a common security protocol (%s+) with %s; the likely cause is Mercurial is configured to be more secure than the server can support)
s�(consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.%s:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
sE(see https://mercurial-scm.org/wiki/SecureConnections for more info)
�CERTIFICATE_VERIFY_FAILEDsR(the full certificate chain may not be available locally; see "hg help debugssl")
sssl connection failed)�caloaded�hostname�settings�ui)8rr(rr�environ�	sslkeylog�
set_keylogr	�fsdecode�
warnnoi18n�ImportErrorrDrErFr5rUr?�
SSLContext�PROTOCOL_TLS_CLIENT�warnings�catch_warnings�filterwarnings�DeprecationWarning�
TLSVersion�TLSv1�minimum_version�TLSv1_1�TLSv1_2�TLSv1_3�options�getattr�check_hostname�verify_mode�set_ciphers�sysstr�SSLErrorr
�forcebytestr�args�load_cert_chain�load_verify_locations�len�load_default_certs�wrap_socketrI�get_ca_certsrB�hasattrrdr6r)r*�	iswindows�cipher�
SecurityError�_hgstate)�sockr_r^rJ�serverhostnamernr]�settings�
sslcontextrO�er`�msg�caloaded�	sslsockets ```           r-�
wrapsocketr��s�����k�k�!�B�C�D�D��8�+�+�+�
	��� � ��!�!�(�"2�"2�3C�"D�E�
�
�M�M�L�
��x�
 ���1�R�W�W�^�^�A�&�&��+�+��O�P��h�'�'��7�8�9��+���
�!��R��0�H����� 7� 7�8�J��1�2�O��)�#�
�
$�
$�
&��#�#��4�"�
�
*-���)=�)=�J�&�
'�
&�
�I�	%�
�
$�
$�
&��#�#��6�"�
�
*-���)?�)?�J�&�
'�
&�
�I�	%�%(�^�^�%;�%;�
�"�	�I�	%�%(�^�^�%;�%;�
�"��k�k�!�5�6�7�7����'�#�':�A�>�>��!&�J��%�m�4�J���
��	��"�"�8�?�?�8�J�3G�#H�I���	B�	�"�"�8�W�h�?��	��&�	��,�,�H�Y�4G�,�H���	�*�	+��%�%�'�����r��*�*�4�*�P�	�l������!�!�!�$<�"=�>�>��#���	�I�����I�	��M�M�:�
�	��<'�
&��'�
&��0�|�|�	��+�+��.�/��)�)�!�&�&��)�4�5��=�>��:�&�'��
��	��&�|�|�		��1�6�6�{�a���f�f�Q�i���f�f�Q�i���+�+��1�2��I�&�
�(?�(?��(D�E�F��5�6��
��		��(�<�<�p�	���]�+�s�/@�/@�@�"�/�/�1�1�����$�����|�|�	��	���1�h����x�x���
�.�/�9�<�*�i�[�8�����!4��!)� 1� 1�.� A� %�
�
�6�2D�+E� F���
�F	�i����!4��'�/�/��?�@�
�h	�I�G�G��P��%�%7�8�$�-�-�n�=���
��G�G��A��#�+�+�N�;�<�
��G�G��0���	����8�8�X�=O�=O�����>���	��ap�s��AM5�<N�2<N)�"(N;�/P(�$R?�5N�N�
N&�)
N8�;P%�AP � P%�(R<�<A;R7�7R<�?Z?�A
T#�"Z:�#T:�7Z:�9T:�:FZ:�:Z?c��X#U4HRnU(dM[RRU5(aM2[R"[S5U-5e [R"[R5nU=R[[SS5-sl	URSS5nUS:Xa�S[;a[R"[S55e[R"5 [R"SS	[ 5 [R"R$Ul[R"R$UlS
S
S
5 GO�US:Xa�S[;a[R"[S55e[R"5 [R"SS
[ 5 [R"R*Ul[R"R*UlS
S
S
5 GOUS:XahS[;a[R"[S55e[R"R,Ul[R"R,UlO�US:XahS[;a[R"[S55e[R"R.Ul[R"R.UlO)U(a"[R"[S5U-5eU=R[[SS5-sl	U=R[[SS5-sl	U(aUR1S5 OX[3[S5(aCU=R[[SS5-sl	UR1[R45 U(a[R6UlO[R:UlU(dU(aUR=X#S9 U(aUR?US9 URAUSS9$!,(df   GN==f!,(df   GNO=f)a�Wrap a socket for use by servers.

``certfile`` and ``keyfile`` specify the files containing the certificate's
public and private keys, respectively. Both keys can be defined in the same
file via ``certfile`` (the private key must come first in the file).

``cafile`` defines the path to certificate authorities.

``requireclientcert`` specifies whether to require client certificates.

Typically ``cafile`` is only defined if ``requireclientcert`` is true.
s/referenced certificate file (%s) does not existrZrr4sserver-insecure-exact-protocolrs$TLS 1.0 not supported by this PythonrWrXNrs$TLS 1.1 not supported by this PythonrYrs$TLS 1.2 not supported by this Pythonrs$TLS 1.3 not supported by this Pythons4invalid value for server-insecure-exact-protocol: %s�OP_SINGLE_DH_USE�OP_SINGLE_ECDH_USEzDEFAULT:@SECLEVEL=0�_RESTRICTED_SERVER_CIPHERS�OP_CIPHER_SERVER_PREFERENCE)r^r_rbT)�server_side)!rDrErFrr(rr?rs�PROTOCOL_TLS_SERVERrr�r7r6rurvrwrxryrzr{�maximum_versionr|r}r~r�r�r�rIr�r@r�r�r�)	r�rJr^r_rT�requireclientcertr]r��
exactprotocols	         r-�wrapserversocketr��s3��"��
(���1�R�W�W�^�^�A�&�&��+�+��D�E��I��
�)����� 7� 7�8�J����'�#�':�A�>�>���I�I�h�(I�J�M��	�!��.�.��+�+�a� G�H�I�I�
�
$�
$�
&��#�#��4�"�
�
*-���)=�)=�J�&�),���)=�)=�J�&�'�
&�
�)�	#��.�.��+�+�a� G�H�I�I�
�
$�
$�
&��#�#��6�"�
�
*-���)?�)?�J�&�),���)?�)?�J�&�'�
&�
�)�	#��.�.��+�+�a� G�H�I�I�%(�^�^�%;�%;�
�"�%(�^�^�%;�%;�
�"�	�)�	#��.�.��+�+�a� G�H�I�I�%(�^�^�%;�%;�
�"�%(�^�^�%;�%;�
�"�	��k�k�
�E�F��
�
�	
����'�#�'9�1�=�=�����'�#�';�Q�?�?������4�5�	��2�	3�	3����g�c�+H�!�L�L�����s�=�=�>��!$�!2�!2�
��!$���
���7��"�"�H�"�F�
��(�(��(�7��!�!�$�D�!�9�9�y'�
&��'�
&�s�9AP:�"AQ�:
Q	�
Qc��\rSrSrSrSrg)�
wildcarderroriQz2Represents an error parsing wildcards in DNS name.�N)�__name__�
__module__�__qualname__�__firstlineno__�__doc__�__static_attributes__r�r0r-r�r�Qs��<r0r�c��/nU(dg[R"U5n[R"U5nURS5nUSnUSSnURS5nXr:�a[	[S5U-5eU(d!UR
5UR
5:H$US:XaURS5 O�URS	5(dURS	5(a&UR[R"U55 O5UR[R"U5RS
S55 UH(nUR[R"U55 M* [R"SS
RU5-S-[R5n	U	R!U5SL$)z�Match DNS names according RFC 6125 section 6.4.3.

This code is effectively copied from CPython's ssl._dnsname_match.

Returns a bool indicating whether the expected hostname matches
the value in ``dn``.
F�.rrN�*s.too many wildcards in certificate DNS name: %ss[^.]+sxn--s\*s[^.]*s\As\.s\Z)r	r5r;�countr�rr=r>r:r
�reescaper<�re�compiler)�
IGNORECASE�match)
�dnrK�maxwildcards�pats�pieces�leftmost�	remainder�	wildcards�frag�pats
          r-�
_dnsnamematchr�Ust���D�
��	�	�	�2�	�B�� � ��*�H�
�X�X�d�^�F��a�y�H��q�r�
�I����t�$�I����
�?�@�2�E�
�	
�
��x�x�z�X�^�^�-�-�-�
�4��	
���H��	�	�	�W�	%�	%��)<�)<�W�)E�)E�
	
���J�'�'��1�2�	
���J�'�'��1�9�9�&�(�K�L������J�'�'��-�.��
�*�*�V�f�k�k�$�/�/�&�8�"�-�-�
H�C��9�9�X��d�*�*r0c���U(d[S5$/nURS/5nUH2upEUS:XdM
[XQ5(a gURU5 M4 U(ddURS/5HNnUHEupEUS:XdM
URS5n[XQ5(a  gURU5 MG MP UVs/sHn[R"U5PM nn[U5S
:�a[S5SRU5-$[U5S
:Xa[S5US-$[S
5$![a/n[R
"URS5sSnAs $SnAff=f![a [S	5ss s $f=f![a1n[R
"URS5sSnAs s $SnAff=fs snf)z�Verify that cert (in socket.getpeercert() format) matches hostname.
CRLs is not handled.

Returns error message if any problems are found and None on success.
sno certificate received�subjectAltName�DNSNr�subject�
commonName�asciis IDN in certificate not supportedrscertificate is for %srgs4no commonName or subjectAltName found in certificate)r�getr�r�r
r�r�r>�encode�UnicodeEncodeErrorr	r5r�r))	�certrK�dnsnames�sanr,�valuer��sub�ds	         r-�_verifycertr��s�����+�,�,��H�
�(�(�#�R�
(�C��
���%�<�
:� ��1�1��2�

�O�O�E�"����8�8�I�r�*�C�!�
���,�&�F� %���W� 5��B�(��9�9�"�:�
�O�O�E�*�!"�+�&/7�7�h���!�!�!�$�h�H�7�
�8�}�q���)�*�U�Z�Z��-A�A�A�	�X��!�	��)�*�X�a�[�8�8��H�I�I��A!�
:�!�.�.�q�v�v�a�y�9�9��
:��.�F� �!D�E�E�F��)�B�)�6�6�q�v�v�a�y�A�A�A��B��
8sS�E�F�F"� G �
F�"E;�3F�;F�F�F�"
G�,"G�G�Gc�T�[R(a/[R"5(d[R(dg[
RR[R5R5nURS5=(d URS5$)a(return true if this seems to be a pure Apple Python that
* is unfrozen and presumably has the whole mercurial module in the file
  system
* presumably is an Apple Python that uses Apple OpenSSL which has patches
  for using system certificate store CAs in addition to the provided
  cacerts file
Fs/usr/bin/pythons,/system/library/frameworks/python.framework/)
r	�isdarwinr�
mainfrozen�
sysexecutablerDrE�realpathr=r:)�exes r-�_plainapplepythonr��sp��
����"�"�$�$��%�%��
�'�'�
�
�8�1�1�
2�
8�
8�
:�C��>�>�,�-�����7�2�r0c��SSKnUR5n[RR	U5(a'URS5 [R"U5$[5(a{[RR[RR[R"[55S5n[RR	U5(aU$g![[4a N�f=f)a�return path to default CA certificates or None.

It is assumed this function is called when the returned certificates
file will actually be used to validate connections. Therefore this
function may print warnings or debug messages assuming this usage.

We don't print a message when the Python is able to load default
CA certs because this scenario is detected at socket connect time.
rNs#using ca certificates from certifi
s
dummycert.pem)�certifi�whererDrErFrHr	�fsencoderr�AttributeErrorr�r)�dirname�__file__)rJr��certs�	dummycerts    r-rGrG�s���
���
�
���
�7�7�>�>�%� � ��H�H�<�=��$�$�U�+�+�!�����G�G�L�L��G�G�O�O�H�-�-�h�7�8�:J�
�	��7�7�>�>�)�$�$�����
��(�
��
�s�AC-�-D�?Dc	��URSn[R"U5nURSnURSnURS5nUR5nU(d"[
R"[S5U-5eUS(aUR[S5U-5 g	[[R"U5R55[[R"U5R55[[R"U5R55S
.nSnSU"US
5-n	US(a�USHbup�XzR!5U:XdMUR#SX*U"U54-5 US(aUR[S5X"U	4-5  g	 US(aSnU"US5n
OSnSW
U"Xz54-n
[
R"[S5X-4-[S5U-S9eURS(d.[
R"[S5U-[S5X)4-S9e[%Xa5nU(a/[
R"[S5X.4-[S5X)4-S9eg	![a# [
R"[S5U-5ef=f)zpValidate a socket meets security requirements.

The passed socket must have been created with ``wrapsocket()``.
rjrlrkTs%s ssl connection errors-%s certificate error: no certificate receivedrs�warning: connection security to %s is disabled per current settings; communication is susceptible to eavesdropping and tampering
N)r3�sha256ssha512c	��SR[S[U5S5Vs/sH	oXS-PM sn5$s snf)Nr2r�)r)�ranger�)rM�xs  r-�fmtfingerprint�&validatesocket.<locals>.fmtfingerprint!s8���y�y��a��Q���0C�D�0C�1�A�A��,�0C�D�E�E��Ds�;s	sha256:%sr�rs)%s certificate matched fingerprint %s:%s
rs�(SHA-1 fingerprint for %s found in legacy [hostfingerprints] section; if you trust this fingerprint, remove the old SHA-1 fingerprint from [hostfingerprints] and add the following entry to the new [hostsecurity] section: %s:fingerprints=%s)
shostfingerprintr3r1s%s:%ss0certificate for %s has unexpected fingerprint %sscheck %s configurationr%risPunable to verify security of %s (no loaded CA certificates); refusing to connects�see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error or set hostsecurity.%s:fingerprints=%s to trust this servers%s certificate error: %ss^set hostsecurity.%s:certfingerprints=%s config setting or use --insecure to connect insecurely)r�r	r5�getpeercertr�rr�rrBrr�sha1�digest�hashlib�sha256�sha512r=rHr�)r��shost�hostrJr��peercert�	peercert2�peerfingerprintsr��nicefingerprint�hashrR�section�nicer�s               r-�validatesocketr��s��

�M�M�+�&�E����U�#�D�	
���u�	�B��}�}�[�)�H�H��#�#�D�)���$�$�&�	���!�!�
�>�?�$�F�
�	
��*�+�	���
�#�
�
�
�	
�	�
�X�]�]�8�,�3�3�5�6��w�~�~�h�/�6�6�8�9��w�~�~�h�/�6�6�8�9���F�#�^�4D�Y�4O�%P�P�O��#�$�!)�*=�!>��D��%�+�+�-��<����A��>�+�#>�?�@���0�1��G�G��M�� ��7�8�
��%"?�*�(�)�(�G�!�"2�7�";�<�D�%�G��t�^�4D�4J�%K�L�L�D��!�!�
�A�B��l�
��,�-��7�
�	
��=�=��%��!�!�
�'�
��	
�
�H��
�%�&�

�	
��i�
'�C�
��!�!�
�)�*�d�[�8����
�%�&�
�	
���u�H��!�!�!�$>�"?�$�"F�G�G�H�s�!J�-K)N)NNNF)r)%�
__future__rr�rDr�r?ru�i18nr�noder�rrr	r
�utilsrrr
r'r��hassni�setr6r��addrUr�r��	Exceptionr�r�r�r�rGr�r�r0r-�<module>rs&��#��	�	�
����������
��i��	'���U��
�3��W�S�*:�;�<�<����9�%�
�3�
�w�s�,>�?�@�@����9�%�
�3�
�w�s�,>�?�@�@����9�%�
�3�
�u�%�%����9�%�n
�b~�DKP�\:�~=�I�=�1+�h0J�f�( �Fp
r0