dbgraph 0.2.3__tar.gz → 0.2.5__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.
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/workspace.xml +27 -11
- {dbgraph-0.2.3 → dbgraph-0.2.5}/PKG-INFO +1 -1
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/descriptor/langchain_graph_descriptor.py +2 -2
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/persistent/models.py +6 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/persistent/sql_graph_persistent.py +2 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/pyproject.toml +1 -1
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_sql_graph_persistent.py +9 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/uv.lock +1 -1
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.gitignore +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/.gitignore +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/dbgraph.iml +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/misc.xml +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/modules.xml +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.idea/vcs.xml +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/.python-version +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/README.md +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-desc.md +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-graph-import.db +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-graph-v2.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-graph-v4.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-graph.db +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-graph.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-graph.png +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/corpus.jsonl +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/corpus.mmindex.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/data.csc.index.npy +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/indices.csc.index.npy +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/indptr.csc.index.npy +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/params.index.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-index/vocab.index.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind-semantic-v5.json +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/northwind.db +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/data/time-results.txt +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/application.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/builder/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/builder/graph_builder.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/builder/sql_graph_builder.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/descriptor/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/descriptor/graph_descriptor.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/descriptor/prompt_templates.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/aspect.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/asset.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/asset_type.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/dbgraph.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/link.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/link_type.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/entity/rdbgraph.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/io/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/io/graph_loader.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/io/graph_writer.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/io/json_graph_loader.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/io/json_graph_writer.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/persistent/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/persistent/graph_persistent.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/persistent/json_utils.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/render/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/render/graph_renderer.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/render/markdown_renderer.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/search/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/search/bm25_search_engine.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/search/search_engine.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/utils/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/dbgraph/utils/singleton.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/diagrams/entity.png +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/diagrams/entity.txt +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/diagrams/usecase.png +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/diagrams/usecase.txt +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/docs/index.md +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/docs/refs/aspect.md +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/docs/refs/graph.md +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/main.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/mkdocs.yml +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/__init__.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_application.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_bm25s_search_engine.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_dbgraph.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_json_graph_loader.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_json_graph_writer.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_langchain_graph_descriptor.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_load_graph_sql.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_markdown_renderer.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_rdbgraph.py +0 -0
- {dbgraph-0.2.3 → dbgraph-0.2.5}/tests/test_sql_graph_builder.py +0 -0
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
<change beforePath="$PROJECT_DIR$/data/northwind-index/indices.csc.index.npy" beforeDir="false" afterPath="$PROJECT_DIR$/data/northwind-index/indices.csc.index.npy" afterDir="false" />
|
|
11
11
|
<change beforePath="$PROJECT_DIR$/data/northwind-index/indptr.csc.index.npy" beforeDir="false" afterPath="$PROJECT_DIR$/data/northwind-index/indptr.csc.index.npy" afterDir="false" />
|
|
12
12
|
<change beforePath="$PROJECT_DIR$/data/northwind-index/vocab.index.json" beforeDir="false" afterPath="$PROJECT_DIR$/data/northwind-index/vocab.index.json" afterDir="false" />
|
|
13
|
+
<change beforePath="$PROJECT_DIR$/dbgraph/persistent/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/dbgraph/persistent/models.py" afterDir="false" />
|
|
14
|
+
<change beforePath="$PROJECT_DIR$/dbgraph/persistent/sql_graph_persistent.py" beforeDir="false" afterPath="$PROJECT_DIR$/dbgraph/persistent/sql_graph_persistent.py" afterDir="false" />
|
|
13
15
|
<change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
|
|
16
|
+
<change beforePath="$PROJECT_DIR$/tests/test_sql_graph_persistent.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_sql_graph_persistent.py" afterDir="false" />
|
|
17
|
+
<change beforePath="$PROJECT_DIR$/uv.lock" beforeDir="false" afterPath="$PROJECT_DIR$/uv.lock" afterDir="false" />
|
|
14
18
|
</list>
|
|
15
19
|
<option name="SHOW_DIALOG" value="false" />
|
|
16
20
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -78,6 +82,7 @@
|
|
|
78
82
|
"Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.test__build_links.executor": "Run",
|
|
79
83
|
"Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.test_build_graph.executor": "Run",
|
|
80
84
|
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.executor": "Run",
|
|
85
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_delete_graph.executor": "Run",
|
|
81
86
|
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_load_graph.executor": "Run",
|
|
82
87
|
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_save_graph.executor": "Run",
|
|
83
88
|
"Python tests.Python tests in test_load_graph_sql.py.executor": "Run",
|
|
@@ -92,7 +97,7 @@
|
|
|
92
97
|
"settings.editor.selected.configurable": "editor.preferences.folding"
|
|
93
98
|
}
|
|
94
99
|
}]]></component>
|
|
95
|
-
<component name="RunManager" selected="Python tests.Python tests for tests.
|
|
100
|
+
<component name="RunManager" selected="Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_delete_graph">
|
|
96
101
|
<configuration name="Python tests for tests.test_json_graph_loader.TestJSONGraphLoader.test_get_neighbors_sub_graph" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
97
102
|
<module name="dbgraph" />
|
|
98
103
|
<option name="ENV_FILES" value="" />
|
|
@@ -144,7 +149,7 @@
|
|
|
144
149
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
145
150
|
<method v="2" />
|
|
146
151
|
</configuration>
|
|
147
|
-
<configuration name="Python tests for tests.
|
|
152
|
+
<configuration name="Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_delete_graph" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
148
153
|
<module name="dbgraph" />
|
|
149
154
|
<option name="ENV_FILES" value="" />
|
|
150
155
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -157,7 +162,7 @@
|
|
|
157
162
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
|
158
163
|
<option name="RUN_TOOL" value="" />
|
|
159
164
|
<option name="_new_additionalArguments" value="""" />
|
|
160
|
-
<option name="_new_target" value=""tests.
|
|
165
|
+
<option name="_new_target" value=""tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_delete_graph"" />
|
|
161
166
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
162
167
|
<method v="2" />
|
|
163
168
|
</configuration>
|
|
@@ -180,11 +185,11 @@
|
|
|
180
185
|
</configuration>
|
|
181
186
|
<recent_temporary>
|
|
182
187
|
<list>
|
|
188
|
+
<item itemvalue="Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_delete_graph" />
|
|
183
189
|
<item itemvalue="Python tests.Python tests for tests.test_json_graph_loader.TestJSONGraphLoader.test_get_neighbors_sub_graph" />
|
|
184
190
|
<item itemvalue="Python tests.Python tests in tests" />
|
|
185
191
|
<item itemvalue="Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder" />
|
|
186
192
|
<item itemvalue="Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.test__build_links" />
|
|
187
|
-
<item itemvalue="Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.test_build_graph" />
|
|
188
193
|
</list>
|
|
189
194
|
</recent_temporary>
|
|
190
195
|
</component>
|
|
@@ -267,7 +272,23 @@
|
|
|
267
272
|
<option name="project" value="LOCAL" />
|
|
268
273
|
<updated>1788928883769</updated>
|
|
269
274
|
</task>
|
|
270
|
-
<
|
|
275
|
+
<task id="LOCAL-00009" summary="update renderer">
|
|
276
|
+
<option name="closed" value="true" />
|
|
277
|
+
<created>1788937576614</created>
|
|
278
|
+
<option name="number" value="00009" />
|
|
279
|
+
<option name="presentableId" value="LOCAL-00009" />
|
|
280
|
+
<option name="project" value="LOCAL" />
|
|
281
|
+
<updated>1788937576614</updated>
|
|
282
|
+
</task>
|
|
283
|
+
<task id="LOCAL-00010" summary="update renderer">
|
|
284
|
+
<option name="closed" value="true" />
|
|
285
|
+
<created>1788937586437</created>
|
|
286
|
+
<option name="number" value="00010" />
|
|
287
|
+
<option name="presentableId" value="LOCAL-00010" />
|
|
288
|
+
<option name="project" value="LOCAL" />
|
|
289
|
+
<updated>1788937586437</updated>
|
|
290
|
+
</task>
|
|
291
|
+
<option name="localTasksCounter" value="11" />
|
|
271
292
|
<servers />
|
|
272
293
|
</component>
|
|
273
294
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -297,12 +318,7 @@
|
|
|
297
318
|
<breakpoints>
|
|
298
319
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
|
299
320
|
<url>file://$PROJECT_DIR$/dbgraph/persistent/sql_graph_persistent.py</url>
|
|
300
|
-
<line>
|
|
301
|
-
<option name="timeStamp" value="4" />
|
|
302
|
-
</line-breakpoint>
|
|
303
|
-
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
|
304
|
-
<url>file://$PROJECT_DIR$/dbgraph/persistent/sql_graph_persistent.py</url>
|
|
305
|
-
<line>351</line>
|
|
321
|
+
<line>353</line>
|
|
306
322
|
<option name="timeStamp" value="5" />
|
|
307
323
|
</line-breakpoint>
|
|
308
324
|
</breakpoints>
|
|
@@ -34,9 +34,9 @@ class LangchainGraphDescriptor(GraphDescriptor):
|
|
|
34
34
|
def _get_semantic_aspect_table(
|
|
35
35
|
self, asset: Asset, context: RDatabaseGraph
|
|
36
36
|
) -> SemanticAspect:
|
|
37
|
-
self.markdown_renderer.render(context)
|
|
37
|
+
context_str = self.markdown_renderer.render(context)
|
|
38
38
|
system_prompt = (
|
|
39
|
-
self.table_system_prompt + "\n" +
|
|
39
|
+
self.table_system_prompt + "\n" + context_str
|
|
40
40
|
)
|
|
41
41
|
question = self.table_question_prompt + " " + asset.name
|
|
42
42
|
description = self._generate(system_prompt, question)
|
|
@@ -66,6 +66,7 @@ class AssetModel(Base):
|
|
|
66
66
|
ForeignKey(
|
|
67
67
|
"graphs.graph_id",
|
|
68
68
|
ondelete="CASCADE",
|
|
69
|
+
onupdate="CASCADE"
|
|
69
70
|
),
|
|
70
71
|
nullable=False,
|
|
71
72
|
index=True,
|
|
@@ -116,6 +117,7 @@ class LinkModel(Base):
|
|
|
116
117
|
ForeignKey(
|
|
117
118
|
"assets.asset_id",
|
|
118
119
|
ondelete="CASCADE",
|
|
120
|
+
onupdate="CASCADE"
|
|
119
121
|
),
|
|
120
122
|
nullable=False,
|
|
121
123
|
index=True,
|
|
@@ -125,6 +127,7 @@ class LinkModel(Base):
|
|
|
125
127
|
ForeignKey(
|
|
126
128
|
"assets.asset_id",
|
|
127
129
|
ondelete="CASCADE",
|
|
130
|
+
onupdate="CASCADE"
|
|
128
131
|
),
|
|
129
132
|
nullable=False,
|
|
130
133
|
index=True,
|
|
@@ -134,6 +137,7 @@ class LinkModel(Base):
|
|
|
134
137
|
ForeignKey(
|
|
135
138
|
"graphs.graph_id",
|
|
136
139
|
ondelete="CASCADE",
|
|
140
|
+
onupdate="CASCADE"
|
|
137
141
|
),
|
|
138
142
|
nullable=False,
|
|
139
143
|
index=True,
|
|
@@ -167,6 +171,7 @@ class AssetAspectModel(Base):
|
|
|
167
171
|
ForeignKey(
|
|
168
172
|
"assets.asset_id",
|
|
169
173
|
ondelete="CASCADE",
|
|
174
|
+
onupdate="CASCADE"
|
|
170
175
|
),
|
|
171
176
|
primary_key=True,
|
|
172
177
|
)
|
|
@@ -198,6 +203,7 @@ class LinkAspectModel(Base):
|
|
|
198
203
|
ForeignKey(
|
|
199
204
|
"links.link_id",
|
|
200
205
|
ondelete="CASCADE",
|
|
206
|
+
onupdate="CASCADE"
|
|
201
207
|
),
|
|
202
208
|
primary_key=True,
|
|
203
209
|
)
|
|
@@ -52,6 +52,8 @@ class SQLGraphPersistent(GraphPersistent):
|
|
|
52
52
|
def delete_graph(self, graph_id: str):
|
|
53
53
|
with Session(self.engine) as session:
|
|
54
54
|
session.execute(delete(GraphModel).where(GraphModel.graph_id == graph_id))
|
|
55
|
+
session.execute(delete(AssetModel).where(AssetModel.graph_id == graph_id))
|
|
56
|
+
session.execute(delete(LinkModel).where(LinkModel.graph_id == graph_id))
|
|
55
57
|
session.commit()
|
|
56
58
|
|
|
57
59
|
def insert_assets(self, assets: list[Asset], graph_id: str):
|
|
@@ -441,6 +441,15 @@ class TestSQLGraphPersistent(unittest.TestCase):
|
|
|
441
441
|
graph = self.persistent.load_graph(self.graph_id)
|
|
442
442
|
self.assertEqual(self.graph, graph)
|
|
443
443
|
|
|
444
|
+
def test_delete_graph(self):
|
|
445
|
+
self.persistent.save_graph(self.graph, self.graph_id)
|
|
446
|
+
graph = self.persistent.load_graph(self.graph_id)
|
|
447
|
+
self.assertEqual(self.graph, graph)
|
|
448
|
+
self.persistent.delete_graph(self.graph_id)
|
|
449
|
+
graph = self.persistent.load_graph(self.graph_id)
|
|
450
|
+
self.assertEqual(0, len(graph.assets))
|
|
451
|
+
self.assertEqual(0, len(graph.links))
|
|
452
|
+
|
|
444
453
|
def test_get_graph_info(self):
|
|
445
454
|
graph_info = self.persistent.get_graph_info("1")
|
|
446
455
|
self.assertEqual(graph_info[1], "graph-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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|