sql-assignment-generator 0.0.12__tar.gz → 0.0.13__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.
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/PKG-INFO +1 -1
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/pyproject.toml +1 -1
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/__init__.py +18 -11
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/test.py +1 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/.env.template +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/.gitattributes +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/.gitignore +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/.readthedocs.yaml +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/LICENSE +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/Makefile +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/README.md +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/docs/Makefile +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/docs/conf.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/docs/index.rst +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/docs/make.bat +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/docs/requirements.txt +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/requirements.txt +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/assignment.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/dataset/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/dataset/dataset.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/dataset/strings.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/exercise/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/exercise/exercise.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/assignments/exercise/strings.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/base.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/costraintType.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/aggregation.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/base.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/clause_from.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/clause_group_by.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/clause_having.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/clause_order_by.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/clause_select.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/clause_where.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/rows.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/set_operations.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/query/subquery.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/schema/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/schema/base.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/schema/tables.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/constraints/schema/values.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/difficulty_level.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/domains.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/base.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_002.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_004.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_007.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_009.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_010.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_011.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_012.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_015.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_019.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_021.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_026.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_035.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_039.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_040.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_041.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_042.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_043.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_044.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_045.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_046.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_049.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_052.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_053.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_054.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_055.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_057.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_058.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_059.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_060.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_062.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_063.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_064.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_066.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_067.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_068.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_069.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_070.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_071.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_072.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_073.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_074.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_075.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_076.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_077.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_078.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_079.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_080.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_081.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_083.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_084.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_086.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_088.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_089.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_091.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_093.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_095.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_096.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_097.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_098.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_099.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_102.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_104.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/error_requirements/err_105.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/exceptions.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/llm/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/llm/chatgpt.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/llm/message.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/src/sql_assignment_generator/llm/models.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_aggregation.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_clause_from.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_clause_group_by.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_clause_having.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_clause_order_by.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_clause_select.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_clause_where.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_rows.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_set_operation.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/query/test_subquery.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/schema/__init__.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/schema/test_tables.py +0 -0
- {sql_assignment_generator-0.0.12 → sql_assignment_generator-0.0.13}/tests/constraints/schema/test_values.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sql_assignment_generator
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.13
|
|
4
4
|
Summary: This project generates SQL assignments based on common mistakes made by learners.
|
|
5
5
|
Project-URL: Repository, https://github.com/DavidePonzini/sql_assignment_generator
|
|
6
6
|
Project-URL: Documentation, https://sql-assignment-generator.readthedocs.io/en/latest/index.html
|
|
@@ -45,22 +45,29 @@ def generate_assignment(
|
|
|
45
45
|
Returns:
|
|
46
46
|
Assignment: The generated assignment (stable order).
|
|
47
47
|
'''
|
|
48
|
+
|
|
49
|
+
# filter only supported errors
|
|
50
|
+
supported_errors: list[tuple[SqlErrors, DifficultyLevel]] = []
|
|
51
|
+
for error, difficulty in errors:
|
|
52
|
+
if error in ERROR_REQUIREMENTS_MAP:
|
|
53
|
+
supported_errors.append((error, difficulty))
|
|
54
|
+
else:
|
|
55
|
+
dav_tools.messages.warning(f'Skipping unsupported error: {error.name}')
|
|
48
56
|
|
|
49
|
-
|
|
57
|
+
if not supported_errors:
|
|
58
|
+
raise ValueError('No supported errors provided for assignment generation.')
|
|
50
59
|
|
|
51
60
|
if domain is None:
|
|
52
61
|
domain = random_domain()
|
|
53
62
|
|
|
54
63
|
if shuffle_exercises:
|
|
55
64
|
random.shuffle(errors)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
dav_tools.messages.info(f'Starting assignment generation for {len(supported_errors)} exercises (out of {len(errors)} requested)')
|
|
56
68
|
|
|
57
69
|
# convert SqlErrors -> SqlErrorRequirements, keeping difficulty levels
|
|
58
|
-
requirements: list[tuple[SqlErrors, SqlErrorRequirements, DifficultyLevel]] = []
|
|
59
|
-
for error, difficulty in errors:
|
|
60
|
-
if error not in ERROR_REQUIREMENTS_MAP:
|
|
61
|
-
raise NotImplementedError(f'Error requirements not implemented for error: {error.name}')
|
|
62
|
-
|
|
63
|
-
requirements.append((error, ERROR_REQUIREMENTS_MAP[error], difficulty))
|
|
70
|
+
requirements: list[tuple[SqlErrors, SqlErrorRequirements, DifficultyLevel]] = [(error, ERROR_REQUIREMENTS_MAP[error], difficulty) for error, difficulty in supported_errors]
|
|
64
71
|
|
|
65
72
|
# initialize requirements and extra details
|
|
66
73
|
dataset_requirements: list[SchemaConstraint] = []
|
|
@@ -126,7 +133,7 @@ def generate_assignment(
|
|
|
126
133
|
return (idx, None)
|
|
127
134
|
|
|
128
135
|
# Pre-allocate so we can preserve ordering no matter completion order.
|
|
129
|
-
ordered_results: list[Exercise | None] = [None] * len(
|
|
136
|
+
ordered_results: list[Exercise | None] = [None] * len(supported_errors)
|
|
130
137
|
|
|
131
138
|
if max_workers == 1:
|
|
132
139
|
for idx, (error, requirement, difficulty) in enumerate(requirements):
|
|
@@ -144,10 +151,10 @@ def generate_assignment(
|
|
|
144
151
|
|
|
145
152
|
exercises: list[Exercise] = [ex for ex in ordered_results if ex is not None]
|
|
146
153
|
|
|
147
|
-
if len(exercises) < len(
|
|
148
|
-
dav_tools.messages.warning(f'Finished generating exercises with some failures. Generated {len(exercises)}
|
|
154
|
+
if len(exercises) < len(supported_errors):
|
|
155
|
+
dav_tools.messages.warning(f'Finished generating exercises with some failures. Generated: {len(exercises)}. Unsupported: {len(errors) - len(supported_errors)}. Failed: {len(supported_errors) - len(exercises)}.')
|
|
149
156
|
else:
|
|
150
|
-
dav_tools.messages.success(f'Successfully generated all {len(exercises)} exercises.')
|
|
157
|
+
dav_tools.messages.success(f'Successfully generated all {len(exercises)} exercises. Unsupported: {len(errors) - len(supported_errors)}.')
|
|
151
158
|
|
|
152
159
|
return Assignment(
|
|
153
160
|
dataset=dataset,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|