diff --git a/ctrader_open_api/__init__.py b/ctrader_open_api/__init__.py deleted file mode 100644 index 18f8917..0000000 --- a/ctrader_open_api/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Top-level package for Spotware OpenApiPy.""" -from .client import Client -from .protobuf import Protobuf -from .tcpProtocol import TcpProtocol -from .auth import Auth -from .endpoints import EndPoints -__author__ = """Spotware""" -__email__ = 'connect@spotware.com' diff --git a/ctrader_open_api/auth.py b/ctrader_open_api/auth.py deleted file mode 100644 index b8359c1..0000000 --- a/ctrader_open_api/auth.py +++ /dev/null @@ -1,25 +0,0 @@ -from ctrader_open_api.endpoints import EndPoints -import requests - -class Auth: - def __init__(self, appClientId, appClientSecret, redirectUri): - self.appClientId = appClientId - self.appClientSecret = appClientSecret - self.redirectUri = redirectUri - def getAuthUri(self, scope = "trading", baseUri = EndPoints.AUTH_URI): - return f"{baseUri}?client_id={self.appClientId}&redirect_uri={self.redirectUri}&scope={scope}" - def getToken(self, authCode, baseUri = EndPoints.TOKEN_URI): - request = requests.get(baseUri, params= - {"grant_type": "authorization_code", - "code": authCode, - "redirect_uri": self.redirectUri, - "client_id": self.appClientId, - "client_secret": self.appClientSecret}) - return request.json() - def refreshToken(self, refreshToken, baseUri = EndPoints.TOKEN_URI): - request = requests.get(baseUri, params= - {"grant_type": "refresh_token", - "refresh_token": refreshToken, - "client_id": self.appClientId, - "client_secret": self.appClientSecret}) - return request.json() diff --git a/ctrader_open_api/client.py b/ctrader_open_api/client.py deleted file mode 100644 index 5403ea4..0000000 --- a/ctrader_open_api/client.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -from twisted.internet.endpoints import clientFromString -from twisted.application.internet import ClientService -from ctrader_open_api.protobuf import Protobuf -from ctrader_open_api.factory import Factory -from twisted.internet import reactor, defer - -class Client(ClientService): - def __init__(self, host, port, protocol, retryPolicy=None, clock=None, prepareConnection=None, numberOfMessagesToSendPerSecond=5): - self._runningReactor = reactor - self.numberOfMessagesToSendPerSecond = numberOfMessagesToSendPerSecond - endpoint = clientFromString(self._runningReactor, f"ssl:{host}:{port}") - factory = Factory.forProtocol(protocol, client=self) - super().__init__(endpoint, factory, retryPolicy=retryPolicy, clock=clock, prepareConnection=prepareConnection) - self._events = dict() - self._responseDeferreds = dict() - self.isConnected = False - - def startService(self): - if self.running: - return - ClientService.startService(self) - - def stopService(self): - if self.running and self.isConnected: - ClientService.stopService(self) - - def _connected(self, protocol): - self.isConnected = True - if hasattr(self, "_connectedCallback"): - self._connectedCallback(self) - - def _disconnected(self, reason): - self.isConnected = False - self._responseDeferreds.clear() - if hasattr(self, "_disconnectedCallback"): - self._disconnectedCallback(self, reason) - - def _received(self, message): - if hasattr(self, "_messageReceivedCallback"): - self._messageReceivedCallback(self, message) - if (message.clientMsgId is not None and message.clientMsgId in self._responseDeferreds): - responseDeferred = self._responseDeferreds[message.clientMsgId] - self._responseDeferreds.pop(message.clientMsgId) - responseDeferred.callback(message) - - def send(self, message, clientMsgId=None, responseTimeoutInSeconds=5, **params): - if type(message) in [str, int]: - message = Protobuf.get(message, **params) - responseDeferred = defer.Deferred(self._cancelMessageDiferred) - if clientMsgId is None: - clientMsgId = str(id(responseDeferred)) - if clientMsgId is not None: - self._responseDeferreds[clientMsgId] = responseDeferred - responseDeferred.addErrback(lambda failure: self._onResponseFailure(failure, clientMsgId)) - responseDeferred.addTimeout(responseTimeoutInSeconds, self._runningReactor) - protocolDiferred = self.whenConnected(failAfterFailures=1) - protocolDiferred.addCallbacks(lambda protocol: protocol.send(message, clientMsgId=clientMsgId, isCanceled=lambda: clientMsgId not in self._responseDeferreds), responseDeferred.errback) - return responseDeferred - - def setConnectedCallback(self, callback): - self._connectedCallback = callback - - def setDisconnectedCallback(self, callback): - self._disconnectedCallback = callback - - def setMessageReceivedCallback(self, callback): - self._messageReceivedCallback = callback - - def _onResponseFailure(self, failure, msgId): - if (msgId is not None and msgId in self._responseDeferreds): - self._responseDeferreds.pop(msgId) - return failure - - def _cancelMessageDiferred(self, deferred): - deferredIdString = str(id(deferred)) - if (deferredIdString in self._responseDeferreds): - self._responseDeferreds.pop(deferredIdString) diff --git a/ctrader_open_api/endpoints.py b/ctrader_open_api/endpoints.py deleted file mode 100644 index 0497f2a..0000000 --- a/ctrader_open_api/endpoints.py +++ /dev/null @@ -1,6 +0,0 @@ -class EndPoints: - AUTH_URI = "https://openapi.ctrader.com/apps/auth" - TOKEN_URI = "https://openapi.ctrader.com/apps/token" - PROTOBUF_DEMO_HOST = "demo.ctraderapi.com" - PROTOBUF_LIVE_HOST = "live.ctraderapi.com" - PROTOBUF_PORT = 5035 diff --git a/ctrader_open_api/factory.py b/ctrader_open_api/factory.py deleted file mode 100644 index 11f13c6..0000000 --- a/ctrader_open_api/factory.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python - -from twisted.internet.protocol import ClientFactory - -class Factory(ClientFactory): - def __init__(self, *args, **kwargs): - super().__init__() - self.client = kwargs['client'] - self.numberOfMessagesToSendPerSecond = self.client.numberOfMessagesToSendPerSecond - def connected(self, protocol): - self.client._connected(protocol) - def disconnected(self, reason): - self.client._disconnected(reason) - def received(self, message): - self.client._received(message) diff --git a/ctrader_open_api/messages/OpenApiCommonMessages_pb2.py b/ctrader_open_api/messages/OpenApiCommonMessages_pb2.py deleted file mode 100644 index 687f08b..0000000 --- a/ctrader_open_api/messages/OpenApiCommonMessages_pb2.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: OpenApiCommonMessages.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from ctrader_open_api.messages import OpenApiCommonModelMessages_pb2 as OpenApiCommonModelMessages__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bOpenApiCommonMessages.proto\x1a OpenApiCommonModelMessages.proto\"I\n\x0cProtoMessage\x12\x13\n\x0bpayloadType\x18\x01 \x02(\r\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63lientMsgId\x18\x03 \x01(\t\"\x8b\x01\n\rProtoErrorRes\x12\x31\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x11.ProtoPayloadType:\tERROR_RES\x12\x11\n\terrorCode\x18\x02 \x02(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1f\n\x17maintenanceEndTimestamp\x18\x04 \x01(\x04\"N\n\x13ProtoHeartbeatEvent\x12\x37\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x11.ProtoPayloadType:\x0fHEARTBEAT_EVENTBB\n\"com.xtrader.protocol.proto.commonsB\x17\x43ontainerCommonMessagesP\x01\xa0\x01\x01') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'OpenApiCommonMessages_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\"com.xtrader.protocol.proto.commonsB\027ContainerCommonMessagesP\001\240\001\001' - _PROTOMESSAGE._serialized_start=65 - _PROTOMESSAGE._serialized_end=138 - _PROTOERRORRES._serialized_start=141 - _PROTOERRORRES._serialized_end=280 - _PROTOHEARTBEATEVENT._serialized_start=282 - _PROTOHEARTBEATEVENT._serialized_end=360 -# @@protoc_insertion_point(module_scope) diff --git a/ctrader_open_api/messages/OpenApiCommonModelMessages_pb2.py b/ctrader_open_api/messages/OpenApiCommonModelMessages_pb2.py deleted file mode 100644 index 6b0884e..0000000 --- a/ctrader_open_api/messages/OpenApiCommonModelMessages_pb2.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: OpenApiCommonModelMessages.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n OpenApiCommonModelMessages.proto*I\n\x10ProtoPayloadType\x12\x11\n\rPROTO_MESSAGE\x10\x05\x12\r\n\tERROR_RES\x10\x32\x12\x13\n\x0fHEARTBEAT_EVENT\x10\x33*\xf0\x01\n\x0eProtoErrorCode\x12\x11\n\rUNKNOWN_ERROR\x10\x01\x12\x17\n\x13UNSUPPORTED_MESSAGE\x10\x02\x12\x13\n\x0fINVALID_REQUEST\x10\x03\x12\x11\n\rTIMEOUT_ERROR\x10\x05\x12\x14\n\x10\x45NTITY_NOT_FOUND\x10\x06\x12\x16\n\x12\x43\x41NT_ROUTE_REQUEST\x10\x07\x12\x12\n\x0e\x46RAME_TOO_LONG\x10\x08\x12\x11\n\rMARKET_CLOSED\x10\t\x12\x1b\n\x17\x43ONCURRENT_MODIFICATION\x10\n\x12\x18\n\x14\x42LOCKED_PAYLOAD_TYPE\x10\x0b\x42M\n(com.xtrader.protocol.proto.commons.modelB\x1c\x43ontainerCommonModelMessagesP\x01\xa0\x01\x01') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'OpenApiCommonModelMessages_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n(com.xtrader.protocol.proto.commons.modelB\034ContainerCommonModelMessagesP\001\240\001\001' - _PROTOPAYLOADTYPE._serialized_start=36 - _PROTOPAYLOADTYPE._serialized_end=109 - _PROTOERRORCODE._serialized_start=112 - _PROTOERRORCODE._serialized_end=352 -# @@protoc_insertion_point(module_scope) diff --git a/ctrader_open_api/messages/OpenApiMessages_pb2.py b/ctrader_open_api/messages/OpenApiMessages_pb2.py deleted file mode 100644 index 2271bf0..0000000 --- a/ctrader_open_api/messages/OpenApiMessages_pb2.py +++ /dev/null @@ -1,204 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: OpenApiMessages.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from ctrader_open_api.messages import OpenApiModelMessages_pb2 as OpenApiModelMessages__pb2 - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15OpenApiMessages.proto\x1a\x1aOpenApiModelMessages.proto\"\x8c\x01\n\x19ProtoOAApplicationAuthReq\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_APPLICATION_AUTH_REQ\x12\x10\n\x08\x63lientId\x18\x02 \x02(\t\x12\x14\n\x0c\x63lientSecret\x18\x03 \x02(\t\"d\n\x19ProtoOAApplicationAuthRes\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_APPLICATION_AUTH_RES\"\x8e\x01\n\x15ProtoOAAccountAuthReq\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_ACCOUNT_AUTH_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x03 \x02(\t\"y\n\x15ProtoOAAccountAuthRes\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_ACCOUNT_AUTH_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xb5\x01\n\x0fProtoOAErrorRes\x12<\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x12PROTO_OA_ERROR_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x01(\x03\x12\x11\n\terrorCode\x18\x03 \x02(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x1f\n\x17maintenanceEndTimestamp\x18\x05 \x01(\x03\"z\n\x1cProtoOAClientDisconnectEvent\x12J\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType: PROTO_OA_CLIENT_DISCONNECT_EVENT\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\xa9\x01\n$ProtoOAAccountsTokenInvalidatedEvent\x12S\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:)PROTO_OA_ACCOUNTS_TOKEN_INVALIDATED_EVENT\x12\x1c\n\x14\x63tidTraderAccountIds\x18\x02 \x03(\x03\x12\x0e\n\x06reason\x18\x03 \x01(\t\"S\n\x11ProtoOAVersionReq\x12>\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x14PROTO_OA_VERSION_REQ\"d\n\x11ProtoOAVersionRes\x12>\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x14PROTO_OA_VERSION_RES\x12\x0f\n\x07version\x18\x02 \x02(\t\"\xb1\x05\n\x12ProtoOANewOrderReq\x12@\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x16PROTO_OA_NEW_ORDER_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x02(\x03\x12$\n\torderType\x18\x04 \x02(\x0e\x32\x11.ProtoOAOrderType\x12$\n\ttradeSide\x18\x05 \x02(\x0e\x32\x11.ProtoOATradeSide\x12\x0e\n\x06volume\x18\x06 \x02(\x03\x12\x12\n\nlimitPrice\x18\x07 \x01(\x01\x12\x11\n\tstopPrice\x18\x08 \x01(\x01\x12:\n\x0btimeInForce\x18\t \x01(\x0e\x32\x13.ProtoOATimeInForce:\x10GOOD_TILL_CANCEL\x12\x1b\n\x13\x65xpirationTimestamp\x18\n \x01(\x03\x12\x10\n\x08stopLoss\x18\x0b \x01(\x01\x12\x12\n\ntakeProfit\x18\x0c \x01(\x01\x12\x0f\n\x07\x63omment\x18\r \x01(\t\x12\x19\n\x11\x62\x61seSlippagePrice\x18\x0e \x01(\x01\x12\x18\n\x10slippageInPoints\x18\x0f \x01(\x05\x12\r\n\x05label\x18\x10 \x01(\t\x12\x12\n\npositionId\x18\x11 \x01(\x03\x12\x15\n\rclientOrderId\x18\x12 \x01(\t\x12\x18\n\x10relativeStopLoss\x18\x13 \x01(\x03\x12\x1a\n\x12relativeTakeProfit\x18\x14 \x01(\x03\x12\x1a\n\x12guaranteedStopLoss\x18\x15 \x01(\x08\x12\x18\n\x10trailingStopLoss\x18\x16 \x01(\x08\x12<\n\x11stopTriggerMethod\x18\x17 \x01(\x0e\x32\x1a.ProtoOAOrderTriggerMethod:\x05TRADE\"\x9c\x03\n\x15ProtoOAExecutionEvent\x12\x42\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x18PROTO_OA_EXECUTION_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12,\n\rexecutionType\x18\x03 \x02(\x0e\x32\x15.ProtoOAExecutionType\x12\"\n\x08position\x18\x04 \x01(\x0b\x32\x10.ProtoOAPosition\x12\x1c\n\x05order\x18\x05 \x01(\x0b\x32\r.ProtoOAOrder\x12\x1a\n\x04\x64\x65\x61l\x18\x06 \x01(\x0b\x32\x0c.ProtoOADeal\x12:\n\x14\x62onusDepositWithdraw\x18\x07 \x01(\x0b\x32\x1c.ProtoOABonusDepositWithdraw\x12\x30\n\x0f\x64\x65positWithdraw\x18\x08 \x01(\x0b\x32\x17.ProtoOADepositWithdraw\x12\x11\n\terrorCode\x18\t \x01(\t\x12\x15\n\risServerEvent\x18\n \x01(\x08\"\x8a\x01\n\x15ProtoOACancelOrderReq\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_CANCEL_ORDER_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x0f\n\x07orderId\x18\x03 \x02(\x03\"\xc6\x03\n\x14ProtoOAAmendOrderReq\x12\x42\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x18PROTO_OA_AMEND_ORDER_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x0f\n\x07orderId\x18\x03 \x02(\x03\x12\x0e\n\x06volume\x18\x04 \x01(\x03\x12\x12\n\nlimitPrice\x18\x05 \x01(\x01\x12\x11\n\tstopPrice\x18\x06 \x01(\x01\x12\x1b\n\x13\x65xpirationTimestamp\x18\x07 \x01(\x03\x12\x10\n\x08stopLoss\x18\x08 \x01(\x01\x12\x12\n\ntakeProfit\x18\t \x01(\x01\x12\x18\n\x10slippageInPoints\x18\n \x01(\x05\x12\x18\n\x10relativeStopLoss\x18\x0b \x01(\x03\x12\x1a\n\x12relativeTakeProfit\x18\x0c \x01(\x03\x12\x1a\n\x12guaranteedStopLoss\x18\r \x01(\x08\x12\x18\n\x10trailingStopLoss\x18\x0e \x01(\x08\x12<\n\x11stopTriggerMethod\x18\x0f \x01(\x0e\x32\x1a.ProtoOAOrderTriggerMethod:\x05TRADE\"\xb8\x02\n\x1bProtoOAAmendPositionSLTPReq\x12J\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType: PROTO_OA_AMEND_POSITION_SLTP_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x03\x12\x10\n\x08stopLoss\x18\x04 \x01(\x01\x12\x12\n\ntakeProfit\x18\x05 \x01(\x01\x12\x1a\n\x12guaranteedStopLoss\x18\x07 \x01(\x08\x12\x18\n\x10trailingStopLoss\x18\x08 \x01(\x08\x12@\n\x15stopLossTriggerMethod\x18\t \x01(\x0e\x32\x1a.ProtoOAOrderTriggerMethod:\x05TRADE\"\xa1\x01\n\x17ProtoOAClosePositionReq\x12\x45\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1bPROTO_OA_CLOSE_POSITION_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x03\x12\x0e\n\x06volume\x18\x04 \x02(\x03\"\xe2\x01\n\x1dProtoOATrailingSLChangedEvent\x12L\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\"PROTO_OA_TRAILING_SL_CHANGED_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x03\x12\x0f\n\x07orderId\x18\x04 \x02(\x03\x12\x11\n\tstopPrice\x18\x05 \x02(\x01\x12\x1e\n\x16utcLastUpdateTimestamp\x18\x06 \x02(\x03\"u\n\x13ProtoOAAssetListReq\x12\x41\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x17PROTO_OA_ASSET_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x93\x01\n\x13ProtoOAAssetListRes\x12\x41\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x17PROTO_OA_ASSET_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1c\n\x05\x61sset\x18\x03 \x03(\x0b\x32\r.ProtoOAAsset\"\xa0\x01\n\x15ProtoOASymbolsListReq\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_SYMBOLS_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12%\n\x16includeArchivedSymbols\x18\x03 \x01(\x08:\x05\x66\x61lse\"\xce\x01\n\x15ProtoOASymbolsListRes\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_SYMBOLS_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12#\n\x06symbol\x18\x03 \x03(\x0b\x32\x13.ProtoOALightSymbol\x12.\n\x0e\x61rchivedSymbol\x18\x04 \x03(\x0b\x32\x16.ProtoOAArchivedSymbol\"\x8a\x01\n\x14ProtoOASymbolByIdReq\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_SYMBOL_BY_ID_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x03(\x03\"\xc8\x01\n\x14ProtoOASymbolByIdRes\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_SYMBOL_BY_ID_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1e\n\x06symbol\x18\x03 \x03(\x0b\x32\x0e.ProtoOASymbol\x12.\n\x0e\x61rchivedSymbol\x18\x04 \x03(\x0b\x32\x16.ProtoOAArchivedSymbol\"\xb7\x01\n\x1eProtoOASymbolsForConversionReq\x12M\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:#PROTO_OA_SYMBOLS_FOR_CONVERSION_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x14\n\x0c\x66irstAssetId\x18\x03 \x02(\x03\x12\x13\n\x0blastAssetId\x18\x04 \x02(\x03\"\xb1\x01\n\x1eProtoOASymbolsForConversionRes\x12M\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:#PROTO_OA_SYMBOLS_FOR_CONVERSION_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12#\n\x06symbol\x18\x03 \x03(\x0b\x32\x13.ProtoOALightSymbol\"\x93\x01\n\x19ProtoOASymbolChangedEvent\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_SYMBOL_CHANGED_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x03(\x03\"\x80\x01\n\x18ProtoOAAssetClassListReq\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_ASSET_CLASS_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xa8\x01\n\x18ProtoOAAssetClassListRes\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_ASSET_CLASS_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\nassetClass\x18\x03 \x03(\x0b\x32\x12.ProtoOAAssetClass\"n\n\x10ProtoOATraderReq\x12=\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x13PROTO_OA_TRADER_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x8e\x01\n\x10ProtoOATraderRes\x12=\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x13PROTO_OA_TRADER_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1e\n\x06trader\x18\x03 \x02(\x0b\x32\x0e.ProtoOATrader\"\xa0\x01\n\x19ProtoOATraderUpdatedEvent\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_TRADER_UPDATE_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1e\n\x06trader\x18\x03 \x02(\x0b\x32\x0e.ProtoOATrader\"t\n\x13ProtoOAReconcileReq\x12@\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x16PROTO_OA_RECONCILE_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xb6\x01\n\x13ProtoOAReconcileRes\x12@\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x16PROTO_OA_RECONCILE_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\"\n\x08position\x18\x03 \x03(\x0b\x32\x10.ProtoOAPosition\x12\x1c\n\x05order\x18\x04 \x03(\x0b\x32\r.ProtoOAOrder\"\xc8\x01\n\x16ProtoOAOrderErrorEvent\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_ORDER_ERROR_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x05 \x02(\x03\x12\x11\n\terrorCode\x18\x02 \x02(\t\x12\x0f\n\x07orderId\x18\x03 \x01(\x03\x12\x12\n\npositionId\x18\x06 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\"\xb0\x01\n\x12ProtoOADealListReq\x12@\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x16PROTO_OA_DEAL_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x15\n\rfromTimestamp\x18\x03 \x02(\x03\x12\x13\n\x0btoTimestamp\x18\x04 \x02(\x03\x12\x0f\n\x07maxRows\x18\x05 \x01(\x05\"\xa0\x01\n\x12ProtoOADealListRes\x12@\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x16PROTO_OA_DEAL_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1a\n\x04\x64\x65\x61l\x18\x03 \x03(\x0b\x32\x0c.ProtoOADeal\x12\x0f\n\x07hasMore\x18\x04 \x02(\x08\"\xa1\x01\n\x13ProtoOAOrderListReq\x12\x41\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x17PROTO_OA_ORDER_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x15\n\rfromTimestamp\x18\x03 \x02(\x03\x12\x13\n\x0btoTimestamp\x18\x04 \x02(\x03\"\xa4\x01\n\x13ProtoOAOrderListRes\x12\x41\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x17PROTO_OA_ORDER_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1c\n\x05order\x18\x03 \x03(\x0b\x32\r.ProtoOAOrder\x12\x0f\n\x07hasMore\x18\x04 \x02(\x08\"\xa1\x01\n\x18ProtoOAExpectedMarginReq\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_EXPECTED_MARGIN_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x02(\x03\x12\x0e\n\x06volume\x18\x04 \x03(\x03\"\xbc\x01\n\x18ProtoOAExpectedMarginRes\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_EXPECTED_MARGIN_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\x06margin\x18\x03 \x03(\x0b\x32\x16.ProtoOAExpectedMargin\x12\x13\n\x0bmoneyDigits\x18\x04 \x01(\r\"\xbe\x01\n\x19ProtoOAMarginChangedEvent\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_MARGIN_CHANGED_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x04\x12\x12\n\nusedMargin\x18\x04 \x02(\x04\x12\x13\n\x0bmoneyDigits\x18\x05 \x01(\r\"\xb7\x01\n\x1dProtoOACashFlowHistoryListReq\x12M\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:#PROTO_OA_CASH_FLOW_HISTORY_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x15\n\rfromTimestamp\x18\x03 \x02(\x03\x12\x13\n\x0btoTimestamp\x18\x04 \x02(\x03\"\xbd\x01\n\x1dProtoOACashFlowHistoryListRes\x12M\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:#PROTO_OA_CASH_FLOW_HISTORY_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x30\n\x0f\x64\x65positWithdraw\x18\x03 \x03(\x0b\x32\x17.ProtoOADepositWithdraw\"\x91\x01\n%ProtoOAGetAccountListByAccessTokenReq\x12S\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:)PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_REQ\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x02(\t\"\xff\x01\n%ProtoOAGetAccountListByAccessTokenRes\x12S\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:)PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_RES\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x02(\t\x12\x36\n\x0fpermissionScope\x18\x03 \x01(\x0e\x32\x1d.ProtoOAClientPermissionScope\x12\x34\n\x11\x63tidTraderAccount\x18\x04 \x03(\x0b\x32\x19.ProtoOACtidTraderAccount\"t\n\x16ProtoOARefreshTokenReq\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_REFRESH_TOKEN_REQ\x12\x14\n\x0crefreshToken\x18\x02 \x02(\t\"\xaf\x01\n\x16ProtoOARefreshTokenRes\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_REFRESH_TOKEN_RES\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x02(\t\x12\x11\n\ttokenType\x18\x03 \x02(\t\x12\x11\n\texpiresIn\x18\x04 \x02(\x03\x12\x14\n\x0crefreshToken\x18\x05 \x02(\t\"\xb3\x01\n\x18ProtoOASubscribeSpotsReq\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_SUBSCRIBE_SPOTS_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x03(\x03\x12 \n\x18subscribeToSpotTimestamp\x18\x04 \x01(\x08\"\x7f\n\x18ProtoOASubscribeSpotsRes\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_SUBSCRIBE_SPOTS_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x95\x01\n\x1aProtoOAUnsubscribeSpotsReq\x12H\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1ePROTO_OA_UNSUBSCRIBE_SPOTS_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x03(\x03\"\x83\x01\n\x1aProtoOAUnsubscribeSpotsRes\x12H\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1ePROTO_OA_UNSUBSCRIBE_SPOTS_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xe7\x01\n\x10ProtoOASpotEvent\x12=\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x13PROTO_OA_SPOT_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x02(\x03\x12\x0b\n\x03\x62id\x18\x04 \x01(\x04\x12\x0b\n\x03\x61sk\x18\x05 \x01(\x04\x12\"\n\x08trendbar\x18\x06 \x03(\x0b\x32\x10.ProtoOATrendbar\x12\x14\n\x0csessionClose\x18\x07 \x01(\x04\x12\x11\n\ttimestamp\x18\x08 \x01(\x03\"\xc8\x01\n\x1fProtoOASubscribeLiveTrendbarReq\x12N\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:$PROTO_OA_SUBSCRIBE_LIVE_TRENDBAR_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\x06period\x18\x03 \x02(\x0e\x32\x16.ProtoOATrendbarPeriod\x12\x10\n\x08symbolId\x18\x04 \x02(\x03\"\x8e\x01\n\x1fProtoOASubscribeLiveTrendbarRes\x12N\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:$PROTO_OA_SUBSCRIBE_LIVE_TRENDBAR_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xcc\x01\n!ProtoOAUnsubscribeLiveTrendbarReq\x12P\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:&PROTO_OA_UNSUBSCRIBE_LIVE_TRENDBAR_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\x06period\x18\x03 \x02(\x0e\x32\x16.ProtoOATrendbarPeriod\x12\x10\n\x08symbolId\x18\x04 \x02(\x03\"\x92\x01\n!ProtoOAUnsubscribeLiveTrendbarRes\x12P\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:&PROTO_OA_UNSUBSCRIBE_LIVE_TRENDBAR_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xf0\x01\n\x16ProtoOAGetTrendbarsReq\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_GET_TRENDBARS_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x15\n\rfromTimestamp\x18\x03 \x02(\x03\x12\x13\n\x0btoTimestamp\x18\x04 \x02(\x03\x12&\n\x06period\x18\x05 \x02(\x0e\x32\x16.ProtoOATrendbarPeriod\x12\x10\n\x08symbolId\x18\x06 \x02(\x03\x12\r\n\x05\x63ount\x18\x07 \x01(\r\"\xec\x01\n\x16ProtoOAGetTrendbarsRes\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_GET_TRENDBARS_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\x06period\x18\x03 \x02(\x0e\x32\x16.ProtoOATrendbarPeriod\x12\x11\n\ttimestamp\x18\x04 \x02(\x03\x12\"\n\x08trendbar\x18\x05 \x03(\x0b\x32\x10.ProtoOATrendbar\x12\x10\n\x08symbolId\x18\x06 \x01(\x03\"\xd8\x01\n\x15ProtoOAGetTickDataReq\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_GET_TICKDATA_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x02(\x03\x12\x1f\n\x04type\x18\x04 \x02(\x0e\x32\x11.ProtoOAQuoteType\x12\x15\n\rfromTimestamp\x18\x05 \x02(\x03\x12\x13\n\x0btoTimestamp\x18\x06 \x02(\x03\"\xae\x01\n\x15ProtoOAGetTickDataRes\x12\x43\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x19PROTO_OA_GET_TICKDATA_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\"\n\x08tickData\x18\x03 \x03(\x0b\x32\x10.ProtoOATickData\x12\x0f\n\x07hasMore\x18\x04 \x02(\x08\"\x88\x01\n\x1fProtoOAGetCtidProfileByTokenReq\x12P\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:&PROTO_OA_GET_CTID_PROFILE_BY_TOKEN_REQ\x12\x13\n\x0b\x61\x63\x63\x65ssToken\x18\x02 \x02(\t\"\x99\x01\n\x1fProtoOAGetCtidProfileByTokenRes\x12P\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:&PROTO_OA_GET_CTID_PROFILE_BY_TOKEN_RES\x12$\n\x07profile\x18\x02 \x02(\x0b\x32\x13.ProtoOACtidProfile\"\xc4\x01\n\x11ProtoOADepthEvent\x12>\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x14PROTO_OA_DEPTH_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x02(\x04\x12%\n\tnewQuotes\x18\x04 \x03(\x0b\x32\x12.ProtoOADepthQuote\x12\x19\n\rdeletedQuotes\x18\x05 \x03(\x04\x42\x02\x10\x01\"\x9e\x01\n\x1eProtoOASubscribeDepthQuotesReq\x12M\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:#PROTO_OA_SUBSCRIBE_DEPTH_QUOTES_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x03(\x03\"\x8c\x01\n\x1eProtoOASubscribeDepthQuotesRes\x12M\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:#PROTO_OA_SUBSCRIBE_DEPTH_QUOTES_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xa2\x01\n ProtoOAUnsubscribeDepthQuotesReq\x12O\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:%PROTO_OA_UNSUBSCRIBE_DEPTH_QUOTES_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x10\n\x08symbolId\x18\x03 \x03(\x03\"\x90\x01\n ProtoOAUnsubscribeDepthQuotesRes\x12O\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:%PROTO_OA_UNSUBSCRIBE_DEPTH_QUOTES_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x83\x01\n\x1cProtoOASymbolCategoryListReq\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_SYMBOL_CATEGORY_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xb3\x01\n\x1cProtoOASymbolCategoryListRes\x12\x46\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1cPROTO_OA_SYMBOL_CATEGORY_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12.\n\x0esymbolCategory\x18\x03 \x03(\x0b\x32\x16.ProtoOASymbolCategory\"}\n\x17ProtoOAAccountLogoutReq\x12\x45\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1bPROTO_OA_ACCOUNT_LOGOUT_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"}\n\x17ProtoOAAccountLogoutRes\x12\x45\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1bPROTO_OA_ACCOUNT_LOGOUT_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x89\x01\n\x1dProtoOAAccountDisconnectEvent\x12K\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:!PROTO_OA_ACCOUNT_DISCONNECT_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x80\x01\n\x18ProtoOAMarginCallListReq\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_MARGIN_CALL_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\x8b\x01\n\x18ProtoOAMarginCallListRes\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_MARGIN_CALL_LIST_RES\x12&\n\nmarginCall\x18\x02 \x03(\x0b\x32\x12.ProtoOAMarginCall\"\xac\x01\n\x1aProtoOAMarginCallUpdateReq\x12I\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1fPROTO_OA_MARGIN_CALL_UPDATE_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\nmarginCall\x18\x03 \x02(\x0b\x32\x12.ProtoOAMarginCall\"g\n\x1aProtoOAMarginCallUpdateRes\x12I\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1fPROTO_OA_MARGIN_CALL_UPDATE_RES\"\xb0\x01\n\x1cProtoOAMarginCallUpdateEvent\x12K\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:!PROTO_OA_MARGIN_CALL_UPDATE_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\nmarginCall\x18\x03 \x02(\x0b\x32\x12.ProtoOAMarginCall\"\xb2\x01\n\x1dProtoOAMarginCallTriggerEvent\x12L\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\"PROTO_OA_MARGIN_CALL_TRIGGER_EVENT\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12&\n\nmarginCall\x18\x03 \x02(\x0b\x32\x12.ProtoOAMarginCall\"\xa0\x01\n ProtoOAGetDynamicLeverageByIDReq\x12K\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:!PROTO_OA_GET_DYNAMIC_LEVERAGE_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\nleverageId\x18\x03 \x02(\x03\"\xb7\x01\n ProtoOAGetDynamicLeverageByIDRes\x12K\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:!PROTO_OA_GET_DYNAMIC_LEVERAGE_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12)\n\x08leverage\x18\x03 \x02(\x0b\x32\x17.ProtoOADynamicLeverage\"\xce\x01\n\x1eProtoOADealListByPositionIdReq\x12O\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:%PROTO_OA_DEAL_LIST_BY_POSITION_ID_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x03\x12\x15\n\rfromTimestamp\x18\x04 \x02(\x03\x12\x13\n\x0btoTimestamp\x18\x05 \x02(\x03\"\xbb\x01\n\x1eProtoOADealListByPositionIdRes\x12O\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:%PROTO_OA_DEAL_LIST_BY_POSITION_ID_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1a\n\x04\x64\x65\x61l\x18\x03 \x03(\x0b\x32\x0c.ProtoOADeal\x12\x0f\n\x07hasMore\x18\x04 \x01(\x03\"\x90\x01\n\x18ProtoOADealOffsetListReq\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_DEAL_OFFSET_LIST_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x0e\n\x06\x64\x65\x61lId\x18\x03 \x02(\x03\"\xce\x01\n\x18ProtoOADealOffsetListRes\x12G\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1dPROTO_OA_DEAL_OFFSET_LIST_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12$\n\x08offsetBy\x18\x03 \x03(\x0b\x32\x12.ProtoOADealOffset\x12&\n\noffsetting\x18\x04 \x03(\x0b\x32\x12.ProtoOADealOffset\"\x95\x01\n\"ProtoOAGetPositionUnrealizedPnLReq\x12R\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:(PROTO_OA_GET_POSITION_UNREALIZED_PNL_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\"\xe8\x01\n\"ProtoOAGetPositionUnrealizedPnLRes\x12R\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:(PROTO_OA_GET_POSITION_UNREALIZED_PNL_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12<\n\x15positionUnrealizedPnL\x18\x03 \x03(\x0b\x32\x1d.ProtoOAPositionUnrealizedPnL\x12\x13\n\x0bmoneyDigits\x18\x04 \x02(\r\"\x8c\x01\n\x16ProtoOAOrderDetailsReq\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_ORDER_DETAILS_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x0f\n\x07orderId\x18\x03 \x02(\x03\"\xb5\x01\n\x16ProtoOAOrderDetailsRes\x12\x44\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:\x1aPROTO_OA_ORDER_DETAILS_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1c\n\x05order\x18\x03 \x02(\x0b\x32\r.ProtoOAOrder\x12\x1a\n\x04\x64\x65\x61l\x18\x04 \x03(\x0b\x32\x0c.ProtoOADeal\"\xd0\x01\n\x1fProtoOAOrderListByPositionIdReq\x12P\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:&PROTO_OA_ORDER_LIST_BY_POSITION_ID_REQ\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x03\x12\x15\n\rfromTimestamp\x18\x04 \x01(\x03\x12\x13\n\x0btoTimestamp\x18\x05 \x01(\x03\"\xbf\x01\n\x1fProtoOAOrderListByPositionIdRes\x12P\n\x0bpayloadType\x18\x01 \x01(\x0e\x32\x13.ProtoOAPayloadType:&PROTO_OA_ORDER_LIST_BY_POSITION_ID_RES\x12\x1b\n\x13\x63tidTraderAccountId\x18\x02 \x02(\x03\x12\x1c\n\x05order\x18\x03 \x03(\x0b\x32\r.ProtoOAOrder\x12\x0f\n\x07hasMore\x18\x04 \x02(\x08\x42\x42\n\x1f\x63om.xtrader.protocol.openapi.v2B\x1a\x43ontainerOpenApiV2MessagesP\x01\xa0\x01\x01') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'OpenApiMessages_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\037com.xtrader.protocol.openapi.v2B\032ContainerOpenApiV2MessagesP\001\240\001\001' - _PROTOOADEPTHEVENT.fields_by_name['deletedQuotes']._options = None - _PROTOOADEPTHEVENT.fields_by_name['deletedQuotes']._serialized_options = b'\020\001' - _PROTOOAAPPLICATIONAUTHREQ._serialized_start=54 - _PROTOOAAPPLICATIONAUTHREQ._serialized_end=194 - _PROTOOAAPPLICATIONAUTHRES._serialized_start=196 - _PROTOOAAPPLICATIONAUTHRES._serialized_end=296 - _PROTOOAACCOUNTAUTHREQ._serialized_start=299 - _PROTOOAACCOUNTAUTHREQ._serialized_end=441 - _PROTOOAACCOUNTAUTHRES._serialized_start=443 - _PROTOOAACCOUNTAUTHRES._serialized_end=564 - _PROTOOAERRORRES._serialized_start=567 - _PROTOOAERRORRES._serialized_end=748 - _PROTOOACLIENTDISCONNECTEVENT._serialized_start=750 - _PROTOOACLIENTDISCONNECTEVENT._serialized_end=872 - _PROTOOAACCOUNTSTOKENINVALIDATEDEVENT._serialized_start=875 - _PROTOOAACCOUNTSTOKENINVALIDATEDEVENT._serialized_end=1044 - _PROTOOAVERSIONREQ._serialized_start=1046 - _PROTOOAVERSIONREQ._serialized_end=1129 - _PROTOOAVERSIONRES._serialized_start=1131 - _PROTOOAVERSIONRES._serialized_end=1231 - _PROTOOANEWORDERREQ._serialized_start=1234 - _PROTOOANEWORDERREQ._serialized_end=1923 - _PROTOOAEXECUTIONEVENT._serialized_start=1926 - _PROTOOAEXECUTIONEVENT._serialized_end=2338 - _PROTOOACANCELORDERREQ._serialized_start=2341 - _PROTOOACANCELORDERREQ._serialized_end=2479 - _PROTOOAAMENDORDERREQ._serialized_start=2482 - _PROTOOAAMENDORDERREQ._serialized_end=2936 - _PROTOOAAMENDPOSITIONSLTPREQ._serialized_start=2939 - _PROTOOAAMENDPOSITIONSLTPREQ._serialized_end=3251 - _PROTOOACLOSEPOSITIONREQ._serialized_start=3254 - _PROTOOACLOSEPOSITIONREQ._serialized_end=3415 - _PROTOOATRAILINGSLCHANGEDEVENT._serialized_start=3418 - _PROTOOATRAILINGSLCHANGEDEVENT._serialized_end=3644 - _PROTOOAASSETLISTREQ._serialized_start=3646 - _PROTOOAASSETLISTREQ._serialized_end=3763 - _PROTOOAASSETLISTRES._serialized_start=3766 - _PROTOOAASSETLISTRES._serialized_end=3913 - _PROTOOASYMBOLSLISTREQ._serialized_start=3916 - _PROTOOASYMBOLSLISTREQ._serialized_end=4076 - _PROTOOASYMBOLSLISTRES._serialized_start=4079 - _PROTOOASYMBOLSLISTRES._serialized_end=4285 - _PROTOOASYMBOLBYIDREQ._serialized_start=4288 - _PROTOOASYMBOLBYIDREQ._serialized_end=4426 - _PROTOOASYMBOLBYIDRES._serialized_start=4429 - _PROTOOASYMBOLBYIDRES._serialized_end=4629 - _PROTOOASYMBOLSFORCONVERSIONREQ._serialized_start=4632 - _PROTOOASYMBOLSFORCONVERSIONREQ._serialized_end=4815 - _PROTOOASYMBOLSFORCONVERSIONRES._serialized_start=4818 - _PROTOOASYMBOLSFORCONVERSIONRES._serialized_end=4995 - _PROTOOASYMBOLCHANGEDEVENT._serialized_start=4998 - _PROTOOASYMBOLCHANGEDEVENT._serialized_end=5145 - _PROTOOAASSETCLASSLISTREQ._serialized_start=5148 - _PROTOOAASSETCLASSLISTREQ._serialized_end=5276 - _PROTOOAASSETCLASSLISTRES._serialized_start=5279 - _PROTOOAASSETCLASSLISTRES._serialized_end=5447 - _PROTOOATRADERREQ._serialized_start=5449 - _PROTOOATRADERREQ._serialized_end=5559 - _PROTOOATRADERRES._serialized_start=5562 - _PROTOOATRADERRES._serialized_end=5704 - _PROTOOATRADERUPDATEDEVENT._serialized_start=5707 - _PROTOOATRADERUPDATEDEVENT._serialized_end=5867 - _PROTOOARECONCILEREQ._serialized_start=5869 - _PROTOOARECONCILEREQ._serialized_end=5985 - _PROTOOARECONCILERES._serialized_start=5988 - _PROTOOARECONCILERES._serialized_end=6170 - _PROTOOAORDERERROREVENT._serialized_start=6173 - _PROTOOAORDERERROREVENT._serialized_end=6373 - _PROTOOADEALLISTREQ._serialized_start=6376 - _PROTOOADEALLISTREQ._serialized_end=6552 - _PROTOOADEALLISTRES._serialized_start=6555 - _PROTOOADEALLISTRES._serialized_end=6715 - _PROTOOAORDERLISTREQ._serialized_start=6718 - _PROTOOAORDERLISTREQ._serialized_end=6879 - _PROTOOAORDERLISTRES._serialized_start=6882 - _PROTOOAORDERLISTRES._serialized_end=7046 - _PROTOOAEXPECTEDMARGINREQ._serialized_start=7049 - _PROTOOAEXPECTEDMARGINREQ._serialized_end=7210 - _PROTOOAEXPECTEDMARGINRES._serialized_start=7213 - _PROTOOAEXPECTEDMARGINRES._serialized_end=7401 - _PROTOOAMARGINCHANGEDEVENT._serialized_start=7404 - _PROTOOAMARGINCHANGEDEVENT._serialized_end=7594 - _PROTOOACASHFLOWHISTORYLISTREQ._serialized_start=7597 - _PROTOOACASHFLOWHISTORYLISTREQ._serialized_end=7780 - _PROTOOACASHFLOWHISTORYLISTRES._serialized_start=7783 - _PROTOOACASHFLOWHISTORYLISTRES._serialized_end=7972 - _PROTOOAGETACCOUNTLISTBYACCESSTOKENREQ._serialized_start=7975 - _PROTOOAGETACCOUNTLISTBYACCESSTOKENREQ._serialized_end=8120 - _PROTOOAGETACCOUNTLISTBYACCESSTOKENRES._serialized_start=8123 - _PROTOOAGETACCOUNTLISTBYACCESSTOKENRES._serialized_end=8378 - _PROTOOAREFRESHTOKENREQ._serialized_start=8380 - _PROTOOAREFRESHTOKENREQ._serialized_end=8496 - _PROTOOAREFRESHTOKENRES._serialized_start=8499 - _PROTOOAREFRESHTOKENRES._serialized_end=8674 - _PROTOOASUBSCRIBESPOTSREQ._serialized_start=8677 - _PROTOOASUBSCRIBESPOTSREQ._serialized_end=8856 - _PROTOOASUBSCRIBESPOTSRES._serialized_start=8858 - _PROTOOASUBSCRIBESPOTSRES._serialized_end=8985 - _PROTOOAUNSUBSCRIBESPOTSREQ._serialized_start=8988 - _PROTOOAUNSUBSCRIBESPOTSREQ._serialized_end=9137 - _PROTOOAUNSUBSCRIBESPOTSRES._serialized_start=9140 - _PROTOOAUNSUBSCRIBESPOTSRES._serialized_end=9271 - _PROTOOASPOTEVENT._serialized_start=9274 - _PROTOOASPOTEVENT._serialized_end=9505 - _PROTOOASUBSCRIBELIVETRENDBARREQ._serialized_start=9508 - _PROTOOASUBSCRIBELIVETRENDBARREQ._serialized_end=9708 - _PROTOOASUBSCRIBELIVETRENDBARRES._serialized_start=9711 - _PROTOOASUBSCRIBELIVETRENDBARRES._serialized_end=9853 - _PROTOOAUNSUBSCRIBELIVETRENDBARREQ._serialized_start=9856 - _PROTOOAUNSUBSCRIBELIVETRENDBARREQ._serialized_end=10060 - _PROTOOAUNSUBSCRIBELIVETRENDBARRES._serialized_start=10063 - _PROTOOAUNSUBSCRIBELIVETRENDBARRES._serialized_end=10209 - _PROTOOAGETTRENDBARSREQ._serialized_start=10212 - _PROTOOAGETTRENDBARSREQ._serialized_end=10452 - _PROTOOAGETTRENDBARSRES._serialized_start=10455 - _PROTOOAGETTRENDBARSRES._serialized_end=10691 - _PROTOOAGETTICKDATAREQ._serialized_start=10694 - _PROTOOAGETTICKDATAREQ._serialized_end=10910 - _PROTOOAGETTICKDATARES._serialized_start=10913 - _PROTOOAGETTICKDATARES._serialized_end=11087 - _PROTOOAGETCTIDPROFILEBYTOKENREQ._serialized_start=11090 - _PROTOOAGETCTIDPROFILEBYTOKENREQ._serialized_end=11226 - _PROTOOAGETCTIDPROFILEBYTOKENRES._serialized_start=11229 - _PROTOOAGETCTIDPROFILEBYTOKENRES._serialized_end=11382 - _PROTOOADEPTHEVENT._serialized_start=11385 - _PROTOOADEPTHEVENT._serialized_end=11581 - _PROTOOASUBSCRIBEDEPTHQUOTESREQ._serialized_start=11584 - _PROTOOASUBSCRIBEDEPTHQUOTESREQ._serialized_end=11742 - _PROTOOASUBSCRIBEDEPTHQUOTESRES._serialized_start=11745 - _PROTOOASUBSCRIBEDEPTHQUOTESRES._serialized_end=11885 - _PROTOOAUNSUBSCRIBEDEPTHQUOTESREQ._serialized_start=11888 - _PROTOOAUNSUBSCRIBEDEPTHQUOTESREQ._serialized_end=12050 - _PROTOOAUNSUBSCRIBEDEPTHQUOTESRES._serialized_start=12053 - _PROTOOAUNSUBSCRIBEDEPTHQUOTESRES._serialized_end=12197 - _PROTOOASYMBOLCATEGORYLISTREQ._serialized_start=12200 - _PROTOOASYMBOLCATEGORYLISTREQ._serialized_end=12331 - _PROTOOASYMBOLCATEGORYLISTRES._serialized_start=12334 - _PROTOOASYMBOLCATEGORYLISTRES._serialized_end=12513 - _PROTOOAACCOUNTLOGOUTREQ._serialized_start=12515 - _PROTOOAACCOUNTLOGOUTREQ._serialized_end=12640 - _PROTOOAACCOUNTLOGOUTRES._serialized_start=12642 - _PROTOOAACCOUNTLOGOUTRES._serialized_end=12767 - _PROTOOAACCOUNTDISCONNECTEVENT._serialized_start=12770 - _PROTOOAACCOUNTDISCONNECTEVENT._serialized_end=12907 - _PROTOOAMARGINCALLLISTREQ._serialized_start=12910 - _PROTOOAMARGINCALLLISTREQ._serialized_end=13038 - _PROTOOAMARGINCALLLISTRES._serialized_start=13041 - _PROTOOAMARGINCALLLISTRES._serialized_end=13180 - _PROTOOAMARGINCALLUPDATEREQ._serialized_start=13183 - _PROTOOAMARGINCALLUPDATEREQ._serialized_end=13355 - _PROTOOAMARGINCALLUPDATERES._serialized_start=13357 - _PROTOOAMARGINCALLUPDATERES._serialized_end=13460 - _PROTOOAMARGINCALLUPDATEEVENT._serialized_start=13463 - _PROTOOAMARGINCALLUPDATEEVENT._serialized_end=13639 - _PROTOOAMARGINCALLTRIGGEREVENT._serialized_start=13642 - _PROTOOAMARGINCALLTRIGGEREVENT._serialized_end=13820 - _PROTOOAGETDYNAMICLEVERAGEBYIDREQ._serialized_start=13823 - _PROTOOAGETDYNAMICLEVERAGEBYIDREQ._serialized_end=13983 - _PROTOOAGETDYNAMICLEVERAGEBYIDRES._serialized_start=13986 - _PROTOOAGETDYNAMICLEVERAGEBYIDRES._serialized_end=14169 - _PROTOOADEALLISTBYPOSITIONIDREQ._serialized_start=14172 - _PROTOOADEALLISTBYPOSITIONIDREQ._serialized_end=14378 - _PROTOOADEALLISTBYPOSITIONIDRES._serialized_start=14381 - _PROTOOADEALLISTBYPOSITIONIDRES._serialized_end=14568 - _PROTOOADEALOFFSETLISTREQ._serialized_start=14670 - _PROTOOADEALOFFSETLISTREQ._serialized_end=14814 - _PROTOOADEALOFFSETLISTRES._serialized_start=14817 - _PROTOOADEALOFFSETLISTRES._serialized_end=15023 - _PROTOOAGETPOSITIONUNREALIZEDPNLREQ._serialized_start=15026 - _PROTOOAGETPOSITIONUNREALIZEDPNLREQ._serialized_end=15175 - _PROTOOAGETPOSITIONUNREALIZEDPNLRES._serialized_start=15178 - _PROTOOAGETPOSITIONUNREALIZEDPNLRES._serialized_end=15410 - _PROTOOAORDERDETAILSREQ._serialized_start=15413 - _PROTOOAORDERDETAILSREQ._serialized_end=15553 - _PROTOOAORDERDETAILSRES._serialized_start=15556 - _PROTOOAORDERDETAILSRES._serialized_end=15737 - _PROTOOAORDERLISTBYPOSITIONIDREQ._serialized_start=15740 - _PROTOOAORDERLISTBYPOSITIONIDREQ._serialized_end=15948 - _PROTOOAORDERLISTBYPOSITIONIDRES._serialized_start=15951 - _PROTOOAORDERLISTBYPOSITIONIDRES._serialized_end=16142 -# @@protoc_insertion_point(module_scope) diff --git a/ctrader_open_api/messages/OpenApiModelMessages_pb2.py b/ctrader_open_api/messages/OpenApiModelMessages_pb2.py deleted file mode 100644 index 68ec368..0000000 --- a/ctrader_open_api/messages/OpenApiModelMessages_pb2.py +++ /dev/null @@ -1,132 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: OpenApiModelMessages.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aOpenApiModelMessages.proto\"R\n\x0cProtoOAAsset\x12\x0f\n\x07\x61ssetId\x18\x01 \x02(\x03\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x13\n\x0b\x64isplayName\x18\x03 \x01(\t\x12\x0e\n\x06\x64igits\x18\x04 \x01(\x05\"\xc8\t\n\rProtoOASymbol\x12\x10\n\x08symbolId\x18\x01 \x02(\x03\x12\x0e\n\x06\x64igits\x18\x02 \x02(\x05\x12\x13\n\x0bpipPosition\x18\x03 \x02(\x05\x12\x1a\n\x12\x65nableShortSelling\x18\x04 \x01(\x08\x12\x1a\n\x12guaranteedStopLoss\x18\x05 \x01(\x08\x12\x34\n\x11swapRollover3Days\x18\x06 \x01(\x0e\x32\x11.ProtoOADayOfWeek:\x06MONDAY\x12\x10\n\x08swapLong\x18\x07 \x01(\x01\x12\x11\n\tswapShort\x18\x08 \x01(\x01\x12\x11\n\tmaxVolume\x18\t \x01(\x03\x12\x11\n\tminVolume\x18\n \x01(\x03\x12\x12\n\nstepVolume\x18\x0b \x01(\x03\x12\x13\n\x0bmaxExposure\x18\x0c \x01(\x04\x12\"\n\x08schedule\x18\r \x03(\x0b\x32\x10.ProtoOAInterval\x12\x16\n\ncommission\x18\x0e \x01(\x03\x42\x02\x18\x01\x12\x43\n\x0e\x63ommissionType\x18\x0f \x01(\x0e\x32\x16.ProtoOACommissionType:\x13USD_PER_MILLION_USD\x12\x12\n\nslDistance\x18\x10 \x01(\r\x12\x12\n\ntpDistance\x18\x11 \x01(\r\x12\x13\n\x0bgslDistance\x18\x12 \x01(\r\x12\x11\n\tgslCharge\x18\x13 \x01(\x03\x12L\n\rdistanceSetIn\x18\x14 \x01(\x0e\x32\x1a.ProtoOASymbolDistanceType:\x19SYMBOL_DISTANCE_IN_POINTS\x12\x19\n\rminCommission\x18\x15 \x01(\x03\x42\x02\x18\x01\x12>\n\x11minCommissionType\x18\x16 \x01(\x0e\x32\x19.ProtoOAMinCommissionType:\x08\x43URRENCY\x12\x1f\n\x12minCommissionAsset\x18\x17 \x01(\t:\x03USD\x12\x1a\n\x12rolloverCommission\x18\x18 \x01(\x03\x12\x18\n\x10skipRolloverDays\x18\x19 \x01(\x05\x12\x18\n\x10scheduleTimeZone\x18\x1a \x01(\t\x12\x31\n\x0btradingMode\x18\x1b \x01(\x0e\x32\x13.ProtoOATradingMode:\x07\x45NABLED\x12:\n\x17rolloverCommission3Days\x18\x1c \x01(\x0e\x32\x11.ProtoOADayOfWeek:\x06MONDAY\x12>\n\x13swapCalculationType\x18\x1d \x01(\x0e\x32\x1b.ProtoOASwapCalculationType:\x04PIPS\x12\x0f\n\x07lotSize\x18\x1e \x01(\x03\x12$\n\x1cpreciseTradingCommissionRate\x18\x1f \x01(\x03\x12\x1c\n\x14preciseMinCommission\x18 \x01(\x03\x12 \n\x07holiday\x18! \x03(\x0b\x32\x0f.ProtoOAHoliday\x12\x1c\n\x14pnlConversionFeeRate\x18\" \x01(\x05\x12\x12\n\nleverageId\x18# \x01(\x03\x12\x12\n\nswapPeriod\x18$ \x01(\x05\x12\x10\n\x08swapTime\x18% \x01(\x05\x12\x17\n\x0fskipSWAPPeriods\x18& \x01(\x05\x12\x1c\n\x14\x63hargeSwapAtWeekends\x18\' \x01(\x08\"\xa5\x01\n\x12ProtoOALightSymbol\x12\x10\n\x08symbolId\x18\x01 \x02(\x03\x12\x12\n\nsymbolName\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12\x13\n\x0b\x62\x61seAssetId\x18\x04 \x01(\x03\x12\x14\n\x0cquoteAssetId\x18\x05 \x01(\x03\x12\x18\n\x10symbolCategoryId\x18\x06 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\"l\n\x15ProtoOAArchivedSymbol\x12\x10\n\x08symbolId\x18\x01 \x02(\x03\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x1e\n\x16utcLastUpdateTimestamp\x18\x03 \x02(\x03\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\"G\n\x15ProtoOASymbolCategory\x12\n\n\x02id\x18\x01 \x02(\x03\x12\x14\n\x0c\x61ssetClassId\x18\x02 \x02(\x03\x12\x0c\n\x04name\x18\x03 \x02(\t\"9\n\x0fProtoOAInterval\x12\x13\n\x0bstartSecond\x18\x03 \x02(\r\x12\x11\n\tendSecond\x18\x04 \x02(\r\"\xa4\x05\n\rProtoOATrader\x12\x1b\n\x13\x63tidTraderAccountId\x18\x01 \x02(\x03\x12\x0f\n\x07\x62\x61lance\x18\x02 \x02(\x03\x12\x16\n\x0e\x62\x61lanceVersion\x18\x03 \x01(\x03\x12\x14\n\x0cmanagerBonus\x18\x04 \x01(\x03\x12\x0f\n\x07ibBonus\x18\x05 \x01(\x03\x12\x1c\n\x14nonWithdrawableBonus\x18\x06 \x01(\x03\x12\x37\n\x0c\x61\x63\x63\x65ssRights\x18\x07 \x01(\x0e\x32\x14.ProtoOAAccessRights:\x0b\x46ULL_ACCESS\x12\x16\n\x0e\x64\x65positAssetId\x18\x08 \x02(\x03\x12\x10\n\x08swapFree\x18\t \x01(\x08\x12\x17\n\x0fleverageInCents\x18\n \x01(\r\x12\x46\n\x1atotalMarginCalculationType\x18\x0b \x01(\x0e\x32\".ProtoOATotalMarginCalculationType\x12\x13\n\x0bmaxLeverage\x18\x0c \x01(\r\x12\x16\n\nfrenchRisk\x18\r \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0btraderLogin\x18\x0e \x01(\x03\x12\x30\n\x0b\x61\x63\x63ountType\x18\x0f \x01(\x0e\x32\x13.ProtoOAAccountType:\x06HEDGED\x12\x12\n\nbrokerName\x18\x10 \x01(\t\x12\x1d\n\x15registrationTimestamp\x18\x11 \x01(\x03\x12\x15\n\risLimitedRisk\x18\x12 \x01(\x08\x12q\n$limitedRiskMarginCalculationStrategy\x18\x13 \x01(\x0e\x32,.ProtoOALimitedRiskMarginCalculationStrategy:\x15\x41\x43\x43ORDING_TO_LEVERAGE\x12\x13\n\x0bmoneyDigits\x18\x14 \x01(\r\"\xc4\x03\n\x0fProtoOAPosition\x12\x12\n\npositionId\x18\x01 \x02(\x03\x12$\n\ttradeData\x18\x02 \x02(\x0b\x32\x11.ProtoOATradeData\x12.\n\x0epositionStatus\x18\x03 \x02(\x0e\x32\x16.ProtoOAPositionStatus\x12\x0c\n\x04swap\x18\x04 \x02(\x03\x12\r\n\x05price\x18\x05 \x01(\x01\x12\x10\n\x08stopLoss\x18\x06 \x01(\x01\x12\x12\n\ntakeProfit\x18\x07 \x01(\x01\x12\x1e\n\x16utcLastUpdateTimestamp\x18\x08 \x01(\x03\x12\x12\n\ncommission\x18\t \x01(\x03\x12\x12\n\nmarginRate\x18\n \x01(\x01\x12\x1b\n\x13mirroringCommission\x18\x0b \x01(\x03\x12\x1a\n\x12guaranteedStopLoss\x18\x0c \x01(\x08\x12\x12\n\nusedMargin\x18\r \x01(\x04\x12@\n\x15stopLossTriggerMethod\x18\x0e \x01(\x0e\x32\x1a.ProtoOAOrderTriggerMethod:\x05TRADE\x12\x13\n\x0bmoneyDigits\x18\x0f \x01(\r\x12\x18\n\x10trailingStopLoss\x18\x10 \x01(\x08\"\xad\x01\n\x10ProtoOATradeData\x12\x10\n\x08symbolId\x18\x01 \x02(\x03\x12\x0e\n\x06volume\x18\x02 \x02(\x03\x12$\n\ttradeSide\x18\x03 \x02(\x0e\x32\x11.ProtoOATradeSide\x12\x15\n\ropenTimestamp\x18\x04 \x01(\x03\x12\r\n\x05label\x18\x05 \x01(\t\x12\x1a\n\x12guaranteedStopLoss\x18\x06 \x01(\x08\x12\x0f\n\x07\x63omment\x18\x07 \x01(\t\"\xa5\x05\n\x0cProtoOAOrder\x12\x0f\n\x07orderId\x18\x01 \x02(\x03\x12$\n\ttradeData\x18\x02 \x02(\x0b\x32\x11.ProtoOATradeData\x12$\n\torderType\x18\x03 \x02(\x0e\x32\x11.ProtoOAOrderType\x12(\n\x0borderStatus\x18\x04 \x02(\x0e\x32\x13.ProtoOAOrderStatus\x12\x1b\n\x13\x65xpirationTimestamp\x18\x06 \x01(\x03\x12\x16\n\x0e\x65xecutionPrice\x18\x07 \x01(\x01\x12\x16\n\x0e\x65xecutedVolume\x18\x08 \x01(\x03\x12\x1e\n\x16utcLastUpdateTimestamp\x18\t \x01(\x03\x12\x19\n\x11\x62\x61seSlippagePrice\x18\n \x01(\x01\x12\x18\n\x10slippageInPoints\x18\x0b \x01(\x03\x12\x14\n\x0c\x63losingOrder\x18\x0c \x01(\x08\x12\x12\n\nlimitPrice\x18\r \x01(\x01\x12\x11\n\tstopPrice\x18\x0e \x01(\x01\x12\x10\n\x08stopLoss\x18\x0f \x01(\x01\x12\x12\n\ntakeProfit\x18\x10 \x01(\x01\x12\x15\n\rclientOrderId\x18\x11 \x01(\t\x12=\n\x0btimeInForce\x18\x12 \x01(\x0e\x32\x13.ProtoOATimeInForce:\x13IMMEDIATE_OR_CANCEL\x12\x12\n\npositionId\x18\x13 \x01(\x03\x12\x18\n\x10relativeStopLoss\x18\x14 \x01(\x03\x12\x1a\n\x12relativeTakeProfit\x18\x15 \x01(\x03\x12\x11\n\tisStopOut\x18\x16 \x01(\x08\x12\x18\n\x10trailingStopLoss\x18\x17 \x01(\x08\x12<\n\x11stopTriggerMethod\x18\x18 \x01(\x0e\x32\x1a.ProtoOAOrderTriggerMethod:\x05TRADE\"\x99\x02\n\x1bProtoOABonusDepositWithdraw\x12.\n\roperationType\x18\x01 \x02(\x0e\x32\x17.ProtoOAChangeBonusType\x12\x16\n\x0e\x62onusHistoryId\x18\x02 \x02(\x03\x12\x14\n\x0cmanagerBonus\x18\x03 \x02(\x03\x12\x14\n\x0cmanagerDelta\x18\x04 \x02(\x03\x12\x0f\n\x07ibBonus\x18\x05 \x02(\x03\x12\x0f\n\x07ibDelta\x18\x06 \x02(\x03\x12\x1c\n\x14\x63hangeBonusTimestamp\x18\x07 \x02(\x03\x12\x14\n\x0c\x65xternalNote\x18\x08 \x01(\t\x12\x1b\n\x13introducingBrokerId\x18\t \x01(\x03\x12\x13\n\x0bmoneyDigits\x18\n \x01(\r\"\xf7\x01\n\x16ProtoOADepositWithdraw\x12\x30\n\roperationType\x18\x01 \x02(\x0e\x32\x19.ProtoOAChangeBalanceType\x12\x18\n\x10\x62\x61lanceHistoryId\x18\x02 \x02(\x03\x12\x0f\n\x07\x62\x61lance\x18\x03 \x02(\x03\x12\r\n\x05\x64\x65lta\x18\x04 \x02(\x03\x12\x1e\n\x16\x63hangeBalanceTimestamp\x18\x05 \x02(\x03\x12\x14\n\x0c\x65xternalNote\x18\x06 \x01(\t\x12\x16\n\x0e\x62\x61lanceVersion\x18\x07 \x01(\x03\x12\x0e\n\x06\x65quity\x18\x08 \x01(\x03\x12\x13\n\x0bmoneyDigits\x18\t \x01(\r\"\xcd\x03\n\x0bProtoOADeal\x12\x0e\n\x06\x64\x65\x61lId\x18\x01 \x02(\x03\x12\x0f\n\x07orderId\x18\x02 \x02(\x03\x12\x12\n\npositionId\x18\x03 \x02(\x03\x12\x0e\n\x06volume\x18\x04 \x02(\x03\x12\x14\n\x0c\x66illedVolume\x18\x05 \x02(\x03\x12\x10\n\x08symbolId\x18\x06 \x02(\x03\x12\x17\n\x0f\x63reateTimestamp\x18\x07 \x02(\x03\x12\x1a\n\x12\x65xecutionTimestamp\x18\x08 \x02(\x03\x12\x1e\n\x16utcLastUpdateTimestamp\x18\t \x01(\x03\x12\x16\n\x0e\x65xecutionPrice\x18\n \x01(\x01\x12$\n\ttradeSide\x18\x0b \x02(\x0e\x32\x11.ProtoOATradeSide\x12&\n\ndealStatus\x18\x0c \x02(\x0e\x32\x12.ProtoOADealStatus\x12\x12\n\nmarginRate\x18\r \x01(\x01\x12\x12\n\ncommission\x18\x0e \x01(\x03\x12\x1f\n\x17\x62\x61seToUsdConversionRate\x18\x0f \x01(\x01\x12\x38\n\x13\x63losePositionDetail\x18\x10 \x01(\x0b\x32\x1b.ProtoOAClosePositionDetail\x12\x13\n\x0bmoneyDigits\x18\x11 \x01(\r\"\xfb\x01\n\x1aProtoOAClosePositionDetail\x12\x12\n\nentryPrice\x18\x01 \x02(\x01\x12\x13\n\x0bgrossProfit\x18\x02 \x02(\x03\x12\x0c\n\x04swap\x18\x03 \x02(\x03\x12\x12\n\ncommission\x18\x04 \x02(\x03\x12\x0f\n\x07\x62\x61lance\x18\x05 \x02(\x03\x12$\n\x1cquoteToDepositConversionRate\x18\x06 \x01(\x01\x12\x14\n\x0c\x63losedVolume\x18\x07 \x01(\x03\x12\x16\n\x0e\x62\x61lanceVersion\x18\x08 \x01(\x03\x12\x13\n\x0bmoneyDigits\x18\t \x01(\r\x12\x18\n\x10pnlConversionFee\x18\n \x01(\x03\"\xb3\x01\n\x0fProtoOATrendbar\x12\x0e\n\x06volume\x18\x03 \x02(\x03\x12*\n\x06period\x18\x04 \x01(\x0e\x32\x16.ProtoOATrendbarPeriod:\x02M1\x12\x0b\n\x03low\x18\x05 \x01(\x03\x12\x11\n\tdeltaOpen\x18\x06 \x01(\x04\x12\x12\n\ndeltaClose\x18\x07 \x01(\x04\x12\x11\n\tdeltaHigh\x18\x08 \x01(\x04\x12\x1d\n\x15utcTimestampInMinutes\x18\t \x01(\r\"N\n\x15ProtoOAExpectedMargin\x12\x0e\n\x06volume\x18\x01 \x02(\x03\x12\x11\n\tbuyMargin\x18\x02 \x02(\x03\x12\x12\n\nsellMargin\x18\x03 \x02(\x03\"2\n\x0fProtoOATickData\x12\x11\n\ttimestamp\x18\x01 \x02(\x03\x12\x0c\n\x04tick\x18\x02 \x02(\x03\"$\n\x12ProtoOACtidProfile\x12\x0e\n\x06userId\x18\x01 \x02(\x03\"\xa2\x01\n\x18ProtoOACtidTraderAccount\x12\x1b\n\x13\x63tidTraderAccountId\x18\x01 \x02(\x04\x12\x0e\n\x06isLive\x18\x02 \x01(\x08\x12\x13\n\x0btraderLogin\x18\x03 \x01(\x03\x12 \n\x18lastClosingDealTimestamp\x18\x04 \x01(\x03\x12\"\n\x1alastBalanceUpdateTimestamp\x18\x05 \x01(\x03\"-\n\x11ProtoOAAssetClass\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\"G\n\x11ProtoOADepthQuote\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\x04\x12\x0b\n\x03\x62id\x18\x04 \x01(\x04\x12\x0b\n\x03\x61sk\x18\x05 \x01(\x04\"\x83\x01\n\x11ProtoOAMarginCall\x12\x30\n\x0emarginCallType\x18\x01 \x02(\x0e\x32\x18.ProtoOANotificationType\x12\x1c\n\x14marginLevelThreshold\x18\x02 \x02(\x01\x12\x1e\n\x16utcLastUpdateTimestamp\x18\x03 \x01(\x03\"\xb2\x01\n\x0eProtoOAHoliday\x12\x11\n\tholidayId\x18\x01 \x02(\x03\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x18\n\x10scheduleTimeZone\x18\x04 \x02(\t\x12\x13\n\x0bholidayDate\x18\x05 \x02(\x03\x12\x13\n\x0bisRecurring\x18\x06 \x02(\x08\x12\x13\n\x0bstartSecond\x18\x07 \x01(\x05\x12\x11\n\tendSecond\x18\x08 \x01(\x05\"X\n\x16ProtoOADynamicLeverage\x12\x12\n\nleverageId\x18\x01 \x02(\x03\x12*\n\x05tiers\x18\x02 \x03(\x0b\x32\x1b.ProtoOADynamicLeverageTier\">\n\x1aProtoOADynamicLeverageTier\x12\x0e\n\x06volume\x18\x01 \x02(\x03\x12\x10\n\x08leverage\x18\x02 \x02(\x03\"g\n\x11ProtoOADealOffset\x12\x0e\n\x06\x64\x65\x61lId\x18\x01 \x02(\x03\x12\x0e\n\x06volume\x18\x02 \x02(\x03\x12\x1a\n\x12\x65xecutionTimestamp\x18\x03 \x01(\x03\x12\x16\n\x0e\x65xecutionPrice\x18\x04 \x01(\x01\"h\n\x1cProtoOAPositionUnrealizedPnL\x12\x12\n\npositionId\x18\x01 \x02(\x03\x12\x1a\n\x12grossUnrealizedPnL\x18\x02 \x02(\x03\x12\x18\n\x10netUnrealizedPnL\x18\x03 \x02(\x05*\xb1\x19\n\x12ProtoOAPayloadType\x12\"\n\x1dPROTO_OA_APPLICATION_AUTH_REQ\x10\xb4\x10\x12\"\n\x1dPROTO_OA_APPLICATION_AUTH_RES\x10\xb5\x10\x12\x1e\n\x19PROTO_OA_ACCOUNT_AUTH_REQ\x10\xb6\x10\x12\x1e\n\x19PROTO_OA_ACCOUNT_AUTH_RES\x10\xb7\x10\x12\x19\n\x14PROTO_OA_VERSION_REQ\x10\xb8\x10\x12\x19\n\x14PROTO_OA_VERSION_RES\x10\xb9\x10\x12\x1b\n\x16PROTO_OA_NEW_ORDER_REQ\x10\xba\x10\x12\'\n\"PROTO_OA_TRAILING_SL_CHANGED_EVENT\x10\xbb\x10\x12\x1e\n\x19PROTO_OA_CANCEL_ORDER_REQ\x10\xbc\x10\x12\x1d\n\x18PROTO_OA_AMEND_ORDER_REQ\x10\xbd\x10\x12%\n PROTO_OA_AMEND_POSITION_SLTP_REQ\x10\xbe\x10\x12 \n\x1bPROTO_OA_CLOSE_POSITION_REQ\x10\xbf\x10\x12\x1c\n\x17PROTO_OA_ASSET_LIST_REQ\x10\xc0\x10\x12\x1c\n\x17PROTO_OA_ASSET_LIST_RES\x10\xc1\x10\x12\x1e\n\x19PROTO_OA_SYMBOLS_LIST_REQ\x10\xc2\x10\x12\x1e\n\x19PROTO_OA_SYMBOLS_LIST_RES\x10\xc3\x10\x12\x1e\n\x19PROTO_OA_SYMBOL_BY_ID_REQ\x10\xc4\x10\x12\x1e\n\x19PROTO_OA_SYMBOL_BY_ID_RES\x10\xc5\x10\x12(\n#PROTO_OA_SYMBOLS_FOR_CONVERSION_REQ\x10\xc6\x10\x12(\n#PROTO_OA_SYMBOLS_FOR_CONVERSION_RES\x10\xc7\x10\x12\"\n\x1dPROTO_OA_SYMBOL_CHANGED_EVENT\x10\xc8\x10\x12\x18\n\x13PROTO_OA_TRADER_REQ\x10\xc9\x10\x12\x18\n\x13PROTO_OA_TRADER_RES\x10\xca\x10\x12!\n\x1cPROTO_OA_TRADER_UPDATE_EVENT\x10\xcb\x10\x12\x1b\n\x16PROTO_OA_RECONCILE_REQ\x10\xcc\x10\x12\x1b\n\x16PROTO_OA_RECONCILE_RES\x10\xcd\x10\x12\x1d\n\x18PROTO_OA_EXECUTION_EVENT\x10\xce\x10\x12!\n\x1cPROTO_OA_SUBSCRIBE_SPOTS_REQ\x10\xcf\x10\x12!\n\x1cPROTO_OA_SUBSCRIBE_SPOTS_RES\x10\xd0\x10\x12#\n\x1ePROTO_OA_UNSUBSCRIBE_SPOTS_REQ\x10\xd1\x10\x12#\n\x1ePROTO_OA_UNSUBSCRIBE_SPOTS_RES\x10\xd2\x10\x12\x18\n\x13PROTO_OA_SPOT_EVENT\x10\xd3\x10\x12\x1f\n\x1aPROTO_OA_ORDER_ERROR_EVENT\x10\xd4\x10\x12\x1b\n\x16PROTO_OA_DEAL_LIST_REQ\x10\xd5\x10\x12\x1b\n\x16PROTO_OA_DEAL_LIST_RES\x10\xd6\x10\x12)\n$PROTO_OA_SUBSCRIBE_LIVE_TRENDBAR_REQ\x10\xd7\x10\x12+\n&PROTO_OA_UNSUBSCRIBE_LIVE_TRENDBAR_REQ\x10\xd8\x10\x12\x1f\n\x1aPROTO_OA_GET_TRENDBARS_REQ\x10\xd9\x10\x12\x1f\n\x1aPROTO_OA_GET_TRENDBARS_RES\x10\xda\x10\x12!\n\x1cPROTO_OA_EXPECTED_MARGIN_REQ\x10\xdb\x10\x12!\n\x1cPROTO_OA_EXPECTED_MARGIN_RES\x10\xdc\x10\x12\"\n\x1dPROTO_OA_MARGIN_CHANGED_EVENT\x10\xdd\x10\x12\x17\n\x12PROTO_OA_ERROR_RES\x10\xde\x10\x12(\n#PROTO_OA_CASH_FLOW_HISTORY_LIST_REQ\x10\xdf\x10\x12(\n#PROTO_OA_CASH_FLOW_HISTORY_LIST_RES\x10\xe0\x10\x12\x1e\n\x19PROTO_OA_GET_TICKDATA_REQ\x10\xe1\x10\x12\x1e\n\x19PROTO_OA_GET_TICKDATA_RES\x10\xe2\x10\x12.\n)PROTO_OA_ACCOUNTS_TOKEN_INVALIDATED_EVENT\x10\xe3\x10\x12%\n PROTO_OA_CLIENT_DISCONNECT_EVENT\x10\xe4\x10\x12.\n)PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_REQ\x10\xe5\x10\x12.\n)PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_RES\x10\xe6\x10\x12+\n&PROTO_OA_GET_CTID_PROFILE_BY_TOKEN_REQ\x10\xe7\x10\x12+\n&PROTO_OA_GET_CTID_PROFILE_BY_TOKEN_RES\x10\xe8\x10\x12\"\n\x1dPROTO_OA_ASSET_CLASS_LIST_REQ\x10\xe9\x10\x12\"\n\x1dPROTO_OA_ASSET_CLASS_LIST_RES\x10\xea\x10\x12\x19\n\x14PROTO_OA_DEPTH_EVENT\x10\xeb\x10\x12(\n#PROTO_OA_SUBSCRIBE_DEPTH_QUOTES_REQ\x10\xec\x10\x12(\n#PROTO_OA_SUBSCRIBE_DEPTH_QUOTES_RES\x10\xed\x10\x12*\n%PROTO_OA_UNSUBSCRIBE_DEPTH_QUOTES_REQ\x10\xee\x10\x12*\n%PROTO_OA_UNSUBSCRIBE_DEPTH_QUOTES_RES\x10\xef\x10\x12!\n\x1cPROTO_OA_SYMBOL_CATEGORY_REQ\x10\xf0\x10\x12!\n\x1cPROTO_OA_SYMBOL_CATEGORY_RES\x10\xf1\x10\x12 \n\x1bPROTO_OA_ACCOUNT_LOGOUT_REQ\x10\xf2\x10\x12 \n\x1bPROTO_OA_ACCOUNT_LOGOUT_RES\x10\xf3\x10\x12&\n!PROTO_OA_ACCOUNT_DISCONNECT_EVENT\x10\xf4\x10\x12)\n$PROTO_OA_SUBSCRIBE_LIVE_TRENDBAR_RES\x10\xf5\x10\x12+\n&PROTO_OA_UNSUBSCRIBE_LIVE_TRENDBAR_RES\x10\xf6\x10\x12\"\n\x1dPROTO_OA_MARGIN_CALL_LIST_REQ\x10\xf7\x10\x12\"\n\x1dPROTO_OA_MARGIN_CALL_LIST_RES\x10\xf8\x10\x12$\n\x1fPROTO_OA_MARGIN_CALL_UPDATE_REQ\x10\xf9\x10\x12$\n\x1fPROTO_OA_MARGIN_CALL_UPDATE_RES\x10\xfa\x10\x12&\n!PROTO_OA_MARGIN_CALL_UPDATE_EVENT\x10\xfb\x10\x12\'\n\"PROTO_OA_MARGIN_CALL_TRIGGER_EVENT\x10\xfc\x10\x12\x1f\n\x1aPROTO_OA_REFRESH_TOKEN_REQ\x10\xfd\x10\x12\x1f\n\x1aPROTO_OA_REFRESH_TOKEN_RES\x10\xfe\x10\x12\x1c\n\x17PROTO_OA_ORDER_LIST_REQ\x10\xff\x10\x12\x1c\n\x17PROTO_OA_ORDER_LIST_RES\x10\x80\x11\x12&\n!PROTO_OA_GET_DYNAMIC_LEVERAGE_REQ\x10\x81\x11\x12&\n!PROTO_OA_GET_DYNAMIC_LEVERAGE_RES\x10\x82\x11\x12*\n%PROTO_OA_DEAL_LIST_BY_POSITION_ID_REQ\x10\x83\x11\x12*\n%PROTO_OA_DEAL_LIST_BY_POSITION_ID_RES\x10\x84\x11\x12\x1f\n\x1aPROTO_OA_ORDER_DETAILS_REQ\x10\x85\x11\x12\x1f\n\x1aPROTO_OA_ORDER_DETAILS_RES\x10\x86\x11\x12+\n&PROTO_OA_ORDER_LIST_BY_POSITION_ID_REQ\x10\x87\x11\x12+\n&PROTO_OA_ORDER_LIST_BY_POSITION_ID_RES\x10\x88\x11\x12\"\n\x1dPROTO_OA_DEAL_OFFSET_LIST_REQ\x10\x89\x11\x12\"\n\x1dPROTO_OA_DEAL_OFFSET_LIST_RES\x10\x8a\x11\x12-\n(PROTO_OA_GET_POSITION_UNREALIZED_PNL_REQ\x10\x8b\x11\x12-\n(PROTO_OA_GET_POSITION_UNREALIZED_PNL_RES\x10\x8c\x11*x\n\x10ProtoOADayOfWeek\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06MONDAY\x10\x01\x12\x0b\n\x07TUESDAY\x10\x02\x12\r\n\tWEDNESDAY\x10\x03\x12\x0c\n\x08THURSDAY\x10\x04\x12\n\n\x06\x46RIDAY\x10\x05\x12\x0c\n\x08SATURDAY\x10\x06\x12\n\n\x06SUNDAY\x10\x07*q\n\x15ProtoOACommissionType\x12\x17\n\x13USD_PER_MILLION_USD\x10\x01\x12\x0f\n\x0bUSD_PER_LOT\x10\x02\x12\x17\n\x13PERCENTAGE_OF_VALUE\x10\x03\x12\x15\n\x11QUOTE_CCY_PER_LOT\x10\x04*]\n\x19ProtoOASymbolDistanceType\x12\x1d\n\x19SYMBOL_DISTANCE_IN_POINTS\x10\x01\x12!\n\x1dSYMBOL_DISTANCE_IN_PERCENTAGE\x10\x02*<\n\x18ProtoOAMinCommissionType\x12\x0c\n\x08\x43URRENCY\x10\x01\x12\x12\n\x0eQUOTE_CURRENCY\x10\x02*\x85\x01\n\x12ProtoOATradingMode\x12\x0b\n\x07\x45NABLED\x10\x00\x12\'\n#DISABLED_WITHOUT_PENDINGS_EXECUTION\x10\x01\x12$\n DISABLED_WITH_PENDINGS_EXECUTION\x10\x02\x12\x13\n\x0f\x43LOSE_ONLY_MODE\x10\x03*6\n\x1aProtoOASwapCalculationType\x12\x08\n\x04PIPS\x10\x00\x12\x0e\n\nPERCENTAGE\x10\x01*T\n\x13ProtoOAAccessRights\x12\x0f\n\x0b\x46ULL_ACCESS\x10\x00\x12\x0e\n\nCLOSE_ONLY\x10\x01\x12\x0e\n\nNO_TRADING\x10\x02\x12\x0c\n\x08NO_LOGIN\x10\x03*>\n!ProtoOATotalMarginCalculationType\x12\x07\n\x03MAX\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03NET\x10\x02*@\n\x12ProtoOAAccountType\x12\n\n\x06HEDGED\x10\x00\x12\n\n\x06NETTED\x10\x01\x12\x12\n\x0eSPREAD_BETTING\x10\x02*\x85\x01\n\x15ProtoOAPositionStatus\x12\x18\n\x14POSITION_STATUS_OPEN\x10\x01\x12\x1a\n\x16POSITION_STATUS_CLOSED\x10\x02\x12\x1b\n\x17POSITION_STATUS_CREATED\x10\x03\x12\x19\n\x15POSITION_STATUS_ERROR\x10\x04*%\n\x10ProtoOATradeSide\x12\x07\n\x03\x42UY\x10\x01\x12\x08\n\x04SELL\x10\x02*p\n\x10ProtoOAOrderType\x12\n\n\x06MARKET\x10\x01\x12\t\n\x05LIMIT\x10\x02\x12\x08\n\x04STOP\x10\x03\x12\x19\n\x15STOP_LOSS_TAKE_PROFIT\x10\x04\x12\x10\n\x0cMARKET_RANGE\x10\x05\x12\x0e\n\nSTOP_LIMIT\x10\x06*}\n\x12ProtoOATimeInForce\x12\x12\n\x0eGOOD_TILL_DATE\x10\x01\x12\x14\n\x10GOOD_TILL_CANCEL\x10\x02\x12\x17\n\x13IMMEDIATE_OR_CANCEL\x10\x03\x12\x10\n\x0c\x46ILL_OR_KILL\x10\x04\x12\x12\n\x0eMARKET_ON_OPEN\x10\x05*\x99\x01\n\x12ProtoOAOrderStatus\x12\x19\n\x15ORDER_STATUS_ACCEPTED\x10\x01\x12\x17\n\x13ORDER_STATUS_FILLED\x10\x02\x12\x19\n\x15ORDER_STATUS_REJECTED\x10\x03\x12\x18\n\x14ORDER_STATUS_EXPIRED\x10\x04\x12\x1a\n\x16ORDER_STATUS_CANCELLED\x10\x05*[\n\x19ProtoOAOrderTriggerMethod\x12\t\n\x05TRADE\x10\x01\x12\x0c\n\x08OPPOSITE\x10\x02\x12\x10\n\x0c\x44OUBLE_TRADE\x10\x03\x12\x13\n\x0f\x44OUBLE_OPPOSITE\x10\x04*\xfb\x01\n\x14ProtoOAExecutionType\x12\x12\n\x0eORDER_ACCEPTED\x10\x02\x12\x10\n\x0cORDER_FILLED\x10\x03\x12\x12\n\x0eORDER_REPLACED\x10\x04\x12\x13\n\x0fORDER_CANCELLED\x10\x05\x12\x11\n\rORDER_EXPIRED\x10\x06\x12\x12\n\x0eORDER_REJECTED\x10\x07\x12\x19\n\x15ORDER_CANCEL_REJECTED\x10\x08\x12\x08\n\x04SWAP\x10\t\x12\x14\n\x10\x44\x45POSIT_WITHDRAW\x10\n\x12\x16\n\x12ORDER_PARTIAL_FILL\x10\x0b\x12\x1a\n\x16\x42ONUS_DEPOSIT_WITHDRAW\x10\x0c*?\n\x16ProtoOAChangeBonusType\x12\x11\n\rBONUS_DEPOSIT\x10\x00\x12\x12\n\x0e\x42ONUS_WITHDRAW\x10\x01*\xb8\n\n\x18ProtoOAChangeBalanceType\x12\x13\n\x0f\x42\x41LANCE_DEPOSIT\x10\x00\x12\x14\n\x10\x42\x41LANCE_WITHDRAW\x10\x01\x12-\n)BALANCE_DEPOSIT_STRATEGY_COMMISSION_INNER\x10\x03\x12.\n*BALANCE_WITHDRAW_STRATEGY_COMMISSION_INNER\x10\x04\x12\"\n\x1e\x42\x41LANCE_DEPOSIT_IB_COMMISSIONS\x10\x05\x12)\n%BALANCE_WITHDRAW_IB_SHARED_PERCENTAGE\x10\x06\x12\x34\n0BALANCE_DEPOSIT_IB_SHARED_PERCENTAGE_FROM_SUB_IB\x10\x07\x12\x34\n0BALANCE_DEPOSIT_IB_SHARED_PERCENTAGE_FROM_BROKER\x10\x08\x12\x1a\n\x16\x42\x41LANCE_DEPOSIT_REBATE\x10\t\x12\x1b\n\x17\x42\x41LANCE_WITHDRAW_REBATE\x10\n\x12-\n)BALANCE_DEPOSIT_STRATEGY_COMMISSION_OUTER\x10\x0b\x12.\n*BALANCE_WITHDRAW_STRATEGY_COMMISSION_OUTER\x10\x0c\x12\'\n#BALANCE_WITHDRAW_BONUS_COMPENSATION\x10\r\x12\x33\n/BALANCE_WITHDRAW_IB_SHARED_PERCENTAGE_TO_BROKER\x10\x0e\x12\x1d\n\x19\x42\x41LANCE_DEPOSIT_DIVIDENDS\x10\x0f\x12\x1e\n\x1a\x42\x41LANCE_WITHDRAW_DIVIDENDS\x10\x10\x12\x1f\n\x1b\x42\x41LANCE_WITHDRAW_GSL_CHARGE\x10\x11\x12\x1d\n\x19\x42\x41LANCE_WITHDRAW_ROLLOVER\x10\x12\x12)\n%BALANCE_DEPOSIT_NONWITHDRAWABLE_BONUS\x10\x13\x12*\n&BALANCE_WITHDRAW_NONWITHDRAWABLE_BONUS\x10\x14\x12\x18\n\x14\x42\x41LANCE_DEPOSIT_SWAP\x10\x15\x12\x19\n\x15\x42\x41LANCE_WITHDRAW_SWAP\x10\x16\x12\"\n\x1e\x42\x41LANCE_DEPOSIT_MANAGEMENT_FEE\x10\x1b\x12#\n\x1f\x42\x41LANCE_WITHDRAW_MANAGEMENT_FEE\x10\x1c\x12#\n\x1f\x42\x41LANCE_DEPOSIT_PERFORMANCE_FEE\x10\x1d\x12#\n\x1f\x42\x41LANCE_WITHDRAW_FOR_SUBACCOUNT\x10\x1e\x12!\n\x1d\x42\x41LANCE_DEPOSIT_TO_SUBACCOUNT\x10\x1f\x12$\n BALANCE_WITHDRAW_FROM_SUBACCOUNT\x10 \x12#\n\x1f\x42\x41LANCE_DEPOSIT_FROM_SUBACCOUNT\x10!\x12\x1d\n\x19\x42\x41LANCE_WITHDRAW_COPY_FEE\x10\"\x12#\n\x1f\x42\x41LANCE_WITHDRAW_INACTIVITY_FEE\x10#\x12\x1c\n\x18\x42\x41LANCE_DEPOSIT_TRANSFER\x10$\x12\x1d\n\x19\x42\x41LANCE_WITHDRAW_TRANSFER\x10%\x12#\n\x1f\x42\x41LANCE_DEPOSIT_CONVERTED_BONUS\x10&\x12/\n+BALANCE_DEPOSIT_NEGATIVE_BALANCE_PROTECTION\x10\'*s\n\x11ProtoOADealStatus\x12\n\n\x06\x46ILLED\x10\x02\x12\x14\n\x10PARTIALLY_FILLED\x10\x03\x12\x0c\n\x08REJECTED\x10\x04\x12\x17\n\x13INTERNALLY_REJECTED\x10\x05\x12\t\n\x05\x45RROR\x10\x06\x12\n\n\x06MISSED\x10\x07*\x8c\x01\n\x15ProtoOATrendbarPeriod\x12\x06\n\x02M1\x10\x01\x12\x06\n\x02M2\x10\x02\x12\x06\n\x02M3\x10\x03\x12\x06\n\x02M4\x10\x04\x12\x06\n\x02M5\x10\x05\x12\x07\n\x03M10\x10\x06\x12\x07\n\x03M15\x10\x07\x12\x07\n\x03M30\x10\x08\x12\x06\n\x02H1\x10\t\x12\x06\n\x02H4\x10\n\x12\x07\n\x03H12\x10\x0b\x12\x06\n\x02\x44\x31\x10\x0c\x12\x06\n\x02W1\x10\r\x12\x07\n\x03MN1\x10\x0e*$\n\x10ProtoOAQuoteType\x12\x07\n\x03\x42ID\x10\x01\x12\x07\n\x03\x41SK\x10\x02*?\n\x1cProtoOAClientPermissionScope\x12\x0e\n\nSCOPE_VIEW\x10\x00\x12\x0f\n\x0bSCOPE_TRADE\x10\x01*s\n\x17ProtoOANotificationType\x12\x1c\n\x18MARGIN_LEVEL_THRESHOLD_1\x10=\x12\x1c\n\x18MARGIN_LEVEL_THRESHOLD_2\x10>\x12\x1c\n\x18MARGIN_LEVEL_THRESHOLD_3\x10?*\xde\x08\n\x10ProtoOAErrorCode\x12\x19\n\x15OA_AUTH_TOKEN_EXPIRED\x10\x01\x12\x1a\n\x16\x41\x43\x43OUNT_NOT_AUTHORIZED\x10\x02\x12\x15\n\x11\x41LREADY_LOGGED_IN\x10\x0e\x12\x1a\n\x16\x43H_CLIENT_AUTH_FAILURE\x10\x65\x12\x1f\n\x1b\x43H_CLIENT_NOT_AUTHENTICATED\x10\x66\x12#\n\x1f\x43H_CLIENT_ALREADY_AUTHENTICATED\x10g\x12\x1b\n\x17\x43H_ACCESS_TOKEN_INVALID\x10h\x12\x1b\n\x17\x43H_SERVER_NOT_REACHABLE\x10i\x12$\n CH_CTID_TRADER_ACCOUNT_NOT_FOUND\x10j\x12\x1a\n\x16\x43H_OA_CLIENT_NOT_FOUND\x10k\x12\x1e\n\x1aREQUEST_FREQUENCY_EXCEEDED\x10l\x12\x1f\n\x1bSERVER_IS_UNDER_MAINTENANCE\x10m\x12\x16\n\x12\x43HANNEL_IS_BLOCKED\x10n\x12\x1e\n\x1a\x43ONNECTIONS_LIMIT_EXCEEDED\x10\x43\x12\x19\n\x15WORSE_GSL_NOT_ALLOWED\x10\x44\x12\x16\n\x12SYMBOL_HAS_HOLIDAY\x10\x45\x12\x1b\n\x17NOT_SUBSCRIBED_TO_SPOTS\x10p\x12\x16\n\x12\x41LREADY_SUBSCRIBED\x10q\x12\x14\n\x10SYMBOL_NOT_FOUND\x10r\x12\x12\n\x0eUNKNOWN_SYMBOL\x10s\x12\x18\n\x14INCORRECT_BOUNDARIES\x10#\x12\r\n\tNO_QUOTES\x10u\x12\x14\n\x10NOT_ENOUGH_MONEY\x10v\x12\x18\n\x14MAX_EXPOSURE_REACHED\x10w\x12\x16\n\x12POSITION_NOT_FOUND\x10x\x12\x13\n\x0fORDER_NOT_FOUND\x10y\x12\x15\n\x11POSITION_NOT_OPEN\x10z\x12\x13\n\x0fPOSITION_LOCKED\x10{\x12\x16\n\x12TOO_MANY_POSITIONS\x10|\x12\x16\n\x12TRADING_BAD_VOLUME\x10}\x12\x15\n\x11TRADING_BAD_STOPS\x10~\x12\x16\n\x12TRADING_BAD_PRICES\x10\x7f\x12\x16\n\x11TRADING_BAD_STAKE\x10\x80\x01\x12&\n!PROTECTION_IS_TOO_CLOSE_TO_MARKET\x10\x81\x01\x12 \n\x1bTRADING_BAD_EXPIRATION_DATE\x10\x82\x01\x12\x16\n\x11PENDING_EXECUTION\x10\x83\x01\x12\x15\n\x10TRADING_DISABLED\x10\x84\x01\x12\x18\n\x13TRADING_NOT_ALLOWED\x10\x85\x01\x12\x1b\n\x16UNABLE_TO_CANCEL_ORDER\x10\x86\x01\x12\x1a\n\x15UNABLE_TO_AMEND_ORDER\x10\x87\x01\x12\x1e\n\x19SHORT_SELLING_NOT_ALLOWED\x10\x88\x01*\x81\x01\n+ProtoOALimitedRiskMarginCalculationStrategy\x12\x19\n\x15\x41\x43\x43ORDING_TO_LEVERAGE\x10\x00\x12\x14\n\x10\x41\x43\x43ORDING_TO_GSL\x10\x01\x12!\n\x1d\x41\x43\x43ORDING_TO_GSL_AND_LEVERAGE\x10\x02\x42M\n%com.xtrader.protocol.openapi.v2.modelB\x1f\x43ontainerOpenApiV2ModelMessagesP\x01\xa0\x01\x01') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'OpenApiModelMessages_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n%com.xtrader.protocol.openapi.v2.modelB\037ContainerOpenApiV2ModelMessagesP\001\240\001\001' - _PROTOOASYMBOL.fields_by_name['commission']._options = None - _PROTOOASYMBOL.fields_by_name['commission']._serialized_options = b'\030\001' - _PROTOOASYMBOL.fields_by_name['minCommission']._options = None - _PROTOOASYMBOL.fields_by_name['minCommission']._serialized_options = b'\030\001' - _PROTOOATRADER.fields_by_name['frenchRisk']._options = None - _PROTOOATRADER.fields_by_name['frenchRisk']._serialized_options = b'\030\001' - _PROTOOAPAYLOADTYPE._serialized_start=6100 - _PROTOOAPAYLOADTYPE._serialized_end=9349 - _PROTOOADAYOFWEEK._serialized_start=9351 - _PROTOOADAYOFWEEK._serialized_end=9471 - _PROTOOACOMMISSIONTYPE._serialized_start=9473 - _PROTOOACOMMISSIONTYPE._serialized_end=9586 - _PROTOOASYMBOLDISTANCETYPE._serialized_start=9588 - _PROTOOASYMBOLDISTANCETYPE._serialized_end=9681 - _PROTOOAMINCOMMISSIONTYPE._serialized_start=9683 - _PROTOOAMINCOMMISSIONTYPE._serialized_end=9743 - _PROTOOATRADINGMODE._serialized_start=9746 - _PROTOOATRADINGMODE._serialized_end=9879 - _PROTOOASWAPCALCULATIONTYPE._serialized_start=9881 - _PROTOOASWAPCALCULATIONTYPE._serialized_end=9935 - _PROTOOAACCESSRIGHTS._serialized_start=9937 - _PROTOOAACCESSRIGHTS._serialized_end=10021 - _PROTOOATOTALMARGINCALCULATIONTYPE._serialized_start=10023 - _PROTOOATOTALMARGINCALCULATIONTYPE._serialized_end=10085 - _PROTOOAACCOUNTTYPE._serialized_start=10087 - _PROTOOAACCOUNTTYPE._serialized_end=10151 - _PROTOOAPOSITIONSTATUS._serialized_start=10154 - _PROTOOAPOSITIONSTATUS._serialized_end=10287 - _PROTOOATRADESIDE._serialized_start=10289 - _PROTOOATRADESIDE._serialized_end=10326 - _PROTOOAORDERTYPE._serialized_start=10328 - _PROTOOAORDERTYPE._serialized_end=10440 - _PROTOOATIMEINFORCE._serialized_start=10442 - _PROTOOATIMEINFORCE._serialized_end=10567 - _PROTOOAORDERSTATUS._serialized_start=10570 - _PROTOOAORDERSTATUS._serialized_end=10723 - _PROTOOAORDERTRIGGERMETHOD._serialized_start=10725 - _PROTOOAORDERTRIGGERMETHOD._serialized_end=10816 - _PROTOOAEXECUTIONTYPE._serialized_start=10819 - _PROTOOAEXECUTIONTYPE._serialized_end=11070 - _PROTOOACHANGEBONUSTYPE._serialized_start=11072 - _PROTOOACHANGEBONUSTYPE._serialized_end=11135 - _PROTOOACHANGEBALANCETYPE._serialized_start=11138 - _PROTOOACHANGEBALANCETYPE._serialized_end=12474 - _PROTOOADEALSTATUS._serialized_start=12476 - _PROTOOADEALSTATUS._serialized_end=12591 - _PROTOOATRENDBARPERIOD._serialized_start=12594 - _PROTOOATRENDBARPERIOD._serialized_end=12734 - _PROTOOAQUOTETYPE._serialized_start=12736 - _PROTOOAQUOTETYPE._serialized_end=12772 - _PROTOOACLIENTPERMISSIONSCOPE._serialized_start=12774 - _PROTOOACLIENTPERMISSIONSCOPE._serialized_end=12837 - _PROTOOANOTIFICATIONTYPE._serialized_start=12839 - _PROTOOANOTIFICATIONTYPE._serialized_end=12954 - _PROTOOAERRORCODE._serialized_start=12957 - _PROTOOAERRORCODE._serialized_end=14075 - _PROTOOALIMITEDRISKMARGINCALCULATIONSTRATEGY._serialized_start=14078 - _PROTOOALIMITEDRISKMARGINCALCULATIONSTRATEGY._serialized_end=14207 - _PROTOOAASSET._serialized_start=30 - _PROTOOAASSET._serialized_end=112 - _PROTOOASYMBOL._serialized_start=115 - _PROTOOASYMBOL._serialized_end=1339 - _PROTOOALIGHTSYMBOL._serialized_start=1342 - _PROTOOALIGHTSYMBOL._serialized_end=1507 - _PROTOOAARCHIVEDSYMBOL._serialized_start=1509 - _PROTOOAARCHIVEDSYMBOL._serialized_end=1617 - _PROTOOASYMBOLCATEGORY._serialized_start=1619 - _PROTOOASYMBOLCATEGORY._serialized_end=1690 - _PROTOOAINTERVAL._serialized_start=1692 - _PROTOOAINTERVAL._serialized_end=1749 - _PROTOOATRADER._serialized_start=1752 - _PROTOOATRADER._serialized_end=2428 - _PROTOOAPOSITION._serialized_start=2431 - _PROTOOAPOSITION._serialized_end=2883 - _PROTOOATRADEDATA._serialized_start=2886 - _PROTOOATRADEDATA._serialized_end=3059 - _PROTOOAORDER._serialized_start=3062 - _PROTOOAORDER._serialized_end=3739 - _PROTOOABONUSDEPOSITWITHDRAW._serialized_start=3742 - _PROTOOABONUSDEPOSITWITHDRAW._serialized_end=4023 - _PROTOOADEPOSITWITHDRAW._serialized_start=4026 - _PROTOOADEPOSITWITHDRAW._serialized_end=4273 - _PROTOOADEAL._serialized_start=4276 - _PROTOOADEAL._serialized_end=4737 - _PROTOOACLOSEPOSITIONDETAIL._serialized_start=4740 - _PROTOOACLOSEPOSITIONDETAIL._serialized_end=4991 - _PROTOOATRENDBAR._serialized_start=4994 - _PROTOOATRENDBAR._serialized_end=5173 - _PROTOOAEXPECTEDMARGIN._serialized_start=5175 - _PROTOOAEXPECTEDMARGIN._serialized_end=5253 - _PROTOOATICKDATA._serialized_start=5255 - _PROTOOATICKDATA._serialized_end=5305 - _PROTOOACTIDPROFILE._serialized_start=5307 - _PROTOOACTIDPROFILE._serialized_end=5343 - _PROTOOACTIDTRADERACCOUNT._serialized_start=5346 - _PROTOOACTIDTRADERACCOUNT._serialized_end=5508 - _PROTOOAASSETCLASS._serialized_start=5510 - _PROTOOAASSETCLASS._serialized_end=5555 - _PROTOOADEPTHQUOTE._serialized_start=5557 - _PROTOOADEPTHQUOTE._serialized_end=5628 - _PROTOOAMARGINCALL._serialized_start=5631 - _PROTOOAMARGINCALL._serialized_end=5762 - _PROTOOAHOLIDAY._serialized_start=5765 - _PROTOOAHOLIDAY._serialized_end=5943 - _PROTOOADYNAMICLEVERAGE._serialized_start=5945 - _PROTOOADYNAMICLEVERAGE._serialized_end=6033 - _PROTOOADYNAMICLEVERAGETIER._serialized_start=6035 - _PROTOOADYNAMICLEVERAGETIER._serialized_end=6097 -# @@protoc_insertion_point(module_scope) diff --git a/ctrader_open_api/messages/__init__.py b/ctrader_open_api/messages/__init__.py deleted file mode 100644 index 8b13789..0000000 --- a/ctrader_open_api/messages/__init__.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/ctrader_open_api/protobuf.py b/ctrader_open_api/protobuf.py deleted file mode 100644 index 6a9445f..0000000 --- a/ctrader_open_api/protobuf.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python - -class Protobuf(object): - _protos = dict() - _names = dict() - _abbr_names = dict() - - @classmethod - def populate(cls): - import re - from .messages import OpenApiCommonMessages_pb2 as o1 - from .messages import OpenApiMessages_pb2 as o2 - - for name in dir(o1) + dir(o2): - if not name.startswith("Proto"): - continue - - m = o1 if hasattr(o1, name) else o2 - klass = getattr(m, name) - cls._protos[klass().payloadType] = klass - cls._names[klass.__name__] = klass().payloadType - abbr_name = re.sub(r'^Proto(OA)?(.*)', r'\2', klass.__name__) - cls._names[abbr_name] = klass().payloadType - return cls._protos - - @classmethod - def get(cls, payload, fail=True, **params): - if not cls._protos: - cls.populate() - - if payload in cls._protos: - return cls._protos[payload](**params) - - for d in [cls._names, cls._abbr_names]: - if payload in d: - payload = d[payload] - return cls._protos[payload](**params) - if fail: # pragma: nocover - raise IndexError("Invalid payload: " + str(payload)) - return None # pragma: nocover - - @classmethod - def get_type(cls, payload, **params): - p = cls.get(payload, **params) - return p.payloadType - - @classmethod - def extract(cls, message): - payload = cls.get(message.payloadType) - payload.ParseFromString(message.payload) - return payload diff --git a/ctrader_open_api/tcpProtocol.py b/ctrader_open_api/tcpProtocol.py deleted file mode 100644 index 60e86a4..0000000 --- a/ctrader_open_api/tcpProtocol.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python - -from collections import deque -from twisted.protocols.basic import Int32StringReceiver -from twisted.internet import task -from ctrader_open_api.messages.OpenApiCommonMessages_pb2 import ProtoMessage, ProtoHeartbeatEvent -import datetime - -class TcpProtocol(Int32StringReceiver): - MAX_LENGTH = 15000000 - _send_queue = deque([]) - _send_task = None - _lastSendMessageTime = None - - def connectionMade(self): - super().connectionMade() - - if not self._send_task: - self._send_task = task.LoopingCall(self._sendStrings) - self._send_task.start(1) - self.factory.connected(self) - - def connectionLost(self, reason): - super().connectionLost(reason) - if self._send_task.running: - self._send_task.stop() - self.factory.disconnected(reason) - - def heartbeat(self): - self.send(ProtoHeartbeatEvent(), True) - - def send(self, message, instant=False, clientMsgId=None, isCanceled = None): - data = b'' - - if isinstance(message, ProtoMessage): - data = message.SerializeToString() - - if isinstance(message, bytes): - data = message - - if isinstance(message, ProtoMessage.__base__): - msg = ProtoMessage(payload=message.SerializeToString(), - clientMsgId=clientMsgId, - payloadType=message.payloadType) - data = msg.SerializeToString() - - if instant: - self.sendString(data) - self._lastSendMessageTime = datetime.datetime.now() - else: - self._send_queue.append((isCanceled, data)) - - def _sendStrings(self): - size = len(self._send_queue) - - if not size: - if self._lastSendMessageTime is None or (datetime.datetime.now() - self._lastSendMessageTime).total_seconds() > 20: - self.heartbeat() - return - - for _ in range(min(size, self.factory.numberOfMessagesToSendPerSecond)): - isCanceled, data = self._send_queue.popleft() - if isCanceled is not None and isCanceled(): - continue; - self.sendString(data) - self._lastSendMessageTime = datetime.datetime.now() - - def stringReceived(self, data): - msg = ProtoMessage() - msg.ParseFromString(data) - - if msg.payloadType == ProtoHeartbeatEvent().payloadType: - self.heartbeat() - self.factory.received(msg) - return data diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 699dd41..0000000 --- a/poetry.lock +++ /dev/null @@ -1,917 +0,0 @@ -[[package]] -name = "appdirs" -version = "1.4.4" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "astroid" -version = "2.4.2" -description = "An abstract syntax tree for Python with inference support." -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -lazy-object-proxy = ">=1.4.0,<1.5.0" -six = ">=1.12,<2.0" -typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} -wrapt = ">=1.11,<2.0" - -[[package]] -name = "atomicwrites" -version = "1.4.0" -description = "Atomic file writes." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "attrs" -version = "20.3.0" -description = "Classes Without Boilerplate" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] -docs = ["furo", "sphinx", "zope.interface"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] - -[[package]] -name = "black" -version = "20.8b1" -description = "The uncompromising code formatter." -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -appdirs = "*" -click = ">=7.1.2" -mypy-extensions = ">=0.4.3" -pathspec = ">=0.6,<1" -regex = ">=2020.1.8" -toml = ">=0.10.1" -typed-ast = ">=1.4.0" -typing-extensions = ">=3.7.4" - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] - -[[package]] -name = "click" -version = "7.1.2" -description = "Composable command line interface toolkit" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "colorama" -version = "0.4.4" -description = "Cross-platform colored terminal text." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "coverage" -version = "5.3" -description = "Code coverage measurement for Python" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" - -[package.extras] -toml = ["toml"] - -[[package]] -name = "future" -version = "0.18.2" -description = "Clean single-source support for Python 3 and 2" -category = "dev" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "importlib-metadata" -version = "3.3.0" -description = "Read metadata from Python packages" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} -zipp = ">=0.5" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] - -[[package]] -name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "isort" -version = "5.6.4" -description = "A Python utility / library to sort Python imports." -category = "dev" -optional = false -python-versions = ">=3.6,<4.0" - -[package.extras] -pipfile_deprecated_finder = ["pipreqs", "requirementslib"] -requirements_deprecated_finder = ["pipreqs", "pip-api"] -colors = ["colorama (>=0.4.3,<0.5.0)"] - -[[package]] -name = "jinja2" -version = "2.11.2" -description = "A very fast and expressive template engine." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -MarkupSafe = ">=0.23" - -[package.extras] -i18n = ["Babel (>=0.8)"] - -[[package]] -name = "joblib" -version = "1.0.0" -description = "Lightweight pipelining with Python functions" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "lazy-object-proxy" -version = "1.4.3" -description = "A fast and thorough lazy object proxy." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "livereload" -version = "2.6.3" -description = "Python LiveReload is an awesome tool for web developers" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -six = "*" -tornado = {version = "*", markers = "python_version > \"2.7\""} - -[[package]] -name = "lunr" -version = "0.5.8" -description = "A Python implementation of Lunr.js" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -future = ">=0.16.0" -nltk = {version = ">=3.2.5", optional = true, markers = "python_version > \"2.7\" and extra == \"languages\""} -six = ">=1.11.0" - -[package.extras] -languages = ["nltk (>=3.2.5,<3.5)", "nltk (>=3.2.5)"] - -[[package]] -name = "markdown" -version = "3.3.3" -description = "Python implementation of Markdown." -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} - -[package.extras] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "markupsafe" -version = "1.1.1" -description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" - -[[package]] -name = "mccabe" -version = "0.6.1" -description = "McCabe checker, plugin for flake8" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "mkdocs" -version = "1.1.2" -description = "Project documentation with Markdown." -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -click = ">=3.3" -Jinja2 = ">=2.10.1" -livereload = ">=2.5.1" -lunr = {version = "0.5.8", extras = ["languages"]} -Markdown = ">=3.2.1" -PyYAML = ">=3.10" -tornado = ">=5.0" - -[[package]] -name = "mkdocs-material" -version = "6.1.7" -description = "A Material Design theme for MkDocs" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -markdown = ">=3.2" -mkdocs = ">=1.1" -mkdocs-material-extensions = ">=1.0" -Pygments = ">=2.4" -pymdown-extensions = ">=7.0" - -[[package]] -name = "mkdocs-material-extensions" -version = "1.0.1" -description = "Extension pack for Python Markdown." -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -mkdocs-material = ">=5.0.0" - -[[package]] -name = "mypy" -version = "0.790" -description = "Optional static typing for Python" -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -mypy-extensions = ">=0.4.3,<0.5.0" -typed-ast = ">=1.4.0,<1.5.0" -typing-extensions = ">=3.7.4" - -[package.extras] -dmypy = ["psutil (>=4.0)"] - -[[package]] -name = "mypy-extensions" -version = "0.4.3" -description = "Experimental type system extensions for programs checked with the mypy typechecker." -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "nltk" -version = "3.5" -description = "Natural Language Toolkit" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -click = "*" -joblib = "*" -regex = "*" -tqdm = "*" - -[package.extras] -all = ["requests", "numpy", "python-crfsuite", "scikit-learn", "twython", "pyparsing", "scipy", "matplotlib", "gensim"] -corenlp = ["requests"] -machine_learning = ["gensim", "numpy", "python-crfsuite", "scikit-learn", "scipy"] -plot = ["matplotlib"] -tgrep = ["pyparsing"] -twitter = ["twython"] - -[[package]] -name = "packaging" -version = "20.8" -description = "Core utilities for Python packages" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -pyparsing = ">=2.0.2" - -[[package]] -name = "pathspec" -version = "0.8.1" -description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "pluggy" -version = "0.13.1" -description = "plugin and hook calling mechanisms for python" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} - -[package.extras] -dev = ["pre-commit", "tox"] - -[[package]] -name = "py" -version = "1.10.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pygments" -version = "2.7.3" -description = "Pygments is a syntax highlighting package written in Python." -category = "dev" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "pylint" -version = "2.6.0" -description = "python code static checker" -category = "dev" -optional = false -python-versions = ">=3.5.*" - -[package.dependencies] -astroid = ">=2.4.0,<=2.5" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -isort = ">=4.2.5,<6" -mccabe = ">=0.6,<0.7" -toml = ">=0.7.1" - -[[package]] -name = "pymdown-extensions" -version = "8.0.1" -description = "Extension pack for Python Markdown." -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -Markdown = ">=3.2" - -[[package]] -name = "pyparsing" -version = "2.4.7" -description = "Python parsing module" -category = "dev" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "pytest" -version = "6.2.1" -description = "pytest: simple powerful testing with Python" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<1.0.0a1" -py = ">=1.8.2" -toml = "*" - -[package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] - -[[package]] -name = "pytest-cov" -version = "2.10.1" -description = "Pytest plugin for measuring coverage." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -coverage = ">=4.4" -pytest = ">=4.6" - -[package.extras] -testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist", "virtualenv"] - -[[package]] -name = "pyyaml" -version = "5.3.1" -description = "YAML parser and emitter for Python" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "regex" -version = "2020.11.13" -description = "Alternative regular expression module, to replace re." -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "six" -version = "1.15.0" -description = "Python 2 and 3 compatibility utilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "tornado" -version = "6.1" -description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "dev" -optional = false -python-versions = ">= 3.5" - -[[package]] -name = "tqdm" -version = "4.54.1" -description = "Fast, Extensible Progress Meter" -category = "dev" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" - -[package.extras] -dev = ["py-make (>=0.1.0)", "twine", "argopt", "pydoc-markdown", "wheel"] - -[[package]] -name = "typed-ast" -version = "1.4.1" -description = "a fork of Python 2 and 3 ast modules with type comment support" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "typing-extensions" -version = "3.7.4.3" -description = "Backported and Experimental Type Hints for Python 3.5+" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "wrapt" -version = "1.12.1" -description = "Module for decorators, wrappers and monkey patching." -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "zipp" -version = "3.4.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] - -[metadata] -lock-version = "1.1" -python-versions = "^3.7" -content-hash = "c5047428e67536122bbd0d3f5020e2d3bf0605ffd96aecaed3c0e7f800d31c25" - -[metadata.files] -appdirs = [ - {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, - {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, -] -astroid = [ - {file = "astroid-2.4.2-py3-none-any.whl", hash = "sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386"}, - {file = "astroid-2.4.2.tar.gz", hash = "sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703"}, -] -atomicwrites = [ - {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, - {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, -] -attrs = [ - {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"}, - {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"}, -] -black = [ - {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"}, -] -click = [ - {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, - {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, -] -colorama = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, -] -coverage = [ - {file = "coverage-5.3-cp27-cp27m-macosx_10_13_intel.whl", hash = "sha256:bd3166bb3b111e76a4f8e2980fa1addf2920a4ca9b2b8ca36a3bc3dedc618270"}, - {file = "coverage-5.3-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:9342dd70a1e151684727c9c91ea003b2fb33523bf19385d4554f7897ca0141d4"}, - {file = "coverage-5.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:63808c30b41f3bbf65e29f7280bf793c79f54fb807057de7e5238ffc7cc4d7b9"}, - {file = "coverage-5.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:4d6a42744139a7fa5b46a264874a781e8694bb32f1d76d8137b68138686f1729"}, - {file = "coverage-5.3-cp27-cp27m-win32.whl", hash = "sha256:86e9f8cd4b0cdd57b4ae71a9c186717daa4c5a99f3238a8723f416256e0b064d"}, - {file = "coverage-5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:7858847f2d84bf6e64c7f66498e851c54de8ea06a6f96a32a1d192d846734418"}, - {file = "coverage-5.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:530cc8aaf11cc2ac7430f3614b04645662ef20c348dce4167c22d99bec3480e9"}, - {file = "coverage-5.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:381ead10b9b9af5f64646cd27107fb27b614ee7040bb1226f9c07ba96625cbb5"}, - {file = "coverage-5.3-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:71b69bd716698fa62cd97137d6f2fdf49f534decb23a2c6fc80813e8b7be6822"}, - {file = "coverage-5.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:1d44bb3a652fed01f1f2c10d5477956116e9b391320c94d36c6bf13b088a1097"}, - {file = "coverage-5.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:1c6703094c81fa55b816f5ae542c6ffc625fec769f22b053adb42ad712d086c9"}, - {file = "coverage-5.3-cp35-cp35m-win32.whl", hash = "sha256:cedb2f9e1f990918ea061f28a0f0077a07702e3819602d3507e2ff98c8d20636"}, - {file = "coverage-5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:7f43286f13d91a34fadf61ae252a51a130223c52bfefb50310d5b2deb062cf0f"}, - {file = "coverage-5.3-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:c851b35fc078389bc16b915a0a7c1d5923e12e2c5aeec58c52f4aa8085ac8237"}, - {file = "coverage-5.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:aac1ba0a253e17889550ddb1b60a2063f7474155465577caa2a3b131224cfd54"}, - {file = "coverage-5.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2b31f46bf7b31e6aa690d4c7a3d51bb262438c6dcb0d528adde446531d0d3bb7"}, - {file = "coverage-5.3-cp36-cp36m-win32.whl", hash = "sha256:c5f17ad25d2c1286436761b462e22b5020d83316f8e8fcb5deb2b3151f8f1d3a"}, - {file = "coverage-5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:aef72eae10b5e3116bac6957de1df4d75909fc76d1499a53fb6387434b6bcd8d"}, - {file = "coverage-5.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:e8caf961e1b1a945db76f1b5fa9c91498d15f545ac0ababbe575cfab185d3bd8"}, - {file = "coverage-5.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:29a6272fec10623fcbe158fdf9abc7a5fa032048ac1d8631f14b50fbfc10d17f"}, - {file = "coverage-5.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2d43af2be93ffbad25dd959899b5b809618a496926146ce98ee0b23683f8c51c"}, - {file = "coverage-5.3-cp37-cp37m-win32.whl", hash = "sha256:c3888a051226e676e383de03bf49eb633cd39fc829516e5334e69b8d81aae751"}, - {file = "coverage-5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9669179786254a2e7e57f0ecf224e978471491d660aaca833f845b72a2df3709"}, - {file = "coverage-5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0203acd33d2298e19b57451ebb0bed0ab0c602e5cf5a818591b4918b1f97d516"}, - {file = "coverage-5.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:582ddfbe712025448206a5bc45855d16c2e491c2dd102ee9a2841418ac1c629f"}, - {file = "coverage-5.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0f313707cdecd5cd3e217fc68c78a960b616604b559e9ea60cc16795c4304259"}, - {file = "coverage-5.3-cp38-cp38-win32.whl", hash = "sha256:78e93cc3571fd928a39c0b26767c986188a4118edc67bc0695bc7a284da22e82"}, - {file = "coverage-5.3-cp38-cp38-win_amd64.whl", hash = "sha256:8f264ba2701b8c9f815b272ad568d555ef98dfe1576802ab3149c3629a9f2221"}, - {file = "coverage-5.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:50691e744714856f03a86df3e2bff847c2acede4c191f9a1da38f088df342978"}, - {file = "coverage-5.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9361de40701666b034c59ad9e317bae95c973b9ff92513dd0eced11c6adf2e21"}, - {file = "coverage-5.3-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:c1b78fb9700fc961f53386ad2fd86d87091e06ede5d118b8a50dea285a071c24"}, - {file = "coverage-5.3-cp39-cp39-win32.whl", hash = "sha256:cb7df71de0af56000115eafd000b867d1261f786b5eebd88a0ca6360cccfaca7"}, - {file = "coverage-5.3-cp39-cp39-win_amd64.whl", hash = "sha256:47a11bdbd8ada9b7ee628596f9d97fbd3851bd9999d398e9436bd67376dbece7"}, - {file = "coverage-5.3.tar.gz", hash = "sha256:280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0"}, -] -future = [ - {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, -] -importlib-metadata = [ - {file = "importlib_metadata-3.3.0-py3-none-any.whl", hash = "sha256:bf792d480abbd5eda85794e4afb09dd538393f7d6e6ffef6e9f03d2014cf9450"}, - {file = "importlib_metadata-3.3.0.tar.gz", hash = "sha256:5c5a2720817414a6c41f0a49993908068243ae02c1635a228126519b509c8aed"}, -] -iniconfig = [ - {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, - {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, -] -isort = [ - {file = "isort-5.6.4-py3-none-any.whl", hash = "sha256:dcab1d98b469a12a1a624ead220584391648790275560e1a43e54c5dceae65e7"}, - {file = "isort-5.6.4.tar.gz", hash = "sha256:dcaeec1b5f0eca77faea2a35ab790b4f3680ff75590bfcb7145986905aab2f58"}, -] -jinja2 = [ - {file = "Jinja2-2.11.2-py2.py3-none-any.whl", hash = "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"}, - {file = "Jinja2-2.11.2.tar.gz", hash = "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"}, -] -joblib = [ - {file = "joblib-1.0.0-py3-none-any.whl", hash = "sha256:75ead23f13484a2a414874779d69ade40d4fa1abe62b222a23cd50d4bc822f6f"}, - {file = "joblib-1.0.0.tar.gz", hash = "sha256:7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24"}, -] -lazy-object-proxy = [ - {file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, -] -livereload = [ - {file = "livereload-2.6.3.tar.gz", hash = "sha256:776f2f865e59fde56490a56bcc6773b6917366bce0c267c60ee8aaf1a0959869"}, -] -lunr = [ - {file = "lunr-0.5.8-py2.py3-none-any.whl", hash = "sha256:aab3f489c4d4fab4c1294a257a30fec397db56f0a50273218ccc3efdbf01d6ca"}, - {file = "lunr-0.5.8.tar.gz", hash = "sha256:c4fb063b98eff775dd638b3df380008ae85e6cb1d1a24d1cd81a10ef6391c26e"}, -] -markdown = [ - {file = "Markdown-3.3.3-py3-none-any.whl", hash = "sha256:c109c15b7dc20a9ac454c9e6025927d44460b85bd039da028d85e2b6d0bcc328"}, - {file = "Markdown-3.3.3.tar.gz", hash = "sha256:5d9f2b5ca24bc4c7a390d22323ca4bad200368612b5aaa7796babf971d2b2f18"}, -] -markupsafe = [ - {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, - {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, -] -mccabe = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, -] -mkdocs = [ - {file = "mkdocs-1.1.2-py3-none-any.whl", hash = "sha256:096f52ff52c02c7e90332d2e53da862fde5c062086e1b5356a6e392d5d60f5e9"}, - {file = "mkdocs-1.1.2.tar.gz", hash = "sha256:f0b61e5402b99d7789efa032c7a74c90a20220a9c81749da06dbfbcbd52ffb39"}, -] -mkdocs-material = [ - {file = "mkdocs-material-6.1.7.tar.gz", hash = "sha256:44e28f5f4ac3728c80fc9831cbda428e807b6b38473130acc45da6e62ce7f866"}, - {file = "mkdocs_material-6.1.7-py2.py3-none-any.whl", hash = "sha256:af993fac90a91bdce2385227f682abcdaa55434b6bfaff52a8b6f4dd56634f54"}, -] -mkdocs-material-extensions = [ - {file = "mkdocs-material-extensions-1.0.1.tar.gz", hash = "sha256:6947fb7f5e4291e3c61405bad3539d81e0b3cd62ae0d66ced018128af509c68f"}, - {file = "mkdocs_material_extensions-1.0.1-py3-none-any.whl", hash = "sha256:d90c807a88348aa6d1805657ec5c0b2d8d609c110e62b9dce4daf7fa981fa338"}, -] -mypy = [ - {file = "mypy-0.790-cp35-cp35m-macosx_10_6_x86_64.whl", hash = "sha256:bd03b3cf666bff8d710d633d1c56ab7facbdc204d567715cb3b9f85c6e94f669"}, - {file = "mypy-0.790-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:2170492030f6faa537647d29945786d297e4862765f0b4ac5930ff62e300d802"}, - {file = "mypy-0.790-cp35-cp35m-win_amd64.whl", hash = "sha256:e86bdace26c5fe9cf8cb735e7cedfe7850ad92b327ac5d797c656717d2ca66de"}, - {file = "mypy-0.790-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e97e9c13d67fbe524be17e4d8025d51a7dca38f90de2e462243ab8ed8a9178d1"}, - {file = "mypy-0.790-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0d34d6b122597d48a36d6c59e35341f410d4abfa771d96d04ae2c468dd201abc"}, - {file = "mypy-0.790-cp36-cp36m-win_amd64.whl", hash = "sha256:72060bf64f290fb629bd4a67c707a66fd88ca26e413a91384b18db3876e57ed7"}, - {file = "mypy-0.790-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:eea260feb1830a627fb526d22fbb426b750d9f5a47b624e8d5e7e004359b219c"}, - {file = "mypy-0.790-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c614194e01c85bb2e551c421397e49afb2872c88b5830e3554f0519f9fb1c178"}, - {file = "mypy-0.790-cp37-cp37m-win_amd64.whl", hash = "sha256:0a0d102247c16ce93c97066443d11e2d36e6cc2a32d8ccc1f705268970479324"}, - {file = "mypy-0.790-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4e7bf7f1214826cf7333627cb2547c0db7e3078723227820d0a2490f117a01"}, - {file = "mypy-0.790-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:af4e9ff1834e565f1baa74ccf7ae2564ae38c8df2a85b057af1dbbc958eb6666"}, - {file = "mypy-0.790-cp38-cp38-win_amd64.whl", hash = "sha256:da56dedcd7cd502ccd3c5dddc656cb36113dd793ad466e894574125945653cea"}, - {file = "mypy-0.790-py3-none-any.whl", hash = "sha256:2842d4fbd1b12ab422346376aad03ff5d0805b706102e475e962370f874a5122"}, - {file = "mypy-0.790.tar.gz", hash = "sha256:2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975"}, -] -mypy-extensions = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, -] -nltk = [ - {file = "nltk-3.5.zip", hash = "sha256:845365449cd8c5f9731f7cb9f8bd6fd0767553b9d53af9eb1b3abf7700936b35"}, -] -packaging = [ - {file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"}, - {file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"}, -] -pathspec = [ - {file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"}, - {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"}, -] -pluggy = [ - {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, - {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, -] -py = [ - {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"}, - {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, -] -pygments = [ - {file = "Pygments-2.7.3-py3-none-any.whl", hash = "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08"}, - {file = "Pygments-2.7.3.tar.gz", hash = "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716"}, -] -pylint = [ - {file = "pylint-2.6.0-py3-none-any.whl", hash = "sha256:bfe68f020f8a0fece830a22dd4d5dddb4ecc6137db04face4c3420a46a52239f"}, - {file = "pylint-2.6.0.tar.gz", hash = "sha256:bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210"}, -] -pymdown-extensions = [ - {file = "pymdown-extensions-8.0.1.tar.gz", hash = "sha256:9ba704052d4bdc04a7cd63f7db4ef6add73bafcef22c0cf6b2e3386cf4ece51e"}, - {file = "pymdown_extensions-8.0.1-py2.py3-none-any.whl", hash = "sha256:a3689c04f4cbddacd9d569425c571ae07e2673cc4df63a26cdbf1abc15229137"}, -] -pyparsing = [ - {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, - {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, -] -pytest = [ - {file = "pytest-6.2.1-py3-none-any.whl", hash = "sha256:1969f797a1a0dbd8ccf0fecc80262312729afea9c17f1d70ebf85c5e76c6f7c8"}, - {file = "pytest-6.2.1.tar.gz", hash = "sha256:66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306"}, -] -pytest-cov = [ - {file = "pytest-cov-2.10.1.tar.gz", hash = "sha256:47bd0ce14056fdd79f93e1713f88fad7bdcc583dcd7783da86ef2f085a0bb88e"}, - {file = "pytest_cov-2.10.1-py2.py3-none-any.whl", hash = "sha256:45ec2d5182f89a81fc3eb29e3d1ed3113b9e9a873bcddb2a71faaab066110191"}, -] -pyyaml = [ - {file = "PyYAML-5.3.1-cp27-cp27m-win32.whl", hash = "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f"}, - {file = "PyYAML-5.3.1-cp27-cp27m-win_amd64.whl", hash = "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76"}, - {file = "PyYAML-5.3.1-cp35-cp35m-win32.whl", hash = "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2"}, - {file = "PyYAML-5.3.1-cp35-cp35m-win_amd64.whl", hash = "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c"}, - {file = "PyYAML-5.3.1-cp36-cp36m-win32.whl", hash = "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2"}, - {file = "PyYAML-5.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648"}, - {file = "PyYAML-5.3.1-cp37-cp37m-win32.whl", hash = "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"}, - {file = "PyYAML-5.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf"}, - {file = "PyYAML-5.3.1-cp38-cp38-win32.whl", hash = "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97"}, - {file = "PyYAML-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee"}, - {file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"}, -] -regex = [ - {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa"}, - {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6"}, - {file = "regex-2020.11.13-cp36-cp36m-win32.whl", hash = "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e"}, - {file = "regex-2020.11.13-cp36-cp36m-win_amd64.whl", hash = "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884"}, - {file = "regex-2020.11.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba"}, - {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538"}, - {file = "regex-2020.11.13-cp37-cp37m-win32.whl", hash = "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4"}, - {file = "regex-2020.11.13-cp37-cp37m-win_amd64.whl", hash = "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444"}, - {file = "regex-2020.11.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5"}, - {file = "regex-2020.11.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b"}, - {file = "regex-2020.11.13-cp38-cp38-win32.whl", hash = "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c"}, - {file = "regex-2020.11.13-cp38-cp38-win_amd64.whl", hash = "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683"}, - {file = "regex-2020.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9"}, - {file = "regex-2020.11.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c"}, - {file = "regex-2020.11.13-cp39-cp39-win32.whl", hash = "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"}, - {file = "regex-2020.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d"}, - {file = "regex-2020.11.13.tar.gz", hash = "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"}, -] -six = [ - {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, - {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, -] -toml = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] -tornado = [ - {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, - {file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"}, - {file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"}, - {file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"}, - {file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"}, - {file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"}, - {file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"}, - {file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"}, - {file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"}, - {file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"}, - {file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"}, - {file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"}, - {file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"}, - {file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"}, - {file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"}, - {file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"}, - {file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"}, - {file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"}, - {file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"}, - {file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"}, - {file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"}, - {file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"}, - {file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"}, - {file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"}, - {file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"}, - {file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"}, - {file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"}, - {file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"}, - {file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"}, - {file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"}, - {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"}, - {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"}, -] -tqdm = [ - {file = "tqdm-4.54.1-py2.py3-none-any.whl", hash = "sha256:d4f413aecb61c9779888c64ddf0c62910ad56dcbe857d8922bb505d4dbff0df1"}, - {file = "tqdm-4.54.1.tar.gz", hash = "sha256:38b658a3e4ecf9b4f6f8ff75ca16221ae3378b2e175d846b6b33ea3a20852cf5"}, -] -typed-ast = [ - {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"}, - {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"}, - {file = "typed_ast-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919"}, - {file = "typed_ast-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01"}, - {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"}, - {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, - {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, - {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"}, - {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, - {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, - {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"}, - {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, - {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, - {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, - {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"}, - {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"}, - {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"}, - {file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"}, - {file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"}, - {file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"}, - {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, -] -typing-extensions = [ - {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, - {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, - {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, -] -wrapt = [ - {file = "wrapt-1.12.1.tar.gz", hash = "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"}, -] -zipp = [ - {file = "zipp-3.4.0-py3-none-any.whl", hash = "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108"}, - {file = "zipp-3.4.0.tar.gz", hash = "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"}, -] diff --git a/poetry.toml b/poetry.toml deleted file mode 100644 index 1cfc1cb..0000000 --- a/poetry.toml +++ /dev/null @@ -1,5 +0,0 @@ -[virtualenvs] -in-project = true -[repositories] -[repositories.testpypi] -url = "https://test.pypi.org/legacy/" diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 55e4a7a..0000000 --- a/pyproject.toml +++ /dev/null @@ -1,51 +0,0 @@ -[tool] - -[tool.poetry] -name = "ctrader_open_api" -version = "0.0.0" -homepage = "https://github.com/spotware/openApiPy" -description = "A Python package for interacting with cTrader Open API" -authors = ["Spotware "] -documentation = "https://spotware.github.io/OpenApiPy" -readme = "README.md" -license = "MIT" -classifiers=[ - 'License :: OSI Approved :: MIT License', - 'Natural Language :: English', - 'Programming Language :: Python :: 3.8', -] -include = [ - "LICENSE" -] - -[tool.poetry.dependencies] -python = "^3.8" -Twisted = "24.3.0" -pyOpenSSL = "24.1.0" -protobuf = "3.20.1" -requests = "2.32.3" -inputimeout = "1.0.4" - -[tool.poetry.dev-dependencies] -Twisted = "24.3.0" -pyOpenSSL = "24.1.0" -protobuf = "3.20.1" -requests = "2.32.3" -inputimeout = "1.0.4" - -[tool.black] -line-length=100 - -[tool.pylint.reports] -output-format="colorized" -reports="y" -include-ids="yes" -msg-template="{msg_id}:{line:3d},{column}: {obj}: {msg}" - -[tool.pytest.ini_options] -addopts = "--cov=ctrader_openApiPy --cov-branch --cov-report term-missing -vv --color=yes --cov-fail-under 100" -python_files = "tests.py test_*.py *_tests.py" - -[build-system] -requires = ["poetry-core>=1.0.8"] -build-backend = "poetry.core.masonry.api"