cuenca 0.15.10.dev0__tar.gz → 0.15.11.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/PKG-INFO +4 -1
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/http/client.py +17 -28
- cuenca-0.15.11.dev0/cuenca/resources/questionnaires.py +40 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/version.py +1 -1
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/PKG-INFO +4 -1
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/SOURCES.txt +1 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/http/test_client.py +2 -13
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/LICENSE +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/README.md +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/__init__.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/exc.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/http/__init__.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/jwt.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/py.typed +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/__init__.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/accounts.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/api_keys.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/arpc.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/balance_entries.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/base.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/bill_payments.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/card_activations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/card_transactions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/card_validations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/cards.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/cash_references.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/clabes.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/commissions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/curp_validations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/deposits.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/endpoints.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/file_batches.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/files.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/identities.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/identity_events.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/kyc_validations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/kyc_verifications.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/limited_wallets.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/login_tokens.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/platforms.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/resources.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/savings.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/service_providers.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/sessions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/statements.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/transfers.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_credentials.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_events.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_lists_validation.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/user_logins.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/users.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/verifications.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/wallet_transactions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/webhooks.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca/resources/whatsapp_transfers.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/dependency_links.txt +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/requires.txt +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/cuenca.egg-info/top_level.txt +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/setup.cfg +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/setup.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/__init__.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/conftest.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/http/__init__.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/http/conftest.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/__init__.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_accounts.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_api_keys.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_arpc.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_balance_entries.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_bill_payments.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_card_activations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_card_transactions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_card_validations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_cards.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_cash_references.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_clabes.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_commissions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_curp_validations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_deposits.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_endpoints.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_file_batches.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_files.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_identities.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_identity_events.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_kyc_validations.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_kyc_verifications.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_limited_wallets.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_login_tokens.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_platforms.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_resources.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_savings.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_service_providers.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_sessions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_statements.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_transfers.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_credentials.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_events.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_lists_validation.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_user_logins.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_users.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_verifications.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_wallet_transactions.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_webhooks.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/resources/test_whatsapp_transfers.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/test_cuenca.py +0 -0
- {cuenca-0.15.10.dev0 → cuenca-0.15.11.dev0}/tests/test_jwt.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cuenca
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.11.dev0
|
|
4
4
|
Summary: Cuenca API Client
|
|
5
5
|
Home-page: https://github.com/cuenca-mx/cuenca-python
|
|
6
6
|
Author: Cuenca
|
|
@@ -14,6 +14,9 @@ Classifier: Operating System :: OS Independent
|
|
|
14
14
|
Requires-Python: >=3.6
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
+
Requires-Dist: requests<28,>=2.24
|
|
18
|
+
Requires-Dist: dataclasses>=0.7; python_version < "3.7"
|
|
19
|
+
Requires-Dist: cuenca-validations<0.12.0,>=0.11.3
|
|
17
20
|
|
|
18
21
|
# Cuenca – Python client library
|
|
19
22
|
|
|
@@ -12,7 +12,6 @@ from cuenca_validations.typing import (
|
|
|
12
12
|
OptionalDict,
|
|
13
13
|
)
|
|
14
14
|
from requests import Response
|
|
15
|
-
from requests.adapters import HTTPAdapter, Retry
|
|
16
15
|
|
|
17
16
|
from ..exc import CuencaResponseException
|
|
18
17
|
from ..jwt import Jwt
|
|
@@ -28,29 +27,17 @@ class Session:
|
|
|
28
27
|
headers: DictStrAny = {}
|
|
29
28
|
basic_auth: Tuple[str, str]
|
|
30
29
|
jwt_token: Optional[Jwt] = None
|
|
31
|
-
session: requests.Session
|
|
32
|
-
timeout: int = 30
|
|
33
|
-
retries: int = 3
|
|
34
|
-
backoff_factor: float = 0.4
|
|
35
30
|
|
|
36
31
|
def __init__(self):
|
|
37
|
-
self.session = requests.Session()
|
|
38
32
|
self.headers = {
|
|
39
33
|
'X-Cuenca-Api-Version': API_VERSION,
|
|
40
34
|
'User-Agent': f'cuenca-python/{CLIENT_VERSION}',
|
|
41
35
|
}
|
|
36
|
+
|
|
42
37
|
# basic auth
|
|
43
38
|
api_key = os.getenv('CUENCA_API_KEY', '')
|
|
44
39
|
api_secret = os.getenv('CUENCA_API_SECRET', '')
|
|
45
40
|
self.basic_auth = (api_key, api_secret)
|
|
46
|
-
retry = Retry(
|
|
47
|
-
total=self.retries,
|
|
48
|
-
backoff_factor=self.backoff_factor,
|
|
49
|
-
read=self.retries,
|
|
50
|
-
)
|
|
51
|
-
adapter = HTTPAdapter(max_retries=retry)
|
|
52
|
-
self.session.mount("https://", adapter)
|
|
53
|
-
print('Retry adapter mounted')
|
|
54
41
|
|
|
55
42
|
@property
|
|
56
43
|
def auth(self) -> Optional[Tuple[str, str]]:
|
|
@@ -115,20 +102,22 @@ class Session:
|
|
|
115
102
|
data: OptionalDict = None,
|
|
116
103
|
**kwargs,
|
|
117
104
|
) -> bytes:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
105
|
+
resp = None
|
|
106
|
+
with requests.Session() as session:
|
|
107
|
+
session.headers = self.headers # type: ignore
|
|
108
|
+
if self.jwt_token:
|
|
109
|
+
if self.jwt_token.is_expired:
|
|
110
|
+
self.jwt_token = Jwt.create(self)
|
|
111
|
+
self.headers['X-Cuenca-Token'] = self.jwt_token.token
|
|
112
|
+
session.headers = self.headers # type: ignore
|
|
113
|
+
resp = session.request( # type: ignore
|
|
114
|
+
method=method,
|
|
115
|
+
url='https://' + self.host + urljoin('/', endpoint),
|
|
116
|
+
auth=self.auth,
|
|
117
|
+
json=json.loads(JSONEncoder().encode(data)),
|
|
118
|
+
params=params,
|
|
119
|
+
**kwargs,
|
|
120
|
+
)
|
|
132
121
|
self._check_response(resp)
|
|
133
122
|
return resp.content
|
|
134
123
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import datetime as dt
|
|
2
|
+
from typing import ClassVar, cast
|
|
3
|
+
|
|
4
|
+
from cuenca_validations.types import QuestionnaireRequest
|
|
5
|
+
|
|
6
|
+
from ..http import Session, session as global_session
|
|
7
|
+
from .base import Creatable, Retrievable
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Questionnaires(Creatable, Retrievable):
|
|
11
|
+
_resource: ClassVar = 'questionnaires'
|
|
12
|
+
|
|
13
|
+
created_at: dt.datetime
|
|
14
|
+
|
|
15
|
+
class Config:
|
|
16
|
+
schema_extra = {
|
|
17
|
+
'example': {
|
|
18
|
+
'user_id': 'US234i23jh23h4h23',
|
|
19
|
+
'token': '3223j23ij23ij3',
|
|
20
|
+
'alert_id': 'ALewifjwiejf',
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def create(
|
|
26
|
+
cls,
|
|
27
|
+
user_id: str,
|
|
28
|
+
token: str,
|
|
29
|
+
alert_id: str,
|
|
30
|
+
*,
|
|
31
|
+
session: Session = global_session,
|
|
32
|
+
) -> 'Questionnaires':
|
|
33
|
+
req = QuestionnaireRequest(
|
|
34
|
+
user_id=user_id,
|
|
35
|
+
token=token,
|
|
36
|
+
alert_id=alert_id,
|
|
37
|
+
)
|
|
38
|
+
return cast(
|
|
39
|
+
'Questionnaires', cls._create(session=session, **req.dict())
|
|
40
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cuenca
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.11.dev0
|
|
4
4
|
Summary: Cuenca API Client
|
|
5
5
|
Home-page: https://github.com/cuenca-mx/cuenca-python
|
|
6
6
|
Author: Cuenca
|
|
@@ -14,6 +14,9 @@ Classifier: Operating System :: OS Independent
|
|
|
14
14
|
Requires-Python: >=3.6
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
+
Requires-Dist: requests<28,>=2.24
|
|
18
|
+
Requires-Dist: dataclasses>=0.7; python_version < "3.7"
|
|
19
|
+
Requires-Dist: cuenca-validations<0.12.0,>=0.11.3
|
|
17
20
|
|
|
18
21
|
# Cuenca – Python client library
|
|
19
22
|
|
|
@@ -40,6 +40,7 @@ cuenca/resources/kyc_verifications.py
|
|
|
40
40
|
cuenca/resources/limited_wallets.py
|
|
41
41
|
cuenca/resources/login_tokens.py
|
|
42
42
|
cuenca/resources/platforms.py
|
|
43
|
+
cuenca/resources/questionnaires.py
|
|
43
44
|
cuenca/resources/resources.py
|
|
44
45
|
cuenca/resources/savings.py
|
|
45
46
|
cuenca/resources/service_providers.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import datetime as dt
|
|
2
|
-
from unittest.mock import patch
|
|
3
|
-
|
|
2
|
+
from unittest.mock import patch
|
|
3
|
+
|
|
4
4
|
import pytest
|
|
5
5
|
from cuenca_validations.errors import (
|
|
6
6
|
NoPasswordFoundError,
|
|
@@ -90,14 +90,3 @@ def test_no_password():
|
|
|
90
90
|
def test_no_session():
|
|
91
91
|
with pytest.raises(UserNotLoggedInError):
|
|
92
92
|
Transfer.count()
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
def test_timeout_raises():
|
|
96
|
-
session = Session()
|
|
97
|
-
session.configure(
|
|
98
|
-
api_key='USER_API_KEY', api_secret='USER_SECRET', sandbox=True
|
|
99
|
-
)
|
|
100
|
-
with patch('requests.Session.request', side_effect=Timeout()) as mock_timeout:
|
|
101
|
-
with pytest.raises(Timeout):
|
|
102
|
-
Card.first(user_id='USER_ID', session=session)
|
|
103
|
-
assert mock_timeout.call_count == 3
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|