flamapy-fm 2.0.0.dev4__tar.gz → 2.0.0.dev6__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.
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/PKG-INFO +1 -1
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/models/feature_model.py +3 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_metrics.py +71 -1
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy_fm.egg-info/PKG-INFO +1 -1
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy_fm.egg-info/requires.txt +1 -1
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/setup.py +1 -1
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/README.md +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/__init__.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/models/__init__.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/__init__.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_atomic_sets.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_average_branching_factor.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_core_features.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_count_leafs.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_estimated_configurations_number.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_feature_ancestors.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_generate_random_attribute.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_leaf_features.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/operations/fm_max_depth_tree.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/__init__.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/afm_reader.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/afm_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/clafer_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/featureide_reader.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/featureide_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/glencoe_reader.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/glencoe_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/json_reader.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/json_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/pysat_to_fm.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/splot_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/uvl_reader.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/uvl_writer.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/transformations/xml_reader.py +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy_fm.egg-info/SOURCES.txt +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy_fm.egg-info/dependency_links.txt +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy_fm.egg-info/top_level.txt +0 -0
- {flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/setup.cfg +0 -0
|
@@ -123,6 +123,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
123
123
|
result=_abstract_features,
|
|
124
124
|
size=len(_abstract_features),
|
|
125
125
|
ratio=self.get_ratio(_abstract_features, self._features),
|
|
126
|
+
parent="Features",
|
|
127
|
+
level=1
|
|
126
128
|
)
|
|
127
129
|
return result
|
|
128
130
|
|
|
@@ -137,6 +139,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
137
139
|
result=_concrete_features,
|
|
138
140
|
size=len(_concrete_features),
|
|
139
141
|
ratio=self.get_ratio(_concrete_features, self._features),
|
|
142
|
+
parent="Features",
|
|
143
|
+
level=1
|
|
140
144
|
)
|
|
141
145
|
return result
|
|
142
146
|
|
|
@@ -151,6 +155,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
151
155
|
result=_leaf_features,
|
|
152
156
|
size=len(_leaf_features),
|
|
153
157
|
ratio=self.get_ratio(_leaf_features, self._features),
|
|
158
|
+
parent="Features",
|
|
159
|
+
level=1
|
|
154
160
|
)
|
|
155
161
|
return result
|
|
156
162
|
|
|
@@ -167,6 +173,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
167
173
|
result=_compound_features,
|
|
168
174
|
size=len(_compound_features),
|
|
169
175
|
ratio=self.get_ratio(_compound_features, self._features),
|
|
176
|
+
parent="Features",
|
|
177
|
+
level=1
|
|
170
178
|
)
|
|
171
179
|
return result
|
|
172
180
|
|
|
@@ -187,6 +195,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
187
195
|
ratio=self.get_ratio(
|
|
188
196
|
_concrete_compound_features, self.concrete_features()["result"]
|
|
189
197
|
),
|
|
198
|
+
parent="Concrete features",
|
|
199
|
+
level=2
|
|
190
200
|
)
|
|
191
201
|
return result
|
|
192
202
|
|
|
@@ -207,6 +217,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
207
217
|
ratio=self.get_ratio(
|
|
208
218
|
_concrete_leaf_features, self.concrete_features()["result"]
|
|
209
219
|
),
|
|
220
|
+
parent="Concrete features",
|
|
221
|
+
level=2
|
|
210
222
|
)
|
|
211
223
|
return result
|
|
212
224
|
|
|
@@ -227,6 +239,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
227
239
|
ratio=self.get_ratio(
|
|
228
240
|
_abstract_compound_features, self._abstract_features.keys()
|
|
229
241
|
),
|
|
242
|
+
parent="Abstract features",
|
|
243
|
+
level=2
|
|
230
244
|
)
|
|
231
245
|
return result
|
|
232
246
|
|
|
@@ -247,6 +261,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
247
261
|
ratio=self.get_ratio(
|
|
248
262
|
_abstract_leaf_features, self._abstract_features.keys()
|
|
249
263
|
),
|
|
264
|
+
parent="Abstract features",
|
|
265
|
+
level=2
|
|
250
266
|
)
|
|
251
267
|
return result
|
|
252
268
|
|
|
@@ -280,6 +296,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
280
296
|
result=_root_feature,
|
|
281
297
|
size=1,
|
|
282
298
|
ratio=self.get_ratio([_root_feature], self._features),
|
|
299
|
+
parent="Features",
|
|
300
|
+
level=1
|
|
283
301
|
)
|
|
284
302
|
return result
|
|
285
303
|
|
|
@@ -299,6 +317,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
299
317
|
result=_top_features,
|
|
300
318
|
size=len(_top_features),
|
|
301
319
|
ratio=self.get_ratio(_top_features, self._features),
|
|
320
|
+
parent="Root feature",
|
|
321
|
+
level=2
|
|
302
322
|
)
|
|
303
323
|
return result
|
|
304
324
|
|
|
@@ -320,6 +340,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
320
340
|
result=_solitary_features,
|
|
321
341
|
size=len(_solitary_features),
|
|
322
342
|
ratio=self.get_ratio(_solitary_features, self._features),
|
|
343
|
+
parent="Features",
|
|
344
|
+
level=1
|
|
323
345
|
)
|
|
324
346
|
return result
|
|
325
347
|
|
|
@@ -338,6 +360,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
338
360
|
result=_grouped_features,
|
|
339
361
|
size=len(_grouped_features),
|
|
340
362
|
ratio=self.get_ratio(_grouped_features, self._features),
|
|
363
|
+
parent="Features",
|
|
364
|
+
level=1
|
|
341
365
|
)
|
|
342
366
|
return result
|
|
343
367
|
|
|
@@ -357,6 +381,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
357
381
|
ratio=self.get_ratio(
|
|
358
382
|
_mandatory_features, self.solitary_features()["result"]
|
|
359
383
|
),
|
|
384
|
+
parent="Tree relationships",
|
|
385
|
+
level=1
|
|
360
386
|
)
|
|
361
387
|
return result
|
|
362
388
|
|
|
@@ -376,6 +402,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
376
402
|
ratio=self.get_ratio(
|
|
377
403
|
_optional_features, self.solitary_features()["result"]
|
|
378
404
|
),
|
|
405
|
+
parent="Tree relationships",
|
|
406
|
+
level=1
|
|
379
407
|
)
|
|
380
408
|
return result
|
|
381
409
|
|
|
@@ -394,6 +422,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
394
422
|
result=_feature_groups,
|
|
395
423
|
size=len(_feature_groups),
|
|
396
424
|
ratio=self.get_ratio(_feature_groups, _tree_relationships),
|
|
425
|
+
parent="Tree relationships",
|
|
426
|
+
level=1
|
|
397
427
|
)
|
|
398
428
|
return result
|
|
399
429
|
|
|
@@ -415,6 +445,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
415
445
|
result=_alternative_groups,
|
|
416
446
|
size=len(_alternative_groups),
|
|
417
447
|
ratio=self.get_ratio(_alternative_groups, _group_features),
|
|
448
|
+
parent="Feature groups",
|
|
449
|
+
level=2
|
|
418
450
|
)
|
|
419
451
|
return result
|
|
420
452
|
|
|
@@ -434,6 +466,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
434
466
|
result=_or_groups,
|
|
435
467
|
size=len(_or_groups),
|
|
436
468
|
ratio=self.get_ratio(_or_groups, _group_features),
|
|
469
|
+
parent="Feature groups",
|
|
470
|
+
level=2
|
|
437
471
|
)
|
|
438
472
|
return result
|
|
439
473
|
|
|
@@ -450,6 +484,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
450
484
|
result=_mutex_groups,
|
|
451
485
|
size=len(_mutex_groups),
|
|
452
486
|
ratio=self.get_ratio(_mutex_groups, _group_features),
|
|
487
|
+
parent="Feature groups",
|
|
488
|
+
level=2
|
|
453
489
|
)
|
|
454
490
|
return result
|
|
455
491
|
|
|
@@ -468,6 +504,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
468
504
|
result=_cardinality_groups,
|
|
469
505
|
size=len(_cardinality_groups),
|
|
470
506
|
ratio=self.get_ratio(_cardinality_groups, _group_features),
|
|
507
|
+
parent="Feature groups",
|
|
508
|
+
level=2
|
|
471
509
|
)
|
|
472
510
|
return result
|
|
473
511
|
|
|
@@ -497,6 +535,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
497
535
|
name=name,
|
|
498
536
|
doc=self.min_children_per_feature.__doc__,
|
|
499
537
|
result=_min_children_per_feature,
|
|
538
|
+
parent="Branching factor",
|
|
539
|
+
level=1
|
|
500
540
|
)
|
|
501
541
|
return result
|
|
502
542
|
|
|
@@ -512,6 +552,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
512
552
|
name=name,
|
|
513
553
|
doc=self.max_children_per_feature.__doc__,
|
|
514
554
|
result=_max_children_per_feature,
|
|
555
|
+
parent="Branching factor",
|
|
556
|
+
level=1
|
|
515
557
|
)
|
|
516
558
|
return result
|
|
517
559
|
|
|
@@ -529,6 +571,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
529
571
|
name=name,
|
|
530
572
|
doc=self.avg_children_per_feature.__doc__,
|
|
531
573
|
result=_avg_children_per_feature,
|
|
574
|
+
parent="Branching factor",
|
|
575
|
+
level=1
|
|
532
576
|
)
|
|
533
577
|
return result
|
|
534
578
|
|
|
@@ -548,7 +592,9 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
548
592
|
name = "Max depth of tree"
|
|
549
593
|
_max_depth_tree = max(self._feature_ancestors)
|
|
550
594
|
result = self.construct_result(
|
|
551
|
-
name=name, doc=self.max_depth_tree.__doc__, result=_max_depth_tree
|
|
595
|
+
name=name, doc=self.max_depth_tree.__doc__, result=_max_depth_tree,
|
|
596
|
+
parent="Depth of tree",
|
|
597
|
+
level=1
|
|
552
598
|
)
|
|
553
599
|
return result
|
|
554
600
|
|
|
@@ -561,6 +607,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
561
607
|
name=name,
|
|
562
608
|
doc=self.mean_depth_tree.__doc__,
|
|
563
609
|
result=round(_mean_depth_tree, 2),
|
|
610
|
+
parent="Depth of tree",
|
|
611
|
+
level=1
|
|
564
612
|
)
|
|
565
613
|
return result
|
|
566
614
|
|
|
@@ -573,6 +621,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
573
621
|
name=name,
|
|
574
622
|
doc=self.median_depth_tree.__doc__,
|
|
575
623
|
result=round(_median_depth_tree, 2),
|
|
624
|
+
parent="Depth of tree",
|
|
625
|
+
level=1
|
|
576
626
|
)
|
|
577
627
|
return result
|
|
578
628
|
|
|
@@ -606,6 +656,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
606
656
|
result=_simple_constraints,
|
|
607
657
|
size=len(_simple_constraints),
|
|
608
658
|
ratio=self.get_ratio(_simple_constraints, self.model.get_constraints()),
|
|
659
|
+
parent="Cross-tree constraints",
|
|
660
|
+
level=1
|
|
609
661
|
)
|
|
610
662
|
return result
|
|
611
663
|
|
|
@@ -628,6 +680,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
628
680
|
ratio=self.get_ratio(
|
|
629
681
|
_requires_constraints, self.model.get_simple_constraints()
|
|
630
682
|
),
|
|
683
|
+
parent="Simple constraints",
|
|
684
|
+
level=2
|
|
631
685
|
)
|
|
632
686
|
return result
|
|
633
687
|
|
|
@@ -650,6 +704,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
650
704
|
ratio=self.get_ratio(
|
|
651
705
|
_excludes_constraints, self.model.get_simple_constraints()
|
|
652
706
|
),
|
|
707
|
+
parent="Simple constraints",
|
|
708
|
+
level=2
|
|
653
709
|
)
|
|
654
710
|
return result
|
|
655
711
|
|
|
@@ -669,6 +725,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
669
725
|
result=_complex_constraints,
|
|
670
726
|
size=len(_complex_constraints),
|
|
671
727
|
ratio=self.get_ratio(_complex_constraints, self.model.get_constraints()),
|
|
728
|
+
parent="Cross-tree constraints",
|
|
729
|
+
level=1
|
|
672
730
|
)
|
|
673
731
|
return result
|
|
674
732
|
|
|
@@ -690,6 +748,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
690
748
|
ratio=self.get_ratio(
|
|
691
749
|
_pseudocomplex_constraints, self.model.get_complex_constraints()
|
|
692
750
|
),
|
|
751
|
+
parent="Complex constraints",
|
|
752
|
+
level=2
|
|
693
753
|
)
|
|
694
754
|
return result
|
|
695
755
|
|
|
@@ -711,6 +771,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
711
771
|
ratio=self.get_ratio(
|
|
712
772
|
_strictcomplex_constraints, self.model.get_complex_constraints()
|
|
713
773
|
),
|
|
774
|
+
parent="Complex constraints",
|
|
775
|
+
level=2
|
|
714
776
|
)
|
|
715
777
|
return result
|
|
716
778
|
|
|
@@ -723,6 +785,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
723
785
|
name=name,
|
|
724
786
|
doc=self.min_constraints_per_feature.__doc__,
|
|
725
787
|
result=min(_constraints_per_feature),
|
|
788
|
+
parent="Cross-tree constraints",
|
|
789
|
+
level=1
|
|
726
790
|
)
|
|
727
791
|
return result
|
|
728
792
|
|
|
@@ -735,6 +799,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
735
799
|
name=name,
|
|
736
800
|
doc=self.max_constraints_per_feature.__doc__,
|
|
737
801
|
result=max(_constraints_per_feature),
|
|
802
|
+
parent="Cross-tree constraints",
|
|
803
|
+
level=1
|
|
738
804
|
)
|
|
739
805
|
return result
|
|
740
806
|
|
|
@@ -747,6 +813,8 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
747
813
|
name=name,
|
|
748
814
|
doc=self.avg_constraints_per_feature.__doc__,
|
|
749
815
|
result=round(statistics.mean(_constraints_per_feature), 2),
|
|
816
|
+
parent="Cross-tree constraints",
|
|
817
|
+
level=1
|
|
750
818
|
)
|
|
751
819
|
return result
|
|
752
820
|
|
|
@@ -767,5 +835,7 @@ class FMMetrics(Metrics): # pylint: disable=too-many-instance-attributes
|
|
|
767
835
|
result=_features_in_constraints,
|
|
768
836
|
size=len(_features_in_constraints),
|
|
769
837
|
ratio=self.get_ratio(_features_in_constraints, self._features, 2),
|
|
838
|
+
parent="Cross-tree constraints",
|
|
839
|
+
level=1
|
|
770
840
|
)
|
|
771
841
|
return result
|
|
@@ -16,7 +16,7 @@ dev_requirements = read_requirements("requirements-dev.txt")
|
|
|
16
16
|
|
|
17
17
|
setuptools.setup(
|
|
18
18
|
name="flamapy-fm",
|
|
19
|
-
version="2.0.0.
|
|
19
|
+
version="2.0.0.dev6",
|
|
20
20
|
author="Flamapy",
|
|
21
21
|
author_email="flamapy@us.es",
|
|
22
22
|
description="flamapy-fm is a plugin to Flamapy module",
|
|
File without changes
|
|
File without changes
|
{flamapy-fm-2.0.0.dev4 → flamapy-fm-2.0.0.dev6}/flamapy/metamodels/fm_metamodel/models/__init__.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
|