PySDD 1.0.1__tar.gz → 1.0.4__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.
- {pysdd-1.0.1 → pysdd-1.0.4}/PKG-INFO +4 -3
- {pysdd-1.0.1 → pysdd-1.0.4}/PySDD.egg-info/PKG-INFO +4 -3
- {pysdd-1.0.1 → pysdd-1.0.4}/PySDD.egg-info/requires.txt +2 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pyproject.toml +5 -5
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/io.c +2 -2
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_search/search.c +1 -1
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/compare.c +2 -2
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/io.c +7 -7
- {pysdd-1.0.1 → pysdd-1.0.4}/LICENSE +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/PySDD.egg-info/SOURCES.txt +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/PySDD.egg-info/dependency_links.txt +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/PySDD.egg-info/entry_points.txt +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/PySDD.egg-info/top_level.txt +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/README.rst +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/__init__.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/__main__.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/cli.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/iterator.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/computed.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/count_and_size.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/gc.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/hash.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/memory.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/multiply.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/nodes.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/partitions.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/references.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/replace.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/shadows.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/basic/sort.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/manager/copy.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/manager/interface.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/manager/manager.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/manager/stats.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/manager/variables.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/apply.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/bits.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/cardinality.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/condition.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/copy.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/count.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/essential_vars.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/exists.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/exists_multiple.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/exists_multiple_static.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/forall.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/model_count.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/rename_vars.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/size.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/sdds/wmc.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/util.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/verify.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/version.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_fragments/construction.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_fragments/moves.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_fragments/operations.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/cartesian_product.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/dissect.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/limits.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/op_left_rotate.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/op_right_rotate.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/op_swap.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/rollback.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_operations/split.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_search/auto.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtree_search/state.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/edit.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/maps.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/moves.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/static.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/libsdd-2.0/src/vtrees/vtree.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/sdd-2.0/src/fnf/compiler.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/sdd-2.0/src/fnf/fnf.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/sdd-2.0/src/fnf/io.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/lib/sdd-2.0/src/fnf/utils.c +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/sdd.pyx +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/util.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/pysdd/wmcstochastic.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/setup.cfg +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_iterator.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_minimize.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_nnf.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_psdd.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_util.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_vtree.py +0 -0
- {pysdd-1.0.1 → pysdd-1.0.4}/tests/test_wmcstochastic.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: PySDD
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
4
4
|
Summary: Sentential Decision Diagrams
|
|
5
5
|
Author: Arthur Choi
|
|
6
|
-
Author-email: Wannes Meert <wannes.meert@cs.kuleuven.be>
|
|
6
|
+
Author-email: Wannes Meert <wannes.meert@cs.kuleuven.be>, Robin Manhaeve <robin.manhaeve@kuleuven.be>
|
|
7
7
|
License: Copyright 2018, KU Leuven and Regents of the University of California
|
|
8
8
|
|
|
9
9
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -29,9 +29,10 @@ Requires-Python: >=3.8
|
|
|
29
29
|
Description-Content-Type: text/x-rst
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
Requires-Dist: cython
|
|
32
|
-
Requires-Dist: numpy
|
|
33
32
|
Provides-Extra: tests
|
|
34
33
|
Requires-Dist: pytest; extra == "tests"
|
|
34
|
+
Provides-Extra: notebooks
|
|
35
|
+
Requires-Dist: numpy; extra == "notebooks"
|
|
35
36
|
|
|
36
37
|
=====
|
|
37
38
|
PySDD
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: PySDD
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
4
4
|
Summary: Sentential Decision Diagrams
|
|
5
5
|
Author: Arthur Choi
|
|
6
|
-
Author-email: Wannes Meert <wannes.meert@cs.kuleuven.be>
|
|
6
|
+
Author-email: Wannes Meert <wannes.meert@cs.kuleuven.be>, Robin Manhaeve <robin.manhaeve@kuleuven.be>
|
|
7
7
|
License: Copyright 2018, KU Leuven and Regents of the University of California
|
|
8
8
|
|
|
9
9
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -29,9 +29,10 @@ Requires-Python: >=3.8
|
|
|
29
29
|
Description-Content-Type: text/x-rst
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
Requires-Dist: cython
|
|
32
|
-
Requires-Dist: numpy
|
|
33
32
|
Provides-Extra: tests
|
|
34
33
|
Requires-Dist: pytest; extra == "tests"
|
|
34
|
+
Provides-Extra: notebooks
|
|
35
|
+
Requires-Dist: numpy; extra == "notebooks"
|
|
35
36
|
|
|
36
37
|
=====
|
|
37
38
|
PySDD
|
|
@@ -4,18 +4,18 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PySDD"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.4"
|
|
8
8
|
description = "Sentential Decision Diagrams"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Wannes Meert", email = "wannes.meert@cs.kuleuven.be" },
|
|
11
11
|
{ name = "Arthur Choi" },
|
|
12
|
+
{ name = "Robin Manhaeve", email = "robin.manhaeve@kuleuven.be" },
|
|
12
13
|
]
|
|
13
14
|
readme = "README.rst"
|
|
14
15
|
license = { file = "LICENSE" }
|
|
15
16
|
requires-python = ">=3.8"
|
|
16
17
|
dependencies = [
|
|
17
18
|
"cython",
|
|
18
|
-
"numpy",
|
|
19
19
|
]
|
|
20
20
|
keywords = ["sdd, knowledge compilation"]
|
|
21
21
|
classifiers = [
|
|
@@ -27,7 +27,7 @@ classifiers = [
|
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
29
29
|
tests = ["pytest"]
|
|
30
|
-
|
|
30
|
+
notebooks = ["numpy"]
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
[project.urls]
|
|
@@ -113,10 +113,10 @@ include-dirs = [
|
|
|
113
113
|
]
|
|
114
114
|
|
|
115
115
|
[tool.cibuildwheel]
|
|
116
|
-
environment = {CFLAGS="-
|
|
116
|
+
environment = {CFLAGS="-O3 -DNDEBUG" }
|
|
117
117
|
test-requires = "pytest"
|
|
118
118
|
test-command = "pytest {project}/tests"
|
|
119
119
|
|
|
120
120
|
[tool.cibuildwheel.windows]
|
|
121
|
-
environment = {CL = "/O2"}
|
|
121
|
+
environment = {CL = "/O2 /DNDEBUG"}
|
|
122
122
|
|
|
@@ -284,9 +284,9 @@ void print_sdd_node_file(FILE* file, SddNode* node) {
|
|
|
284
284
|
|
|
285
285
|
if(node->type==TRUE) fprintf(file,"T %"PRIsS"\n",node->index);
|
|
286
286
|
else if(node->type==FALSE) fprintf(file,"F %"PRIsS"\n",node->index);
|
|
287
|
-
else if(node->type==LITERAL) fprintf(file,"L %"PRIsS" %"
|
|
287
|
+
else if(node->type==LITERAL) fprintf(file,"L %"PRIsS" %"PRIlitS" %"PRIlitS"\n",node->index,vtree->position,LITERAL_OF(node));
|
|
288
288
|
else {//decomposition
|
|
289
|
-
fprintf(file,"D %"PRIsS" %"
|
|
289
|
+
fprintf(file,"D %"PRIsS" %"PRIlitS" %"PRIsS"",node->index,vtree->position,node->size);
|
|
290
290
|
FOR_each_prime_sub_of_node(prime,sub,node,fprintf(file," %"PRIsS" %"PRIsS"",prime->index,sub->index));
|
|
291
291
|
fprintf(file,"\n");
|
|
292
292
|
}
|
|
@@ -56,7 +56,7 @@ static inline
|
|
|
56
56
|
SddSize balance(Vtree* vtree, SddManager* manager) {
|
|
57
57
|
SddLiteral left_count = sdd_vtree_var_count(sdd_vtree_left(vtree));
|
|
58
58
|
SddLiteral right_count = sdd_vtree_var_count(sdd_vtree_right(vtree));
|
|
59
|
-
return
|
|
59
|
+
return llabs(left_count - right_count);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
/****************************************************************************************
|
|
@@ -52,9 +52,9 @@ Vtree* sdd_vtree_lca(Vtree* vtree1, Vtree* vtree2, Vtree* root) {
|
|
|
52
52
|
Vtree* sdd_manager_lca_of_literals(int count, SddLiteral* literals, SddManager* manager) {
|
|
53
53
|
assert(count>0);
|
|
54
54
|
Vtree* root = manager->vtree;
|
|
55
|
-
Vtree* vtree = sdd_manager_vtree_of_var(
|
|
55
|
+
Vtree* vtree = sdd_manager_vtree_of_var(llabs(literals[0]),manager);
|
|
56
56
|
for(int i=1; i<count; i++) {
|
|
57
|
-
Vtree* leaf = sdd_manager_vtree_of_var(
|
|
57
|
+
Vtree* leaf = sdd_manager_vtree_of_var(llabs(literals[i]),manager);
|
|
58
58
|
vtree = sdd_vtree_lca(vtree,leaf,root);
|
|
59
59
|
}
|
|
60
60
|
return vtree;
|
|
@@ -38,12 +38,12 @@ Vtree* sdd_vtree_read(const char* filename) {
|
|
|
38
38
|
//prints a vtree node
|
|
39
39
|
void print_vtree_node(FILE* file, const Vtree* vnode) {
|
|
40
40
|
if(LEAF(vnode)) {
|
|
41
|
-
fprintf(file,"L %"
|
|
41
|
+
fprintf(file,"L %"PRIlitS" %"PRIlitS"",vnode->position,vnode->var);
|
|
42
42
|
}
|
|
43
43
|
else { // internal node
|
|
44
44
|
print_vtree_node(file,vnode->left);
|
|
45
45
|
print_vtree_node(file,vnode->right);
|
|
46
|
-
fprintf(file,"I %"
|
|
46
|
+
fprintf(file,"I %"PRIlitS" %"PRIlitS" %"PRIlitS"",vnode->position,vnode->left->position,vnode->right->position);
|
|
47
47
|
}
|
|
48
48
|
fprintf(file,"\n");
|
|
49
49
|
}
|
|
@@ -66,7 +66,7 @@ void print_vtree_header(FILE* file) {
|
|
|
66
66
|
void print_vtree(FILE* file, const Vtree* vtree) {
|
|
67
67
|
SddLiteral count = 2*(vtree->var_count) -1;
|
|
68
68
|
print_vtree_header(file);
|
|
69
|
-
fprintf(file,"vtree %"
|
|
69
|
+
fprintf(file,"vtree %"PRIlitS"\n",count);
|
|
70
70
|
print_vtree_node(file,vtree);
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -91,13 +91,13 @@ void print_vtree_nodes_as_dot(FILE* file, const Vtree* vtree) {
|
|
|
91
91
|
if(LEAF(vtree)) {
|
|
92
92
|
SddLiteral var = vtree->var;
|
|
93
93
|
char* var_string = literal_to_label(var);
|
|
94
|
-
fprintf(file,"\nn%"
|
|
94
|
+
fprintf(file,"\nn%"PRIlitS" [label=\"%s\",fontname=\"Times-Italic\","
|
|
95
95
|
"fontsize=14,shape=\"%s\",fixedsize=true,width=.25,height=.25"
|
|
96
96
|
"]; ",position,var_string,shape);
|
|
97
97
|
free(var_string);
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
|
-
fprintf(file,"\nn%"
|
|
100
|
+
fprintf(file,"\nn%"PRIlitS" [label=\"%"PRIlitS"\",fontname=\"Times\","
|
|
101
101
|
"shape=\"%s\",fontsize=12,fixedsize=true,width=.2,height=.18]; ",
|
|
102
102
|
position,position,shape);
|
|
103
103
|
print_vtree_nodes_as_dot(file,vtree->left);
|
|
@@ -110,14 +110,14 @@ void print_vtree_edges_as_dot(FILE* file, const Vtree* vtree, const Vtree* paren
|
|
|
110
110
|
if(LEAF(vtree)) {
|
|
111
111
|
if(parent != NULL) {
|
|
112
112
|
SddLiteral parent_position = vtree->parent->position;
|
|
113
|
-
fprintf(file,"\nn%"
|
|
113
|
+
fprintf(file,"\nn%"PRIlitS"->n%"PRIlitS" [headclip=true,arrowhead=none,headlabel=\"%"PRIlitS"\","
|
|
114
114
|
"labelfontname=\"Times\",labelfontsize=10];",parent_position,position,position);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
else { //internal node
|
|
118
118
|
if(parent != NULL) {
|
|
119
119
|
SddLiteral parent_position = vtree->parent->position;
|
|
120
|
-
fprintf(file,"\nn%"
|
|
120
|
+
fprintf(file,"\nn%"PRIlitS"->n%"PRIlitS" [arrowhead=none];",parent_position,position);
|
|
121
121
|
}
|
|
122
122
|
print_vtree_edges_as_dot(file,vtree->left,vtree);
|
|
123
123
|
print_vtree_edges_as_dot(file,vtree->right,vtree); // right first?
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|