fiddler-client 3.0.1__tar.gz → 3.0.3__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.
- {fiddler-client-3.0.1/fiddler_client.egg-info → fiddler_client-3.0.3}/PKG-INFO +2 -1
- fiddler_client-3.0.3/fiddler/VERSION +1 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/webhook.py +18 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/template_model.py +3 -2
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_webhook.py +57 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3/fiddler_client.egg-info}/PKG-INFO +2 -1
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/requires.txt +1 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/setup.py +1 -0
- fiddler-client-3.0.1/fiddler/VERSION +0 -1
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/LICENSE.txt +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/MANIFEST.in +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/PUBLIC.md +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/README.md +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/configs.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/connection.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/alert_rule.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/baseline.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/common.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/dataset.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/events.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/job.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/model.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/model_deployment.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/xai.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/decorators.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/alert_record.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/alert_rule.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/base.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/baseline.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/custom_expression.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/dataset.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/events.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/file.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/job.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/model.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/model_artifact.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/model_deployment.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/organization.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/project.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/surrogate.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/user.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/xai.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/exceptions.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/http_client.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/json_encoder.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/semver.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/gem.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/keras_ig_helpers.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/project_attributions_helpers.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/alert_record.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/alert_rule.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/base.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/baseline.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/custom_expression.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/custom_features.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/dataset.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/events.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/file.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/filter_query.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/job.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_deployment.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_schema.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_spec.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_task_params.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/organization.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/project.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/response.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/server_info.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/user.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/webhook.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/xai.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/xai_params.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_alert_record.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_alert_rule.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_baseline.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_custom_metric.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_dataset.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_events.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_files.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_generate_model.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_job.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_mixin.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model_artifact.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model_deployment.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model_surrogate.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_project.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_segment.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_xai.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/conftest.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/constants.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_connection.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_json_encoder.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_logger.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_utils.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/utils.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/__init__.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/helpers.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/logger.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/model_generator.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/validations.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/version.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/version.py +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/SOURCES.txt +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/dependency_links.txt +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/top_level.txt +0 -0
- {fiddler-client-3.0.1 → fiddler_client-3.0.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiddler-client
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.3
|
|
4
4
|
Summary: Python client for Fiddler Platform
|
|
5
5
|
Home-page: https://fiddler.ai
|
|
6
6
|
Author: Fiddler Labs
|
|
@@ -20,6 +20,7 @@ Requires-Dist: tqdm
|
|
|
20
20
|
Requires-Dist: simplejson>=3.17.0
|
|
21
21
|
Requires-Dist: pyarrow>=7.0.0
|
|
22
22
|
Requires-Dist: pyyaml
|
|
23
|
+
Requires-Dist: typing-extensions<=4.5.0
|
|
23
24
|
|
|
24
25
|
Fiddler Client
|
|
25
26
|
=============
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.0.3
|
|
@@ -6,7 +6,9 @@ from uuid import UUID
|
|
|
6
6
|
|
|
7
7
|
from fiddler.decorators import handle_api_error
|
|
8
8
|
from fiddler.entities.base import BaseEntity
|
|
9
|
+
from fiddler.schemas.filter_query import OperatorType, QueryCondition, QueryRule
|
|
9
10
|
from fiddler.schemas.webhook import WebhookProvider, WebhookResp
|
|
11
|
+
from fiddler.utils.helpers import raise_not_found
|
|
10
12
|
|
|
11
13
|
|
|
12
14
|
class Webhook(BaseEntity):
|
|
@@ -81,6 +83,22 @@ class Webhook(BaseEntity):
|
|
|
81
83
|
response = cls._client().get(url=cls._get_url(id_))
|
|
82
84
|
return cls._from_response(response=response)
|
|
83
85
|
|
|
86
|
+
@classmethod
|
|
87
|
+
@handle_api_error
|
|
88
|
+
def from_name(cls, name: str) -> Webhook:
|
|
89
|
+
"""Get the webhook instance using webhook name"""
|
|
90
|
+
_filter = QueryCondition(
|
|
91
|
+
rules=[QueryRule(field='name', operator=OperatorType.EQUAL, value=name)]
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
response = cls._client().get(
|
|
95
|
+
url=cls._get_url(), params={'filter': _filter.json()}
|
|
96
|
+
)
|
|
97
|
+
if response.json()['data']['total'] == 0:
|
|
98
|
+
raise_not_found('Webhook not found for the given identifier')
|
|
99
|
+
|
|
100
|
+
return cls._from_dict(data=response.json()['data']['items'][0])
|
|
101
|
+
|
|
84
102
|
@classmethod
|
|
85
103
|
@handle_api_error
|
|
86
104
|
def list(cls) -> Iterator[Webhook]:
|
|
@@ -36,7 +36,8 @@ class TemplateKerasTF2Model:
|
|
|
36
36
|
:param hybrid: Boolean value for hybrid data type (for example matrices). Default to False.
|
|
37
37
|
"""
|
|
38
38
|
import tensorflow as tf
|
|
39
|
-
|
|
39
|
+
|
|
40
|
+
from fiddler.packtools.keras_ig_helpers import ComputeGradientsKerasTF2
|
|
40
41
|
|
|
41
42
|
embedding_names = embedding_names or []
|
|
42
43
|
batch_input_shape_list = batch_input_shape_list or []
|
|
@@ -197,7 +198,7 @@ class TemplateTreeShap:
|
|
|
197
198
|
:return: explanations_by_output and extras_by_output: two dictionaries with keys the output columns and values
|
|
198
199
|
the corresponding explanations and extra information necessary
|
|
199
200
|
"""
|
|
200
|
-
from packtools.project_attributions_helpers import TreeShapAttributions
|
|
201
|
+
from fiddler.packtools.project_attributions_helpers import TreeShapAttributions
|
|
201
202
|
|
|
202
203
|
if explanation_name != self.tree_shap_explanations:
|
|
203
204
|
raise NotImplementedError(
|
|
@@ -48,6 +48,29 @@ API_RESPONSE_404 = {
|
|
|
48
48
|
'kind': 'ERROR',
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
API_RESPONSE_FROM_NAME = {
|
|
52
|
+
'data': {
|
|
53
|
+
'page_size': 100,
|
|
54
|
+
'total': 1,
|
|
55
|
+
'item_count': 1,
|
|
56
|
+
'page_count': 1,
|
|
57
|
+
'page_index': 1,
|
|
58
|
+
'offset': 0,
|
|
59
|
+
'items': [
|
|
60
|
+
{
|
|
61
|
+
'id': 1,
|
|
62
|
+
'uuid': WEBHOOK_ID,
|
|
63
|
+
'name': WEBHOOK_NAME,
|
|
64
|
+
'url': WEBHOOK_URL,
|
|
65
|
+
'provider': WEBHOOK_PROVIDER,
|
|
66
|
+
'created_at': '2024-04-30T13:38:08.408013+00:00',
|
|
67
|
+
'updated_at': '2024-04-30T13:38:08.408013+00:00',
|
|
68
|
+
'organization_name': ORG_NAME,
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
51
74
|
LIST_API_RESPONSE = {
|
|
52
75
|
'data': {
|
|
53
76
|
'page_size': 100,
|
|
@@ -124,6 +147,40 @@ def test_get_webhook_not_found() -> None:
|
|
|
124
147
|
Webhook.get(id_=webhook_id)
|
|
125
148
|
|
|
126
149
|
|
|
150
|
+
@responses.activate
|
|
151
|
+
def test_webhook_from_name_success() -> None:
|
|
152
|
+
params = {
|
|
153
|
+
'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_webhook_config_name"}]}'
|
|
154
|
+
}
|
|
155
|
+
responses.get(
|
|
156
|
+
url=f'{URL}/v2/webhooks',
|
|
157
|
+
json=API_RESPONSE_FROM_NAME,
|
|
158
|
+
match=[responses.matchers.query_param_matcher(params)],
|
|
159
|
+
)
|
|
160
|
+
webhook = Webhook.from_name(name=WEBHOOK_NAME)
|
|
161
|
+
assert isinstance(webhook, Webhook)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
@responses.activate
|
|
165
|
+
def test_webhook_from_name_not_found() -> None:
|
|
166
|
+
resp = API_RESPONSE_FROM_NAME.copy()
|
|
167
|
+
resp['data']['total'] = 0
|
|
168
|
+
resp['data']['item_count'] = 0
|
|
169
|
+
resp['data']['items'] = []
|
|
170
|
+
|
|
171
|
+
params = {
|
|
172
|
+
'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_webhook_config_name"}]}'
|
|
173
|
+
}
|
|
174
|
+
responses.get(
|
|
175
|
+
url=f'{URL}/v2/webhooks',
|
|
176
|
+
json=resp,
|
|
177
|
+
match=[responses.matchers.query_param_matcher(params)],
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
with pytest.raises(NotFound):
|
|
181
|
+
Webhook.from_name(name=WEBHOOK_NAME)
|
|
182
|
+
|
|
183
|
+
|
|
127
184
|
@responses.activate
|
|
128
185
|
def test_webhook_list_success() -> None:
|
|
129
186
|
responses.get(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiddler-client
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.3
|
|
4
4
|
Summary: Python client for Fiddler Platform
|
|
5
5
|
Home-page: https://fiddler.ai
|
|
6
6
|
Author: Fiddler Labs
|
|
@@ -20,6 +20,7 @@ Requires-Dist: tqdm
|
|
|
20
20
|
Requires-Dist: simplejson>=3.17.0
|
|
21
21
|
Requires-Dist: pyarrow>=7.0.0
|
|
22
22
|
Requires-Dist: pyyaml
|
|
23
|
+
Requires-Dist: typing-extensions<=4.5.0
|
|
23
24
|
|
|
24
25
|
Fiddler Client
|
|
25
26
|
=============
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.0.1
|
|
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
|
{fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/project_attributions_helpers.py
RENAMED
|
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
|