socket.d 2.4.13__tar.gz → 2.4.13.1__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {socket.d-2.4.13 → socket.d-2.4.13.1}/PKG-INFO +1 -1
- {socket.d-2.4.13 → socket.d-2.4.13.1}/setup.py +1 -1
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socket.d.egg-info/PKG-INFO +1 -1
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/EventListener.py +1 -1
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/impl/RequestStreamImpl.py +12 -5
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/impl/SendStreamImpl.py +1 -1
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/impl/StreamBase.py +5 -4
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/impl/SubscribeStreamImpl.py +8 -7
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/RunUtils.py +2 -2
- {socket.d-2.4.13 → socket.d-2.4.13.1}/README.md +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/setup.cfg +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socket.d.egg-info/SOURCES.txt +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socket.d.egg-info/dependency_links.txt +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socket.d.egg-info/requires.txt +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socket.d.egg-info/top_level.txt +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socket.d.egg-info/zip-safe +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/SocketD.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/broker/BrokerFragmentHandler.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/broker/BrokerListener.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/broker/BrokerListenerBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/broker/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/cluster/ClusterClient.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/cluster/ClusterClientSession.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/cluster/LoadBalancer.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/cluster/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/exception/SocketDExecption.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/exception/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/Client.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientChannel.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientConfig.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientConfigHandler.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientConnectHandler.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientConnector.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientConnectorBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientHandshakeResult.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientHeartbeatHandler.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientProvider.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/ClientSession.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/client/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Asserts.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Channel.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/ChannelAssistant.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/ChannelInternal.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/ChannelSupporter.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Codec.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Config.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Costants.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Entity.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/EntityMetas.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Flags.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/FragmentAggregator.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/FragmentHandler.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Frame.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Frames.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/HandshakeDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/IdGenerator.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Listener.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Message.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Processor.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/Session.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/codec/Buffer.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/codec/ByteBufferCodecReader.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/codec/ByteBufferCodecWriter.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/codec/CodecDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/codec/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/entity/EntityDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/entity/FileEntity.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/entity/MessageBuilder.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/entity/MessageDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/entity/StringEntity.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/entity/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentAggregatorDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentHandlerBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentHandlerDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentHolder.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/ChannelBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/ChannelDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/ConfigBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/ProcessorDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/SessionBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/SessionDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/impl/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/PathListener.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/PipelineListener.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/RouteSelector.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/RouteSelectorDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/SimpleListener.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/server/Server.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/server/ServerBase.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/server/ServerConfig.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/server/ServerProvider.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/server/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/RequestStream.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/SendStream.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/Stream.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/StreamManger.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/StreamMangerDefault.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/SubscribeStream.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/stream/impl/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/AsyncUtils.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/CompletableFuture.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/LogConfig.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/MapUtils.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/StrUtils.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/async_api/AtomicRefer.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/async_api/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/sync_api/AtomicRefer.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/utils/sync_api/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/TCPAIOServer.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/TCPStreamIO.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/TcpAIOChannelAssistant.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/TcpAioClient.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/TcpAioClientConnector.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/TcpAioProvider.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_aio_tcp/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/WsAioChannelAssistant.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/WsAioClient.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/WsAioClientConnector.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/WsAioProvider.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/WsAioServer.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/__init__.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/impl/AIOConnect.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/impl/AIOServe.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/impl/AIOWebSocketClientImpl.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/impl/AIOWebSocketServerImpl.py +0 -0
- {socket.d-2.4.13 → socket.d-2.4.13.1}/socketd_websocket/impl/__init__.py +0 -0
@@ -41,7 +41,7 @@ class EventListener(Listener):
|
|
41
41
|
|
42
42
|
async def on_open(self, session: Session):
|
43
43
|
if self._doOnOpenHandler:
|
44
|
-
await RunUtils.waitTry(
|
44
|
+
await RunUtils.waitTry(self._doOnOpenHandler(session))
|
45
45
|
|
46
46
|
async def on_message(self, session: Session, message: Message):
|
47
47
|
if self._doOnMessageHandler:
|
@@ -31,17 +31,24 @@ class RequestStreamImpl(StreamBase, RequestStream):
|
|
31
31
|
return self.__future.get_result()
|
32
32
|
return await self.__await__()
|
33
33
|
|
34
|
-
|
35
|
-
|
34
|
+
def on_reply(self, reply: MessageInternal):
|
35
|
+
self.__future.accept(reply)
|
36
|
+
|
37
|
+
def on_error(self, error: Exception):
|
38
|
+
self.__future.cancel()
|
39
|
+
super().on_error(error)
|
36
40
|
|
37
41
|
def then_reply(self, onReply: Callable[[MessageInternal], None]) -> RequestStream:
|
38
|
-
|
42
|
+
async def _then_reply_do(r: MessageInternal, e: Exception):
|
43
|
+
if r:
|
44
|
+
onReply(r)
|
45
|
+
self.__future.then_async_callback(_then_reply_do)
|
39
46
|
return self
|
40
47
|
|
41
48
|
def then_error(self, onError: Callable[[Exception], None]) -> RequestStream:
|
42
|
-
|
49
|
+
self._then_error_do(onError)
|
43
50
|
return self
|
44
51
|
|
45
52
|
def then_progress(self, onProgress: Callable[[bool, int, int], None]) -> RequestStream:
|
46
|
-
|
53
|
+
self._then_progress_do(onProgress)
|
47
54
|
return self
|
@@ -7,6 +7,7 @@ from socketd.transport.core.Message import MessageInternal
|
|
7
7
|
from socketd.transport.stream.Stream import StreamInternal
|
8
8
|
from socketd.transport.stream.StreamManger import StreamManger
|
9
9
|
from socketd.utils.CompletableFuture import CompletableFuture
|
10
|
+
from socketd.utils.RunUtils import RunUtils
|
10
11
|
|
11
12
|
|
12
13
|
class StreamBase(StreamInternal, ABC):
|
@@ -28,10 +29,10 @@ class StreamBase(StreamInternal, ABC):
|
|
28
29
|
def is_done(self):
|
29
30
|
return True
|
30
31
|
|
31
|
-
def
|
32
|
+
def _then_error_do(self, onError: Callable[[Exception], None]):
|
32
33
|
self.__doOnError = onError
|
33
34
|
|
34
|
-
def
|
35
|
+
def _then_progress_do(self, onProgress: Callable[[bool, int, int], None]):
|
35
36
|
self.__doOnProgress = onProgress
|
36
37
|
|
37
38
|
def demands(self) -> int:
|
@@ -63,11 +64,11 @@ class StreamBase(StreamInternal, ABC):
|
|
63
64
|
|
64
65
|
def on_error(self, error: Exception):
|
65
66
|
if error and self.__doOnError:
|
66
|
-
self.__doOnError(error)
|
67
|
+
RunUtils.taskTry(self.__doOnError(error))
|
67
68
|
|
68
69
|
def on_progress(self, is_send, val, max_val):
|
69
70
|
if self.__doOnProgress:
|
70
|
-
self.__doOnProgress(is_send, val, max_val)
|
71
|
+
RunUtils.taskTry(self.__doOnProgress(is_send, val, max_val))
|
71
72
|
|
72
73
|
|
73
74
|
|
@@ -4,13 +4,14 @@ from socketd.transport.core.Costants import Constants
|
|
4
4
|
from socketd.transport.core.Message import MessageInternal
|
5
5
|
from socketd.transport.stream.SubscribeStream import SubscribeStream
|
6
6
|
from socketd.transport.stream.impl.StreamBase import StreamBase
|
7
|
+
from socketd.utils.RunUtils import RunUtils
|
7
8
|
|
8
9
|
|
9
10
|
class SubscribeStreamImpl(StreamBase, SubscribeStream):
|
10
11
|
def __init__(self, sid: str, timeout):
|
11
12
|
super().__init__(sid, Constants.DEMANDS_MULTIPLE, timeout)
|
12
|
-
self.__isDone:
|
13
|
-
self.__doOnReply:
|
13
|
+
self.__isDone: bool = False
|
14
|
+
self.__doOnReply: Callable[[MessageInternal], None] = None
|
14
15
|
|
15
16
|
def is_done(self):
|
16
17
|
return self.__isDone
|
@@ -19,18 +20,18 @@ class SubscribeStreamImpl(StreamBase, SubscribeStream):
|
|
19
20
|
self.__isDone = reply.is_end()
|
20
21
|
try:
|
21
22
|
if self.__doOnReply:
|
22
|
-
await self.__doOnReply(reply)
|
23
|
+
await RunUtils.waitTry(self.__doOnReply(reply))
|
23
24
|
except Exception as e:
|
24
25
|
self.on_error(e)
|
25
26
|
|
26
|
-
def then_reply(self,
|
27
|
-
self.__doOnReply =
|
27
|
+
def then_reply(self, doOnReply: Callable[[MessageInternal], None]) -> SubscribeStream:
|
28
|
+
self.__doOnReply = doOnReply
|
28
29
|
return self
|
29
30
|
|
30
31
|
def then_error(self, onError: Callable[[Exception], None]) -> SubscribeStream:
|
31
|
-
|
32
|
+
self._then_error_do(onError)
|
32
33
|
return self
|
33
34
|
|
34
35
|
def then_progress(self, onProgress: Callable[[bool, int, int], None]) -> SubscribeStream:
|
35
|
-
|
36
|
+
self._then_progress_do(onProgress)
|
36
37
|
return self
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentAggregatorDefault.py
RENAMED
File without changes
|
{socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentHandlerBase.py
RENAMED
File without changes
|
{socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/fragment/FragmentHandlerDefault.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
|
{socket.d-2.4.13 → socket.d-2.4.13.1}/socketd/transport/core/listener/RouteSelectorDefault.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
|