vantage6 4.8.0rc3__tar.gz → 5.0.0a0__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.
Potentially problematic release.
This version of vantage6 might be problematic. Click here for more details.
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/PKG-INFO +20 -10
- vantage6-5.0.0a0/vantage6/cli/__build__ +1 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/_version.py +1 -1
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/context/node.py +0 -18
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/dev/create.py +1 -1
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/stop.py +3 -1
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/list.py +0 -1
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6.egg-info/PKG-INFO +20 -10
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6.egg-info/requires.txt +2 -2
- vantage6-4.8.0rc3/vantage6/cli/__build__ +0 -1
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/setup.cfg +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/setup.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/tests_cli/__init__.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/tests_cli/test_example.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/tests_cli/test_node_cli.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/tests_cli/test_server_cli.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/tests_cli/test_wizard.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/__init__.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algorithm/create.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algorithm/update.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/attach.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/files.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/list.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/new.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/remove.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/start.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/algostore/stop.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/cli.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/common/decorator.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/common/start.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/common/utils.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/configuration_manager.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/configuration_wizard.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/context/__init__.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/context/algorithm_store.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/context/base_server.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/context/server.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/dev/data/olympic_athletes_2016.csv +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/dev/remove.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/dev/start.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/dev/stop.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/dev/utils.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/globals.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/attach.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/clean.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/common/__init__.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/create_private_key.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/files.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/list.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/new.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/remove.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/set_api_key.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/start.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/node/version.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/rabbitmq/__init__.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/rabbitmq/definitions.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/rabbitmq/queue_manager.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/rabbitmq/rabbitmq.config +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/attach.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/common/__init__.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/files.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/import_.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/new.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/remove.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/shell.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/start.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/stop.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/server/version.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/template/algo_store_config.j2 +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/template/node_config.j2 +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/template/server_config.j2 +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/template/server_import_config.j2 +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/test/common/diagnostic_runner.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/test/feature_tester.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/test/integration_test.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6/cli/utils.py +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6.egg-info/SOURCES.txt +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6.egg-info/dependency_links.txt +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6.egg-info/entry_points.txt +0 -0
- {vantage6-4.8.0rc3 → vantage6-5.0.0a0}/vantage6.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vantage6
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.0.0a0
|
|
4
4
|
Summary: vantage6 command line interface
|
|
5
5
|
Home-page: https://github.com/vantage6/vantage6
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -33,14 +33,16 @@ Provides-Extra: dev
|
|
|
33
33
|
<a href="#books-quickstart">Quickstart</a> •
|
|
34
34
|
<a href="#project-structure">Project structure</a> •
|
|
35
35
|
<a href="#gift_heart-join-the-community">Join the community</a> •
|
|
36
|
+
<a href="#scroll-license">License</a> •
|
|
37
|
+
<a href="#black_nib-code-of-conduct">Code of conduct</a> •
|
|
36
38
|
<a href="#black_nib-references">References</a>
|
|
37
39
|
</p>
|
|
38
40
|
|
|
39
41
|
---
|
|
40
42
|
|
|
41
|
-
This repository is contains all the **vantage6** infrastructure source code. The **vantage6** technology enables to manage and deploy privacy enhancing technologies like Federated Learning (FL) and Multi-Party Computation (MPC). Please visit our [website
|
|
43
|
+
This repository is contains all the **vantage6** infrastructure source code. The **vantage6** technology enables to manage and deploy privacy enhancing technologies like Federated Learning (FL) and Multi-Party Computation (MPC). Please visit our [website](https://vantage6.ai) to learn more!
|
|
42
44
|
|
|
43
|
-
You can find more (user) documentation at [readthedocs
|
|
45
|
+
You can find more (user) documentation at [readthedocs](https://docs.vantage6.ai). If you have any questions, suggestions or just want to chat about federated learning: join our [Discord)](https://discord.gg/yAyFf6Y) channel.
|
|
44
46
|
|
|
45
47
|
## Infrastructure overview
|
|
46
48
|
|
|
@@ -125,8 +127,7 @@ client.organization.create(
|
|
|
125
127
|
)
|
|
126
128
|
```
|
|
127
129
|
|
|
128
|
-
You can find more (user) documentation at
|
|
129
|
-
[readthedocs (docs.vantage6.ai)](https://docs.vantage6.ai)
|
|
130
|
+
You can find more (user) documentation at [readthedocs](https://docs.vantage6.ai)
|
|
130
131
|
|
|
131
132
|
## Project structure
|
|
132
133
|
|
|
@@ -178,15 +179,24 @@ And finally there are some images released for algorithm development:
|
|
|
178
179
|
|
|
179
180
|
## :gift_heart: Join the community!
|
|
180
181
|
|
|
181
|
-
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
182
|
-
the federated learning community. If you are interested in contributing, first of all,
|
|
183
|
-
thank you! Second, please take a look at our
|
|
184
|
-
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
182
|
+
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
183
|
+
the federated learning community. If you are interested in contributing, first of all,
|
|
184
|
+
thank you! Second, please take a look at our
|
|
185
|
+
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
186
|
+
and our [code of conduct](CODE_OF_CONDUCT.md).
|
|
185
187
|
|
|
186
188
|
<a href="https://github.com/vantage6/vantage6/graphs/contributors">
|
|
187
189
|
<img src="https://contrib.rocks/image?repo=vantage6/vantage6" />
|
|
188
190
|
</a>
|
|
189
191
|
|
|
192
|
+
## :scroll: License
|
|
193
|
+
|
|
194
|
+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
|
195
|
+
|
|
196
|
+
## :black_nib: Code of Conduct
|
|
197
|
+
|
|
198
|
+
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). **By participating in any way in this project you agree to abide by its terms.**
|
|
199
|
+
|
|
190
200
|
## :black_nib: References
|
|
191
201
|
|
|
192
202
|
If you are using **vantage6**, please cite this repository as well as the accompanying papers as follows:
|
|
@@ -201,5 +211,5 @@ If you are using **vantage6**, please cite this repository as well as the accomp
|
|
|
201
211
|
<a href="https://vantage6.ai">vantage6.ai</a> •
|
|
202
212
|
<a href="https://discord.gg/yAyFf6Y">Discord</a> •
|
|
203
213
|
<a href="https://vantage6.discourse.group/">Discourse</a> •
|
|
204
|
-
<a href="https://docs.vantage6.ai">User documentation</a>
|
|
214
|
+
<a href="https://docs.vantage6.ai">User documentation</a>
|
|
205
215
|
</p>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0
|
|
@@ -7,7 +7,7 @@ with open(os.path.join(here, "__build__")) as fp:
|
|
|
7
7
|
__build__ = json.load(fp)
|
|
8
8
|
|
|
9
9
|
# Module version
|
|
10
|
-
version_info = (
|
|
10
|
+
version_info = (5, 0, 0, "alpha", __build__, 0)
|
|
11
11
|
|
|
12
12
|
# Module version stage suffix map
|
|
13
13
|
_specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""}
|
|
@@ -230,24 +230,6 @@ class NodeContext(AppContext):
|
|
|
230
230
|
def proxy_log_file(self):
|
|
231
231
|
return self.log_file_name(type_="proxy_server")
|
|
232
232
|
|
|
233
|
-
def docker_temporary_volume_name(self, job_id: int) -> str:
|
|
234
|
-
"""
|
|
235
|
-
Docker volume in which temporary data is stored. Temporary data is
|
|
236
|
-
linked to a specific run. Multiple algorithm containers can have the
|
|
237
|
-
same run id, and therefore the share same temporary volume.
|
|
238
|
-
|
|
239
|
-
Parameters
|
|
240
|
-
----------
|
|
241
|
-
job_id : int
|
|
242
|
-
run id provided by the server
|
|
243
|
-
|
|
244
|
-
Returns
|
|
245
|
-
-------
|
|
246
|
-
str
|
|
247
|
-
Docker volume name
|
|
248
|
-
"""
|
|
249
|
-
return f"{APPNAME}-{self.name}-{self.scope}-{job_id}-tmpvol"
|
|
250
|
-
|
|
251
233
|
def get_database_uri(self, label: str = "default") -> str:
|
|
252
234
|
"""
|
|
253
235
|
Obtain the database URI for a specific database.
|
|
@@ -49,7 +49,7 @@ def create_node_data_files(num_nodes: int, server_name: str) -> list[Path]:
|
|
|
49
49
|
start = i * length_df // num_nodes
|
|
50
50
|
end = (i + 1) * length_df // num_nodes
|
|
51
51
|
data = full_df[start:end]
|
|
52
|
-
data_file = data_folder / f"
|
|
52
|
+
data_file = data_folder / f"{node_name}.csv"
|
|
53
53
|
|
|
54
54
|
# write data to file
|
|
55
55
|
data.to_csv(data_file, index=False)
|
|
@@ -116,8 +116,10 @@ def _stop_node(
|
|
|
116
116
|
scope = "system" if system_folders else "user"
|
|
117
117
|
config_name = get_server_config_name(container_name, scope)
|
|
118
118
|
ctx = NodeContext(config_name, system_folders, print_log_header=False)
|
|
119
|
+
|
|
120
|
+
# Do not delete the data volume as this would remove all sessions.
|
|
119
121
|
for volume in [
|
|
120
|
-
ctx.docker_volume_name,
|
|
122
|
+
# ctx.docker_volume_name,
|
|
121
123
|
ctx.docker_squid_volume_name,
|
|
122
124
|
ctx.docker_ssh_volume_name,
|
|
123
125
|
ctx.docker_vpn_volume_name,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vantage6
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.0.0a0
|
|
4
4
|
Summary: vantage6 command line interface
|
|
5
5
|
Home-page: https://github.com/vantage6/vantage6
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -33,14 +33,16 @@ Provides-Extra: dev
|
|
|
33
33
|
<a href="#books-quickstart">Quickstart</a> •
|
|
34
34
|
<a href="#project-structure">Project structure</a> •
|
|
35
35
|
<a href="#gift_heart-join-the-community">Join the community</a> •
|
|
36
|
+
<a href="#scroll-license">License</a> •
|
|
37
|
+
<a href="#black_nib-code-of-conduct">Code of conduct</a> •
|
|
36
38
|
<a href="#black_nib-references">References</a>
|
|
37
39
|
</p>
|
|
38
40
|
|
|
39
41
|
---
|
|
40
42
|
|
|
41
|
-
This repository is contains all the **vantage6** infrastructure source code. The **vantage6** technology enables to manage and deploy privacy enhancing technologies like Federated Learning (FL) and Multi-Party Computation (MPC). Please visit our [website
|
|
43
|
+
This repository is contains all the **vantage6** infrastructure source code. The **vantage6** technology enables to manage and deploy privacy enhancing technologies like Federated Learning (FL) and Multi-Party Computation (MPC). Please visit our [website](https://vantage6.ai) to learn more!
|
|
42
44
|
|
|
43
|
-
You can find more (user) documentation at [readthedocs
|
|
45
|
+
You can find more (user) documentation at [readthedocs](https://docs.vantage6.ai). If you have any questions, suggestions or just want to chat about federated learning: join our [Discord)](https://discord.gg/yAyFf6Y) channel.
|
|
44
46
|
|
|
45
47
|
## Infrastructure overview
|
|
46
48
|
|
|
@@ -125,8 +127,7 @@ client.organization.create(
|
|
|
125
127
|
)
|
|
126
128
|
```
|
|
127
129
|
|
|
128
|
-
You can find more (user) documentation at
|
|
129
|
-
[readthedocs (docs.vantage6.ai)](https://docs.vantage6.ai)
|
|
130
|
+
You can find more (user) documentation at [readthedocs](https://docs.vantage6.ai)
|
|
130
131
|
|
|
131
132
|
## Project structure
|
|
132
133
|
|
|
@@ -178,15 +179,24 @@ And finally there are some images released for algorithm development:
|
|
|
178
179
|
|
|
179
180
|
## :gift_heart: Join the community!
|
|
180
181
|
|
|
181
|
-
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
182
|
-
the federated learning community. If you are interested in contributing, first of all,
|
|
183
|
-
thank you! Second, please take a look at our
|
|
184
|
-
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
182
|
+
We hope to continue developing, improving, and supporting **vantage6** with the help of
|
|
183
|
+
the federated learning community. If you are interested in contributing, first of all,
|
|
184
|
+
thank you! Second, please take a look at our
|
|
185
|
+
[contributing guidelines](https://docs.vantage6.ai/en/main/devops/contribute.html)
|
|
186
|
+
and our [code of conduct](CODE_OF_CONDUCT.md).
|
|
185
187
|
|
|
186
188
|
<a href="https://github.com/vantage6/vantage6/graphs/contributors">
|
|
187
189
|
<img src="https://contrib.rocks/image?repo=vantage6/vantage6" />
|
|
188
190
|
</a>
|
|
189
191
|
|
|
192
|
+
## :scroll: License
|
|
193
|
+
|
|
194
|
+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
|
195
|
+
|
|
196
|
+
## :black_nib: Code of Conduct
|
|
197
|
+
|
|
198
|
+
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). **By participating in any way in this project you agree to abide by its terms.**
|
|
199
|
+
|
|
190
200
|
## :black_nib: References
|
|
191
201
|
|
|
192
202
|
If you are using **vantage6**, please cite this repository as well as the accompanying papers as follows:
|
|
@@ -201,5 +211,5 @@ If you are using **vantage6**, please cite this repository as well as the accomp
|
|
|
201
211
|
<a href="https://vantage6.ai">vantage6.ai</a> •
|
|
202
212
|
<a href="https://discord.gg/yAyFf6Y">Discord</a> •
|
|
203
213
|
<a href="https://vantage6.discourse.group/">Discourse</a> •
|
|
204
|
-
<a href="https://docs.vantage6.ai">User documentation</a>
|
|
214
|
+
<a href="https://docs.vantage6.ai">User documentation</a>
|
|
205
215
|
</p>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
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
|