pymammotion 0.2.73__tar.gz → 0.2.75__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.
- {pymammotion-0.2.73 → pymammotion-0.2.75}/PKG-INFO +1 -1
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/ble.py +3 -1
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/device_config.py +8 -12
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/generate_route_information.py +1 -1
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/mowing_modes.py +2 -2
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/event.py +1 -1
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion_bluetooth.py +1 -1
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pyproject.toml +3 -3
- {pymammotion-0.2.73 → pymammotion-0.2.75}/LICENSE +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/README.md +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/cloud_gateway.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/cloud_service.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/aep_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/connect_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/regions_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/stream_subscription_response.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/tmp_constant.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/ble_message.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/const.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/convert.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/framectrldata.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/notifydata.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/const.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/account.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/device.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/device_info.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/enums.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/excute_boarder_params.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/execute_boarder.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/hash_list.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/location.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/plan.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/rapid_state.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/region_data.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/report_info.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/properties.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/status.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/state_manager.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/event/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/event/event.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/http/_init_.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/http/http.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/http/model/http.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/abstract_message.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/mammotion_command.py +2 -2
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/driver.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/media.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/network.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/ota.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/system.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/video.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/control/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/control/joystick.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/base.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mqtt/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mqtt/mammotion_future.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys.proto +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/py.typed +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/constant/__init__.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/constant/device_constant.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/conversions.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/datatype_converter.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/device_type.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/map.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/movement.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/periodic.py +0 -0
- {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/rocker_util.py +0 -0
@@ -21,7 +21,9 @@ class MammotionBLE:
|
|
21
21
|
# TODO: do something with incoming data
|
22
22
|
print(device)
|
23
23
|
print(advertising_data)
|
24
|
-
if advertising_data.local_name and (
|
24
|
+
if advertising_data.local_name and (
|
25
|
+
"Luba-" in advertising_data.local_name or "Yuka-" in advertising_data.local_name
|
26
|
+
):
|
25
27
|
return True
|
26
28
|
return False
|
27
29
|
|
@@ -36,33 +36,29 @@ class OperationSettings(DataClassORJSONMixin):
|
|
36
36
|
toward: int = 0 # is just angle
|
37
37
|
toward_included_angle: int = 90
|
38
38
|
toward_mode: int = 0 # angle type relative etc
|
39
|
-
border_mode: int = 1
|
39
|
+
border_mode: int = 1
|
40
40
|
obstacle_laps: int = 1
|
41
|
-
mowing_laps: int = 1
|
41
|
+
mowing_laps: int = 1 # border laps
|
42
42
|
start_progress: int = 0
|
43
43
|
areas: list[int] = field(default_factory=list)
|
44
44
|
|
45
45
|
|
46
46
|
def create_path_order(operation_mode: OperationSettings, device_name: str) -> str:
|
47
|
-
|
47
|
+
# TODO add scheduling logic from getReserved() WorkSettingViewModel.java
|
48
|
+
i2 = 0
|
48
49
|
bArr = bytearray(8)
|
49
50
|
bArr[0] = operation_mode.border_mode
|
50
51
|
bArr[1] = operation_mode.obstacle_laps
|
51
52
|
bArr[3] = int(operation_mode.start_progress)
|
52
53
|
bArr[2] = 0
|
53
|
-
|
54
54
|
if not DeviceType.is_luba1(device_name):
|
55
55
|
bArr[4] = 0
|
56
56
|
if DeviceType.is_yuka(device_name):
|
57
|
-
|
58
|
-
elif not DeviceType.is_luba_2(device_name):
|
59
|
-
i = 0
|
60
|
-
bArr[5] = i
|
61
|
-
if operation_mode.is_dump:
|
62
|
-
b = int(operation_mode.collect_grass_frequency)
|
57
|
+
bArr[5] = calculate_yuka_mode(operation_mode)
|
63
58
|
else:
|
64
|
-
|
65
|
-
|
59
|
+
bArr[5] = 8 if DeviceType.is_luba_2(device_name) else 0
|
60
|
+
|
61
|
+
bArr[6] = int(operation_mode.collect_grass_frequency) if operation_mode.is_dump else 10
|
66
62
|
if DeviceType.is_luba1(device_name):
|
67
63
|
bArr[4] = operation_mode.toward_mode
|
68
64
|
return bArr.decode()
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/generate_route_information.py
RENAMED
@@ -10,7 +10,7 @@ class GenerateRouteInformation:
|
|
10
10
|
"""Creates a model for generating route information and mowing plan before starting a job."""
|
11
11
|
|
12
12
|
one_hashs: list[int] = list
|
13
|
-
job_mode: int =
|
13
|
+
job_mode: int = 4 # taskMode
|
14
14
|
job_version: int = 0
|
15
15
|
job_id: int = 0
|
16
16
|
speed: float = 0.3
|
@@ -75,7 +75,7 @@ class DeviceBizReqEventValue(DataClassORJSONMixin):
|
|
75
75
|
class GeneralParams(DataClassORJSONMixin):
|
76
76
|
groupIdList: list[str]
|
77
77
|
groupId: str
|
78
|
-
categoryKey: Literal["LawnMower"]
|
78
|
+
categoryKey: Literal["LawnMower", "Tracker"]
|
79
79
|
batchId: str
|
80
80
|
gmtCreate: int
|
81
81
|
productKey: str
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion_bluetooth.py
RENAMED
@@ -322,7 +322,7 @@ class MammotionBaseBLEDevice(MammotionBaseDevice):
|
|
322
322
|
self._update_raw_data(data)
|
323
323
|
except (KeyError, ValueError, IndexError, UnicodeDecodeError):
|
324
324
|
_LOGGER.exception("Error parsing message %s", data)
|
325
|
-
data = b
|
325
|
+
data = b""
|
326
326
|
finally:
|
327
327
|
self._message.clearNotification()
|
328
328
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
[project]
|
2
2
|
name = "pymammotion"
|
3
|
-
version = "0.2.
|
3
|
+
version = "0.2.75"
|
4
4
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "pymammotion"
|
7
|
-
version = "0.2.
|
7
|
+
version = "0.2.75"
|
8
8
|
license = "GNU-3.0"
|
9
9
|
description = ""
|
10
10
|
readme = "README.md"
|
@@ -61,7 +61,7 @@ mypy = "^1.11.2"
|
|
61
61
|
autotyping = "^24.3.0"
|
62
62
|
|
63
63
|
[tool.bumpver]
|
64
|
-
current_version = "0.2.
|
64
|
+
current_version = "0.2.75"
|
65
65
|
version_pattern = "MAJOR.MINOR.PATCH"
|
66
66
|
commit_message = "Bump version {old_version} -> {new_version}"
|
67
67
|
commit = true
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/dev_by_account_response.py
RENAMED
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/login_by_oauth_response.py
RENAMED
File without changes
|
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/session_by_authcode_response.py
RENAMED
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/stream_subscription_response.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/abstract_message.py
RENAMED
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/mammotion_command.py
RENAMED
@@ -42,11 +42,11 @@ class MammotionCommand(
|
|
42
42
|
def move_left(self, angular: float) -> bytes:
|
43
43
|
"""Move forward. values 0.0 1.0."""
|
44
44
|
angular_percent = get_percent(abs(angular * 100))
|
45
|
-
(linear_speed, angular_speed) = transform_both_speeds(0.0,
|
45
|
+
(linear_speed, angular_speed) = transform_both_speeds(0.0, 180.0, 0.0, angular_percent)
|
46
46
|
return self.send_movement(linear_speed=linear_speed, angular_speed=angular_speed)
|
47
47
|
|
48
48
|
def move_right(self, angular: float) -> bytes:
|
49
49
|
"""Move back. values 0.0 1.0."""
|
50
50
|
angular_percent = get_percent(abs(angular * 100))
|
51
|
-
(linear_speed, angular_speed) = transform_both_speeds(0.0,
|
51
|
+
(linear_speed, angular_speed) = transform_both_speeds(0.0, 0.0, 0.0, angular_percent)
|
52
52
|
return self.send_movement(linear_speed=linear_speed, angular_speed=angular_speed)
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/navigation.py
RENAMED
File without changes
|
{pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/network.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|