pymobiledevice3 5.0.2__py3-none-any.whl → 5.0.3__py3-none-any.whl

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 pymobiledevice3 might be problematic. Click here for more details.

@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '5.0.2'
32
- __version_tuple__ = version_tuple = (5, 0, 2)
31
+ __version__ = version = '5.0.3'
32
+ __version_tuple__ = version_tuple = (5, 0, 3)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -10,7 +10,7 @@ import struct
10
10
  import sys
11
11
  from collections import defaultdict
12
12
  from dataclasses import dataclass, field
13
- from typing import Dict, List, Optional, Set, Tuple
13
+ from typing import Optional
14
14
 
15
15
  import ifaddr # pip install ifaddr
16
16
 
@@ -64,8 +64,8 @@ class ServiceInstance:
64
64
  instance: str # "<Instance Name>._type._proto.local."
65
65
  host: Optional[str] # "host.local" (without trailing dot), or None if unresolved
66
66
  port: Optional[int] # SRV port
67
- addresses: List[Address] = field(default_factory=list) # IPs with interface names
68
- properties: Dict[str, str] = field(default_factory=dict) # TXT key/values
67
+ addresses: list[Address] = field(default_factory=list) # IPs with interface names
68
+ properties: dict[str, str] = field(default_factory=dict) # TXT key/values
69
69
 
70
70
 
71
71
  # ---------------- DNS helpers ----------------
@@ -84,7 +84,7 @@ def encode_name(name: str) -> bytes:
84
84
  return bytes(out)
85
85
 
86
86
 
87
- def decode_name(data: bytes, off: int) -> Tuple[str, int]:
87
+ def decode_name(data: bytes, off: int) -> tuple[str, int]:
88
88
  labels = []
89
89
  jumped = False
90
90
  orig_end = off
@@ -264,7 +264,7 @@ async def _bind_ipv6_all_ifaces(queue: asyncio.Queue):
264
264
 
265
265
  async def _open_mdns_sockets():
266
266
  queue = asyncio.Queue()
267
- transports: List[Tuple[asyncio.BaseTransport, socket.socket]] = []
267
+ transports: list[tuple[asyncio.BaseTransport, socket.socket]] = []
268
268
  t4, s4 = await _bind_ipv4(queue)
269
269
  transports.append((t4, s4))
270
270
  t6, s6 = await _bind_ipv6_all_ifaces(queue)
@@ -287,7 +287,7 @@ async def _send_query_all(transports, pkt: bytes):
287
287
  # ---------------- Public API ----------------
288
288
 
289
289
 
290
- async def browse_service(service_type: str, timeout: float = 4.0) -> List[ServiceInstance]:
290
+ async def browse_service(service_type: str, timeout: float = 4.0) -> list[ServiceInstance]:
291
291
  """
292
292
  Discover a DNS-SD/mDNS service type (e.g. "_remoted._tcp.local.") on the local network.
293
293
 
@@ -299,11 +299,11 @@ async def browse_service(service_type: str, timeout: float = 4.0) -> List[Servic
299
299
  transports, queue = await _open_mdns_sockets()
300
300
  adapters = _Adapters()
301
301
 
302
- ptr_targets: Set[str] = set()
303
- srv_map: Dict[str, Dict] = {}
304
- txt_map: Dict[str, Dict] = {}
302
+ ptr_targets: set[str] = set()
303
+ srv_map: dict[str, dict] = {}
304
+ txt_map: dict[str, dict] = {}
305
305
  # host -> list[(ip, iface)]
306
- host_addrs: Dict[str, List[Address]] = defaultdict(list)
306
+ host_addrs: dict[str, list[Address]] = defaultdict(list)
307
307
 
308
308
  def _record_addr(rr_name: str, ip_str: str, pkt_addr):
309
309
  # Determine family and possible scopeid from the packet that delivered this RR
@@ -344,7 +344,7 @@ async def browse_service(service_type: str, timeout: float = 4.0) -> List[Servic
344
344
  transport.close()
345
345
 
346
346
  # Assemble dataclasses
347
- results: List[ServiceInstance] = []
347
+ results: list[ServiceInstance] = []
348
348
  for inst in sorted(ptr_targets):
349
349
  srv = srv_map.get(inst, {})
350
350
  target = srv.get("target")
pymobiledevice3/irecv.py CHANGED
@@ -166,7 +166,7 @@ class IRecv:
166
166
  if self.mode.is_recovery:
167
167
  n = self._device.write(0x04, chunk, timeout=USB_TIMEOUT)
168
168
  if n != len(chunk):
169
- raise IOError("failed to upload data")
169
+ raise OSError("failed to upload data")
170
170
  else:
171
171
  if _offset + packet_size >= len(buf):
172
172
  # last packet
@@ -7,12 +7,13 @@ import sys
7
7
  import tempfile
8
8
  import time
9
9
  from abc import ABC, abstractmethod
10
+ from collections.abc import AsyncIterable
10
11
  from contextlib import contextmanager, suppress
11
12
  from enum import Enum
12
13
  from functools import wraps
13
14
  from pathlib import Path
14
15
  from ssl import SSLError, SSLZeroReturnError, TLSVersion
15
- from typing import AsyncIterable, Optional
16
+ from typing import Optional
16
17
 
17
18
  import construct
18
19
  from cryptography import x509
@@ -13,7 +13,7 @@ DEFAULT_MAX_FAILS = 3
13
13
 
14
14
  def is_wsl() -> bool:
15
15
  try:
16
- with open("/proc/version", "r") as f:
16
+ with open("/proc/version") as f:
17
17
  version_info = f.read()
18
18
  return "Microsoft" in version_info or "WSL" in version_info
19
19
  except FileNotFoundError:
@@ -2,7 +2,8 @@ import asyncio
2
2
  import contextlib
3
3
  import sys
4
4
  from asyncio import IncompleteReadError
5
- from typing import AsyncIterable, Optional
5
+ from collections.abc import AsyncIterable
6
+ from typing import Optional
6
7
 
7
8
  import IPython
8
9
  import nest_asyncio
@@ -1,8 +1,8 @@
1
1
  import json
2
2
  import typing
3
+ from collections.abc import Generator
3
4
  from dataclasses import dataclass
4
5
  from enum import Enum, IntEnum
5
- from typing import Generator
6
6
 
7
7
  from packaging.version import Version
8
8
 
@@ -100,7 +100,7 @@ class DeviceLink:
100
100
 
101
101
  buffer = struct.pack(SIZE_FORMAT, struct.calcsize(CODE_FORMAT)) + struct.pack(CODE_FORMAT, CODE_SUCCESS)
102
102
  self.service.sendall(buffer)
103
- except IOError as e:
103
+ except OSError as e:
104
104
  status[file] = {
105
105
  "DLFileErrorString": e.strerror,
106
106
  "DLFileErrorCode": ctypes.c_uint64(ERRNO_TO_DEVICE_ERROR[e.errno]).value,
@@ -195,7 +195,7 @@ class XCUITestService:
195
195
  if isinstance(reply, bool) and reply is True:
196
196
  logger.info("authorizing test session for pid %d successful %r", pid, reply)
197
197
  else:
198
- raise RuntimeError("Failed to authorize test process id: %s" % reply)
198
+ raise RuntimeError(f"Failed to authorize test process id: {reply}")
199
199
 
200
200
  def launch_test_app(
201
201
  self,
@@ -210,7 +210,7 @@ class XCUITestService:
210
210
  exec_name = app_info["CFBundleExecutable"]
211
211
  # # logger.info('CFBundleExecutable: %s', exec_name)
212
212
  # # CFBundleName always endswith -Runner
213
- assert exec_name.endswith("-Runner"), "Invalid CFBundleExecutable: %s" % exec_name
213
+ assert exec_name.endswith("-Runner"), f"Invalid CFBundleExecutable: {exec_name}"
214
214
  target_name = exec_name[: -len("-Runner")]
215
215
 
216
216
  app_env = {
@@ -276,7 +276,7 @@ def generate_xctestconfiguration(
276
276
  tests_to_run: Optional[list] = None,
277
277
  ) -> XCTestConfiguration:
278
278
  exec_name: str = app_info["CFBundleExecutable"]
279
- assert exec_name.endswith("-Runner"), "Invalid CFBundleExecutable: %s" % exec_name
279
+ assert exec_name.endswith("-Runner"), f"Invalid CFBundleExecutable: {exec_name}"
280
280
  config_name = exec_name[: -len("-Runner")]
281
281
 
282
282
  return XCTestConfiguration({
@@ -258,15 +258,15 @@ class AutomationSession:
258
258
  by = by.value if isinstance(by, By) else by
259
259
  if by == By.ID.value:
260
260
  by = By.CSS_SELECTOR.value
261
- value = '[id="%s"]' % value
261
+ value = f'[id="{value}"]'
262
262
  elif by == By.TAG_NAME.value:
263
263
  by = By.CSS_SELECTOR.value
264
264
  elif by == By.CLASS_NAME.value:
265
265
  by = By.CSS_SELECTOR.value
266
- value = ".%s" % value
266
+ value = f".{value}"
267
267
  elif by == By.NAME.value:
268
268
  by = By.CSS_SELECTOR.value
269
- value = '[name="%s"]' % value
269
+ value = f'[name="{value}"]'
270
270
 
271
271
  parameters = {
272
272
  "browsingContextHandle": self.top_level_handle,
@@ -71,7 +71,7 @@ class SeleniumApi(ABC):
71
71
  try:
72
72
  with open(filename, "wb") as f:
73
73
  f.write(png)
74
- except IOError:
74
+ except OSError:
75
75
  return False
76
76
  return True
77
77
 
@@ -3,9 +3,10 @@ import contextlib
3
3
  import json
4
4
  import logging
5
5
  import uuid
6
+ from collections.abc import Coroutine
6
7
  from dataclasses import dataclass, fields
7
8
  from enum import Enum
8
- from typing import Any, Coroutine, Optional, Union
9
+ from typing import Any, Optional, Union
9
10
 
10
11
  import nest_asyncio
11
12
 
pymobiledevice3/usbmux.py CHANGED
@@ -309,7 +309,7 @@ class BinaryMuxConnection(MuxConnection):
309
309
  self._receive_device_state_update()
310
310
  except (BlockingIOError, StreamError):
311
311
  continue
312
- except IOError as e:
312
+ except OSError as e:
313
313
  try:
314
314
  self._sock.setblocking(True)
315
315
  self.close()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 5.0.2
3
+ Version: 5.0.3
4
4
  Summary: Pure python3 implementation for working with iDevices (iPhone, etc...)
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
@@ -8,19 +8,19 @@ misc/understanding_idevice_protocol_layers.md,sha256=8tEqRXWOUPoxOJLZVh7C7H9JGCh
8
8
  misc/usbmux_sniff.sh,sha256=iWtbucOEQ9_UEFXk9x-2VNt48Jg5zrPsnUbZ_LfZxwA,212
9
9
  pymobiledevice3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  pymobiledevice3/__main__.py,sha256=kGPVqJsB9MNlZCIgSCZZq-FzM_3pQzxwSxuJ6ySLOfs,11845
11
- pymobiledevice3/_version.py,sha256=5t_DBkfjD58HKlHSN3JdA-gmBDgeaP8hfWAFaykqHGc,704
12
- pymobiledevice3/bonjour.py,sha256=fKlJRs7bOHZFbliXw43gbzqvds32mZORWRpV1tjeoQk,13408
11
+ pymobiledevice3/_version.py,sha256=zIqpj7Z6K6uP0tH2ap3TI282iQhpug_Ofpas7dgyyAc,704
12
+ pymobiledevice3/bonjour.py,sha256=b86PHgFHASV2XvD1j5anc18QDJMtpz3dBwemFYjrTJE,13384
13
13
  pymobiledevice3/ca.py,sha256=5_Y4F-zDFX_KeDL-M_TRCKKyrRRb9h1lBE8MGTWv91o,10606
14
14
  pymobiledevice3/common.py,sha256=FZzF0BQYV5fCEUPbLo6jbt2Ig9s5YwR8AvX_iR124Ew,329
15
15
  pymobiledevice3/exceptions.py,sha256=gc3vPHaeSWaEQ9eY7XRsQCRabPXcCAP3Gr5wwY1eaeE,10654
16
- pymobiledevice3/irecv.py,sha256=SacI5nfflD7p36w32Bqdyc1I-dNEqZtiY4vK_cXnaSg,10570
16
+ pymobiledevice3/irecv.py,sha256=623PDDVXQGPXtNPE-134sp0Gnys7VkWmb0ZQPZ2xrsE,10570
17
17
  pymobiledevice3/irecv_devices.py,sha256=Mpp0AZYwFxqtqS9dTPdLZfxnj6UiDf8HbGGrHpsSnIA,44220
18
- pymobiledevice3/lockdown.py,sha256=CYyOhC7Olwr0w8qoUc9O_JKqne3tzHY68jYElDwHE_g,39433
18
+ pymobiledevice3/lockdown.py,sha256=MA5rZSjB3V6M6p-TmvyY4aA3FXVVDLlB-DG4uzGKjfw,39460
19
19
  pymobiledevice3/lockdown_service_provider.py,sha256=pR5x8-qh0I9wVZi-wg3Hiy8oNG6ZcUaOeUEy2Q-p6Eg,1722
20
20
  pymobiledevice3/pair_records.py,sha256=4T32UPcBuN_4e-QFzGLoDoUBg3k7hgQh72Yo3CTi18M,6001
21
21
  pymobiledevice3/service_connection.py,sha256=V6gAJABjduFidl5SqIFJOy_HkCDLdJFlDOAsiniJJPc,14880
22
22
  pymobiledevice3/tcp_forwarder.py,sha256=ISwtmYbNg8HeLuu2iz9Vv4AtQ9VPe_3LxZgbxGj78lU,8991
23
- pymobiledevice3/usbmux.py,sha256=SjgbCTTV0D1jBrLLAGeuDSBlX3URR9fQuud7MMoZuPQ,16835
23
+ pymobiledevice3/usbmux.py,sha256=GmQTB3V5_6oYErBlZrFRi7XjPKVU1p0RUj147vT9-eg,16835
24
24
  pymobiledevice3/utils.py,sha256=Udx6xubsWYtJU9x7R-PrlSHseY438ua9_DPvzHd3XrQ,2210
25
25
  pymobiledevice3/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  pymobiledevice3/cli/activation.py,sha256=NT5-RXrCjqUVk14G0DxRy35BMPEI1nQ9wGxCiyaEtSk,1311
@@ -51,7 +51,7 @@ pymobiledevice3/cli/usbmux.py,sha256=Bx-5OSxEbHBhLeYaRt9LvZzp3RIazn49Q86pFi-EtpQ
51
51
  pymobiledevice3/cli/version.py,sha256=N7UY328WNR6FpQ2w7aACyL74XQxkRmi53WV5SVlCgCo,345
52
52
  pymobiledevice3/cli/webinspector.py,sha256=HGNY4OD3LfP37IeBWdRyiHI0cY4sA2fkr1YdwIgthQI,15574
53
53
  pymobiledevice3/osu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- pymobiledevice3/osu/os_utils.py,sha256=rlk1C7_wNsV0SviJLbzaSJAQa29hsjNxEb7GS-sxXEs,3301
54
+ pymobiledevice3/osu/os_utils.py,sha256=TP4-mTWZig4uwvLV6Ku0z7qrA2OU7ANKzwyCYYWsXhc,3296
55
55
  pymobiledevice3/osu/posix_util.py,sha256=dFTYABFQxK2m7eXumVbfAuzrVVoV7-TduRNN0KY_axc,3450
56
56
  pymobiledevice3/osu/win_util.py,sha256=SIunWObcaIrlAi6-KndsPQT0U4io6zTB_q0bRZhDNSc,2148
57
57
  pymobiledevice3/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -59,7 +59,7 @@ pymobiledevice3/remote/common.py,sha256=epLBlSCw8e8w2XvgsCuZfZYAwzHCQpBZ_S6U-_rl
59
59
  pymobiledevice3/remote/module_imports.py,sha256=DwExSL1r4kkFIWmXiQpqPo-cGl4duYd33kJGyVckYuA,829
60
60
  pymobiledevice3/remote/remote_service.py,sha256=fCyzm4oT_WEorAXVHVLYnIOyTOuMGhX69Co3HkUdRYY,867
61
61
  pymobiledevice3/remote/remote_service_discovery.py,sha256=BwnUhVQBrFA3wxuR_PT7JgtXtyuemJQuot0_23i-0G8,7376
62
- pymobiledevice3/remote/remotexpc.py,sha256=F3zTO5rtmHIeJitf8AfFJRUjaFRfCzsnn6dzev0vvG8,8239
62
+ pymobiledevice3/remote/remotexpc.py,sha256=tyGHn-IMDiM7WeGhfKMC1yH-ONEto-zCVpnvhE4i2Yw,8266
63
63
  pymobiledevice3/remote/tunnel_service.py,sha256=AmqvIb-0fUT9KzJub3QcMbtHtHuBBDh4ZKHIeAmkyk8,45961
64
64
  pymobiledevice3/remote/utils.py,sha256=RPyDYCLqe638FoPIJ7Lcmx05BJqM2PseJe9lc3Al3bM,2550
65
65
  pymobiledevice3/remote/xpc_message.py,sha256=ZkAU5vZ3vs-MjxlwAeDZqRTQ9C2eHozesEXKrI6lRV0,8794
@@ -98,14 +98,14 @@ pymobiledevice3/restore/restore_options.py,sha256=Qu_Z7JnGSNnSMPw69qu9m--vgXkquo
98
98
  pymobiledevice3/restore/restored_client.py,sha256=tv1hyIV7UBDb_OUwj_w6qJsH_x36oBAVHnTS9-t4jh8,3637
99
99
  pymobiledevice3/restore/tss.py,sha256=EY8XpUaexHyDTtUCuXQnOgLVIFAikcs9p0ysNSG1Q0U,30818
100
100
  pymobiledevice3/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- pymobiledevice3/services/accessibilityaudit.py,sha256=Nle6Wim9IiWaR07vbD1nqL2FZxsaicHZLiXEmtpN40M,15465
101
+ pymobiledevice3/services/accessibilityaudit.py,sha256=7AvGqfAqvsSULib06mpxP94-P-Zr4SwSZohgmbXLuog,15474
102
102
  pymobiledevice3/services/afc.py,sha256=aUukrV6gnip866DxA-uQBOP89E0EWKJWTuu5JH9DylA,35644
103
103
  pymobiledevice3/services/amfi.py,sha256=SWGh5UQtf3YhD_4cT8M3dhH1sPE-mnIzkmiZjJ8d2x4,2522
104
104
  pymobiledevice3/services/companion.py,sha256=6rvL1KF2-Gflv77rL9txINMoiQplVouL_nnGKNq-Maw,2612
105
105
  pymobiledevice3/services/crash_reports.py,sha256=ODsgT3WgpOHIFM-ht9za_-xI9AAh7dKiq50NsRB5q3I,10945
106
106
  pymobiledevice3/services/debugserver_applist.py,sha256=Pm65WDKua_zG8veFPp5uemuox6A49gydMlJD6UVvjhA,548
107
107
  pymobiledevice3/services/device_arbitration.py,sha256=xdVC8nhpQ0VdsCSzpaUGme7TfZw3rftJZrYnrjfYHj4,1134
108
- pymobiledevice3/services/device_link.py,sha256=rPB0NoyK3M6AFPWId50bSfYaF4qKBbbDR5rIosv5ejE,8566
108
+ pymobiledevice3/services/device_link.py,sha256=fRHuMrEcoebEyem-rIZbK7_VA1V2UFfAM3fi8ts0d-c,8566
109
109
  pymobiledevice3/services/diagnostics.py,sha256=Azx2g30hio3RQNRJ-5zs94qMUPeV4Qoix9T_Krdp8cU,29909
110
110
  pymobiledevice3/services/dtfetchsymbols.py,sha256=xyi5bXxPSrYaZSFx46zkbpDUk2qNEMAWAk0TZnQuquU,1505
111
111
  pymobiledevice3/services/file_relay.py,sha256=8VFaqqvKvb21OvUxvSgKaC5av5SyRzwybyxmBnGnpME,1368
@@ -130,7 +130,7 @@ pymobiledevice3/services/screenshot.py,sha256=dPAKkvZWVHCcld_NSR5ZwmsfkQIOdKIyB7
130
130
  pymobiledevice3/services/simulate_location.py,sha256=Let7iupWt8WNYblhIMTlvY-RZQx7IrCTQ6YTo5VVKhY,1162
131
131
  pymobiledevice3/services/springboard.py,sha256=Pn6cyNOTVrFN8_x43pj6cE1fPR7HeJ-vd6stD4K0lBg,2474
132
132
  pymobiledevice3/services/syslog.py,sha256=EeV-nOlAyOkGKBUTfFwe-QzaJhnW8XUHWHvRk4BNzxM,1563
133
- pymobiledevice3/services/webinspector.py,sha256=tRfWhZjwwFG5uXe_FG2aAHQt7zuvyy9SMfCgW8mn8JY,16686
133
+ pymobiledevice3/services/webinspector.py,sha256=RZRkX_ugwWjn6IzVpsCEAxF5039HbUXV9jI9N2V_x54,16713
134
134
  pymobiledevice3/services/dvt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
135
  pymobiledevice3/services/dvt/dvt_secure_socket_proxy.py,sha256=PZOhnYkEirqWtU0RUNun0tdjSitDXWxcl4p_P7mBELk,1072
136
136
  pymobiledevice3/services/dvt/dvt_testmanaged_proxy.py,sha256=pO6C_CI34kP0IcY3JalZ9SKfmYaraPlk-8YiFJuT4fc,1179
@@ -149,25 +149,25 @@ pymobiledevice3/services/dvt/instruments/notifications.py,sha256=IDFtGKWxOoicAyP
149
149
  pymobiledevice3/services/dvt/instruments/process_control.py,sha256=9S4ck7MLRmMIiaO9x-LczVUENh0l6GtdlF4QDb51gsA,3864
150
150
  pymobiledevice3/services/dvt/instruments/screenshot.py,sha256=JKz8UFWTkroMTIEnXBqCMI4AupKIjhwDpuZaxy98Ouw,476
151
151
  pymobiledevice3/services/dvt/instruments/sysmontap.py,sha256=Tscf05j2xNfTKcYsBL1KEXHkrs0I1sS7YAKt-AtlcFU,1594
152
- pymobiledevice3/services/dvt/testmanaged/xcuitest.py,sha256=WN6qZ8DJiZkQ34gLXHU7clrJ9M5ptIXbNTViNqfHkAQ,12273
152
+ pymobiledevice3/services/dvt/testmanaged/xcuitest.py,sha256=nv3wtZi5INXGanIzun-5HLAGccXeOAEDKk8HiMeVFqA,12267
153
153
  pymobiledevice3/services/web_protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
154
  pymobiledevice3/services/web_protocol/alert.py,sha256=1H_1ML3M-90nePsxHPuUNZAfnsmNUXyDiQ40jkV9zJE,830
155
- pymobiledevice3/services/web_protocol/automation_session.py,sha256=RWab-7R1LJD4_EmJ6V0Ym4MYCG4H2F4Nc-YEtI2DXvA,14513
155
+ pymobiledevice3/services/web_protocol/automation_session.py,sha256=Osdbt_On4oy5NGr7bmiY8D6VpILYmwZKeCk89rGzMqY,14507
156
156
  pymobiledevice3/services/web_protocol/cdp_screencast.py,sha256=zCTKYXaly1v4DODooTZHZDp5qyeXiQ0JkYxMrh2SeCs,5908
157
157
  pymobiledevice3/services/web_protocol/cdp_server.py,sha256=NwwtrBco9iOynJaoXTNM9lamNYZ-t7pLvU1vswKwKsU,2554
158
158
  pymobiledevice3/services/web_protocol/cdp_target.py,sha256=dtJ5I59Q--yZ9_0dwDm7BMV4_tbTDiZaqLFWxSlYaxM,32393
159
159
  pymobiledevice3/services/web_protocol/driver.py,sha256=KIkPHszP51wHSi2Gt_u2p9HcpxSpqSa-geLYo1ljETI,7534
160
160
  pymobiledevice3/services/web_protocol/element.py,sha256=Teqc_ziPbdu-syaZNcQzelyNO9u5wA62vv-dce9gAOQ,8498
161
161
  pymobiledevice3/services/web_protocol/inspector_session.py,sha256=ep4YWu9Pm9IQfkRZ8AYVUCWDV1-BPRz0DQHKTGwj-JE,10625
162
- pymobiledevice3/services/web_protocol/selenium_api.py,sha256=KnkWL3Ugxocq7bptKrMqKtO28WDLRbNEu0uxxtis8aM,2772
162
+ pymobiledevice3/services/web_protocol/selenium_api.py,sha256=CscAbTANMnsHwtAtMifU59HvHH9tVr0PlL6hoBE3hrM,2772
163
163
  pymobiledevice3/services/web_protocol/session_protocol.py,sha256=7ykfQ-Iy2M6GMgzP21Gh02v1YzTBxdTLjrESDulAa_Y,1936
164
164
  pymobiledevice3/services/web_protocol/switch_to.py,sha256=k2jy9jVIUSlrlXIu3hNNWf8tBtGgvhjbyRETKnHMXTQ,2786
165
165
  pymobiledevice3/tunneld/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
166
  pymobiledevice3/tunneld/api.py,sha256=Lwl1OdhPTgX6Zqezy8T4dEcXRfaEPwyGNClioTx3fUc,2338
167
167
  pymobiledevice3/tunneld/server.py,sha256=qYRYytSxJOP48cU71gHmLUcLo7W70jaTb9sIisCPDUs,25850
168
- pymobiledevice3-5.0.2.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
169
- pymobiledevice3-5.0.2.dist-info/METADATA,sha256=dkeONkffgeSngkosR7qo92pcXJ9OzJ-IV4e7ExlSAMU,17416
170
- pymobiledevice3-5.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
171
- pymobiledevice3-5.0.2.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
172
- pymobiledevice3-5.0.2.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
173
- pymobiledevice3-5.0.2.dist-info/RECORD,,
168
+ pymobiledevice3-5.0.3.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
169
+ pymobiledevice3-5.0.3.dist-info/METADATA,sha256=NWT7eL-IsUBGnN-YkGbI455L7-iLJpILgoDlkD3s_Ow,17416
170
+ pymobiledevice3-5.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
171
+ pymobiledevice3-5.0.3.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
172
+ pymobiledevice3-5.0.3.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
173
+ pymobiledevice3-5.0.3.dist-info/RECORD,,