fred-oss 0.63.0__tar.gz → 0.64.0__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.
- {fred_oss-0.63.0/src/main/fred_oss.egg-info → fred_oss-0.64.0}/PKG-INFO +1 -1
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/comp/_node.py +11 -2
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/executor.py +18 -1
- fred_oss-0.64.0/src/main/fred/version +1 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0/src/main/fred_oss.egg-info}/PKG-INFO +1 -1
- fred_oss-0.63.0/src/main/fred/version +0 -1
- {fred_oss-0.63.0 → fred_oss-0.64.0}/MANIFEST.in +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/NOTICE.txt +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/README.md +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/requirements.txt +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/setup.cfg +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/setup.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/cli/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/cli/__main__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/cli/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/cli/main.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/comp/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/comp/_keyval.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/comp/_pubsub.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/comp/_queue.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/comp/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/comp/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/builder.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/loader.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/templates/public_ro.json +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/templates/public_rw.json +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/pool.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/service.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_redis.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_stdlib.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/utils.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/comp/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/comp/_group.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/comp/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/comp/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/conn/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/conn/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/decorator.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/edag/plan.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/callback/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/callback/_function.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/callback/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/callback/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/impl.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/result.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/settings.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/future/utils.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/16.4LTS.json +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/runpod/helper.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/maturity.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/monad/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/monad/_either.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/monad/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/monad/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/auth.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/config.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/catalog/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/catalog/default/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/catalog/default/_base.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/catalog/default/_example.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/catalog/default/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/catalog/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/config.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/endpoint.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/router/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/server.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/rest/settings.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/settings.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/dateops.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imops.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imout/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imout/_filesystem.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imout/_minio.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imout/_string.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imout/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/imout/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/mlops/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/mlops/auto.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/utils/runtime.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/version.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/backend.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/client.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/handler.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/_handler.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/_item.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/_request.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/_runner_spec.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/model/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/plugins/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/plugins/_local.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/plugins/_runpod.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/plugins/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/plugins/interface.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/rest/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/rest/router/__init__.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/rest/router/_base.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/rest/router/_runner.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/rest/router/catalog.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/settings.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/signal.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/status.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/runner/utils.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/worker/settings.py +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred_oss.egg-info/SOURCES.txt +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred_oss.egg-info/requires.txt +0 -0
- {fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred_oss.egg-info/top_level.txt +0 -0
|
@@ -3,8 +3,11 @@ from inspect import Signature, signature, Parameter
|
|
|
3
3
|
from dataclasses import dataclass, field, asdict
|
|
4
4
|
from typing import Callable, Optional
|
|
5
5
|
|
|
6
|
+
from fred.settings import logger_manager
|
|
6
7
|
from fred.edag.comp.interface import ComponentInterface
|
|
7
8
|
|
|
9
|
+
logger = logger_manager.get_logger(__name__)
|
|
10
|
+
|
|
8
11
|
|
|
9
12
|
@dataclass(frozen=True, slots=True)
|
|
10
13
|
class NodeFun:
|
|
@@ -74,6 +77,12 @@ class Node(ComponentInterface):
|
|
|
74
77
|
obj["params"] = frozenset((obj.get("params") or {}).keys()) # only hash keys to avoid unhashable values
|
|
75
78
|
return hash(frozenset(obj.items()))
|
|
76
79
|
|
|
80
|
+
def __getitem__(self, key) -> "Node":
|
|
81
|
+
if key is Ellipsis: # node[...] syntax
|
|
82
|
+
return self.clone(key="*")
|
|
83
|
+
logger.warning("Node indexing is reserved for syntax like node[...] to indicate iterator mode.")
|
|
84
|
+
raise KeyError(f"Node does not support indexing with key: {key}")
|
|
85
|
+
|
|
77
86
|
def clone(self, **kwargs) -> "Node":
|
|
78
87
|
# Verify if 'inplace' is set via '_inplace' or 'inplace' keys; otherwise, keep current value
|
|
79
88
|
for key in ("inplace", "_inplace"):
|
|
@@ -178,12 +187,12 @@ class Node(ComponentInterface):
|
|
|
178
187
|
_explode=self._explode,
|
|
179
188
|
)
|
|
180
189
|
|
|
181
|
-
def execute(self, **kwargs):
|
|
190
|
+
def execute(self, *args, **kwargs):
|
|
182
191
|
params = {
|
|
183
192
|
**self.params,
|
|
184
193
|
**kwargs
|
|
185
194
|
}
|
|
186
195
|
if self._inplace:
|
|
187
|
-
return self.fun(**params)
|
|
196
|
+
return self.fun(*args, **params)
|
|
188
197
|
from fred.future.impl import Future
|
|
189
198
|
return Future(self.fun, **params)
|
|
@@ -4,10 +4,14 @@ from dataclasses import dataclass, field
|
|
|
4
4
|
from typing import Any, Optional
|
|
5
5
|
|
|
6
6
|
from fred.future.impl import Future
|
|
7
|
+
from fred.settings import logger_manager
|
|
7
8
|
from fred.edag.comp.catalog import CompCatalog
|
|
8
9
|
from fred.edag.plan import Plan
|
|
9
10
|
|
|
10
11
|
|
|
12
|
+
logger = logger_manager.get_logger(__name__)
|
|
13
|
+
|
|
14
|
+
|
|
11
15
|
@dataclass(frozen=True, slots=True)
|
|
12
16
|
class Executor:
|
|
13
17
|
predmap: dict[CompCatalog.NODE.ref, set[CompCatalog.NODE.ref]]
|
|
@@ -57,8 +61,21 @@ class Executor:
|
|
|
57
61
|
for arg, val in node_out.items()
|
|
58
62
|
}
|
|
59
63
|
}
|
|
64
|
+
# Handle iterator mode; if '*' is provided in kwargs, execute node for each item in the iterator
|
|
65
|
+
# and collect results in a list.
|
|
66
|
+
# We should 'pop' to simulate 'consuming' the iterator input and avoid passing it to other nodes.
|
|
67
|
+
if (iterator := kwargs.pop("*", None)):
|
|
68
|
+
logger.debug(f"Executor mapping functionality detected: Node '{node.name}' executing in iterator mode.")
|
|
69
|
+
# TODO: https://github.com/fahera-mx/fred-oss/issues/179
|
|
70
|
+
# TODO: Can we consider exploiting the item components?
|
|
71
|
+
node_output = [
|
|
72
|
+
node.execute(item)
|
|
73
|
+
for item in iterator
|
|
74
|
+
]
|
|
75
|
+
else:
|
|
76
|
+
node_output = node.execute(**kwargs)
|
|
60
77
|
# Execute node function
|
|
61
|
-
match
|
|
78
|
+
match node_output:
|
|
62
79
|
case Future() as future:
|
|
63
80
|
# Can't we just build the whole graph in the future and 'wait_and_resolve' only at the end?
|
|
64
81
|
# Or at least per layer/generation?
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.64.0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.63.0
|
|
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
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/templates/public_ro.json
RENAMED
|
File without changes
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/dao/service/_minio/policy/templates/public_rw.json
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
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/16.4LTS.json
RENAMED
|
File without changes
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/runtimes/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/wrappers/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.63.0 → fred_oss-0.64.0}/src/main/fred/integrations/databricks/wrappers/dbutils.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|