ultralytics 8.2.22__tar.gz → 8.2.23__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.
Potentially problematic release.
This version of ultralytics might be problematic. Click here for more details.
- {ultralytics-8.2.22 → ultralytics-8.2.23}/PKG-INFO +4 -2
- {ultralytics-8.2.22 → ultralytics-8.2.23}/README.md +3 -1
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_cli.py +1 -2
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_cuda.py +3 -4
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_engine.py +1 -2
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_integrations.py +1 -2
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_python.py +4 -7
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/loaders.py +24 -7
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/utils.py +1 -1
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/analytics.py +2 -2
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics.egg-info/PKG-INFO +4 -2
- {ultralytics-8.2.22 → ultralytics-8.2.23}/LICENSE +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/pyproject.toml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/setup.cfg +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/conftest.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/tests/test_exports.py +1 -1
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/fastsam/prompt.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.23
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -135,7 +135,7 @@ See below for a quickstart installation and usage example, and see the [YOLOv8 D
|
|
|
135
135
|
|
|
136
136
|
Pip install the ultralytics package including all [requirements](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml) in a [**Python>=3.8**](https://www.python.org/) environment with [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/).
|
|
137
137
|
|
|
138
|
-
[](https://pypi.org/project/ultralytics/) [](https://pepy.tech/project/ultralytics) [](https://pypi.org/project/ultralytics/)
|
|
139
139
|
|
|
140
140
|
```bash
|
|
141
141
|
pip install ultralytics
|
|
@@ -143,6 +143,8 @@ pip install ultralytics
|
|
|
143
143
|
|
|
144
144
|
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart).
|
|
145
145
|
|
|
146
|
+
[](https://anaconda.org/conda-forge/ultralytics) [](https://hub.docker.com/r/ultralytics/ultralytics)
|
|
147
|
+
|
|
146
148
|
</details>
|
|
147
149
|
|
|
148
150
|
<details open>
|
|
@@ -53,7 +53,7 @@ See below for a quickstart installation and usage example, and see the [YOLOv8 D
|
|
|
53
53
|
|
|
54
54
|
Pip install the ultralytics package including all [requirements](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml) in a [**Python>=3.8**](https://www.python.org/) environment with [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/).
|
|
55
55
|
|
|
56
|
-
[](https://pypi.org/project/ultralytics/) [](https://pepy.tech/project/ultralytics) [](https://pypi.org/project/ultralytics/)
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
pip install ultralytics
|
|
@@ -61,6 +61,8 @@ pip install ultralytics
|
|
|
61
61
|
|
|
62
62
|
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart).
|
|
63
63
|
|
|
64
|
+
[](https://anaconda.org/conda-forge/ultralytics) [](https://hub.docker.com/r/ultralytics/ultralytics)
|
|
65
|
+
|
|
64
66
|
</details>
|
|
65
67
|
|
|
66
68
|
<details open>
|
|
@@ -4,11 +4,10 @@ import subprocess
|
|
|
4
4
|
|
|
5
5
|
import pytest
|
|
6
6
|
|
|
7
|
+
from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE
|
|
7
8
|
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
|
8
9
|
from ultralytics.utils import ASSETS, WEIGHTS_DIR, checks
|
|
9
10
|
|
|
10
|
-
from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE
|
|
11
|
-
|
|
12
11
|
# Constants
|
|
13
12
|
TASK_MODEL_DATA = [(task, WEIGHTS_DIR / TASK2MODEL[task], TASK2DATA[task]) for task in TASKS]
|
|
14
13
|
MODELS = [WEIGHTS_DIR / TASK2MODEL[task] for task in TASKS]
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
2
|
|
|
3
|
-
from pathlib import Path
|
|
4
3
|
from itertools import product
|
|
4
|
+
from pathlib import Path
|
|
5
5
|
|
|
6
6
|
import pytest
|
|
7
7
|
import torch
|
|
8
8
|
|
|
9
|
+
from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE, MODEL, SOURCE
|
|
9
10
|
from ultralytics import YOLO
|
|
10
|
-
from ultralytics.utils import ASSETS, WEIGHTS_DIR
|
|
11
11
|
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
|
12
|
-
|
|
13
|
-
from tests import CUDA_DEVICE_COUNT, CUDA_IS_AVAILABLE, MODEL, SOURCE
|
|
12
|
+
from ultralytics.utils import ASSETS, WEIGHTS_DIR
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
def test_checks():
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
import sys
|
|
4
4
|
from unittest import mock
|
|
5
5
|
|
|
6
|
+
from tests import MODEL
|
|
6
7
|
from ultralytics import YOLO
|
|
7
8
|
from ultralytics.cfg import get_cfg
|
|
8
9
|
from ultralytics.engine.exporter import Exporter
|
|
9
10
|
from ultralytics.models.yolo import classify, detect, segment
|
|
10
11
|
from ultralytics.utils import ASSETS, DEFAULT_CFG, WEIGHTS_DIR
|
|
11
12
|
|
|
12
|
-
from tests import MODEL
|
|
13
|
-
|
|
14
13
|
|
|
15
14
|
def test_func(*args): # noqa
|
|
16
15
|
"""Test function callback."""
|
|
@@ -8,12 +8,11 @@ from pathlib import Path
|
|
|
8
8
|
|
|
9
9
|
import pytest
|
|
10
10
|
|
|
11
|
+
from tests import MODEL, SOURCE, TMP
|
|
11
12
|
from ultralytics import YOLO, download
|
|
12
13
|
from ultralytics.utils import DATASETS_DIR, SETTINGS
|
|
13
14
|
from ultralytics.utils.checks import check_requirements
|
|
14
15
|
|
|
15
|
-
from tests import MODEL, SOURCE, TMP
|
|
16
|
-
|
|
17
16
|
|
|
18
17
|
@pytest.mark.skipif(not check_requirements("ray", install=False), reason="ray[tune] not installed")
|
|
19
18
|
def test_model_ray_tune():
|
|
@@ -11,8 +11,9 @@ import torch
|
|
|
11
11
|
import yaml
|
|
12
12
|
from PIL import Image
|
|
13
13
|
|
|
14
|
+
from tests import CFG, IS_TMP_WRITEABLE, MODEL, SOURCE, TMP
|
|
14
15
|
from ultralytics import RTDETR, YOLO
|
|
15
|
-
from ultralytics.cfg import MODELS,
|
|
16
|
+
from ultralytics.cfg import MODELS, TASK2DATA, TASKS
|
|
16
17
|
from ultralytics.data.build import load_inference_source
|
|
17
18
|
from ultralytics.utils import (
|
|
18
19
|
ASSETS,
|
|
@@ -22,12 +23,10 @@ from ultralytics.utils import (
|
|
|
22
23
|
ROOT,
|
|
23
24
|
WEIGHTS_DIR,
|
|
24
25
|
WINDOWS,
|
|
25
|
-
Retry,
|
|
26
26
|
checks,
|
|
27
27
|
)
|
|
28
|
-
from ultralytics.utils.downloads import download
|
|
28
|
+
from ultralytics.utils.downloads import download
|
|
29
29
|
from ultralytics.utils.torch_utils import TORCH_1_9
|
|
30
|
-
from tests import CFG, IS_TMP_WRITEABLE, MODEL, SOURCE, TMP
|
|
31
30
|
|
|
32
31
|
|
|
33
32
|
def test_model_forward():
|
|
@@ -130,13 +129,11 @@ def test_predict_grey_and_4ch():
|
|
|
130
129
|
|
|
131
130
|
@pytest.mark.slow
|
|
132
131
|
@pytest.mark.skipif(not ONLINE, reason="environment is offline")
|
|
133
|
-
@pytest.mark.skipif(not is_url("https://youtu.be/G17sBkb38XQ"), reason="YouTube URL issue")
|
|
134
|
-
@Retry(times=3, delay=10)
|
|
135
132
|
def test_youtube():
|
|
136
133
|
"""
|
|
137
134
|
Test YouTube inference.
|
|
138
135
|
|
|
139
|
-
|
|
136
|
+
Note: ConnectionError may occur during this test due to network instability or YouTube server availability.
|
|
140
137
|
"""
|
|
141
138
|
model = YOLO(MODEL)
|
|
142
139
|
model.predict("https://youtu.be/G17sBkb38XQ", imgsz=96, save=True)
|
|
@@ -325,7 +325,7 @@ class LoadImagesAndVideos:
|
|
|
325
325
|
paths, imgs, info = [], [], []
|
|
326
326
|
while len(imgs) < self.bs:
|
|
327
327
|
if self.count >= self.nf: # end of file list
|
|
328
|
-
if
|
|
328
|
+
if imgs:
|
|
329
329
|
return paths, imgs, info # return last partial batch
|
|
330
330
|
else:
|
|
331
331
|
raise StopIteration
|
|
@@ -522,26 +522,43 @@ def autocast_list(source):
|
|
|
522
522
|
return files
|
|
523
523
|
|
|
524
524
|
|
|
525
|
-
def get_best_youtube_url(url,
|
|
525
|
+
def get_best_youtube_url(url, method="pytube"):
|
|
526
526
|
"""
|
|
527
527
|
Retrieves the URL of the best quality MP4 video stream from a given YouTube video.
|
|
528
528
|
|
|
529
|
-
This function uses the
|
|
530
|
-
|
|
529
|
+
This function uses the specified method to extract the video info from YouTube. It supports the following methods:
|
|
530
|
+
- "pytube": Uses the pytube library to fetch the video streams.
|
|
531
|
+
- "pafy": Uses the pafy library to fetch the video streams.
|
|
532
|
+
- "yt-dlp": Uses the yt-dlp library to fetch the video streams.
|
|
533
|
+
|
|
534
|
+
The function then finds the highest quality MP4 format that has a video codec but no audio codec, and returns the
|
|
535
|
+
URL of this video stream.
|
|
531
536
|
|
|
532
537
|
Args:
|
|
533
538
|
url (str): The URL of the YouTube video.
|
|
534
|
-
|
|
539
|
+
method (str): The method to use for extracting video info. Default is "pytube". Other options are "pafy" and
|
|
540
|
+
"yt-dlp".
|
|
535
541
|
|
|
536
542
|
Returns:
|
|
537
543
|
(str): The URL of the best quality MP4 video stream, or None if no suitable stream is found.
|
|
538
544
|
"""
|
|
539
|
-
if
|
|
545
|
+
if method == "pytube":
|
|
546
|
+
check_requirements("pytube")
|
|
547
|
+
from pytube import YouTube
|
|
548
|
+
|
|
549
|
+
streams = YouTube(url).streams.filter(file_extension="mp4", only_video=True)
|
|
550
|
+
streams = sorted(streams, key=lambda s: s.resolution, reverse=True) # sort streams by resolution
|
|
551
|
+
for stream in streams:
|
|
552
|
+
if stream.resolution and int(stream.resolution[:-1]) >= 1080: # check if resolution is at least 1080p
|
|
553
|
+
return stream.url
|
|
554
|
+
|
|
555
|
+
elif method == "pafy":
|
|
540
556
|
check_requirements(("pafy", "youtube_dl==2020.12.2"))
|
|
541
557
|
import pafy # noqa
|
|
542
558
|
|
|
543
559
|
return pafy.new(url).getbestvideo(preftype="mp4").url
|
|
544
|
-
|
|
560
|
+
|
|
561
|
+
elif method == "yt-dlp":
|
|
545
562
|
check_requirements("yt-dlp")
|
|
546
563
|
import yt_dlp
|
|
547
564
|
|
|
@@ -35,7 +35,7 @@ from ultralytics.utils.checks import check_file, check_font, is_ascii
|
|
|
35
35
|
from ultralytics.utils.downloads import download, safe_download, unzip_file
|
|
36
36
|
from ultralytics.utils.ops import segments2boxes
|
|
37
37
|
|
|
38
|
-
HELP_URL = "See https://docs.ultralytics.com/datasets
|
|
38
|
+
HELP_URL = "See https://docs.ultralytics.com/datasets for dataset formatting guidance."
|
|
39
39
|
IMG_FORMATS = {"bmp", "dng", "jpeg", "jpg", "mpo", "png", "tif", "tiff", "webp", "pfm"} # image suffixes
|
|
40
40
|
VID_FORMATS = {"asf", "avi", "gif", "m4v", "mkv", "mov", "mp4", "mpeg", "mpg", "ts", "wmv", "webm"} # video suffixes
|
|
41
41
|
PIN_MEMORY = str(os.getenv("PIN_MEMORY", True)).lower() == "true" # global pin_memory for dataloaders
|
|
@@ -33,7 +33,7 @@ class Analytics:
|
|
|
33
33
|
|
|
34
34
|
Args:
|
|
35
35
|
type (str): Type of chart to initialize ('line', 'bar', or 'pie').
|
|
36
|
-
writer: Video writer object to save the frames.
|
|
36
|
+
writer (object): Video writer object to save the frames.
|
|
37
37
|
im0_shape (tuple): Shape of the input image (width, height).
|
|
38
38
|
title (str): Title of the chart.
|
|
39
39
|
x_label (str): Label for the x-axis.
|
|
@@ -64,7 +64,7 @@ class Analytics:
|
|
|
64
64
|
self.ax = fig.add_subplot(111, facecolor=self.bg_color)
|
|
65
65
|
(self.line,) = self.ax.plot([], [], color=line_color, linewidth=line_width)
|
|
66
66
|
|
|
67
|
-
elif type
|
|
67
|
+
elif type in {"bar", "pie"}:
|
|
68
68
|
# Initialize bar or pie plot
|
|
69
69
|
self.fig, self.ax = plt.subplots(figsize=figsize, facecolor=self.bg_color)
|
|
70
70
|
self.ax.set_facecolor(self.bg_color)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.23
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -135,7 +135,7 @@ See below for a quickstart installation and usage example, and see the [YOLOv8 D
|
|
|
135
135
|
|
|
136
136
|
Pip install the ultralytics package including all [requirements](https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml) in a [**Python>=3.8**](https://www.python.org/) environment with [**PyTorch>=1.8**](https://pytorch.org/get-started/locally/).
|
|
137
137
|
|
|
138
|
-
[](https://pypi.org/project/ultralytics/) [](https://pepy.tech/project/ultralytics) [](https://pypi.org/project/ultralytics/)
|
|
139
139
|
|
|
140
140
|
```bash
|
|
141
141
|
pip install ultralytics
|
|
@@ -143,6 +143,8 @@ pip install ultralytics
|
|
|
143
143
|
|
|
144
144
|
For alternative installation methods including [Conda](https://anaconda.org/conda-forge/ultralytics), [Docker](https://hub.docker.com/r/ultralytics/ultralytics), and Git, please refer to the [Quickstart Guide](https://docs.ultralytics.com/quickstart).
|
|
145
145
|
|
|
146
|
+
[](https://anaconda.org/conda-forge/ultralytics) [](https://hub.docker.com/r/ultralytics/ultralytics)
|
|
147
|
+
|
|
146
148
|
</details>
|
|
147
149
|
|
|
148
150
|
<details open>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -7,6 +7,7 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
import pytest
|
|
9
9
|
|
|
10
|
+
from tests import MODEL, SOURCE
|
|
10
11
|
from ultralytics import YOLO
|
|
11
12
|
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
|
12
13
|
from ultralytics.utils import (
|
|
@@ -18,7 +19,6 @@ from ultralytics.utils import (
|
|
|
18
19
|
checks,
|
|
19
20
|
)
|
|
20
21
|
from ultralytics.utils.torch_utils import TORCH_1_9, TORCH_1_13
|
|
21
|
-
from tests import MODEL, SOURCE
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
def test_export_torchscript():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml
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
|
{ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.22 → ultralytics-8.2.23}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|